Browse Source

add:私信

liujunchi 3 years ago
parent
commit
39186b2f2e
27 changed files with 870 additions and 85 deletions
  1. 0 11
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsArticleController.java
  2. 82 45
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsPrivateMessageController.java
  3. 144 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/HomeController.java
  4. 34 8
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsPrivateMessageDao.java
  5. 27 8
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsReplyDao.java
  6. 48 1
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsPrivateMessageDto.java
  7. 56 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/MessageReadDto.java
  8. 82 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/PrivateMessagePersonVo.java
  9. 11 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsCollectSearch.java
  10. 25 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsFollowSearch.java
  11. 12 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsLikeSearch.java
  12. 22 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsPrivateMessageSearch.java
  13. 11 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsReplySearch.java
  14. 20 2
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsPrivateMessage.java
  15. 2 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsCollectService.java
  16. 27 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsPrivateMessageService.java
  17. 18 0
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsReplyService.java
  18. 19 1
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsPrivateMessageServiceImpl.java
  19. 11 1
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsReplyServiceImpl.java
  20. 37 1
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsCollectVo.java
  21. 24 1
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsFollowVo.java
  22. 17 5
      cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsReplyVo.java
  23. 11 1
      cooleshow-bbs/src/main/resources/config/mybatis/BbsCollectMapper.xml
  24. 24 0
      cooleshow-bbs/src/main/resources/config/mybatis/BbsFollowMapper.xml
  25. 7 0
      cooleshow-bbs/src/main/resources/config/mybatis/BbsLikeMapper.xml
  26. 49 0
      cooleshow-bbs/src/main/resources/config/mybatis/BbsPrivateMessageMapper.xml
  27. 50 0
      cooleshow-bbs/src/main/resources/config/mybatis/BbsReplyMapper.xml

+ 0 - 11
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsArticleController.java

@@ -96,15 +96,4 @@ public class BbsArticleController extends BaseController {
     }
 
 
-	/**
-	 * 首页
-	 */
-	@PostMapping("/home")
-	@ApiOperation(value = "首页", notes = "传入bbsArticleSearch")
-	public HttpResponseResult<PageInfo<BbsArticleVo>> home(@RequestBody BbsArticleSearch query) {
-		query.setDelFlag(false);
-		query.setStatus(ArticleEnum.PASS);
-		IPage<BbsArticleVo> pages = bbsArticleService.selectPage(PageUtil.getPage(query), query);
-		return succeed(PageUtil.pageInfo(pages));
-	}
 }

+ 82 - 45
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/BbsPrivateMessageController.java

@@ -1,6 +1,13 @@
 package com.yonge.cooleshow.bbs.controller;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.bbs.dto.BbsPrivateMessageDto;
+import com.yonge.cooleshow.bbs.dto.MessageReadDto;
+import com.yonge.cooleshow.bbs.dto.PrivateMessagePersonVo;
+import com.yonge.cooleshow.bbs.enums.YesOrNoEnum;
+import com.yonge.toolset.base.exception.BizException;
 import com.yonge.toolset.base.page.PageInfo;
 import com.yonge.cooleshow.common.controller.BaseController;
 import com.yonge.cooleshow.common.entity.HttpResponseResult;
@@ -19,6 +26,10 @@ import com.yonge.cooleshow.bbs.dto.search.BbsPrivateMessageSearch;
 import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
 import com.yonge.cooleshow.bbs.service.BbsPrivateMessageService;
 
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
 @RestController
 @RequestMapping("/bbsPrivateMessage")
 @Api(value = "私信", tags = "私信")
@@ -27,58 +38,84 @@ public class BbsPrivateMessageController extends BaseController {
     @Autowired
     private BbsPrivateMessageService bbsPrivateMessageService;
 
-	/**
-     * 查询单条
-     */
-    @GetMapping("/detail/{id}")
-    @ApiOperation(value = "详情", notes = "传入id")
-    public HttpResponseResult<BbsPrivateMessageVo> detail(@PathVariable("id") Long id) {
-    	return succeed(bbsPrivateMessageService.detail(id));
-	}
+	@Autowired
+	private SysUserFeignService sysUserFeignService;
     
-    /**
-     * 查询分页
-     */
-    @PostMapping("/page")
-    @ApiOperation(value = "查询分页", notes = "传入bbsPrivateMessageSearch")
-    public HttpResponseResult<PageInfo<BbsPrivateMessageVo>> page(@RequestBody BbsPrivateMessageSearch query) {
-		IPage<BbsPrivateMessageVo> pages = bbsPrivateMessageService.selectPage(PageUtil.getPage(query), query);
+
+    @PostMapping("/page/person")
+    @ApiOperation(value = "私信人员列表", notes = "传入bbsPrivateMessageSearch")
+    public HttpResponseResult<PageInfo<PrivateMessagePersonVo>> pagePerson(@RequestBody BbsPrivateMessageSearch query) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (user == null || user.getId() == null) {
+			throw  new BizException("请重新登录");
+		}
+		query.setUserId(user.getId());
+		IPage<PrivateMessagePersonVo> pages = bbsPrivateMessageService.selectPersonPage(PageUtil.getPage(query), query);
         return succeed(PageUtil.pageInfo(pages));
 	}
-    
-    /**
-	 * 新增
-	 */
+
+	@PostMapping("/page/message")
+	@ApiOperation(value = "私信人员消息列表", notes = "传入bbsPrivateMessageSearch")
+	public HttpResponseResult<PageInfo<BbsPrivateMessageDto>> pageMessage(@RequestBody BbsPrivateMessageSearch query) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (user == null || user.getId() == null) {
+			throw  new BizException("请重新登录");
+		}
+		SysUser receiverUser = sysUserFeignService.queryUserById(query.getReceiverUserId());
+		if (receiverUser == null || user.getId() == null) {
+			throw  new BizException("私信接收方用户不存在");
+		}
+		query.setUserId(user.getId());
+		IPage<BbsPrivateMessageDto> pages = bbsPrivateMessageService.selectMessagePage(PageUtil.getPage(query), query);
+		List<BbsPrivateMessageDto> collect = pages.getRecords().stream().peek(bbsPrivateMessageDto -> {
+			bbsPrivateMessageDto.setReceiverAvatar(receiverUser.getAvatar());
+			bbsPrivateMessageDto.setReceiverName(receiverUser.getUsername());
+			bbsPrivateMessageDto.setUserName(user.getUsername());
+			bbsPrivateMessageDto.setUserAvatar(user.getAvatar());
+
+		}).collect(Collectors.toList());
+		pages.setRecords(collect);
+		return succeed(PageUtil.pageInfo(pages));
+	}
+
+
 	@PostMapping("/save")
