From dfddd033642a31141b28a1d5a2f6441ca10b8620 Mon Sep 17 00:00:00 2001
From: zhongrj <646384940@qq.com>
Date: Mon, 10 Jul 2023 15:56:28 +0800
Subject: [PATCH] 新增站内信信息查询,设置已读修改

---
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/service/IMessageRecordService.java      |   17 +++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/feign/MessageClient.java                |   61 ++++++++++++++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/controller/MessageRecordController.java |   19 +++++-
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/mapper/MessageRecordMapper.xml          |   26 ++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/service/impl/MessageRecordService.java  |   27 +++++++++
 skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/mapper/MessageRecordMapper.java         |   21 +++++++
 6 files changed, 167 insertions(+), 4 deletions(-)

diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/controller/MessageRecordController.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/controller/MessageRecordController.java
index c135e69..644439d 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/controller/MessageRecordController.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/controller/MessageRecordController.java
@@ -2,6 +2,7 @@
 
 import cn.gistack.sm.message.entity.MessageRecord;
 import cn.gistack.sm.message.service.IMessageRecordService;
+import cn.gistack.sm.message.vo.MessageRecordVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -29,9 +30,21 @@
 	private IMessageRecordService messageRecordService;
 
 	@ApiOperation(value = "站内信管理", notes = "站内信管理-分页列表查询")
-	@GetMapping(value = "/page")
+	@GetMapping(value = "/list")
 	public R page(MessageRecord messageRecord, Query query) {
 		return R.data(messageRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(messageRecord)));
+	}
+
+	/**
+	 * 自定义分页列表
+	 * @param messageRecord
+	 * @param query
+	 * @return
+	 */
+	@ApiOperation(value = "站内信管理", notes = "站内信管理-分页列表查询")
+	@GetMapping(value = "/page")
+	public R selectMessageRecordPageList(MessageRecordVO messageRecord, Query query) {
+		return R.data(messageRecordService.selectMessageRecordPageList(Condition.getPage(query), messageRecord));
 	}
 
 	@ApiOperation(value = "我的站内信", notes = "我的站内信列表查询")
@@ -44,9 +57,7 @@
 
 	@ApiOperation(value = "设置已读", notes = "设置已读")
 	@PostMapping(value = "/editRead")
