提交 d6ccf1f1 作者: 张小凤

GambitDao(add)

上级 f99996f3
......@@ -8,6 +8,7 @@ import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
......@@ -50,4 +51,10 @@ public class UserAccountSimpleDTO implements Serializable {
private Integer companyAuthStatus;
@ApiModelProperty(value = "用户合作标签")
private List<CooperationTagVO> cooperationTagVOS;
@ApiModelProperty(value = "地区")
private String region;
@ApiModelProperty(value = "个人简介")
private String briefIntroduction;
@ApiModelProperty(value = "封面背景图")
private String coverPicture;
}
......@@ -18,12 +18,27 @@ import java.io.Serializable;
@AllArgsConstructor
@Builder
public class CommentVO implements Serializable {
@ApiModelProperty(value = "根节点路径")
private String rootPath;
@ApiModelProperty(value = "动态id")
@ApiModelProperty(value = "动态id",example = "1")
private Integer dynamicId;
@ApiModelProperty(value = "评论内容")
@ApiModelProperty(value = "评论内容",example = "你好")
private String content;
@ApiModelProperty(value = "评论id(注意:单纯评论就为0 ,有回复就评论id) ",example = "0")
private Integer reviewId;
@ApiModelProperty(value = "用户id",hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "pid(注意:单纯评论就为0,有回复就上级id)",example = "0")
private Integer pid;
}
package com.mmc.csf.release.forum.vo;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
......@@ -21,6 +24,19 @@ import java.util.List;
@AllArgsConstructor
@Builder
public class DynamicVO implements Serializable {
@ApiModelProperty(value = "话题名称",example = "#深圳暴雨,#深圳大雨")
private List<String> gambitName;
@ApiModelProperty(value = "话题图标",example = "小程序给默认值")
@NotBlank(message = "话题图标不能为空",groups = {Create.class, Update.class})
private String gambitIcon;
@ApiModelProperty(value = "话题封面",example = "小程序给默认封面")
@NotBlank(message = "话题封面不能为空",groups = {Create.class,Update.class})
private String gambitCover;
@ApiModelProperty(value = "发布动态用户信息")
private UserBaseInfoVO userBaseInfo;
......
package com.mmc.csf.release.forum.vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small
* @Date 2023/9/16 17:30
* @Version 1.0
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ReplyToAReviewVO {
@ApiModelProperty(value = "动态id",example = "172")
private Integer dynamicId;
@ApiModelProperty(value = "评论内容",example = "内容")
private String content;
@ApiModelProperty(value = "被回复者用户id")
private Integer replyUserAccountId;
@ApiModelProperty(value = "被回复的一级用户")
private Integer replyOneUserAccountId;
@ApiModelProperty(value = "被回复的二级用户")
private Integer replyTwoUserAccountId;
}
......@@ -30,4 +30,7 @@ public class UserBaseInfoVO implements Serializable {
@ApiModelProperty(value = "UID")
private String uid;
@ApiModelProperty(value = "地区")
private String region;
}
package com.mmc.csf.release.gambit.dto;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/13 17:57
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ForumGambitDTO {
@NotNull(message = "话题id不能为空",groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "话题名称",example = "深圳暴雨")
@NotBlank(message = "话题不能为空",groups = {Create.class, Update.class})
private String gambitName;
@ApiModelProperty(value = "话题图标",example = "http:")
@NotBlank(message = "话题图标不能为空",groups = {Create.class,Update.class})
private String gambitIcon;
@ApiModelProperty(value = "话题封面",example = "http:")
@NotBlank(message = "话题封面不能为空",groups = {Create.class,Update.class})
private String gambitCover;
@ApiModelProperty(value = "话题属性",example = "话题属性 1普通 2热门 3推荐 ")
@NotNull(message = "话题属性不能为空")
private Integer gambitProperty;
@ApiModelProperty(value = "发贴用户",example = "1",hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "贴子数",example = "2")
private Integer postCount;
@ApiModelProperty(value = "话题参与讨论数量",example = "1")
private Integer discussionCount;
}
package com.mmc.csf.release.gambit.qo;
import com.mmc.csf.release.model.group.Freeze;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/18 14:22
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AllReviewQO {
@ApiModelProperty(value = "页码",example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数",example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
@ApiModelProperty(value = "动态id",example = "1")
private String dynamicId;
/**
* 初始化起始查询行并返回当前页
*/
public Integer buildCurrentPage() {
Integer pageNo = this.pageNo;
this.pageNo = (pageNo - 1) * pageSize;
return pageNo;
}
}
package com.mmc.csf.release.gambit.qo;
import com.mmc.csf.release.model.group.Freeze;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/18 14:34
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AppReplyQO {
@ApiModelProperty(value = "页码",example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数",example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
@ApiModelProperty(value = "评论id",example = "1")
private String id;
@ApiModelProperty(value = "动态id",example = "1")
private Integer dynamicId;
/**
* 初始化起始查询行并返回当前页
*/
public Integer buildCurrentPage() {
Integer pageNo = this.pageNo;
this.pageNo = (pageNo - 1) * pageSize;
return pageNo;
}
}
package com.mmc.csf.release.gambit.qo;
import com.mmc.csf.release.model.group.Freeze;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/13 18:00
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ForumGambitQO {
@ApiModelProperty(value = "页码",example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数",example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
@ApiModelProperty(value = "话题名称",example = "深圳暴雨")
private String gambitName;
@ApiModelProperty(value = "话题属性",example = "话题属性 1普通 2热门 3推荐 ")
private Integer gambitProperty;
/**
* 初始化起始查询行并返回当前页
*/
public Integer buildCurrentPage() {
Integer pageNo = this.pageNo;
this.pageNo = (pageNo - 1) * pageSize;
return pageNo;
}
}
package com.mmc.csf.release.gambit.qo;
import com.mmc.csf.release.model.group.Freeze;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/18 11:01
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class TopicDynamicsQO {
@ApiModelProperty(value = "页码",example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数",example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
@ApiModelProperty(value = "话题id",example = "1")
private Integer gambitId;
/**
* 初始化起始查询行并返回当前页
*/
public Integer buildCurrentPage() {
Integer pageNo = this.pageNo;
this.pageNo = (pageNo - 1) * pageSize;
return pageNo;
}
}
package com.mmc.csf.release.gambit.qo;
import com.mmc.csf.release.model.group.Freeze;
import com.mmc.csf.release.model.group.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/18 14:49
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserTopicDynamicsQO {
@ApiModelProperty(value = "页码",example = "1")
@NotNull(message = "页码不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageNo不能少于1")
private Integer pageNo;
@ApiModelProperty(value = "每页显示数",example = "10")
@NotNull(message = "每页显示数不能为空", groups = { Page.class, Freeze.class })
@Min(value = 1, groups = Page.class,message = "pageSize不能少于1")
private Integer pageSize;
@ApiModelProperty(value = "用户id",example = "1")
private Integer userAccountId;
/**
* 初始化起始查询行并返回当前页
*/
public Integer buildCurrentPage() {
Integer pageNo = this.pageNo;
this.pageNo = (pageNo - 1) * pageSize;
return pageNo;
}
}
package com.mmc.csf.release.gambit.vo;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/13 15:43
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ForumGambitVO {
@NotNull(message = "话题id不能为空",groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "话题名称",example = "深圳暴雨")
@NotBlank(message = "话题不能为空",groups = {Create.class, Update.class})
private String gambitName;
@ApiModelProperty(value = "话题图标",example = "http:")
@NotBlank(message = "话题图标不能为空",groups = {Create.class,Update.class})
private String gambitIcon;
@ApiModelProperty(value = "话题封面",example = "http:")
@NotBlank(message = "话题封面不能为空",groups = {Create.class,Update.class})
private String gambitCover;
@ApiModelProperty(value = "话题属性",example = "话题属性 1普通 2热门 3推荐 ")
@NotNull(message = "话题属性不能为空")
private Integer gambitProperty;
@ApiModelProperty(value = "发贴用户",example = "1",hidden = true)
private Integer userAccountId;
}
......@@ -10,6 +10,7 @@ import lombok.NoArgsConstructor;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
......@@ -24,8 +25,8 @@ public class UserAccountVO implements Serializable {
@ApiModelProperty(value = "用户id")
@NotNull(
message = "用户id不能为空",
groups = {Update.class})
message = "用户id不能为空",
groups = {Update.class})
private Integer id;
@ApiModelProperty(value = "用户类型")
......@@ -85,4 +86,12 @@ public class UserAccountVO implements Serializable {
@ApiModelProperty(value = "是否删除")
private Integer deleted;
@ApiModelProperty(value = "地区")
private String region;
@ApiModelProperty(value = "个人简介")
private String briefIntroduction;
@ApiModelProperty(value = "封面背景图")
private String coverPicture;
}
package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.dao.gambit.GambitDao;
import com.mmc.csf.release.entity.forum.ForumDynamicUserDO;
import com.mmc.csf.release.forum.vo.CommentVO;
import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.release.forum.vo.ReplyToAReviewVO;
import com.mmc.csf.release.gambit.dto.ForumGambitDTO;
import com.mmc.csf.release.gambit.qo.ForumGambitQO;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
import com.mmc.csf.release.service.DynamicService;
import io.swagger.annotations.*;
import org.springframework.web.bind.annotation.*;
......@@ -26,8 +33,7 @@ public class DynamicController extends BaseController {
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/publish")
public ResultBody publishDynamic(@RequestBody DynamicVO dynamicVO, HttpServletRequest request) {
return dynamicService.insertDynamic(
dynamicVO, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request);
return dynamicService.insertDynamic(dynamicVO, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request);
}
@ApiOperation(value = "点赞或取消点赞")
......@@ -39,21 +45,28 @@ public class DynamicController extends BaseController {
this.getUserLoginInfoFromRedis(request).getUserAccountId(), dynamicId);
}
@ApiOperation(value = "评论动态或回复评论")
@ApiOperation(value = "update-评论动态/回复")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@PostMapping("/comment")
public ResultBody commentDynamic(@RequestBody CommentVO commentVO, HttpServletRequest request) {
return dynamicService.commentDynamic(
commentVO, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request);
return dynamicService.commentDynamic(commentVO, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request);
}
@ApiOperation(value = "删除评论")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@DeleteMapping("/removeComment")
public ResultBody removeComment(@RequestParam Integer id) {
return dynamicService.deleteComment(id);
@ApiOperation(value = "对评论/及回复的点赞或者取消")
@GetMapping("/reviewLikes")
public ResultBody reviewLikes(@RequestParam Integer id,HttpServletRequest request,@RequestParam Boolean status){
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return dynamicService.reviewLikes(id,userAccountId,status);
}
/* @ApiOperation(value = "删除评论")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@DeleteMapping("/removeComment")
public ResultBody removeComment(@RequestParam Integer id) {
return dynamicService.deleteComment(id);
}
*/
@ApiOperation(value = "动态详情")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = DynamicVO.class)})
@GetMapping("/dynamicDetails")
......@@ -71,4 +84,19 @@ public class DynamicController extends BaseController {
dynamicService.dynamicList(
pageNo, pageSize, this.getUserLoginInfoFromRedis(request).getUserAccountId(), request));
}
@ApiOperation(value = "new-小程序-返回最新5条带动态的图片")
@GetMapping("/recentNews")
public ResultBody<ForumDynamicUserDO> recentNewsList(@ApiParam(value = "用户id" ) @RequestParam(required = false) Integer userAccountId){
return dynamicService.recentNewsList(userAccountId);
}
@ApiOperation(value = "new-小程序-话题列表")
@PostMapping("/appGambitList")
public ResultBody<ForumGambitDTO> appGambitList(@RequestBody ForumGambitQO forumGambitQO){
return ResultBody.success(dynamicService.appGambitList(forumGambitQO));
}
}
package com.mmc.csf.release.controller;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.entity.forum.ForumDynamicGambitDO;
import com.mmc.csf.release.entity.forum.ForumReviewDO;
import com.mmc.csf.release.gambit.dto.ForumGambitDTO;
import com.mmc.csf.release.gambit.qo.*;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
import com.mmc.csf.release.service.gambit.GambitService;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
/**
* @Author small
* @Date 2023/9/13 15:29
* @Version 1.0
*/
@Api(tags = {"web-小程序-论坛社区-模块发布话题"})
@RestController
@RequestMapping("/gambit")
public class GambitController extends BaseController{
@Autowired
private GambitService gambitService;
@ApiOperation(value = "添加话题")
@PostMapping("/insertGambit")
public ResultBody insertGambit(@RequestBody ForumGambitVO forumGambitVO, HttpServletRequest request){
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
forumGambitVO.setUserAccountId(userAccountId);
return gambitService.insertGambit(forumGambitVO);
}
@ApiOperation(value = "编辑话题")
@PostMapping("/updateGambit")
public ResultBody updateGambit(@RequestBody ForumGambitVO forumGambitVO, HttpServletRequest request){
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
forumGambitVO.setUserAccountId(userAccountId);
return gambitService.updateGambit(forumGambitVO);
}
@ApiOperation(value = "删除话题")
@GetMapping("/deleteGambit")
public ResultBody deleteGambit(@RequestParam(value = "id") Integer id ){
return gambitService.deleteGambit(id);
}
@ApiOperation(value = "后台管理话题列表")
@PostMapping("/listGambit")
public ResultBody<ForumGambitDTO> listGambit(@RequestBody ForumGambitQO forumGambitQO){
return ResultBody.success(gambitService.listGambit(forumGambitQO));
}
@ApiOperation(value = "关注")
@GetMapping("/attention")
@ApiImplicitParams(value = {
@ApiImplicitParam(name = "status",value = "关注状态 true",dataType = "Boolean",required = true),
@ApiImplicitParam(name = "userAccountId",value = "被关注的用户",dataType = "Integer",required = true)
})
public ResultBody attention(@RequestParam(value = "status") Boolean status,
@RequestParam(value = "userAccountId")Integer userAccountId,
HttpServletRequest request){
Integer attentionUserAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return gambitService.attention(status,userAccountId,attentionUserAccountId);
}
@ApiOperation(value = "转发数")
@GetMapping("/transPond")
public ResultBody transPond(@RequestParam(value = "dynamicId")Integer dynamicId,HttpServletRequest request){
Integer userAccountId = this.getUserLoginInfoFromRedis(request).getUserAccountId();
return gambitService.transPond(dynamicId,userAccountId);
}
/* @ApiOperation(value = "评论下面——点赞或取消点赞")
@ApiResponses({@ApiResponse(code = 200, message = "OK", response = ResultBody.class)})
@GetMapping("/commentLikes")
public ResultBody commentLikes(HttpServletRequest request, @ApiParam(value = "dynamicId") @RequestParam Integer dynamicId) {
return gambitService.commentLikes(this.getUserLoginInfoFromRedis(request).getUserAccountId(), dynamicId);
}*/
@ApiOperation(value = "小程序——自己删除自己的贴子")
@GetMapping("/appRemove")
public ResultBody appRemove(HttpServletRequest request, @ApiParam(value = "dynamicId") @RequestParam Integer dynamicId){
return gambitService.appRemove(this.getUserLoginInfoFromRedis(request).getUserAccountId(),dynamicId);
}
@ApiOperation(value = "小程序话题下面的动态列表")
@PostMapping("/appGambitList")
public ResultBody<ForumDynamicGambitDO> appGambitList(HttpServletRequest request, @RequestBody TopicDynamicsQO topicDynamicsQO){
return ResultBody.success(gambitService.appGambitList(topicDynamicsQO));
}
@ApiOperation(value = "动态对应的所有评论")
@PostMapping("/allCommentList")
public ResultBody<ForumReviewDO> allCommentList(HttpServletRequest request, @RequestBody AllReviewQO allReviewQO){
return ResultBody.success(gambitService.allCommentList(allReviewQO));
}
@ApiOperation(value = "某一条动态下面的所有回复")
@PostMapping("/replyList")
public ResultBody<ForumReviewDO> replyList(HttpServletRequest request, @RequestBody AppReplyQO replyQO){
return ResultBody.success(gambitService.replyList(replyQO));
}
@ApiModelProperty(value = "用户发的动态")
@PostMapping("/userDynamicList")
public ResultBody<ForumDynamicGambitDO> userDynamicList(HttpServletRequest request, @RequestBody UserTopicDynamicsQO userTopicDynamicsQO){
return ResultBody.success(gambitService.userDynamicList(userTopicDynamicsQO));
}
@ApiOperation(value = "赞过")
@PostMapping("/liked")
public ResultBody<ForumDynamicGambitDO> liked(HttpServletRequest request, @RequestBody UserTopicDynamicsQO userTopicDynamicsQO){
return ResultBody.success(gambitService.liked(userTopicDynamicsQO));
}
@ApiOperation(value = "我的关注")
@PostMapping("/myInterestList")
public ResultBody myInterestList(HttpServletRequest request, @RequestBody UserTopicDynamicsQO userTopicDynamicsQO){
return ResultBody.success(gambitService.myInterestList(userTopicDynamicsQO));
}
@ApiOperation(value = "我的粉丝")
@PostMapping("/myFansList")
public ResultBody myFansList(HttpServletRequest request, @RequestBody UserTopicDynamicsQO userTopicDynamicsQO){
return ResultBody.success(gambitService.myFansList(userTopicDynamicsQO));
}
}
package com.mmc.csf.release.dao;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.forum.ForumResourceDO;
import com.mmc.csf.release.entity.forum.ForumVideoDO;
import com.mmc.csf.release.entity.forum.*;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import com.mmc.csf.release.gambit.qo.ForumGambitQO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -151,4 +151,43 @@ public interface DynamicDao {
int getGambitReleaseCount();
void insertforumGambit(ForumGambitDO forumGambitDO);
void insertDynamicGambit(DynamicGambitDO dynamicGambitDO);
void updateDynamic(Integer gambitId);
void updateDynamicNO(Integer gambitId);
void updateDiscussionCount(Integer gambitId,Long count);
void forumCount(Integer userAccountId);
void forumCountNO(Integer userAccountId);
void insertForumCount(Integer userAccountId);
int selectForumCount(Integer userAccountId);
List<ForumDynamicUserDO> recentNewsList(Integer userAccountId);
List<ForumGambitDO> appGambitList(ForumGambitQO forumGambitQO);
int appGambitListCount(ForumGambitQO forumGambitQO);
List<ForumGambitDO> selectGambit(Integer id);
void insertforumFirstLevelReview(ForumFirstLevelReviewDO forumFirstLevelReviewDO);
void updateLikeCountAdd(Integer id);
void insertReviewLikes(Integer id, Integer userAccountId);
void subtractLikeCount(Integer id);
void deleteReview(Integer id, Integer userAccountId);
}
package com.mmc.csf.release.dao.gambit;
import com.mmc.csf.release.entity.forum.*;
import com.mmc.csf.release.entity.gambit.ForumAttentionDO;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import com.mmc.csf.release.gambit.qo.*;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @Author small
* @Date 2023/9/13 15:31
* @Version 1.0
*/
@Mapper
public interface GambitDao {
ForumGambitDO insertGambit(ForumGambitDO forumGambitDO);
int selectGambit(String gambitName);
int selectUpdate(ForumGambitDO forumGambitDO);
void updateGambit(ForumGambitDO forumGambitDO);
void deleteGambit(Integer id);
List<ForumGambitDO> listGambit(ForumGambitQO forumGambitQO);
int listGambitCount(ForumGambitQO forumGambitQO);
List<ForumGambitDO> recommendCount(ForumGambitDO forumGambitDO);
List<ForumGambitDO> recommendCountNO(ForumGambitDO forumGambitDO);
ForumGambitDO selectGambitMessage(String gambitName);
void updateDynamicGambit(Integer dynamicId, Integer checkStatus);
List<DynamicGambitDO> selectGambitDynamic(Integer dynamicId);
void updateForumGambit(DynamicGambitDO gambitDO);
void forumDynamicGambit(Integer id);
void insertAttention( Integer userAccountId, Integer attentionUserAccountId,Boolean status);
void removeAttention(Integer userAccountId, Integer attentionUserAccountId);
void insertTransPond(Integer dynamicId, Integer userAccountId);
void commentLikes( Integer dynamicId,Integer userAccountId);
int selectGambitM(Integer dynamicId, Integer userAccountId);
void appRemove( Integer dynamicId);
void RemoveDynamicGambit(Integer dynamicId);
void deleteForumGambit(Integer dynamicId);
void dedateForumGambitTrue(Integer id);
List<DynamicGambitDO> selectGambitList();
List<ForumGambitDO> selectCountList();
void forumCountFansYes(Integer userAccountId);
void forumCountAttentionYes(Integer userAccountId);
void forumCountFansNO(Integer userAccountId);
void forumCountAttentionNO(Integer attentionUserAccountId);
ForumAttentionDO selectAttention(Integer userAccountId, Integer attentionUserAccountId);
void updateAttention(Integer userAccountId, Integer attentionUserAccountId,Boolean status);
void updateAttentionExchange(Integer userAccountId, Integer attentionUserAccountId);
ForumAttentionDO selectAttentionMessage(Integer userAccountId, Integer attentionUserAccountId);
List<ForumDynamicGambitDO> appGambitList(TopicDynamicsQO topicDynamicsQO);
int appGambitListCount(TopicDynamicsQO topicDynamicsQO);
void transPondCount(Integer dynamicId);
int allCommentListCount(AllReviewQO allReviewQO);
List<ForumReviewDO> allCommentList(AllReviewQO allReviewQO);
int replyListCount(AppReplyQO allReviewQO);
List<ForumReviewDO> replyList(AppReplyQO allReviewQO);
int userDynamicListCount(UserTopicDynamicsQO userTopicDynamicsQO);
List<ForumDynamicGambitDO> userDynamicList(UserTopicDynamicsQO userTopicDynamicsQO);
int likedCount(UserTopicDynamicsQO userTopicDynamicsQO);
List<ForumDynamicGambitDO> likedList(UserTopicDynamicsQO userTopicDynamicsQO);
int myInterestListCount(UserTopicDynamicsQO userTopicDynamicsQO);
List<MyAttentionDO> myInterestList(UserTopicDynamicsQO userTopicDynamicsQO);
int myFansListCount(UserTopicDynamicsQO userTopicDynamicsQO);
List<MyFansDO> myFansList(UserTopicDynamicsQO userTopicDynamicsQO);
}
package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/14 10:50
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class DynamicGambitDO implements Serializable {
private static final long serialVersionUID = 570379773690905364L;
private Integer id;
private Integer dynamicId;
private Integer gambitId;
private Integer userAccountId;
private Integer checkStatus;
public DynamicGambitDO(ForumDynamicDO forumDynamicDO, ForumGambitDO forumGambitDO){
this.dynamicId=forumDynamicDO.getId();
this.gambitId=forumGambitDO.getId();
this.userAccountId=forumGambitDO.getUserAccountId();
}
}
package com.mmc.csf.release.entity.forum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/18 15:42
* @Version 1.0
*/
@AllArgsConstructor
@NoArgsConstructor
@Data
public class ForumCountDO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "获赞数量")
private Integer likeCount;
@ApiModelProperty(value = "粉丝数量")
private Integer fansCount;
@ApiModelProperty(value = "关注数量")
private Integer attentionCount;
@ApiModelProperty(value = "创建时间")
private String createTime;
@ApiModelProperty(value = "修改时间")
private String updateTime;
}
......@@ -3,13 +3,18 @@ package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.entity.common.BaseDO;
import com.mmc.csf.release.forum.dto.DynamicInfoDTO;
import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* 动态信息表(ForumDynamicDO)实体类
......@@ -23,6 +28,8 @@ import java.math.BigDecimal;
@Accessors(chain = true)
public class ForumDynamicDO extends BaseDO implements Serializable {
private static final long serialVersionUID = 570379773690905364L;
/**
* 版本字段
*/
......@@ -62,7 +69,28 @@ public class ForumDynamicDO extends BaseDO implements Serializable {
private Integer checkStatus;
@ApiModelProperty(value = "话题图标",example = "小程序给默认值")
@NotBlank(message = "话题图标不能为空",groups = {Create.class, Update.class})
private String gambitIcon;
@ApiModelProperty(value = "话题封面",example = "小程序给默认封面")
@NotBlank(message = "话题封面不能为空",groups = {Create.class,Update.class})
private String gambitCover;
@ApiModelProperty(value = "话题名称",example = "#深圳暴雨")
private List<String> gambitName;
private Integer dynamicId;
public ForumDynamicDO(DynamicVO dynamicVO) {
this.gambitIcon=dynamicVO.getGambitIcon();
this.gambitCover=dynamicVO.getGambitCover();
this.gambitName=dynamicVO.getGambitName();
this.description = dynamicVO.getDescription();
this.location = dynamicVO.getLocation();
this.lat = dynamicVO.getLat();
......@@ -80,6 +108,7 @@ public class ForumDynamicDO extends BaseDO implements Serializable {
.lon(lon)
.location(location)
.dynamicPublishTime(this.getCreateTime())
.gambitName(this.gambitName)
.build();
}
......
package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.List;
/**
* @Author small
* @Date 2023/9/18 11:17
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ForumDynamicGambitDO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "描述")
private String description;
@ApiModelProperty(value = "发布者用户")
private Integer userAccountId;
@ApiModelProperty(value = "点赞数")
private Integer likesCount;
@ApiModelProperty(value = "评论数")
private Integer commentsCount;
@ApiModelProperty(value = "转发数")
private Integer transpond;
@ApiModelProperty(value = "创建时间")
private String createTime;
@ApiModelProperty("图片")
private List<ForumResourceDO> forumResourceDOList;
@ApiModelProperty("话题")
private List<ForumGambitDO> forumGambitDOList;
@ApiModelProperty("评论")
private ForumReviewDO forumReviewDO;
}
package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import com.mmc.csf.user.vo.UserAccountVO;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;
/**
* @Author small
* @Date 2023/9/16 9:57
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class ForumDynamicUserDO implements Serializable {
private static final long serialVersionUID = 570379773690905364L;
private Integer id;
/**
* 版本字段
*/
private Integer version;
/**
* 发布用户ID
*/
private Integer userAccountId;
/**
* 动态描述
*/
private String description;
/**
* 发布动态具体位置
*/
private String location;
/**
* 发布动态纬度
*/
private BigDecimal lat;
/**
* 发布动态经度
*/
private BigDecimal lon;
/**
* 点赞数
*/
private Integer likesCount;
/**
* 评论数
*/
private Integer commentsCount;
/**
* 记录父节点id
*/
private String rootPath;
private Integer checkStatus;
private List<ForumResourceDO> forumResourceDOList;
private List<ForumGambitDO> forumGambitDOList;
private UserAccountVO userAccountVO;
}
package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.forum.vo.CommentVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/16 17:19
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ForumFirstLevelReviewDO implements Serializable {
private static final long serialVersionUID = 570379773690905364L;
@ApiModelProperty(value = "动态id")
private Integer dynamicId;
@ApiModelProperty(value = "评论内容")
private String content;
@ApiModelProperty(value = "评论id,没有回复就为0 有就是评论id ")
private Integer reviewId;
@ApiModelProperty(value = "用户id",hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "pid(注意:pid为0表示评论,回复需要上级评论id)",example = "0")
private Integer pid;
public ForumFirstLevelReviewDO(CommentVO commentVO){
this.dynamicId=commentVO.getDynamicId();
this.content=commentVO.getContent();
this.reviewId=commentVO.getReviewId();
this.userAccountId=commentVO.getUserAccountId();
this.pid=commentVO.getPid();
}
}
package com.mmc.csf.release.entity.forum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/18 13:54
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class ForumReviewDO implements Serializable {
private static final long serialVersionUID = 678578415154893126L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "动态id")
private Integer dynamicId;
@ApiModelProperty(value = "评论内容")
private String content;
@ApiModelProperty(value = "回复id")
private Integer reviewId;
@ApiModelProperty(value = "评论点赞数")
private Integer likeCount;
@ApiModelProperty(value = "创建时间")
private String createTime;
@ApiModelProperty(value = "更新时间")
private String updateTime;
@ApiModelProperty(value = "pid")
private Integer pid;
}
package com.mmc.csf.release.entity.forum;
import com.mmc.csf.release.forum.vo.ReplyToAReviewVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/16 17:37
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ForumTwoLevelReviewDO implements Serializable {
private static final long serialVersionUID = 570379773690905364L;
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "二级评论点赞数")
private Integer firstLikeCount;
@ApiModelProperty(value = "动态id",example = "172")
private Integer dynamicId;
@ApiModelProperty(value = "评论内容",example = "内容")
private String content;
@ApiModelProperty(value = "被回复者用户id")
private Integer replyUserAccountId;
@ApiModelProperty(value = "被回复的一级用户")
private Integer replyOneUserAccountId;
@ApiModelProperty(value = "被回复的二级用户")
private Integer replyTwoUserAccountId;
public ForumTwoLevelReviewDO(ReplyToAReviewVO replyToAReviewVO){
this.dynamicId=replyToAReviewVO.getDynamicId();
this.content=replyToAReviewVO.getContent();
this.replyUserAccountId=replyToAReviewVO.getReplyUserAccountId();
this.replyOneUserAccountId=replyToAReviewVO.getReplyOneUserAccountId();
this.replyTwoUserAccountId=replyToAReviewVO.getReplyTwoUserAccountId();
}
}
package com.mmc.csf.release.entity.forum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/18 15:38
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MyAttentionDO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "是否互相关注")
private Integer mutualAttention;
@ApiModelProperty(value = "作品数")
private Integer dynamicCount;
@ApiModelProperty(value = "用户信息")
private ForumCountDO countDO;
}
package com.mmc.csf.release.entity.forum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* @Author small
* @Date 2023/9/18 16:10
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MyFansDO implements Serializable {
@ApiModelProperty(value = "id")
private Integer id;
@ApiModelProperty(value = "用户id")
private Integer userAccountId;
@ApiModelProperty(value = "是否互相关注")
private Integer mutualAttention;
@ApiModelProperty(value = "作品数")
private Integer dynamicCount;
@ApiModelProperty(value = "用户信息")
private ForumCountDO countDO;
}
package com.mmc.csf.release.entity.gambit;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* @Author small
* @Date 2023/9/15 14:26
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ForumAttentionDO {
private Integer id;
@ApiModelProperty(value = "被关注的用户")
private Integer userAccountId;
@ApiModelProperty(value = "关注用户")
private Integer attentionUserAccountId;
@ApiModelProperty(value = "关注状态")
private Boolean status;
@ApiModelProperty(value = "是否相互关注")
private Boolean mutualAttention;
private String createTime;
private String updateTime;
}
package com.mmc.csf.release.entity.gambit;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.gambit.dto.ForumGambitDTO;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
import com.mmc.csf.release.model.group.Create;
import com.mmc.csf.release.model.group.Update;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @Author small
* @Date 2023/9/13 16:06
* @Version 1.0
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class ForumGambitDO {
private Integer id;
@ApiModelProperty(value = "话题名称",example = "深圳暴雨")
@NotBlank(message = "话题不能为空",groups = {Create.class, Update.class})
private String gambitName;
@ApiModelProperty(value = "话题图标",example = "小程序给默认值")
@NotBlank(message = "话题图标不能为空",groups = {Create.class,Update.class})
private String gambitIcon;
@ApiModelProperty(value = "话题封面",example = "小程序给默认封面")
@NotBlank(message = "话题封面不能为空",groups = {Create.class,Update.class})
private String gambitCover;
@ApiModelProperty(value = "话题属性",example = "话题属性 1普通 2热门 3推荐 (小程序默认普通:1)")
@NotNull(message = "话题属性不能为空")
private Integer gambitProperty;
@ApiModelProperty(value = "发贴用户",example = "1",hidden = true)
private Integer userAccountId;
@ApiModelProperty(value = "贴子数",example = "11")
private Integer postCount;
@ApiModelProperty(value = "话题参与讨论数量",example = "1")
private Integer discussionCount;
public ForumGambitDO(ForumGambitVO forumGambitVO){
this.gambitName= forumGambitVO.getGambitName();
this.gambitIcon= forumGambitVO.getGambitIcon();
this.gambitCover= forumGambitVO.getGambitCover();
this.gambitProperty= forumGambitVO.getGambitProperty();
this.userAccountId= forumGambitVO.getUserAccountId();
}
public ForumGambitDO(ForumDynamicDO forumDynamicDO){
this.gambitIcon=forumDynamicDO.getGambitIcon();
this.gambitCover=forumDynamicDO.getGambitCover();
this.userAccountId= forumDynamicDO.getUserAccountId();
}
public ForumGambitDTO buildForumGambitDTO(){
return ForumGambitDTO.builder()
.id(this.id)
.gambitName(this.gambitName)
.gambitIcon(this.gambitIcon)
.gambitCover(this.gambitCover)
.gambitProperty(this.gambitProperty)
.postCount(this.postCount)
.userAccountId(this.userAccountId)
.discussionCount(this.discussionCount)
.build();
}
}
......@@ -30,6 +30,7 @@ public class MqConsumer {
@Autowired
LikeDAO likeDAO;
@RabbitListener(queues = RabbitmqConstant.USER_INFO_UPDATE_FANOUT_FORUM_QUEUE)
public void subscribeFanoutQueue(@Payload String userAccount, Channel channel, Message message) {
UserAccountVO userAccountVO = JSONObject.parseObject(userAccount, UserAccountVO.class);
......
......@@ -4,6 +4,9 @@ import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.forum.vo.CommentVO;
import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.release.forum.vo.ReplyToAReviewVO;
import com.mmc.csf.release.gambit.qo.ForumGambitQO;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
import javax.servlet.http.HttpServletRequest;
......@@ -56,4 +59,10 @@ public interface DynamicService {
PageResult dynamicList(
Integer pageNo, Integer pageSize, Integer userAccountId, HttpServletRequest request);
ResultBody recentNewsList(Integer userAccountId);
PageResult appGambitList(ForumGambitQO forumGambitQO);
ResultBody reviewLikes(Integer id, Integer userAccountId, Boolean status);
}
package com.mmc.csf.release.service.gambit;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.gambit.qo.*;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
/**
* @Author small
* @Date 2023/9/13 15:30
* @Version 1.0
*/
public interface GambitService {
ResultBody insertGambit(ForumGambitVO forumGambitVO);
ResultBody updateGambit(ForumGambitVO forumGambitVO);
ResultBody deleteGambit(Integer id);
PageResult listGambit(ForumGambitQO forumGambitQO);
ResultBody attention(Boolean status, Integer userAccountId,Integer attentionUserAccountId);
ResultBody transPond(Integer dynamicId, Integer userAccountId);
ResultBody commentLikes(Integer userAccountId, Integer dynamicId);
ResultBody appRemove(Integer userAccountId, Integer dynamicId);
PageResult appGambitList(TopicDynamicsQO topicDynamicsQO);
PageResult allCommentList(AllReviewQO allReviewQO);
PageResult replyList(AppReplyQO allReviewQO);
PageResult userDynamicList(UserTopicDynamicsQO userTopicDynamicsQO);
PageResult liked(UserTopicDynamicsQO userTopicDynamicsQO);
PageResult myInterestList(UserTopicDynamicsQO userTopicDynamicsQO);
PageResult myFansList(UserTopicDynamicsQO userTopicDynamicsQO);
}
package com.mmc.csf.release.service.gambit.impl;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.release.dao.DynamicDao;
import com.mmc.csf.release.dao.gambit.GambitDao;
import com.mmc.csf.release.entity.forum.ForumDynamicGambitDO;
import com.mmc.csf.release.entity.forum.ForumReviewDO;
import com.mmc.csf.release.entity.forum.MyAttentionDO;
import com.mmc.csf.release.entity.forum.MyFansDO;
import com.mmc.csf.release.entity.gambit.ForumAttentionDO;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import com.mmc.csf.release.gambit.dto.ForumGambitDTO;
import com.mmc.csf.release.gambit.qo.*;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
import com.mmc.csf.release.service.gambit.GambitService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
/**
* @Author small
* @Date 2023/9/13 15:30
* @Version 1.0
*/
@Service
public class GambitServiceImpl implements GambitService {
@Autowired
private GambitDao gambitDao;
@Autowired
private DynamicDao dynamicDao;
/**
* 添加话题
* @param forumGambitVO
* @return
*/
@Override
public ResultBody insertGambit(ForumGambitVO forumGambitVO) {
ForumGambitDO forumGambitDO = new ForumGambitDO(forumGambitVO);
List<ForumGambitDO> forumGambitDOS = gambitDao.recommendCount(forumGambitDO);
if ("3".equals(forumGambitDO.getGambitProperty().toString())){
int size = forumGambitDOS.size();
if (size>=3){
return ResultBody.error("推荐最多只能三个");
}
}
if ("2".equals(forumGambitDO.getGambitProperty().toString())){
int size = forumGambitDOS.size();
if (size>=3){
return ResultBody.error("热门最多只能三个");
}
}
int i = gambitDao.selectGambit(forumGambitDO.getGambitName());
if (i!=0){
return ResultBody.error("话题名称已存在");
}
gambitDao.insertGambit(forumGambitDO);
return ResultBody.success();
}
@Override
public ResultBody updateGambit(ForumGambitVO forumGambitVO) {
ForumGambitDO forumGambitDO = new ForumGambitDO(forumGambitVO);
List<ForumGambitDO> forumGambitDOS = gambitDao.recommendCountNO(forumGambitDO);
if ("3".equals(forumGambitDO.getGambitProperty().toString())){
int size = forumGambitDOS.size();
if (size>=3){
return ResultBody.error("推荐最多只能三个");
}
}
if ("2".equals(forumGambitDO.getGambitProperty().toString())){
int size = forumGambitDOS.size();
if (size>=3){
return ResultBody.error("热门最多只能三个");
}
}
int i = gambitDao.selectUpdate(forumGambitDO);
if (i!=0){
return ResultBody.error("话题名称不能重复");
}
gambitDao.updateGambit(forumGambitDO);
return ResultBody.success();
}
@Override
public ResultBody deleteGambit(Integer id) {
gambitDao.deleteGambit(id);
gambitDao.forumDynamicGambit(id);
return ResultBody.success();
}
@Override
public PageResult listGambit(ForumGambitQO forumGambitQO) {
Integer pageNo = forumGambitQO.getPageNo();
forumGambitQO.buildCurrentPage();
int count = gambitDao.listGambitCount(forumGambitQO);
List<ForumGambitDO> forumGambitDO = gambitDao.listGambit(forumGambitQO);
List<ForumGambitDTO> collect = forumGambitDO.stream().map(ForumGambitDO::buildForumGambitDTO).collect(Collectors.toList());
return PageResult.buildPage(pageNo, forumGambitQO.getPageSize(),count,collect);
}
@Override
public ResultBody attention( Boolean status, Integer userAccountId,Integer attentionUserAccountId) {
if (status.equals(true)){
//插入用户
int count = dynamicDao.selectForumCount(userAccountId);
if (count==0){
dynamicDao.insertForumCount(userAccountId);
}
int count1 = dynamicDao.selectForumCount(attentionUserAccountId);
if (count1==0){
dynamicDao.insertForumCount(attentionUserAccountId);
}
ForumAttentionDO forumAttentionDO = gambitDao.selectAttentionMessage(userAccountId, attentionUserAccountId);
if (!forumAttentionDO.equals(null)){
gambitDao.updateAttention(userAccountId,attentionUserAccountId,true);
gambitDao.forumCountFansYes(userAccountId);
gambitDao.forumCountAttentionYes(attentionUserAccountId);
}else{
gambitDao.insertAttention(userAccountId,attentionUserAccountId,status);
gambitDao.forumCountFansYes(userAccountId);
gambitDao.forumCountAttentionYes(attentionUserAccountId);
}
}else{
ForumAttentionDO forumAttentionDO = gambitDao.selectAttentionMessage(userAccountId, attentionUserAccountId);
if (forumAttentionDO.getMutualAttention().equals(false)){
gambitDao.removeAttention(userAccountId,attentionUserAccountId);
gambitDao.forumCountFansNO(userAccountId);
gambitDao.forumCountAttentionNO(attentionUserAccountId);
}else{
gambitDao.updateAttentionExchange(userAccountId,attentionUserAccountId);
gambitDao.forumCountFansNO(userAccountId);
gambitDao.forumCountAttentionNO(attentionUserAccountId);
}
}
return ResultBody.success();
}
@Override
public ResultBody transPond(Integer dynamicId, Integer userAccountId) {
gambitDao.insertTransPond(dynamicId,userAccountId);
gambitDao.transPondCount(dynamicId);
return ResultBody.success();
}
@Override
public ResultBody commentLikes(Integer userAccountId, Integer dynamicId) {
gambitDao.commentLikes(dynamicId,userAccountId);
return ResultBody.success();
}
@Override
public ResultBody appRemove(Integer userAccountId, Integer dynamicId) {
int i = gambitDao.selectGambitM(dynamicId, userAccountId);
if (i!=0){
return ResultBody.error("只能删除自己的贴子");
}
gambitDao.appRemove(dynamicId);
gambitDao.RemoveDynamicGambit(dynamicId);
return ResultBody.success();
}
@Override
public PageResult appGambitList(TopicDynamicsQO topicDynamicsQO) {
Integer pageNo = topicDynamicsQO.getPageNo();
topicDynamicsQO.buildCurrentPage();
int count = gambitDao.appGambitListCount(topicDynamicsQO);
List<ForumDynamicGambitDO> forumDynamicGambitDOS = gambitDao.appGambitList(topicDynamicsQO);
return PageResult.buildPage(pageNo, topicDynamicsQO.getPageSize(),count,forumDynamicGambitDOS);
}
@Override
public PageResult userDynamicList(UserTopicDynamicsQO userTopicDynamicsQO){
Integer pageNo = userTopicDynamicsQO.getPageNo();
userTopicDynamicsQO.buildCurrentPage();
int count = gambitDao.userDynamicListCount(userTopicDynamicsQO);
List<ForumDynamicGambitDO> forumDynamicGambitDOS = gambitDao.userDynamicList(userTopicDynamicsQO);
return PageResult.buildPage(pageNo, userTopicDynamicsQO.getPageSize(),count,forumDynamicGambitDOS);
}
@Override
public PageResult liked(UserTopicDynamicsQO userTopicDynamicsQO) {
Integer pageNo = userTopicDynamicsQO.getPageNo();
userTopicDynamicsQO.buildCurrentPage();
int count = gambitDao.likedCount(userTopicDynamicsQO);
List<ForumDynamicGambitDO> forumDynamicGambitDOS = gambitDao.likedList(userTopicDynamicsQO);
return PageResult.buildPage(pageNo, userTopicDynamicsQO.getPageSize(),count,forumDynamicGambitDOS);
}
@Override
public PageResult myInterestList(UserTopicDynamicsQO userTopicDynamicsQO) {
Integer pageNo = userTopicDynamicsQO.getPageNo();
userTopicDynamicsQO.buildCurrentPage();
int count = gambitDao.myInterestListCount(userTopicDynamicsQO);
List<MyAttentionDO> myAttentionDOS = gambitDao.myInterestList(userTopicDynamicsQO);
return PageResult.buildPage(pageNo, userTopicDynamicsQO.getPageSize(),count,myAttentionDOS);
}
@Override
public PageResult myFansList(UserTopicDynamicsQO userTopicDynamicsQO) {
Integer pageNo = userTopicDynamicsQO.getPageNo();
userTopicDynamicsQO.buildCurrentPage();
int count = gambitDao.myFansListCount(userTopicDynamicsQO);
List<MyFansDO> myAttentionDOS = gambitDao.myFansList(userTopicDynamicsQO);
return PageResult.buildPage(pageNo, userTopicDynamicsQO.getPageSize(),count,myAttentionDOS);
}
@Override
public PageResult allCommentList(AllReviewQO allReviewQO) {
Integer pageNo = allReviewQO.getPageNo();
allReviewQO.buildCurrentPage();
int count = gambitDao.allCommentListCount(allReviewQO);
List<ForumReviewDO> forumReviewDOS = gambitDao.allCommentList(allReviewQO);
return PageResult.buildPage(pageNo,allReviewQO.getPageSize(),count,forumReviewDOS);
}
@Override
public PageResult replyList(AppReplyQO allReviewQO) {
Integer pageNo = allReviewQO.getPageNo();
allReviewQO.buildCurrentPage();
int count = gambitDao.replyListCount(allReviewQO);
List<ForumReviewDO> forumReviewDOS = gambitDao.replyList(allReviewQO);
return PageResult.buildPage(pageNo,allReviewQO.getPageSize(),count,forumReviewDOS);
}
}
......@@ -8,9 +8,12 @@ import com.mmc.csf.release.constant.TokenConstant;
import com.mmc.csf.release.dao.BackstageForumDao;
import com.mmc.csf.release.dao.DynamicDao;
import com.mmc.csf.release.dao.LikeDAO;
import com.mmc.csf.release.dao.gambit.GambitDao;
import com.mmc.csf.release.entity.forum.DynamicGambitDO;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.forum.ForumLikeDO;
import com.mmc.csf.release.entity.forum.ForumResourceDO;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.forum.dto.DynamicInfoDTO;
import com.mmc.csf.release.forum.qo.DynamicQO;
......@@ -37,11 +40,13 @@ public class BackstageForumServiceImpl implements BackstageForumService {
@Autowired
BackstageForumDao backstageForumDao;
@Autowired
DynamicDao dynamicDAO;
DynamicDao dynamicDao;
@Autowired
UserAppApi userAppApi;
@Autowired
LikeDAO likeDAO;
@Autowired
private GambitDao gambitDao;
@Override
public PageResult listDynamic(DynamicQO dynamic, HttpServletRequest request) {
......@@ -75,7 +80,7 @@ public class BackstageForumServiceImpl implements BackstageForumService {
List<Integer> ids =
dynamicList.stream().map(ForumDynamicDO::getId).collect(Collectors.toList());
// 根据id集合查询图片
List<ForumResourceDO> forumImageList = dynamicDAO.listDynamicPicture(ids);
List<ForumResourceDO> forumImageList = dynamicDao.listDynamicPicture(ids);
Map<Integer, List<ForumResourceDO>> ImageMap =
forumImageList.stream().collect(Collectors.groupingBy(ForumResourceDO::getDynamicId));
// 获取用户信息
......@@ -120,13 +125,13 @@ public class BackstageForumServiceImpl implements BackstageForumService {
@Override
public ResultBody deleteDynamic(Integer dynamicId) {
dynamicDAO.deleteDynamic(dynamicId);
dynamicDao.deleteDynamic(dynamicId);
return ResultBody.success();
}
@Override
public ResultBody hiddenDynamic(Integer dynamicId) {
dynamicDAO.hiddenDynamic(dynamicId);
dynamicDao.hiddenDynamic(dynamicId);
return ResultBody.success();
}
......@@ -160,9 +165,35 @@ public class BackstageForumServiceImpl implements BackstageForumService {
@Override
public ResultBody checkDynamic(Integer dynamicId, Boolean status) {
if (status) {
dynamicDAO.updateCheckDynamic(dynamicId, 1);
//审核通过
dynamicDao.updateCheckDynamic(dynamicId, 1);
gambitDao.updateDynamicGambit(dynamicId,1);
List<DynamicGambitDO> gambitDOList= gambitDao.selectGambitDynamic(dynamicId);
for (DynamicGambitDO gambitDO : gambitDOList) {
Integer checkStatus = gambitDO.getCheckStatus();
if (checkStatus!=1){
gambitDO.setCheckStatus(1);
gambitDao.updateForumGambit(gambitDO);
}
dynamicDao.updateDynamic(gambitDO.getGambitId());
}
List<DynamicGambitDO> ga= gambitDao.selectGambitList();
List<ForumGambitDO> gambitDOS= gambitDao.selectCountList();
for (ForumGambitDO gambitDO : gambitDOS) {
long count = ga.stream().filter(u -> u.getGambitId().equals(gambitDO.getId())).count();
dynamicDao.updateDiscussionCount(gambitDO.getId(),count);
}
} else {
dynamicDAO.updateCheckDynamic(dynamicId, 2);
dynamicDao.updateCheckDynamic(dynamicId, 2);
List<DynamicGambitDO> gambitDOList= gambitDao.selectGambitDynamic(dynamicId);
for (DynamicGambitDO gambitDO : gambitDOList) {
Integer checkStatus = gambitDO.getCheckStatus();
if (checkStatus!=1){
gambitDO.setCheckStatus(2);
gambitDao.dedateForumGambitTrue(gambitDO.getGambitId());
}
}
gambitDao.deleteForumGambit(dynamicId);
}
return ResultBody.success();
}
......
package com.mmc.csf.release.service.impl;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.mmc.csf.common.util.page.PageResult;
import com.mmc.csf.common.util.web.ResultBody;
import com.mmc.csf.infomation.dto.PayWalletDTO;
import com.mmc.csf.infomation.dto.UserAccountSimpleDTO;
import com.mmc.csf.release.auth.qo.UserAccountQO;
import com.mmc.csf.release.constant.TokenConstant;
import com.mmc.csf.release.dao.CommentDAO;
import com.mmc.csf.release.dao.DynamicDao;
import com.mmc.csf.release.dao.LikeDAO;
import com.mmc.csf.release.entity.forum.ForumDynamicDO;
import com.mmc.csf.release.entity.forum.ForumResourceDO;
import com.mmc.csf.release.dao.gambit.GambitDao;
import com.mmc.csf.release.entity.forum.*;
import com.mmc.csf.release.entity.gambit.ForumGambitDO;
import com.mmc.csf.release.feign.UserAppApi;
import com.mmc.csf.release.forum.vo.CommentVO;
import com.mmc.csf.release.forum.vo.DynamicVO;
import com.mmc.csf.release.forum.vo.MediaVO;
import com.mmc.csf.release.forum.vo.UserBaseInfoVO;
import com.mmc.csf.release.forum.vo.*;
import com.mmc.csf.release.gambit.dto.ForumGambitDTO;
import com.mmc.csf.release.gambit.qo.ForumGambitQO;
import com.mmc.csf.release.gambit.vo.ForumGambitVO;
import com.mmc.csf.release.service.DynamicService;
import com.mmc.csf.release.service.WxApiService;
import com.mmc.csf.release.service.gambit.GambitService;
import com.mmc.csf.user.vo.UserAccountVO;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.*;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.client.RestTemplate;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
......@@ -39,7 +48,7 @@ import java.util.stream.Collectors;
public class DynamicServiceImpl implements DynamicService {
@Resource
private DynamicDao dynamicDAO;
private DynamicDao dynamicDao;
@Resource
private LikeDAO likeDAO;
@Resource
......@@ -49,6 +58,16 @@ public class DynamicServiceImpl implements DynamicService {
@Resource
private WxApiService wxApiService;
@Autowired
private GambitDao gambitDao;
@Autowired
private RestTemplate restTemplate;
@Value("${iuav.userapp.url}")
private String userApp;
@Override
@Transactional(rollbackFor = Exception.class)
public ResultBody insertDynamic(DynamicVO dynamicVO, Integer userAccountId, HttpServletRequest request) {
......@@ -58,22 +77,69 @@ public class DynamicServiceImpl implements DynamicService {
ForumDynamicDO forumDynamicDO = new ForumDynamicDO(dynamicVO);
forumDynamicDO.setRootPath(null);
forumDynamicDO.setUserAccountId(userAccountId);
//插入用户
int count = dynamicDao.selectForumCount(userAccountId);
if (count==0){
dynamicDao.insertForumCount(userAccountId);
}
// 插入动态资源
if (CollectionUtils.isNotEmpty(dynamicVO.getMediaVO())) {
forumDynamicDO.setCheckStatus(0);
dynamicDAO.insertDynamic(forumDynamicDO);
dynamicDao.insertDynamic(forumDynamicDO);
for (MediaVO mediaVO : dynamicVO.getMediaVO()) {
dynamicDAO.insertResource(forumDynamicDO.getId(), mediaVO.getType(), mediaVO.getUrl());
dynamicDao.insertResource(forumDynamicDO.getId(), mediaVO.getType(), mediaVO.getUrl());
}
//话题通过
List<String> gambitName = dynamicVO.getGambitName();
ForumGambitDO forumGambitDO = new ForumGambitDO(forumDynamicDO);
if (gambitName.size()!=0){
for (String s : gambitName) {
boolean b = s.startsWith("#");
if (b==true){
forumGambitDO.setGambitName(s);
ForumGambitDO forumGambitDO1 = gambitDao.selectGambitMessage(forumGambitDO.getGambitName());
if (forumGambitDO1==null){
dynamicDao.insertforumGambit(forumGambitDO);
}
if (forumGambitDO1!=null){
forumGambitDO.setId(forumGambitDO1.getId());
}
DynamicGambitDO dynamicGambitDO = new DynamicGambitDO(forumDynamicDO,forumGambitDO);
dynamicDao.insertDynamicGambit(dynamicGambitDO);
}
}
}
return ResultBody.success("您的信息通过审核后,即可向其他人展示");
} else {
ResultBody resultBody = wxApiService.msgSecCheck(userAccountSimpleDTO.getOpenid(), dynamicVO.getDescription());
if (resultBody.getCode().equals("200")) {
//审核通过
forumDynamicDO.setCheckStatus(1);
dynamicDAO.insertDynamic(forumDynamicDO);
dynamicDao.insertDynamic(forumDynamicDO);
//话题通过
List<String> gambitName = dynamicVO.getGambitName();
ForumGambitDO forumGambitDO = new ForumGambitDO(forumDynamicDO);
if (gambitName.size()!=0){
for (String s : gambitName) {
boolean b = s.startsWith("#");
if (b==true){
forumGambitDO.setGambitName(s);
ForumGambitDO forumGambitDO1 = gambitDao.selectGambitMessage(forumGambitDO.getGambitName());
if (forumGambitDO1==null){
dynamicDao.insertforumGambit(forumGambitDO);
}
if (forumGambitDO1!=null){
forumDynamicDO.setId(forumGambitDO1.getId());
}
DynamicGambitDO dynamicGambitDO = new DynamicGambitDO(forumDynamicDO,forumGambitDO);
dynamicDao.insertDynamicGambit(dynamicGambitDO);
}
}
}
} else {
forumDynamicDO.setCheckStatus(2);
dynamicDAO.insertDynamic(forumDynamicDO);
dynamicDao.insertDynamic(forumDynamicDO);
}
return resultBody;
}
......@@ -82,13 +148,16 @@ public class DynamicServiceImpl implements DynamicService {
@Override
public ResultBody likeDynamic(Integer userId, Integer dynamicId) {
// 获取动态信息
ForumDynamicDO forumDynamicDO = dynamicDAO.getDynamicInfo(dynamicId);
ForumDynamicDO forumDynamicDO = dynamicDao.getDynamicInfo(dynamicId);
if (!likeDAO.isLiked(userId, dynamicId)) {
likeDAO.insertLike(userId, dynamicId);
dynamicDAO.updateDynamicLikeCount(dynamicId, forumDynamicDO.getVersion());
dynamicDao.updateDynamicLikeCount(dynamicId, forumDynamicDO.getVersion());
dynamicDao.forumCount(forumDynamicDO.getUserAccountId());
//评论
} else {
likeDAO.deleteLike(userId, dynamicId);
dynamicDAO.updateSubDynamicLikeCount(dynamicId, forumDynamicDO.getVersion());
dynamicDao.updateSubDynamicLikeCount(dynamicId, forumDynamicDO.getVersion());
dynamicDao.forumCountNO(forumDynamicDO.getUserAccountId());
}
return ResultBody.success();
}
......@@ -97,7 +166,7 @@ public class DynamicServiceImpl implements DynamicService {
@Transactional(rollbackFor = Exception.class)
public ResultBody commentDynamic(CommentVO commentVO, Integer userAccountId, HttpServletRequest request) {
UserAccountSimpleDTO userAccountSimpleDTO = userAppApi.feignGetUserSimpleInfo(userAccountId, request.getHeader(TokenConstant.TOKEN));
ForumDynamicDO forumDynamicDO = dynamicDAO.getDynamicInfo(commentVO.getDynamicId());
ForumDynamicDO forumDynamicDO = dynamicDao.getDynamicInfo(commentVO.getDynamicId());
if (forumDynamicDO == null) {
return ResultBody.error("动态不存在或已删除");
}
......@@ -105,14 +174,12 @@ public class DynamicServiceImpl implements DynamicService {
ResultBody resultBody = wxApiService.msgSecCheck(userAccountSimpleDTO.getOpenid(), commentVO.getContent());
if (resultBody.getCode().equals("200")) {
// 新增评论
ForumDynamicDO comment = new ForumDynamicDO();
comment.setUserAccountId(userAccountId);
comment.setDescription(commentVO.getContent());
comment.defaultInfo();
comment.setRootPath(commentVO.getRootPath());
dynamicDAO.insertDynamic(comment);
commentVO.setUserAccountId(userAccountId);
ForumFirstLevelReviewDO forumFirstLevelReviewDO = new ForumFirstLevelReviewDO(commentVO);
// dynamicDao.insertDynamic(comment);
dynamicDao.insertforumFirstLevelReview(forumFirstLevelReviewDO);
// 修改评论数量
dynamicDAO.updateDynamicCommentCount(commentVO.getDynamicId(), forumDynamicDO.getVersion());
dynamicDao.updateDynamicCommentCount(commentVO.getDynamicId(), forumDynamicDO.getVersion());
return ResultBody.success();
} else {
return resultBody;
......@@ -128,7 +195,7 @@ public class DynamicServiceImpl implements DynamicService {
@Override
public ResultBody dynamicDetails(Integer dynamicId, Integer userId, HttpServletRequest request) {
// 判断此动态是否还存在
ForumDynamicDO dynamicInfo = dynamicDAO.getDynamicInfoById(dynamicId);
ForumDynamicDO dynamicInfo = dynamicDao.getDynamicInfoById(dynamicId);
if (dynamicInfo == null) {
return ResultBody.error("动态不存在!");
}
......@@ -144,7 +211,7 @@ public class DynamicServiceImpl implements DynamicService {
dynamicVO.setUserBaseInfo(userBaseInfoVO);
dynamicVO.setLikes(liked);
// 获取媒体资源
List<ForumResourceDO> forumResourceList = dynamicDAO.listDynamicResources(dynamicId);
List<ForumResourceDO> forumResourceList = dynamicDao.listDynamicResources(dynamicId);
if (CollectionUtils.isNotEmpty(forumResourceList)) {
List<MediaVO> MediaVOList =
forumResourceList.stream().map(ForumResourceDO::buildMedia).collect(Collectors.toList());
......@@ -158,7 +225,7 @@ public class DynamicServiceImpl implements DynamicService {
private List<DynamicVO> getCommentInfo(Integer dynamicId, HttpServletRequest request) {
// 获取下面所有的一级评论
List<ForumDynamicDO> forumDynamic = dynamicDAO.getDynamicComment(dynamicId.toString());
List<ForumDynamicDO> forumDynamic = dynamicDao.getDynamicComment(dynamicId.toString());
if (forumDynamic == null) {
return new ArrayList<>();
}
......@@ -194,20 +261,31 @@ public class DynamicServiceImpl implements DynamicService {
@Override
public PageResult dynamicList(
Integer pageNo, Integer pageSize, Integer userId, HttpServletRequest request) {
int count = dynamicDAO.countDynamicList();
int count = dynamicDao.countDynamicList();
if (count == 0) {
return PageResult.buildPage(pageNo, pageSize, 0);
}
int itemIndex = (pageNo - 1) * pageSize;
List<ForumDynamicDO> forumDynamicList = dynamicDAO.dynamicList(itemIndex, pageSize);
List<ForumDynamicDO> forumDynamicList = dynamicDao.dynamicList(itemIndex, pageSize);
for (ForumDynamicDO forumDynamicDO : forumDynamicList) {
Integer id = forumDynamicDO.getDynamicId();
ArrayList<String> list = new ArrayList<>();
List<ForumGambitDO> gambitDOS = dynamicDao.selectGambit(id);
for (ForumGambitDO gambitDO : gambitDOS) {
list.add(gambitDO.getGambitName());
}
forumDynamicDO.setGambitName(list);
}
// 动态id集合
List<Integer> ids =
forumDynamicList.stream().map(ForumDynamicDO::getId).collect(Collectors.toList());
// 根据id集合查询评论
List<ForumDynamicDO> commentList = dynamicDAO.firstTwoItemsComment(ids);
List<ForumDynamicDO> commentList = dynamicDao.firstTwoItemsComment(ids);
Map<String, List<ForumDynamicDO>> commentMap = commentList.stream().collect(Collectors.groupingBy(ForumDynamicDO::getRootPath));
// 根据id集合查询图片
List<ForumResourceDO> forumImageList = dynamicDAO.listDynamicPicture(ids);
List<ForumResourceDO> forumImageList = dynamicDao.listDynamicPicture(ids);
Map<Integer, List<ForumResourceDO>> ImageMap =
forumImageList.stream().collect(Collectors.groupingBy(ForumResourceDO::getDynamicId));
// 获取用户信息
......@@ -252,6 +330,7 @@ public class DynamicServiceImpl implements DynamicService {
userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg());
userBaseInfoVO.setUserName(userAccountSimpleDTO.getUserName());
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
userBaseInfoVO.setRegion(userAccountSimpleDTO.getRegion());
vo.setUserBaseInfo(userBaseInfoVO);
break;
}
......@@ -266,6 +345,7 @@ public class DynamicServiceImpl implements DynamicService {
UserBaseInfoVO userBaseInfoVO = new UserBaseInfoVO();
userBaseInfoVO.setNickName(userAccountSimpleDTO.getNickName());
userBaseInfoVO.setUserImg(userAccountSimpleDTO.getUserImg());
userBaseInfoVO.setRegion(userAccountSimpleDTO.getRegion());
dynamicVO.setUserBaseInfo(userBaseInfoVO);
}
// 设置是否点赞
......@@ -282,4 +362,61 @@ public class DynamicServiceImpl implements DynamicService {
.collect(Collectors.toList());
return PageResult.buildPage(pageNo, pageSize, count, dynamicVOList);
}
@Override
public ResultBody recentNewsList(Integer userAccountId) {
List<ForumDynamicUserDO> forumDynamicDOS = dynamicDao.recentNewsList(userAccountId);
for (ForumDynamicUserDO forumDynamicDO : forumDynamicDOS) {
UserAccountVO info = info(forumDynamicDO.getUserAccountId());
forumDynamicDO.setUserAccountVO(info);
}
return ResultBody.success(forumDynamicDOS);
}
@Override
public PageResult appGambitList(ForumGambitQO forumGambitQO) {
Integer pageNo = forumGambitQO.getPageNo();
forumGambitQO.buildCurrentPage();
int count = dynamicDao.appGambitListCount(forumGambitQO);
List<ForumGambitDO> forumGambitDOList= dynamicDao.appGambitList(forumGambitQO);
List<ForumGambitDTO> collect = forumGambitDOList.stream().map(ForumGambitDO::buildForumGambitDTO).collect(Collectors.toList());
return PageResult.buildPage(pageNo, forumGambitQO.getPageSize(),count,collect);
}
/**
*点赞或者取消
* @param id
* @param userAccountId
* @param status
* @return
*/
@Override
public ResultBody reviewLikes(Integer id, Integer userAccountId, Boolean status) {
if (status.equals(true)){
dynamicDao.updateLikeCountAdd(id);
dynamicDao.insertReviewLikes(id,userAccountId);
}else{
dynamicDao.subtractLikeCount(id);
dynamicDao.deleteReview(id,userAccountId);
}
return ResultBody.success();
}
public UserAccountVO info( Integer userAccountId) {
String token = null;
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.add("token", token);
HttpEntity<String> entity = new HttpEntity<>(userAccountId.toString(), headers);
ResponseEntity<String> exchange = restTemplate.exchange(userApp + "/userapp/user-account/interiorInfo?userAccountId=" + userAccountId , HttpMethod.GET, entity, String.class);
Object body = exchange.getBody();
JSONObject jsonObject = JSONObject.parseObject((String) body);
JSONObject result1 = (JSONObject) jsonObject.get("result");
UserAccountVO userAccountVO = JSON.parseObject(result1.toJSONString(), UserAccountVO.class);
return userAccountVO;
}
}
......@@ -4,6 +4,54 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.csf.release.dao.DynamicDao">
<resultMap id="recentNewsListMap" type="com.mmc.csf.release.entity.forum.ForumDynamicUserDO">
<result property="id" column="id" />
<result property="version" column="version"/>
<result property="userAccountId" column="user_account_id"/>
<result property="description" column="description"/>
<result property="location" column="location"/>
<result property="lat" column="lat"/>
<result property="lon" column="lon"/>
<result property="likesCount" column="likes_count"/>
<result property="commentsCount" column="comments_count"/>
<result property="checkStatus" column="create_time"/>
<collection property="forumResourceDOList" ofType="com.mmc.csf.release.entity.forum.ForumResourceDO"
select="selectResourceList" column="{dynamicId=id}">
</collection>
<collection property="forumGambitDOList" ofType="com.mmc.csf.release.entity.gambit.ForumGambitDO"
select="selectGambitList" column="{dynamicId=id}">
</collection>
</resultMap>
<select id="selectResourceList" resultType="com.mmc.csf.release.entity.forum.ForumResourceDO">
select dynamic_id,resource_url,create_time,update_time,`type` from forum_resource where dynamic_id=#{dynamicId}
</select>
<select id="selectGambitList" resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO">
SELECT
fdg.dynamic_id,
fdg.gambit_id,
fg.gambit_name
FROM
forum_dynamic_gambit fdg
LEFT JOIN forum_gambit fg ON fdg.gambit_id = fg.id
WHERE
fdg.dynamic_id = #{dynamicId}
</select>
<select id="getDynamicCount" resultType="java.lang.Integer">
select count(*)
from forum_dynamic
where root_path is null
</select>
<select id="getGambitReleaseCount" resultType="java.lang.Integer">
select count(*)
from forum_gambit
</select>
<insert id="insertPicture">
insert into forum_image(dynamic_id, url)
values (#{dynamicId}, #{url})
......@@ -17,6 +65,144 @@
INSERT INTO forum_dynamic(user_account_id, description, location, lat, lon, root_path, check_status)
VALUES (#{userAccountId}, #{description}, #{location}, #{lat}, #{lon}, #{rootPath}, #{checkStatus})
</insert>
<insert id="insertforumGambit" parameterType="com.mmc.csf.release.entity.gambit.ForumGambitDO" keyProperty="id" useGeneratedKeys="true">
insert into forum_gambit(gambit_name,gambit_icon,gambit_cover,
user_account_id,create_time,update_time)
values (#{gambitName},#{gambitIcon},#{gambitCover},
#{userAccountId},NOW(),NOW())
</insert>
<insert id="insertDynamicGambit" parameterType="com.mmc.csf.release.entity.forum.DynamicGambitDO">
insert into forum_dynamic_gambit(dynamic_id,gambit_id,user_account_id,create_time,update_time)
values (#{dynamicId},#{gambitId},#{userAccountId},NOW(),NOW())
</insert>
<update id="updateDynamic" >
update forum_gambit
set post_count=post_count+1,
update_time=NOW()
where id=#{gambitId}
</update>
<update id="updateDynamicNO">
update forum_gambit
set post_count=post_count-1,
update_time=NOW()
where id=#{gambitId}
</update>
<update id="updateDiscussionCount">
update forum_gambit
set discussion_count=#{count},
update_time=NOW()
where id=#{gambitId}
</update>
<update id="forumCount">
update forum_count
set like_count=like_count+1,
update_time=NOW()
where user_account_id=#{userAccountId}
</update>
<update id="forumCountNO">
update forum_count
set like_count=like_count-1,
update_time=NOW()
where user_account_id=#{userAccountId}
</update>
<update id="updateLikeCountAdd">
update forum_review
set like_count=like_count+1,
update_time=NOW()
where id=#{id}
</update>
<update id="subtractLikeCount">
update forum_review
set like_count=like_count-1,
update_time=NOW()
where id=#{id}
</update>
<delete id="deleteReview">
delete from forum_review_likes where user_account_id=#{userAccountId} and review_id=#{id}
</delete>
<insert id="insertReviewLikes" >
insert into forum_review_likes(user_account_id,review_id,create_time,update_time) values(#{userAccountId},#{id},NOW(),NOW())
</insert>
<insert id="insertForumCount" parameterType="java.lang.Integer" >
insert into forum_count(user_account_id,create_time,update_time)
values (#{userAccountId},NOW(),NOW())
</insert>
<select id="selectForumCount" parameterType="java.lang.Integer" resultType="java.lang.Integer">
select count(*) from forum_count where user_account_id=#{userAccountId}
</select>
<select id="recentNewsList" resultMap="recentNewsListMap">
SELECT DISTINCT
fd.id,
fd.version,
fd.user_account_id,
fd.description,
fd.location,
fd.lat,
fd.lon,
fd.likes_count,
fd.comments_count
FROM
forum_dynamic fd
LEFT JOIN forum_dynamic_gambit fdg ON fd.id = fdg.dynamic_id
WHERE
fd.check_status = 1
<if test="userAccountId!=null">
and fd.user_account_id=#{userAccountId}
</if>
ORDER BY
fd.id DESC
LIMIT 5
</select>
<select id="appGambitList" resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO"
parameterType="com.mmc.csf.release.gambit.qo.ForumGambitQO">
select id,gambit_name,gambit_icon,gambit_cover,post_count,gambit_property,user_account_id,discussion_count
from forum_gambit where check_status=1
<if test="gambitName!='' and gambitName!=null">
and gambit_name like concat ('%',#{gambitName},'%')
</if>
ORDER BY gambit_property,create_time DESC
limit #{pageNo}, #{pageSize}
</select>
<select id="appGambitListCount" resultType="java.lang.Integer">
select count(*) from forum_gambit where check_status=1
<if test="gambitName!='' and gambitName!=null">
gambit_name like concat ('%',#{gambitName},'%')
</if>
ORDER BY gambit_property,create_time DESC
</select>
<select id="selectGambit" resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO">
SELECT DISTINCT
gf.id,
gf.gambit_name
FROM
forum_dynamic_gambit fdg
INNER JOIN forum_gambit gf
WHERE
fdg.gambit_id = gf.id
AND fdg.check_status = 1
AND fdg.dynamic_id = #{id}
</select>
<insert id="insertforumFirstLevelReview" parameterType="com.mmc.csf.release.entity.forum.ForumFirstLevelReviewDO">
insert into forum_review(user_account_id,dynamic_id,content,review_id,pid,create_time,update_time)
values(#{userAccountId},#{dynamicId},#{content},#{reviewId},#{pid},NOW(),NOW())
</insert>
<insert id="insertResource">
insert into forum_resource(dynamic_id, resource_url, `type`)
values (#{dynamicId}, #{url}, #{type})
......@@ -100,7 +286,8 @@
lon,
likes_count,
comments_count,
create_time
create_time,
id AS dynamicId
from forum_dynamic
where is_deleted = 0
and root_path is null
......@@ -217,13 +404,4 @@
ORDER BY
create_time DESC
</select>
<select id="getDynamicCount" resultType="java.lang.Integer">
select count(*)
from forum_dynamic
where root_path is null
</select>
<select id="getGambitReleaseCount" resultType="java.lang.Integer">
select count(*)
from forum_gambit
</select>
</mapper>
\ No newline at end of file
</mapper>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mmc.csf.release.dao.gambit.GambitDao">
<resultMap id="appGambitListMap" type="com.mmc.csf.release.entity.forum.ForumDynamicGambitDO">
<result property="id" column="id"/>
<result property="userAccountId" column="user_account_id"/>
<result property="description" column="description"/>
<result property="likesCount" column="likes_count"/>
<result property="commentsCount" column="comments_count" />
<result property="transpond" column="transpond"/>
<result property="createTime" column="create_time"/>
<collection property="forumResourceDOList" ofType="com.mmc.csf.release.entity.forum.ForumResourceDO"
select="selectResourceList" column="{dynamicId=id}">
</collection>
<collection property="forumGambitDOList" ofType="com.mmc.csf.release.entity.gambit.ForumGambitDO"
select="selectGambitLists" column="{dynamicId=id}">
</collection>
<collection property="forumReviewDO" ofType="com.mmc.csf.release.entity.forum.ForumReviewDO"
select="selectForumReview" column="{dynamicId=id}">
</collection>
</resultMap>
<resultMap id="userDynamicListMap" type="com.mmc.csf.release.entity.forum.ForumDynamicGambitDO">
<result property="id" column="id"/>
<result property="userAccountId" column="user_account_id"/>
<result property="description" column="description"/>
<result property="likesCount" column="likes_count"/>
<result property="commentsCount" column="comments_count" />
<result property="transpond" column="transpond"/>
<result property="createTime" column="create_time"/>
<collection property="forumResourceDOList" ofType="com.mmc.csf.release.entity.forum.ForumResourceDO"
select="selectResourceList" column="{dynamicId=id}">
</collection>
<collection property="forumGambitDOList" ofType="com.mmc.csf.release.entity.gambit.ForumGambitDO"
select="selectGambitLists" column="{dynamicId=id}">
</collection>
<collection property="forumReviewDO" ofType="com.mmc.csf.release.entity.forum.ForumReviewDO"
select="selectForumReview" column="{dynamicId=id}">
</collection>
</resultMap>
<resultMap id="likedListMap" type="com.mmc.csf.release.entity.forum.ForumDynamicGambitDO">
<result property="id" column="id"/>
<result property="userAccountId" column="user_account_id"/>
<result property="description" column="description"/>
<result property="likesCount" column="likes_count"/>
<result property="commentsCount" column="comments_count" />
<result property="transpond" column="transpond"/>
<result property="createTime" column="create_time"/>
<collection property="forumResourceDOList" ofType="com.mmc.csf.release.entity.forum.ForumResourceDO"
select="selectResourceList" column="{dynamicId=id}">
</collection>
<collection property="forumGambitDOList" ofType="com.mmc.csf.release.entity.gambit.ForumGambitDO"
select="selectGambitLists" column="{dynamicId=id}">
</collection>
<collection property="forumReviewDO" ofType="com.mmc.csf.release.entity.forum.ForumReviewDO"
select="selectForumReview" column="{dynamicId=id}">
</collection>
</resultMap>
<resultMap id="myInterestListMap" type="com.mmc.csf.release.entity.forum.MyAttentionDO">
<result property="id" column="id"/>
<result property="userAccountId" column="attention_user_account_id" />
<result property="mutualAttention" column="mutual_attention"/>
<collection property="dynamicCount" ofType="java.lang.Integer"
select="selectCountUser" column="{userAccountId=user_account_id}">
</collection>
<collection property="countDO" ofType="com.mmc.csf.release.entity.forum.ForumCountDO"
select="selectUserCount" column="{userAccountId=user_account_id}">
</collection>
</resultMap>
<resultMap id="myFansListMap" type="com.mmc.csf.release.entity.forum.MyFansDO">
<result property="id" column="id"/>
<result property="userAccountId" column="attention_user_account_id" />
<result property="mutualAttention" column="mutual_attention"/>
<collection property="dynamicCount" ofType="java.lang.Integer"
select="selectCountUser" column="{userAccountId=user_account_id}">
</collection>
<collection property="countDO" ofType="com.mmc.csf.release.entity.forum.ForumCountDO"
select="selectUserCount" column="{userAccountId=attention_user_account_id}">
</collection>
</resultMap>
<select id="selectUserCount" resultType="com.mmc.csf.release.entity.forum.ForumCountDO">
SELECT
id,
user_account_id,
like_count,
fans_count,
attention_count,
create_time,
update_time
FROM
forum_count
WHERE
user_account_id = #{userAccountId}
</select>
<select id="selectCountUser" resultType="java.lang.Integer">
SELECT
count(*)
FROM
forum_dynamic
WHERE
user_account_id = #{userAccountId}
AND check_status =1
</select>
<select id="selectForumReview" resultType="com.mmc.csf.release.entity.forum.ForumReviewDO">
SELECT
id,
content,
user_account_id,
like_count,
dynamic_id,
create_time,
update_time,
pid,
review_id
FROM
forum_review
WHERE
dynamic_id = #{dynamicId}
GROUP BY
id
LIMIT 0,1
</select>
<select id="selectResourceList" resultType="com.mmc.csf.release.entity.forum.ForumResourceDO">
select dynamic_id,resource_url,create_time,update_time,`type` from forum_resource where dynamic_id=#{dynamicId}
</select>
<select id="selectGambitLists" resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO">
SELECT
fdg.dynamic_id,
fdg.gambit_id,
fg.gambit_name
FROM
forum_dynamic_gambit fdg
LEFT JOIN forum_gambit fg ON fdg.gambit_id = fg.id
WHERE
fdg.dynamic_id = #{dynamicId}
</select>
<insert id="insertGambit" parameterType="com.mmc.csf.release.entity.gambit.ForumGambitDO" keyProperty="id" useGeneratedKeys="true">
insert into forum_gambit(gambit_name,gambit_icon,gambit_cover,gambit_property,
user_account_id,create_time,update_time)
values (#{gambitName},#{gambitIcon},#{gambitCover},#{gambitProperty},
#{userAccountId},NOW(),NOW())
</insert>
<select id="selectGambit" resultType="java.lang.Integer">
select count(*) from forum_gambit where gambit_name=#{gambitName}
</select>
<select id="selectGambitM" resultType="java.lang.Integer">
select count(*) from forum_gambit where user_account_id=#{userAccountId} and id=#{dynamicId}
</select>
<select id="selectUpdate" resultType="java.lang.Integer">
select count(*) from forum_gambit where gambit_name=#{userAccountId} and id !=#{id}
</select>
<update id="updateGambit" parameterType="com.mmc.csf.release.entity.gambit.ForumGambitDO">
update forum_gambit
<set>
<if test="gambitName!='' and gambitName!=null ">
gambit_name=#{gambitName},
</if>
<if test="gambitIcon!='' and gambitIcon !=null ">
gambit_icon=#{gambit_icon},
</if>
<if test="gambitCover!='' and gambitCover!=null ">
gambit_cover=#{gambitCover},
</if>
<if test="gambitProperty!=null ">
gambit_property=#{gambitProperty}
</if>
<if test="user_account_id!=null">
user_account_id=#{userAccountId},
</if>
create_time=NOW(),
update_time=NOW()
</set>
where id=#{id}
</update>
<delete id="appRemove" parameterType="java.lang.Integer">
delete from forum_dynamic where id =#{dynamicId}
</delete>
<delete id="RemoveDynamicGambit" parameterType="java.lang.Integer">
delete from forum_dynamic_gambit where dynamic_id=#{dynamicId}
</delete>
<delete id="deleteGambit" parameterType="java.lang.Integer">
delete from forum_gambit where id =#{id}
</delete>
<delete id="forumDynamicGambit" parameterType="java.lang.Integer">
delete from forum_dynamic_gambit where gambit_id=#{gambitId}
</delete>
<insert id="insertAttention">
insert into forum_attention(user_account_id,attention_user_account_id,status,create_time,update_time) values (#{userAccountId},#{attentionUserAccountId},#{status},NOW(),NOW())
</insert>
<delete id="removeAttention" >
delete from forum_attention where user_account_id=#{userAccountId} and attention_user_account_id=#{attentionUserAccountId}
</delete>
<insert id="insertTransPond">
insert into forum_transpond(dynamic_id,user_account_id,create_time,update_time) values (#{dynamicId},#{userAccountId},NOW(),NOW())
</insert>
<insert id="commentLikes">
insert into forum_comment_likes(dynamic_id,user_account_id,create_time,update_time) values (#{dynamicId},#{userAccountId},NOW(),NOW())
</insert>
<select id="listGambit" resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO"
parameterType="com.mmc.csf.release.gambit.qo.ForumGambitQO">
select gambit_name,gambit_icon,gambit_cover,gambit_property,post_count,
user_account_id,create_time,update_time from forum_gambit where 1=1 and check_status=1
<if test="gambitName!='' and gambitName!=null ">
and gambit_name like concat ('%',#{gambitName},'%')
</if>
<if test="gambitProperty!=null">
and gambit_property=#{gambitProperty}
</if>
order by gambit_property ,create_time desc
limit #{pageNo}, #{pageSize}
</select>
<select id="listGambitCount" parameterType="com.mmc.csf.release.gambit.qo.ForumGambitQO" resultType="java.lang.Integer">
select count(*) from forum_gambit where 1=1 and check_status=1
<if test="gambitName!='' and gambitName!=null ">
and gambit_name=#{gambitName}
</if>
<if test="gambitProperty!=null">
and gambit_property=#{gambitProperty}
</if>
order by create_time desc
</select>
<select id="recommendCount" parameterType="com.mmc.csf.release.entity.gambit.ForumGambitDO" resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO">
select gambit_name,gambit_icon,gambit_cover,gambit_property,
user_account_id,create_time,update_time from forum_gambit where gambit_property=#{gambitProperty}
</select>
<select id="recommendCountNO" parameterType="com.mmc.csf.release.entity.gambit.ForumGambitDO" resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO">
select gambit_name,gambit_icon,gambit_cover,gambit_property,
user_account_id,create_time,update_time from forum_gambit where gambit_property=#{gambitProperty} and id!=#{id}
</select>
<select id="selectGambitMessage" parameterType="com.mmc.csf.release.entity.gambit.ForumGambitDO"
resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO">
select id,gambit_name,gambit_icon,gambit_cover,gambit_property,
user_account_id,create_time,update_time from forum_gambit where gambit_name=#{gambitName}
</select>
<update id="updateDynamicGambit">
update forum_dynamic_gambit set check_status=#{checkStatus}
where dynamic_id=#{dynamicId}
</update>
<select id="selectGambitDynamic" resultType="com.mmc.csf.release.entity.forum.DynamicGambitDO">
SELECT
fdg.gambit_id,
fdg.user_account_id,
fg.check_status,
fdg.dynamic_id
FROM
forum_dynamic_gambit fdg
LEFT JOIN forum_gambit fg ON fdg.gambit_id = fg.id
WHERE
fdg.dynamic_id = #{dynamicId}
</select>
<update id="updateForumGambit" parameterType="com.mmc.csf.release.entity.forum.DynamicGambitDO">
update forum_gambit set check_status=#{checkStatus} where id=#{gambitId}
</update>
<delete id="deleteForumGambit" >
delete from forum_dynamic_gambit where dynamic_id=#{dynamicId}
</delete>
<delete id="dedateForumGambitTrue">
delete from forum_gambit where id =#{id}
</delete>
<select id="selectGambitList" resultType="com.mmc.csf.release.entity.forum.DynamicGambitDO" >
SELECT
id,
dynamic_id,
gambit_id,
user_account_id,
check_status
FROM
forum_dynamic_gambit
WHERE
id IN ( SELECT MIN( id ) FROM forum_dynamic_gambit GROUP BY gambit_id, user_account_id )
AND check_status =1
</select>
<select id="selectCountList" resultType="com.mmc.csf.release.entity.gambit.ForumGambitDO">
SELECT
id,
gambit_name,
gambit_icon,
discussion_count
FROM
forum_gambit where check_status=1
</select>
<update id="forumCountFansYes">
update forum_count
set fans_count=fans_count+1,
update_time=NOW()
where user_account_id=#{userAccountId}
</update>
<update id="forumCountAttentionYes">
update forum_count
set attention_count=attention_count+1,
update_time=NOW()
where user_account_id=#{userAccountId}
</update>
<update id="forumCountFansNO">
update forum_count
set fans_count=fans_count-1,
update_time=NOW()
where user_account_id=#{userAccountId}
</update>
<update id="forumCountAttentionNO">
update forum_count
set attention_count=attention_count-1,
update_time=NOW()
where user_account_id=#{userAccountId}
</update>
<update id="transPondCount">
update forum_dynamic
set transpond=transpond+1,
update_time=NOW()
where id=#{dynamicId}
</update>
<select id="allCommentListCount" resultType="java.lang.Integer">
SELECT
count(*)
FROM
forum_review
WHERE
dynamic_id =#{dynamicId}
AND pid =0
</select>
<select id="allCommentList" resultType="com.mmc.csf.release.entity.forum.ForumReviewDO">
SELECT
id,
user_account_id,
dynamic_id,
content,
review_id,
like_count,
create_time,
update_time,
pid
FROM
forum_review
WHERE
dynamic_id = #{dynamicId}
AND pid =0
ORDER BY
create_time DESC
limit #{pageNo}, #{pageSize}
</select>
<select id="replyListCount" resultType="java.lang.Integer">
SELECT
count(*)
FROM
forum_review
WHERE
dynamic_id = #{dynamicId}
AND review_id =#{id}
</select>
<select id="replyList" resultType="com.mmc.csf.release.entity.forum.ForumReviewDO">
SELECT
id,
user_account_id,
dynamic_id,
content,
review_id,
like_count,
create_time,
update_time,
pid
FROM
forum_review
WHERE
dynamic_id = #{dynamicId}
AND review_id =#{id}
ORDER BY
create_time DESC
limit #{pageNo}, #{pageSize}
</select>
<select id="selectAttention" resultType="com.mmc.csf.release.entity.gambit.ForumAttentionDO">
select id,user_account_id,create_time,update_time,attention_user_account_id,status,mutual_attention from forum_attention
where attention_user_account_id=#{userAccountId} and user_account_id=#{attentionUserAccountId}
</select>
<select id="selectAttentionMessage" resultType="com.mmc.csf.release.entity.gambit.ForumAttentionDO">
select id,user_account_id,create_time,update_time,attention_user_account_id,status,mutual_attention from forum_attention
where attention_user_account_id=#{attentionUserAccountId} and user_account_id=#{userAccountId}
</select>
<select id="updateAttention">
update forum_attention
set mutual_attention=#{status},
update_time=NOW()
where user_account_id=#{attentionUserAccountId} and attention_user_account_id=#{userAccountId}
</select>
<update id="updateAttentionExchange">
update forum_attention set user_account_id=#{attentionUserAccountId} ,
attention_user_account_id=#{userAccountId},
mutual_attention=false,
update_time=NOW()
where user_account_id=#{userAccountId} and attention_user_account_id=#{attentionUserAccountId}
</update>
<select id="appGambitList" resultMap="appGambitListMap">
SELECT DISTINCT
fd.id,
fd.description,
fd.user_account_id,
fd.create_time,
fd.likes_count,
fd.comments_count,
fd.transpond
FROM
forum_dynamic fd
INNER JOIN forum_dynamic_gambit fdg ON fd.id = fdg.dynamic_id
WHERE
fdg.gambit_id = #{gambitId}
AND fdg.check_status = 1
AND fd.check_status = 1
ORDER BY
fd.create_time DESC
limit #{pageNo}, #{pageSize}
</select>
<select id="appGambitListCount" resultType="java.lang.Integer">
SELECT count(*)
FROM
forum_dynamic fd
INNER JOIN forum_dynamic_gambit fdg ON fd.id = fdg.dynamic_id
WHERE
fdg.gambit_id = #{gambitId}
AND fdg.check_status = 1
AND fd.check_status = 1
</select>
<select id="userDynamicListCount" resultType="java.lang.Integer">
SELECT count(*)
FROM
forum_dynamic fd
WHERE
user_account_id = #{userAccountId}
AND fd.check_status =1
</select>
<select id="userDynamicList" resultMap="userDynamicListMap">
SELECT
id,
description,
likes_count,
create_time,
comments_count,
transpond
FROM
forum_dynamic fd
WHERE
user_account_id = #{userAccountId}
AND fd.check_status =1
ORDER BY
fd.create_time DESC
limit #{pageNo}, #{pageSize}
</select>
<select id="likedCount" resultType="java.lang.Integer">
SELECT
count(*)
FROM
forum_like fl
INNER JOIN forum_dynamic fd ON fl.dynamic_id = fd.id
WHERE
fl.user_account_id = #{userAccountId}
</select>
<select id="likedList" resultMap="likedListMap">
SELECT
fd.user_account_id,
fd.id,
fd.create_time,
fd.description,
fd.likes_count,
fd.comments_count,
fd.transpond
FROM
forum_like fl
INNER JOIN forum_dynamic fd ON fl.dynamic_id = fd.id
WHERE
fl.user_account_id = #{userAccountId}
ORDER BY
fd.create_time DESC
limit #{pageNo}, #{pageSize}
</select>
<select id="myInterestListCount" resultType="java.lang.Integer">
select count(*) from forum_attention where attention_user_account_id=#{userAccountId}
</select>
<select id="myInterestList" resultMap="myInterestListMap">
select attention_user_account_id,mutual_attention,id from forum_attention where attention_user_account_id=#{userAccountId}
</select>
<select id="myFansListCount" resultType="java.lang.Integer">
select count(*) from forum_attention where user_account_id=#{userAccountId}
</select>
<select id="myFansList" resultMap="myFansListMap">
select user_account_id,mutual_attention,id from forum_attention where attention_user_account_id=#{userAccountId}
</select>
</mapper>
......@@ -38,3 +38,4 @@ data-filter:
- /release/licence/background/appListOrgPage
- /release/licence/background/webListOrgPage
- /release/requirements/appPublishList
- /release/dynamic/recentNews
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论