-	@ApiOperation(value = "新增", notes = "传入bbsPrivateMessage")
+	@ApiOperation(value = "发送私信", notes = "传入bbsPrivateMessage")
 	public HttpResponseResult save(@Valid @RequestBody BbsPrivateMessage bbsPrivateMessage) {
-    	return status(bbsPrivateMessageService.save(bbsPrivateMessage));
+
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (user == null || user.getId() == null) {
+			throw  new BizException("请重新登录");
+		}
+
+		SysUser receiverUser = sysUserFeignService.queryUserById(bbsPrivateMessage.getReceiverUserId());
+		if (receiverUser == null || user.getId() == null) {
+			throw  new BizException("私信接收方用户不存在");
+		}
+		bbsPrivateMessage.setSendUserId(user.getId());
+		bbsPrivateMessage.setCreatedTime(new Date());
+		bbsPrivateMessage.setReadFlag(YesOrNoEnum.NO);
+		bbsPrivateMessageService.save(bbsPrivateMessage);
+    	return succeed(bbsPrivateMessage);
 	}
-    
-    /**
-	 * 修改
-	 */
-	@PostMapping("/update")
-	@ApiOperation(value = "修改", notes = "传入bbsPrivateMessage")
-	public HttpResponseResult update(@Valid @RequestBody BbsPrivateMessage bbsPrivateMessage) {
-        return status(bbsPrivateMessageService.updateById(bbsPrivateMessage));
+
+
+	@PostMapping("/read")
+	@ApiOperation(value = "设置已读", notes = "传入bbsPrivateMessage")
+	public HttpResponseResult read(@RequestBody @Valid MessageReadDto readDto) {
+		SysUser user = sysUserFeignService.queryUserInfo();
+		if (user == null || user.getId() == null) {
+			throw  new BizException("请重新登录");
+		}
+		readDto.setUserId(user.getId());
+		return status(bbsPrivateMessageService.read(readDto));
 	}
-    
-    /**
-	 * 新增或修改
-	 */
-    @PostMapping("/submit")
-    @ApiOperation(value = "新增或修改", notes = "传入bbsPrivateMessage")
-	public HttpResponseResult submit(@Valid @RequestBody BbsPrivateMessage bbsPrivateMessage) {
-        return status(bbsPrivateMessageService.saveOrUpdate(bbsPrivateMessage));
-    }
-
- 	/**
-	 * 删除
-	 */
-	@PostMapping("/remove")
-	@ApiOperation(value = "逻辑删除", notes = "传入ids")
-	public HttpResponseResult remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
+
+
+
+	@PostMapping("/remove/{ids}")
+	@ApiOperation(value = "测回消息", notes = "传入ids")
+	public HttpResponseResult remove(@PathVariable String ids) {
         if (StringUtil.isEmpty(ids)) {
 			return failed("参数不能为空");
 		}

+ 144 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/controller/HomeController.java

@@ -0,0 +1,144 @@
+package com.yonge.cooleshow.bbs.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.auth.api.client.SysUserFeignService;
+import com.yonge.cooleshow.auth.api.entity.SysUser;
+import com.yonge.cooleshow.bbs.dto.search.*;
+import com.yonge.cooleshow.bbs.entity.BbsArticle;
+import com.yonge.cooleshow.bbs.enums.ArticleEnum;
+import com.yonge.cooleshow.bbs.service.*;
+import com.yonge.cooleshow.bbs.valid.AddGroup;
+import com.yonge.cooleshow.bbs.vo.*;
+import com.yonge.cooleshow.common.controller.BaseController;
+import com.yonge.cooleshow.common.entity.HttpResponseResult;
+import com.yonge.toolset.base.exception.BizException;
+import com.yonge.toolset.base.page.PageInfo;
+import com.yonge.toolset.mybatis.support.PageUtil;
+import com.yonge.toolset.utils.string.StringUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+
+@RestController
+@RequestMapping("/home")
+@Api(value = "个人中心", tags = "个人中心")
+public class HomeController extends BaseController {
+    @Autowired
+    private SysUserFeignService sysUserFeignService;
+    @Autowired
+    private BbsArticleService bbsArticleService;
+
+    @Autowired
+    private BbsReplyService replyService;
+
+    @Autowired
+    private BbsCollectService collectService;
+
+    @Autowired
+    private BbsLikeService likeService;
+
+    @Autowired
+    private BbsFollowService followService;
+
+	@PostMapping("")
+	@ApiOperation(value = "首页", notes = "传入bbsArticleSearch")
+	public HttpResponseResult<PageInfo<BbsArticleVo>> home(@RequestBody BbsArticleSearch query) {
+		query.setDelFlag(false);
+		query.setStatus(ArticleEnum.PASS);
+		IPage<BbsArticleVo> pages = bbsArticleService.selectPage(PageUtil.getPage(query), query);
+		return succeed(PageUtil.pageInfo(pages));
+	}
+
+
+    @PostMapping("/article")
+    @ApiOperation(value = "文章列表")
+    public HttpResponseResult<PageInfo<BbsArticleVo>> articleList(@RequestBody BbsArticleSearch query) {
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || user.getId() == null) {
+            throw  new BizException("请重新登录");
+        }
+        query.setUserId(user.getId());
+
+        IPage<BbsArticleVo> pages = bbsArticleService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+    }
+
+
+    @PostMapping("/comment")
+    @ApiOperation(value = "评论列表")
+    public HttpResponseResult<PageInfo<BbsReplyVo>> commentList(@RequestBody BbsReplySearch query) {
+
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || user.getId() == null) {
+            throw  new BizException("请重新登录");
+        }
+        query.setUserId(user.getId());
+
+        IPage<BbsReplyVo> pages = replyService.selectCommentPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+    }
+
+
+    @PostMapping("/reply")
+    @ApiOperation(value = "回复列表")
+    public HttpResponseResult<PageInfo<BbsReplyVo>> replyList(@RequestBody BbsReplySearch query) {
+
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || user.getId() == null) {
+            throw  new BizException("请重新登录");
+        }
+        query.setUserId(user.getId());
+
+        IPage<BbsReplyVo> pages = replyService.selectReplyPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+    }
+
+
+    @PostMapping("/collect")
+    @ApiOperation(value = "收藏夹列表")
+    public HttpResponseResult<PageInfo<BbsCollectVo>> collectList(@RequestBody BbsCollectSearch query) {
+
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || user.getId() == null) {
+            throw  new BizException("请重新登录");
+        }
+        query.setUserId(user.getId());
+        IPage<BbsCollectVo> pages = collectService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+    }
+
+
+    @PostMapping("/like")
+    @ApiOperation(value = "点赞列表")
+    public HttpResponseResult<PageInfo<BbsLikeVo>> likeList(@RequestBody BbsLikeSearch query) {
+
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || user.getId() == null) {
+            throw  new BizException("请重新登录");
+        }
+        query.setUserId(user.getId());
+
+        IPage<BbsLikeVo> pages = likeService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+    }
+
+    @PostMapping("/follow")
+    @ApiOperation(value = "关注/粉丝列表")
+    public HttpResponseResult<PageInfo<BbsFollowVo>> followList(@RequestBody @Valid BbsFollowSearch query) {
+
+        SysUser user = sysUserFeignService.queryUserInfo();
+        if (user == null || user.getId() == null) {
+            throw  new BizException("请重新登录");
+        }
+        query.setUserId(user.getId());
+
+        IPage<BbsFollowVo> pages = followService.selectPage(PageUtil.getPage(query), query);
+        return succeed(PageUtil.pageInfo(pages));
+    }
+}