-	public R editRead(@ApiParam(value = "主键集合", required = true) @RequestParam(required = true) Long id) {
-		MessageRecord messageRecord = new MessageRecord();
-		messageRecord.setId(id);
+	public R editRead(@RequestBody MessageRecord messageRecord) {
 		messageRecord.setStatus(1);
 		return R.data(messageRecordService.updateById(messageRecord));
 	}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/feign/MessageClient.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/feign/MessageClient.java
new file mode 100644
index 0000000..bd94f45
--- /dev/null
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/feign/MessageClient.java
@@ -0,0 +1,61 @@
+package cn.gistack.sm.message.feign;
+
+import cn.gistack.sm.intelligentCall.entity.CallNotFillRecord;
+import cn.gistack.sm.intelligentCall.feign.OutCallClient;
+import cn.gistack.sm.intelligentCall.service.CallService;
+import cn.gistack.sm.intelligentCall.service.ICallNotFillRecordService;
+import cn.gistack.sm.intelligentCall.service.ICallSmsNoticeTaskService;
+import cn.gistack.sm.message.entity.MessageRecord;
+import cn.gistack.sm.message.service.impl.MessageRecordService;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.tenant.annotation.NonDS;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+import springfox.documentation.annotations.ApiIgnore;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Feign实现类
+ * @author zhongrj
+ * @date 2023-07-07
+ */
+@NonDS
+@ApiIgnore
+@RestController
+@AllArgsConstructor
+@Slf4j
+public class MessageClient implements IMessageClient {
+
+	@Autowired
+	private MessageRecordService messageRecordService;
+
+	/**
+	 * 保存站内信记录信息
+	 * @param messageRecord
+	 * @return
+	 */
+	@Override
+	@PostMapping(SAVE_MESSAGE_RECORD)
+	public void saveMessageRecord(@RequestBody List<MessageRecord> messageRecord) {
+		// 批量新增
+		messageRecordService.saveBatch(messageRecord);
+	}
+
+	/**
+	 * 查询用户未读消息数量
+	 * @param phone
+	 * @return
+	 */
+	@Override
+	public Integer getNotReadNumber(String phone) {
+		return messageRecordService.getNotReadNumber(phone);
+	}
+}
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/mapper/MessageRecordMapper.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/mapper/MessageRecordMapper.java
index a55e3a8..9c8da3b 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/mapper/MessageRecordMapper.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/mapper/MessageRecordMapper.java
@@ -1,7 +1,12 @@
 package cn.gistack.sm.message.mapper;
 
 import cn.gistack.sm.message.entity.MessageRecord;
+import cn.gistack.sm.message.vo.MessageRecordVO;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @PROJECT_NAME: skjcmanager
@@ -10,4 +15,20 @@
  * @DATE: 2023/6/30 15:30
  */
 public interface MessageRecordMapper extends BaseMapper<MessageRecord> {
+
+	/**
+	 * 查询用户未读消息数量
+	 * @param userId
+	 * @return
+	 */
+    Integer getNotReadNumber(@Param("userId") String userId);
+
+	/**
+	 * 自定义分页列表
+	 * @param messageRecord
+	 * @param page
+	 * @return
+	 */
+    List<MessageRecordVO> selectMessageRecordPageList(@Param("page") IPage<MessageRecordVO> page,
+													  @Param("messageRecord") MessageRecordVO messageRecord);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/mapper/MessageRecordMapper.xml b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/mapper/MessageRecordMapper.xml
index 2752fa8..bc59eea 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/mapper/MessageRecordMapper.xml
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/mapper/MessageRecordMapper.xml
@@ -2,4 +2,30 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
 <mapper namespace="cn.gistack.sm.message.mapper.MessageRecordMapper">
     <!--namespace根据自己需要创建的的mapper的路径和名称填写-->
+
+    <!--查询用户未读消息数量-->
+    <select id="getNotReadNumber" resultType="java.lang.Integer">
+        select count(*) from sm_message_record where is_deleted = 0 and status = 0 and recipient = #{userId}
+    </select>
+
+    <!--自定义分页列表-->
+    <select id="selectMessageRecordPageList" resultType="cn.gistack.sm.message.vo.MessageRecordVO">
+        select * from sm_message_record where is_deleted = 0
+        <if test="messageRecord.status!=null">
+            and status = #{messageRecord.status}
+        </if>
+        <if test="messageRecord.recipient!=null and messageRecord.recipient!=''">
+            and recipient = #{messageRecord.recipient}
+        </if>
+        <if test="messageRecord.theme!=null and messageRecord.theme!=''">
+            and theme like concat('%',#{messageRecord.recipient},'%')
+        </if>
+        <if test="messageRecord.content!=null and messageRecord.content!=''">
+            and content like concat('%',#{messageRecord.content},'%')
+        </if>
+        <if test="messageRecord.source!=null and messageRecord.source!=''">
+            and source = #{messageRecord.source}
+        </if>
+        ORDER BY ID DESC
+    </select>
 </mapper>
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/service/IMessageRecordService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/service/IMessageRecordService.java
index 69cb1f3..4147d3c 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/service/IMessageRecordService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/service/IMessageRecordService.java
@@ -1,6 +1,8 @@
 package cn.gistack.sm.message.service;
 
 import cn.gistack.sm.message.entity.MessageRecord;
+import cn.gistack.sm.message.vo.MessageRecordVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseService;
 
 /**
@@ -10,4 +12,19 @@
  * @DATE: 2023/6/30 15:32
  */
 public interface IMessageRecordService extends BaseService<MessageRecord> {
+
+	/**
+	 * 查询用户未读消息数量
+	 * @param userId
+	 * @return
+	 */
+	Integer getNotReadNumber(String userId);
+
+	/**
+	 * 自定义分页列表
+	 * @param messageRecord
+	 * @param page
+	 * @return
+	 */
+    Object selectMessageRecordPageList(IPage<MessageRecordVO> page, MessageRecordVO messageRecord);
 }
diff --git a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/service/impl/MessageRecordService.java b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/service/impl/MessageRecordService.java
index 7437c0f..deb8839 100644
--- a/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/service/impl/MessageRecordService.java
+++ b/skjcmanager/skjcmanager-service/skjcmanager-sm/src/main/java/cn/gistack/sm/message/service/impl/MessageRecordService.java
@@ -3,6 +3,8 @@
 import cn.gistack.sm.message.entity.MessageRecord;
 import cn.gistack.sm.message.mapper.MessageRecordMapper;
 import cn.gistack.sm.message.service.IMessageRecordService;
+import cn.gistack.sm.message.vo.MessageRecordVO;
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springblade.core.mp.base.BaseServiceImpl;
 import org.springframework.stereotype.Service;
 
@@ -14,4 +16,29 @@
  */
 @Service
 public class MessageRecordService extends BaseServiceImpl<MessageRecordMapper, MessageRecord> implements IMessageRecordService {
+
+	/**
+	 * 查询用户未读消息数量
+	 * @param userId
+	 * @return
+	 */
+    public Integer getNotReadNumber(String userId) {
+    	return baseMapper.getNotReadNumber(userId);
+    }
+
+
+	/**
+	 * 自定义分页列表
+	 * @param messageRecord
+	 * @param page
+	 * @return
+	 */
+	@Override
+	public Object selectMessageRecordPageList(IPage<MessageRecordVO> page, MessageRecordVO messageRecord) {
+		if (null!=messageRecord.getIsPage()){
+			// 不分页查询
+			return baseMapper.selectMessageRecordPageList(null,messageRecord);
+		}
+		return page.setRecords(baseMapper.selectMessageRecordPageList(page,messageRecord));
+	}
 }

--
Gitblit v1.9.3