From 1030299cf8d954aa2b40a56c5e408c20f3405b75 Mon Sep 17 00:00:00 2001
From: longys <1668019448@qq.com>
Date: Sat, 25 Jun 2022 09:28:45 +0800
Subject: [PATCH] 新增资讯已阅、评论意见反馈接口

---
 src/main/java/cn/timer/api/controller/qyxx/CmsController.java | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/cn/timer/api/dto/qyxx/CmsContentReadDto.java    | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 139 insertions(+)
 create mode 100644 src/main/java/cn/timer/api/dto/qyxx/CmsContentReadDto.java

diff --git a/src/main/java/cn/timer/api/controller/qyxx/CmsController.java b/src/main/java/cn/timer/api/controller/qyxx/CmsController.java
index 8ce19f5..450f345 100644
--- a/src/main/java/cn/timer/api/controller/qyxx/CmsController.java
+++ b/src/main/java/cn/timer/api/controller/qyxx/CmsController.java
@@ -7,7 +7,9 @@ import java.util.Timer;
 import java.util.TimerTask;
 
 import cn.timer.api.bean.qyxx.*;
+import cn.timer.api.dto.qyxx.CmsContentReadDto;
 import cn.timer.api.utils.redis.RedisUtil;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.redis.core.RedisTemplate;
 import org.springframework.transaction.annotation.Transactional;
@@ -50,6 +52,7 @@ import javax.annotation.Resource;
 @Api(tags = "5.0企业讯息")
 @Transactional
 @RequestMapping(value = "/qyxx", produces = { "application/json" })
+@Slf4j
 public class CmsController {
 
 	@Autowired
@@ -591,4 +594,84 @@ public class CmsController {
 		return ResultUtil.success("设置失败");
 	}
 
+	/**
+	 * 查询传阅列表
+	 * @return
+	 */
+	@PostMapping(value = "/getCmsContentReads")
+	@ApiOperation(value = "查询传阅列表", httpMethod = "POST", notes = "接口发布说明")
+	public Result<Object> getCmsContentReads(@CurrentUser UserBean userBean, @RequestBody CmsContentReadDto cmsContentReadDto) {
+		Page<CmsContentRead> page = new Page<CmsContentRead>(cmsContentReadDto.getCurrentPage(), cmsContentReadDto.getTotalPage());
+		//查询传阅列表
+		IPage<CmsContentRead> cmsContentReads = CmsContentRead.builder().build()
+				.selectPage(page, new QueryWrapper<CmsContentRead>()
+				.lambda().eq(CmsContentRead::getCmsContentId, cmsContentReadDto.getCmsContentId())
+						.eq(CmsContentRead::getOrgCode,userBean.getOrgCode())
+						.eq(CmsContentRead::getUserId,userBean.getEmpNum())
+						.orderByDesc(CmsContentRead::getReviewTime));
+
+		return ResultUtil.data(cmsContentReads);
+	}
+
+	/**
+	 * 标记已阅
+	 */
+	@GetMapping(value = "/haveRead/{id}")
+	@ApiOperation(value = "标记已阅", httpMethod = "GET", notes = "接口发布说明")
+	public Result<Object> haveRead(@CurrentUser UserBean userBean, @PathVariable("id") Integer id) {
+		//用户id查询传阅消息
+		CmsContentRead cmsContentRead = CmsContentRead.builder().build()
+				.selectOne(new QueryWrapper<CmsContentRead>().lambda()
+						.eq(CmsContentRead::getUserId, userBean.getEmpNum())
+						.eq(CmsContentRead::getOrgCode, userBean.getOrgCode())
+						.eq(CmsContentRead::getCmsContentId,id));
+
+		if(cmsContentRead == null){
+			cmsContentRead = new CmsContentRead();
+			cmsContentRead.setUserId(userBean.getEmpNum());
+			cmsContentRead.setUserName(userBean.getUserInfo().getName());
+			cmsContentRead.setOrgCode(userBean.getOrgCode());
+			cmsContentRead.setCmsContentId(id);
+		}else {
+			//已阅 直接返回
+			if(cmsContentRead.getReadStatus() == 1){
+				return ResultUtil.data(1);
+			}
+		}
+
+		try {
+			cmsContentRead.setReadStatus(1);
+			cmsContentRead.setReviewTime(new Date());
+			cmsContentRead.insertOrUpdate();
+		}catch (Exception e){
+			log.error("=============已阅操作失败, " + e);
+			return ResultUtil.error(e);
+		}
+		return ResultUtil.success();
+	}
+
+	/**
+	 * 根据讯息id查传阅列表
+	 * @return
+	 */
+	@PostMapping(value = "/comment")
+	@ApiOperation(value = "评论意见反馈", httpMethod = "POST", notes = "接口发布说明")
+	public Result<Object> comment(@CurrentUser UserBean userBean, @RequestBody CmsContentReadDto cmsContentReadDto) {
+		//用户id查询传阅消息
+		CmsContentRead cmsContentRead = CmsContentRead.builder().build()
+				.selectOne(new QueryWrapper<CmsContentRead>().lambda()
+						.eq(CmsContentRead::getUserId, userBean.getEmpNum())
+						.eq(CmsContentRead::getOrgCode, userBean.getOrgCode())
+						.eq(CmsContentRead::getCmsContentId,cmsContentReadDto.getCmsContentId()));
+		try {
+			cmsContentRead.setReviewContent(cmsContentReadDto.getReviewContent());
+			cmsContentRead.insertOrUpdate();
+		}catch (Exception e){
+			log.error("=============评论失败, " + e);
+			return ResultUtil.error(e);
+		}
+		return ResultUtil.success();
+	}
+
+
 }
diff --git a/src/main/java/cn/timer/api/dto/qyxx/CmsContentReadDto.java b/src/main/java/cn/timer/api/dto/qyxx/CmsContentReadDto.java
new file mode 100644
index 0000000..9f9a71a
--- /dev/null
+++ b/src/main/java/cn/timer/api/dto/qyxx/CmsContentReadDto.java
@@ -0,0 +1,56 @@
+package cn.timer.api.dto.qyxx;
+
+import cn.timer.api.utils.Page;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class CmsContentReadDto extends Page implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty(value = "编号", example = "1")
+    private Integer id;
+
+    @ApiModelProperty(value = "企业讯息主表ID", example = "101")
+    private Integer cmsContentId;
+
+    @ApiModelProperty(value = "留言/意见反馈", example = "")
+    private String reviewContent;
+
+    @ApiModelProperty(value = "留言/意见反馈时间", example = "")
+    private Date reviewTime;
+
+    @ApiModelProperty(value = "组织机构代码", example = "1")
+    private Integer orgCode;
+
+    @ApiModelProperty(value = "用户ID", example = "1")
+    private Integer userId;
+
+    @ApiModelProperty(value = "用户姓名", example = "张三")
+    private String userName;
+
+    @ApiModelProperty(value = "阅读标记0.未读 1.已读", example = "0")
+    private Integer readStatus;
+
+    @ApiModelProperty(value = "逻辑删除标记0.未删除 1.删除", example = "0")
+    private Integer deleteFlag;
+
+    @ApiModelProperty(value = "创建时间", example = "")
+    private Date createTime;
+
+    @ApiModelProperty(value = "更新时间", example = "")
+    private Date updateTime;
+}
--
libgit2 0.26.0