+ 34 - 8
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsPrivateMessageDao.java

@@ -4,27 +4,53 @@ import java.util.List;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.yonge.cooleshow.bbs.dto.BbsPrivateMessageDto;
+import com.yonge.cooleshow.bbs.dto.MessageReadDto;
+import com.yonge.cooleshow.bbs.dto.PrivateMessagePersonVo;
 import org.apache.ibatis.annotations.Param;
 import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
 import com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo;
 import com.yonge.cooleshow.bbs.dto.search.BbsPrivateMessageSearch;
 
 
-public interface BbsPrivateMessageDao extends BaseMapper<BbsPrivateMessage>{
+public interface BbsPrivateMessageDao extends BaseMapper<BbsPrivateMessage> {
 	/**
 	 * 查询详情
-     * @author liweifan
-     * @date 2022-06-09 17:27:11
-     * @return: com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo
+	 *
+	 * @author liweifan
+	 * @date 2022-06-09 17:27:11
+	 * @return: com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo
 	 */
 	BbsPrivateMessageVo detail(@Param("id") Long id);
 
 	/**
 	 * 分页查询
-     * @author liweifan
-     * @date 2022-06-09 17:27:11
-     * @return: com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo
+	 *
+	 * @author liweifan
+	 * @date 2022-06-09 17:27:11
+	 * @return: com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo
 	 */
 	List<BbsPrivateMessageVo> selectPage(@Param("page") IPage page, @Param("param") BbsPrivateMessageSearch bbsPrivateMessage);
-	
+
+	/**
+	 * 私信人员列表
+	 *
+	 * @param page  分页
+	 * @param query 查询条件
+	 * @return
+	 */
+	List<PrivateMessagePersonVo> selectPersonPage(@Param("page") IPage<PrivateMessagePersonVo> page, @Param("query") BbsPrivateMessageSearch query);
+
+	/**
+	 * 设置已读
+	 *
+	 * @param readDto
+	 * @return
+	 */
+	boolean read(@Param("readDto") MessageReadDto readDto);
+
+	/**
+	 * 私信人员消息列表
+	 */
+	List<BbsPrivateMessageDto> selectMessagePage(@Param("page") IPage<BbsPrivateMessageDto> page, @Param("query") BbsPrivateMessageSearch query);
 }

+ 27 - 8
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dao/BbsReplyDao.java

@@ -10,21 +10,40 @@ import com.yonge.cooleshow.bbs.vo.BbsReplyVo;
 import com.yonge.cooleshow.bbs.dto.search.BbsReplySearch;
 
 
-public interface BbsReplyDao extends BaseMapper<BbsReply>{
+public interface BbsReplyDao extends BaseMapper<BbsReply> {
 	/**
 	 * 查询详情
-     * @author liweifan
-     * @date 2022-06-09 17:27:11
-     * @return: com.yonge.cooleshow.bbs.vo.BbsReplyVo
+	 *
+	 * @author liweifan
+	 * @date 2022-06-09 17:27:11
+	 * @return: com.yonge.cooleshow.bbs.vo.BbsReplyVo
 	 */
 	BbsReplyVo detail(@Param("id") Long id);
 
 	/**
 	 * 分页查询
-     * @author liweifan
-     * @date 2022-06-09 17:27:11
-     * @return: com.yonge.cooleshow.bbs.vo.BbsReplyVo
+	 *
+	 * @author liweifan
+	 * @date 2022-06-09 17:27:11
+	 * @return: com.yonge.cooleshow.bbs.vo.BbsReplyVo
 	 */
 	List<BbsReplyVo> selectPage(@Param("page") IPage page, @Param("param") BbsReplySearch bbsReply);
-	
+
+	/**
+	 * 我的评论列表
+	 *
+	 * @param page  分页
+	 * @param query
+	 * @return
+	 */
+	List<BbsReplyVo> selectCommentPage(@Param("page") IPage<BbsReplyVo> page, @Param("query") BbsReplySearch query);
+
+	/**
+	 * 我的回复列表
+	 *
+	 * @param page  分页
+	 * @param query
+	 * @return
+	 */
+	List<BbsReplyVo> selectReplyPage(@Param("page") IPage<BbsReplyVo> page, @Param("query") BbsReplySearch query);
 }

+ 48 - 1
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/BbsPrivateMessageDto.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.bbs.dto;
 
 import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.beanutils.BeanUtils;
 
 /**
@@ -11,7 +12,53 @@ import org.apache.commons.beanutils.BeanUtils;
 @ApiModel(value = "BbsPrivateMessageDto对象", description = "私信数据传输对象")
 public class BbsPrivateMessageDto extends BbsPrivateMessage{
 	private static final long serialVersionUID = 1L;
-    
+
+    @ApiModelProperty("私信对象名")
+    private String receiverName;
+
+    @ApiModelProperty("私信对象头像")
+    private String receiverAvatar;
+
+
+    @ApiModelProperty("用户名")
+    private String userName;
+
+    @ApiModelProperty("头像")
+    private String userAvatar;
+
+
+    public String getReceiverName() {
+        return receiverName;
+    }
+
+    public void setReceiverName(String receiverName) {
+        this.receiverName = receiverName;
+    }
+
+    public String getReceiverAvatar() {
+        return receiverAvatar;
+    }
+
+    public void setReceiverAvatar(String receiverAvatar) {
+        this.receiverAvatar = receiverAvatar;
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getUserAvatar() {
+        return userAvatar;
+    }
+
+    public void setUserAvatar(String userAvatar) {
+        this.userAvatar = userAvatar;
+    }
+
     public BbsPrivateMessageDto buildDto(BbsPrivateMessage bbsPrivateMessage){
         try {
             BeanUtils.copyProperties(this,bbsPrivateMessage);

+ 56 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/MessageReadDto.java

@@ -0,0 +1,56 @@
+package com.yonge.cooleshow.bbs.dto;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import org.springframework.format.annotation.DateTimeFormat;
+
+import javax.validation.constraints.NotNull;
+import java.util.Date;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-06-11
+ */
+@ApiModel("已读数据")
+public class MessageReadDto {
+
+    @ApiModelProperty(value = "当前用户id",hidden = true)
+    private Long userId;
+
+    @ApiModelProperty(value = "私信对象id",required = true)
+    @NotNull(message = "私信对象id不能为空")
+    private Long sendUserId;
+
+    @ApiModelProperty(value = "阅读时间",required = true)
+    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
+    @NotNull(message = "阅读时间不能为空")
+    private Date readTime;
+
+    public Long getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Long userId) {
+        this.userId = userId;
+    }
+
+    public Long getSendUserId() {
+        return sendUserId;
+    }
+
+    public void setSendUserId(Long sendUserId) {
+        this.sendUserId = sendUserId;
+    }
+
+    public Date getReadTime() {
+        return readTime;
+    }
+
+    public void setReadTime(Date readTime) {
+        this.readTime = readTime;
+    }
+}

+ 82 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/PrivateMessagePersonVo.java

@@ -0,0 +1,82 @@
+package com.yonge.cooleshow.bbs.dto;
+
+import com.yonge.cooleshow.bbs.enums.YesOrNoEnum;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+/**
+ * Description
+ *
+ * @author liujunchi
+ * @date 2022-06-11
+ */
+@ApiModel("私信人员列表")
+public class PrivateMessagePersonVo {
+
+    @ApiModelProperty("私信对象userid")
+    private Long messageUserId;
+
+    @ApiModelProperty("用户名")
+    private String username;
+
+    @ApiModelProperty("头像")
+    private String avatar;
+
+    @ApiModelProperty(value = "0:未读 1:已读")
+    private YesOrNoEnum readFlag;
+
+    @ApiModelProperty("最后一条消息发送时间")
+    private String messageTime;
+
+    @ApiModelProperty("最后一条消息内容")
+    private String messageContent;
+
+
+    public Long getMessageUserId() {
+        return messageUserId;
+    }
+
+    public void setMessageUserId(Long messageUserId) {
+        this.messageUserId = messageUserId;
+    }
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar;
+    }
+
+    public String getMessageTime() {
+        return messageTime;
+    }
+
+    public void setMessageTime(String messageTime) {
+        this.messageTime = messageTime;
+    }
+
+    public String getMessageContent() {
+        return messageContent;
+    }
+
+    public void setMessageContent(String messageContent) {
+        this.messageContent = messageContent;
+    }
+
+    public YesOrNoEnum getReadFlag() {
+        return readFlag;
+    }
+
+    public void setReadFlag(YesOrNoEnum readFlag) {
+        this.readFlag = readFlag;
+    }
+}

+ 11 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsCollectSearch.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.bbs.dto.search;
 
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 /**
  * @Author: liweifan
@@ -11,4 +12,14 @@ import io.swagger.annotations.ApiModel;
 public class BbsCollectSearch extends QueryInfo{
 	private static final long serialVersionUID = 1L;
 
+	@ApiModelProperty("登录人id")
+	private Long userId;
+
+	public Long getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Long userId) {
+		this.userId = userId;
+	}
 }

+ 25 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsFollowSearch.java

@@ -2,6 +2,9 @@ package com.yonge.cooleshow.bbs.dto.search;
 
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import javax.validation.constraints.NotBlank;
 
 /**
  * @Author: liweifan
@@ -11,4 +14,26 @@ import io.swagger.annotations.ApiModel;
 public class BbsFollowSearch extends QueryInfo{
 	private static final long serialVersionUID = 1L;
 
+	@ApiModelProperty("登录人id")
+	private Long userId;
+
+	@ApiModelProperty(value = "FOLLOW:关注,FANS:粉丝",required = true)
+	@NotBlank(message = "类型不能为空")
+	private String type;
+
+	public Long getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Long userId) {
+		this.userId = userId;
+	}
+
+	public String getType() {
+		return type;
+	}
+
+	public void setType(String type) {
+		this.type = type;
+	}
 }

+ 12 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsLikeSearch.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.bbs.dto.search;
 
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 /**
  * @Author: liweifan
@@ -11,4 +12,15 @@ import io.swagger.annotations.ApiModel;
 public class BbsLikeSearch extends QueryInfo{
 	private static final long serialVersionUID = 1L;
 
+	@ApiModelProperty("登录人id")
+	private Long userId;
+
+
+	public Long getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Long userId) {
+		this.userId = userId;
+	}
 }

+ 22 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsPrivateMessageSearch.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.bbs.dto.search;
 
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 /**
  * @Author: liweifan
@@ -11,4 +12,25 @@ import io.swagger.annotations.ApiModel;
 public class BbsPrivateMessageSearch extends QueryInfo{
 	private static final long serialVersionUID = 1L;
 
+	@ApiModelProperty(value = "当前用户id",hidden = true)
+	private Long userId;
+
+	@ApiModelProperty("私信对象userid")
+	private Long receiverUserId;
+
+	public Long getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Long userId) {
+		this.userId = userId;
+	}
+
+	public Long getReceiverUserId() {
+		return receiverUserId;
+	}
+
+	public void setReceiverUserId(Long receiverUserId) {
+		this.receiverUserId = receiverUserId;
+	}
 }

+ 11 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/dto/search/BbsReplySearch.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.bbs.dto.search;
 
 import com.yonge.toolset.base.page.QueryInfo;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 /**
  * @Author: liweifan
@@ -11,4 +12,14 @@ import io.swagger.annotations.ApiModel;
 public class BbsReplySearch extends QueryInfo{
 	private static final long serialVersionUID = 1L;
 
+	@ApiModelProperty(value = "论坛登录用户id",hidden = true)
+	private Long userId;
+
+	public Long getUserId() {
+		return userId;
+	}
+
+	public void setUserId(Long userId) {
+		this.userId = userId;
+	}
 }

+ 20 - 2
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/entity/BbsPrivateMessage.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.yonge.cooleshow.bbs.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -13,6 +14,9 @@ import java.util.Date;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import org.springframework.format.annotation.DateTimeFormat;
 
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
 /**
  * 私信
  */
@@ -28,14 +32,20 @@ public class BbsPrivateMessage implements Serializable {
     @TableField(value = "send_user_id_")
     private Long sendUserId;
 
-    @ApiModelProperty("接受方用户id")
+    @ApiModelProperty(value = "接受方用户id",required = true)
+    @NotNull(message = "私信接收方id不能为空")
     @TableField(value = "receiver_user_id_")
     private Long receiverUserId;
 
-    @ApiModelProperty("发送消息内容")
+    @ApiModelProperty(value = "发送消息内容",required = true)
+    @NotBlank(message = "私信信息不能为空")
     @TableField(value = "message_content_")
     private String messageContent;
 
+    @ApiModelProperty(value = "0:未读 1:已读")
+    @TableField(value = "read_flag_")
+    private YesOrNoEnum readFlag;
+
     @ApiModelProperty("发送时间")
     @TableField(value = "created_time_")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@@ -81,4 +91,12 @@ public class BbsPrivateMessage implements Serializable {
     public void setCreatedTime(Date createdTime) {
         this.createdTime = createdTime;
     }
+
+    public YesOrNoEnum getReadFlag() {
+        return readFlag;
+    }
+
+    public void setReadFlag(YesOrNoEnum readFlag) {
+        this.readFlag = readFlag;
+    }
 }

+ 2 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsCollectService.java

@@ -2,9 +2,11 @@ package com.yonge.cooleshow.bbs.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.bbs.dto.search.BbsReplySearch;
 import com.yonge.cooleshow.bbs.vo.BbsCollectVo;
 import com.yonge.cooleshow.bbs.dto.search.BbsCollectSearch;
 import com.yonge.cooleshow.bbs.entity.BbsCollect;
+import com.yonge.cooleshow.bbs.vo.BbsReplyVo;
 
 /**
  * 收藏 服务类

+ 27 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsPrivateMessageService.java

@@ -2,6 +2,9 @@ package com.yonge.cooleshow.bbs.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.yonge.cooleshow.bbs.dto.BbsPrivateMessageDto;
+import com.yonge.cooleshow.bbs.dto.MessageReadDto;
+import com.yonge.cooleshow.bbs.dto.PrivateMessagePersonVo;
 import com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo;
 import com.yonge.cooleshow.bbs.dto.search.BbsPrivateMessageSearch;
 import com.yonge.cooleshow.bbs.entity.BbsPrivateMessage;
@@ -26,4 +29,28 @@ public interface BbsPrivateMessageService extends IService<BbsPrivateMessage>  {
  	 * @date 2022-06-09
      */
     IPage<BbsPrivateMessageVo> selectPage(IPage<BbsPrivateMessageVo> page, BbsPrivateMessageSearch query);
+
+	/**
+	 * 私信人员列表
+	 *
+	 * @param page 分页
+	 * @param query 条件
+	 * @return
+	 */
+    IPage<PrivateMessagePersonVo> selectPersonPage(IPage<PrivateMessagePersonVo> page, BbsPrivateMessageSearch query);
+
+	/**
+	 * 设置已读
+	 *
+	 * @param readDto 已读信息
+	 * @return
+	 */
+	boolean read(MessageReadDto readDto);
+
+	/**
+	 * 私信人员消息列表
+	 *
+	 * @return
+	 */
+	IPage<BbsPrivateMessageDto> selectMessagePage(IPage<BbsPrivateMessageDto> page, BbsPrivateMessageSearch query);
 }

+ 18 - 0
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/BbsReplyService.java

@@ -26,4 +26,22 @@ public interface BbsReplyService extends IService<BbsReply>  {
  	 * @date 2022-06-09
      */
     IPage<BbsReplyVo> selectPage(IPage<BbsReplyVo> page, BbsReplySearch query);
+
+	/**
+	 * 我的评论列表
+	 *
+	 * @param page 分页
+	 * @param query
+	 * @return
+	 */
+	IPage<BbsReplyVo> selectCommentPage(IPage<BbsReplyVo> page, BbsReplySearch query);
+
+	/**
+	 * 我的回复列表
+	 *
+	 * @param page 分页
+	 * @param query
+	 * @return
+	 */
+	IPage<BbsReplyVo> selectReplyPage(IPage<BbsReplyVo> page, BbsReplySearch query);
 }

+ 19 - 1
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsPrivateMessageServiceImpl.java

@@ -2,6 +2,9 @@ package com.yonge.cooleshow.bbs.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.yonge.cooleshow.bbs.dto.BbsPrivateMessageDto;
+import com.yonge.cooleshow.bbs.dto.MessageReadDto;
+import com.yonge.cooleshow.bbs.dto.PrivateMessagePersonVo;
 import org.springframework.stereotype.Service;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -25,5 +28,20 @@ public class BbsPrivateMessageServiceImpl extends ServiceImpl<BbsPrivateMessageD
     public IPage<BbsPrivateMessageVo> selectPage(IPage<BbsPrivateMessageVo> page, BbsPrivateMessageSearch query){
         return page.setRecords(baseMapper.selectPage(page, query));
     }
-	
+
+    @Override
+    public IPage<PrivateMessagePersonVo> selectPersonPage(IPage<PrivateMessagePersonVo> page, BbsPrivateMessageSearch query) {
+        return page.setRecords(baseMapper.selectPersonPage(page, query));
+    }
+
+    @Override
+    public boolean read(MessageReadDto readDto) {
+        return baseMapper.read(readDto) ;
+    }
+
+    @Override
+    public IPage<BbsPrivateMessageDto> selectMessagePage(IPage<BbsPrivateMessageDto> page, BbsPrivateMessageSearch query) {
+        return page.setRecords(baseMapper.selectMessagePage(page, query));
+    }
+
 }

+ 11 - 1
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/service/impl/BbsReplyServiceImpl.java

@@ -25,5 +25,15 @@ public class BbsReplyServiceImpl extends ServiceImpl<BbsReplyDao, BbsReply> impl
     public IPage<BbsReplyVo> selectPage(IPage<BbsReplyVo> page, BbsReplySearch query){
         return page.setRecords(baseMapper.selectPage(page, query));
     }
-	
+
+    @Override
+    public IPage<BbsReplyVo> selectCommentPage(IPage<BbsReplyVo> page, BbsReplySearch query) {
+        return page.setRecords(baseMapper.selectCommentPage(page, query));
+    }
+
+    @Override
+    public IPage<BbsReplyVo> selectReplyPage(IPage<BbsReplyVo> page, BbsReplySearch query) {
+        return page.setRecords(baseMapper.selectReplyPage(page, query));
+    }
+
 }

+ 37 - 1
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsCollectVo.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.bbs.vo;
 
 import com.yonge.cooleshow.bbs.entity.BbsCollect;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.beanutils.BeanUtils;
 
 /**
@@ -11,7 +12,42 @@ import org.apache.commons.beanutils.BeanUtils;
 @ApiModel(value = "BbsCollectVo对象", description = "收藏查询视图对象")
 public class BbsCollectVo extends BbsCollect{
 	private static final long serialVersionUID = 1L;
-    
+
+    @ApiModelProperty("标签id")
+    private Long labelId;
+
+    @ApiModelProperty("文章标题")
+    private String title;
+
+    @ApiModelProperty("标签名")
+    private String labelName;
+
+
+
+    public Long getLabelId() {
+        return labelId;
+    }
+
+    public void setLabelId(Long labelId) {
+        this.labelId = labelId;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public String getLabelName() {
+        return labelName;
+    }
+
+    public void setLabelName(String labelName) {
+        this.labelName = labelName;
+    }
+
     public BbsCollectVo buildVo(BbsCollect bbsCollect){
         try {
             BeanUtils.copyProperties(this,bbsCollect);

+ 24 - 1
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsFollowVo.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.bbs.vo;
 
 import com.yonge.cooleshow.bbs.entity.BbsFollow;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.beanutils.BeanUtils;
 
 /**
@@ -11,7 +12,29 @@ import org.apache.commons.beanutils.BeanUtils;
 @ApiModel(value = "BbsFollowVo对象", description = "关注查询视图对象")
 public class BbsFollowVo extends BbsFollow{
 	private static final long serialVersionUID = 1L;
-    
+
+    @ApiModelProperty("用户名")
+    private String username;
+
+    @ApiModelProperty("头像")
+    private String avatar;
+
+    public String getUsername() {
+        return username;
+    }
+
+    public void setUsername(String username) {
+        this.username = username;
+    }
+
+    public String getAvatar() {
+        return avatar;
+    }
+
+    public void setAvatar(String avatar) {
+        this.avatar = avatar;
+    }
+
     public BbsFollowVo buildVo(BbsFollow bbsFollow){
         try {
             BeanUtils.copyProperties(this,bbsFollow);

+ 17 - 5
cooleshow-bbs/src/main/java/com/yonge/cooleshow/bbs/vo/BbsReplyVo.java

@@ -2,6 +2,7 @@ package com.yonge.cooleshow.bbs.vo;
 
 import com.yonge.cooleshow.bbs.entity.BbsReply;
 import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.beanutils.BeanUtils;
 
 /**
@@ -9,16 +10,27 @@ import org.apache.commons.beanutils.BeanUtils;
  * @Data: 2022-06-09 17:27:11
  */
 @ApiModel(value = "BbsReplyVo对象", description = "文章评论查询视图对象")
-public class BbsReplyVo extends BbsReply{
-	private static final long serialVersionUID = 1L;
-    
-    public BbsReplyVo buildVo(BbsReply bbsReply){
+public class BbsReplyVo extends BbsReply {
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("话题标题")
+    private String articleTitle;
+
+
+    public BbsReplyVo buildVo(BbsReply bbsReply) {
         try {
-            BeanUtils.copyProperties(this,bbsReply);
+            BeanUtils.copyProperties(this, bbsReply);
         } catch (Exception e) {
             e.printStackTrace();
         }
         return this;
     }
 
+    public String getArticleTitle() {
+        return articleTitle;
+    }
+
+    public void setArticleTitle(String articleTitle) {
+        this.articleTitle = articleTitle;
+    }
 }

+ 11 - 1
cooleshow-bbs/src/main/resources/config/mybatis/BbsCollectMapper.xml

@@ -26,6 +26,16 @@
     <select id="selectPage" resultType="com.yonge.cooleshow.bbs.vo.BbsCollectVo">
 		SELECT         
         	<include refid="baseColumns" />
+        ,ba.title_ as title
+        ,ba.label_name_ as labelName
+        ,ba.label_id_ as labelId
 		FROM bbs_collect t
-	</select>
+        left join bbs_article ba on t.article_id_ = ba.id_
+        <where>
+            <if test="param.userId != null">
+                and #{param.userId,jdbcType=BIGINT} = t.collect_user_id_
+            </if>
+        </where>
+        order by t.created_time_ desc
+    </select>
 </mapper>

+ 24 - 0
cooleshow-bbs/src/main/resources/config/mybatis/BbsFollowMapper.xml

@@ -26,6 +26,30 @@
     <select id="selectPage" resultType="com.yonge.cooleshow.bbs.vo.BbsFollowVo">
 		SELECT         
         	<include refid="baseColumns" />
+        ,su.username_ as username
+        ,su.avatar_ as avatar
 		FROM bbs_follow t
+        left join sys_user su on
+        <choose>
+            <when test="param.type == 'FANS'">
+                t.user_id_ = su.id_
+            </when>
+            <when test="param.type == 'FOLLOW'">
+                t.friend_user_id = su.id_
+            </when>
+        </choose>
+
+        <where>
+            <if test="param.userId != null">
+                <choose>
+                    <when test="param.type == 'FANS'">
+                        t.friend_user_id = #{param.userId}
+                    </when>
+                    <when test="param.type == 'FOLLOW'">
+                        and t.user_id_ = #{param.userId}
+                    </when>
+                </choose>
+            </if>
+        </where>
 	</select>
 </mapper>

+ 7 - 0
cooleshow-bbs/src/main/resources/config/mybatis/BbsLikeMapper.xml

@@ -27,5 +27,12 @@
 		SELECT         
         	<include refid="baseColumns" />
 		FROM bbs_like t
+        left join bbs_article ba on t.article_id_ = ba.id_
+        <where>
+            <if test="param.userId != null">
+                t.like_user_id_ = #{param.userId}
+            </if>
+        </where>
+        order by t.created_time_ desc
 	</select>
 </mapper>

+ 49 - 0
cooleshow-bbs/src/main/resources/config/mybatis/BbsPrivateMessageMapper.xml

@@ -16,6 +16,7 @@
         , t.receiver_user_id_ as receiverUserId
         , t.message_content_ as messageContent
         , t.created_time_ as createdTime
+        , t.read_flag_ as readFlag
         </sql> 
     
     <select id="detail" resultType="com.yonge.cooleshow.bbs.vo.BbsPrivateMessageVo">
@@ -30,4 +31,52 @@
         	<include refid="baseColumns" />
 		FROM bbs_private_message t
 	</select>
+
+	<select id="selectPersonPage" resultType="com.yonge.cooleshow.bbs.dto.PrivateMessagePersonVo">
+
+        select
+            bpm.message_content_ as messageContext,
+            bpm.created_time_ as messageTime,
+            bpm.read_flag_ as readFlag,
+            if(bpm.send_user_id_ = #{query.userId},bpm.receiver_user_id_,bpm.send_user_id_) as messageUserId,
+            if(su.id_ = #{query.userId},su2.username_,su.username_) as username,
+            if(su.id_ = #{query.userId},su2.avatar_,su.avatar_) as avatar
+        from bbs_private_message bpm
+        left join sys_user su on bpm.send_user_id_ = su.id_
+        left  join sys_user su2 on su2.id_ = bpm.receiver_user_id_
+        <where>
+            <if test="query.userId != null">
+                and (#{query.userId} = bpm.send_user_id_ or #{query.userId} = bpm.receiver_user_id_)
+            </if>
+        </where>
+        group by bpm.send_user_id_
+
+    </select>
+
+	<update id="read">
+        update bbs_private_message bpm set bpm.read_flag_ = 1
+        where #{readDto.userId} = bpm.send_user_id_
+        and #{readDto.sendUserId} = bpm.receiver_user_id_
+        and #{readDto.readTime} &gt; bpm.created_time_
+    </update>
+
+	<select id="selectMessagePage" resultType="com.yonge.cooleshow.bbs.dto.BbsPrivateMessageDto">
+
+        select
+        bpm.id as id
+        , bpm.send_user_id_ as sendUserId
+        , bpm.receiver_user_id_ as receiverUserId
+        , bpm.message_content_ as messageContent
+        , bpm.created_time_ as createdTime
+        , bpm.read_flag_ as readFlag
+        from bbs_private_message bpm
+        <where>
+            <if test="query.userId != null and query.receiverUserId != null">
+                and ((#{query.userId} = bpm.send_user_id_ and #{query.receiverUserId} = bpm.receiver_user_id_)
+                or (#{query.userId} = bpm.receiver_user_id_ and #{query.receiverUserId} = bpm.send_user_id_))
+            </if>
+        </where>
+
+        order by bpm.created_time_ desc
+    </select>
 </mapper>

+ 50 - 0
cooleshow-bbs/src/main/resources/config/mybatis/BbsReplyMapper.xml

@@ -35,5 +35,55 @@
 		SELECT         
         	<include refid="baseColumns" />
 		FROM bbs_reply t
+        <where>
+            <if test="param.userId != null">
+                and #{param.userId} = t.user_id_
+            </if>
+        </where>
 	</select>
+
+	<select id="selectCommentPage" resultType="com.yonge.cooleshow.bbs.vo.BbsReplyVo">
+        select
+        br.id_ as id
+        , br.parent_id_ as parentId
+        , br.article_id as articleId
+        , br.user_id_ as userId
+        , br.content_ as content
+        , br.status_ as status
+        , br.created_time_ as createdTime
+        , br.updated_time_ as updatedTime
+        ,ba.title_ as articleTitle
+        from bbs_reply br
+        left join bbs_article ba on br.article_id = ba.id_
+        <where>
+            ba.del_flag_ = 0
+            <if test="query.userId != null">
+                and  br.user_id_ = #{query.userId}
+            </if>
+        </where>
+        order by br.created_time_ desc
+    </select>
+
+	<select id="selectReplyPage" resultType="com.yonge.cooleshow.bbs.vo.BbsReplyVo">
+        select
+        br.id_ as id
+        , br.parent_id_ as parentId
+        , br.article_id as articleId
+        , br.user_id_ as userId
+        , br.content_ as content
+        , br.status_ as status
+        , br.created_time_ as createdTime
+        , br.updated_time_ as updatedTime
+        ,ba.title_ as articleTitle
+        from bbs_reply br
+        left join bbs_article ba on br.article_id = ba.id_
+        left join bbs_reply br2 on br.parent_id_ = br2.id_
+        <where>
+            ba.del_flag_ = 0
+            <if test="query.userId != null">
+                and  (ba.user_id_ = #{query.userId} or br2.user_id_ = #{query.userId})
+            </if>
+        </where>
+        order by br.created_time_ desc
+    </select>
 </mapper>