From 50c0bd57d81f638943f1d945cbd6ba2a2289628f Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期五, 30 十二月 2022 13:33:09 +0800
Subject: [PATCH] fix: 用户栏目设置消息相关接口修改
---
ycl-platform/src/main/java/com/ycl/service/message/IMessageColumnService.java | 6 ++
ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java | 6 +-
ycl-platform/src/main/java/com/ycl/service/message/impl/MessageColumnServiceImpl.java | 28 +++++++++
ycl-platform/src/main/java/com/ycl/service/message/impl/MessageColumnSetServiceImpl.java | 6 +
ycl-platform/src/main/java/com/ycl/mapper/message/MessageMapper.java | 7 ++
ycl-platform/src/main/java/com/ycl/mapper/message/MessageColumnSetMapper.java | 4 +
ycl-platform/src/main/resources/mapper/message/MessageColumnSetMapper.xml | 37 ++++++++---
ycl-platform/src/main/resources/mapper/message/MessageMapper.xml | 17 +++++
ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java | 6 ++
ycl-platform/src/main/java/com/ycl/vo/message/MessageColumnSetVO.java | 3 +
ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java | 13 ++++
ycl-platform/src/main/java/com/ycl/vo/message/MessageColumnUserVO.java | 9 +++
12 files changed, 125 insertions(+), 17 deletions(-)
diff --git a/ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java b/ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java
index d0de9b9..12d3218 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/message/MessageColumnController.java
@@ -62,11 +62,11 @@
return CommonResult.success(iMessageColumnService.list());
}
- @ApiOperation(value = "鑾峰彇鏄剧ず鐨勬爮鐩�")
+ @ApiOperation(value = "鑾峰彇鐢ㄦ埛鐨勬爮鐩缃�")
@RequestMapping(value = "/getShowColumn", method = RequestMethod.GET)
@ResponseBody
- public CommonResult getShowColumn() {
- return CommonResult.success(iMessageColumnService.list(new LambdaQueryWrapper<MessageColumn>().eq(MessageColumn::getIsShow,1)));
+ public CommonResult getShowColumn(@RequestParam Integer id) {
+ return CommonResult.success(iMessageColumnService.listColumnUser(id));
}
@ApiOperation(value = "鑾峰彇鏍忕洰鍒嗛〉鏌ヨ")
diff --git a/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java b/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java
index c0825b0..2489f87 100644
--- a/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java
+++ b/ycl-platform/src/main/java/com/ycl/controller/message/MessageController.java
@@ -91,6 +91,19 @@
return CommonResult.failed();
}
+
+ @ApiOperation("娑堟伅宸叉煡鐪�")
+ @PostMapping("/modification_batch")
+ public CommonResult updateBatchMessage(List<Long> ids) {
+ ids.forEach(item -> {
+ Message message = new Message();
+ message.setId(item);
+ message.setIsView(1);
+ iMessageService.updateById(message);
+ });
+ return CommonResult.success("success");
+ }
+
@ApiOperation("鎵归噺鍒犻櫎娑堟伅")
@RequestMapping(value = "/delete", method = RequestMethod.DELETE)
@ResponseBody
diff --git a/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java b/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java
index 7beeff7..e8a0ee4 100644
--- a/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java
+++ b/ycl-platform/src/main/java/com/ycl/dto/message/MessageParam.java
@@ -45,6 +45,12 @@
@ApiModelProperty(value = "鐘舵��0-鏈彂甯�1-宸插彂甯�")
private Integer status;
+ @ApiModelProperty(value = "鏄惁鏌ョ湅0-鏈彂甯�1-宸插彂甯�")
+ private Integer isView;
+
+ @ApiModelProperty(value = "鏄惁鏌ョ湅0-鏈彂甯�1-宸插彂甯�")
+ private String targetTo;
+
@ApiModelProperty(value = "鍝嶅簲缁撴灉")
private String respondResult;
}
\ No newline at end of file
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/message/MessageColumnSetMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/message/MessageColumnSetMapper.java
index 7670a55..53870e1 100644
--- a/ycl-platform/src/main/java/com/ycl/mapper/message/MessageColumnSetMapper.java
+++ b/ycl-platform/src/main/java/com/ycl/mapper/message/MessageColumnSetMapper.java
@@ -16,5 +16,7 @@
* @since 2022-10-12
*/
public interface MessageColumnSetMapper extends BaseMapper<MessageColumnSet> {
- List<MessageColumnSetVO> selectColumnAndCount(@Param(value = "userId") Long userId);
+ List<MessageColumnSetVO> selectColumn(@Param(value = "userId") Long userId);
+
+ Integer selectColumnCount(Long userId, Integer id);
}
diff --git a/ycl-platform/src/main/java/com/ycl/mapper/message/MessageMapper.java b/ycl-platform/src/main/java/com/ycl/mapper/message/MessageMapper.java
index 181a7e3..42f2ac5 100644
--- a/ycl-platform/src/main/java/com/ycl/mapper/message/MessageMapper.java
+++ b/ycl-platform/src/main/java/com/ycl/mapper/message/MessageMapper.java
@@ -4,7 +4,10 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.dto.message.MessageParam;
import com.ycl.entity.message.Message;
+import com.ycl.vo.message.MessageColumnUserVO;
import com.ycl.vo.message.MessageVO;
+
+import java.util.List;
/**
* <p>
@@ -16,4 +19,6 @@
*/
public interface MessageMapper extends BaseMapper<Message> {
Page<MessageVO> selectMessagePage(Page<Message> page, MessageParam messageParam);
-}
+
+ List<MessageColumnUserVO> selectUserColumn(Integer id);
+ }
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/IMessageColumnService.java b/ycl-platform/src/main/java/com/ycl/service/message/IMessageColumnService.java
index 77a0ff8..65c26d0 100644
--- a/ycl-platform/src/main/java/com/ycl/service/message/IMessageColumnService.java
+++ b/ycl-platform/src/main/java/com/ycl/service/message/IMessageColumnService.java
@@ -4,6 +4,10 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.dto.message.MessageColumnParam;
import com.ycl.entity.message.MessageColumn;
+import com.ycl.vo.message.MessageColumnSetVO;
+import com.ycl.vo.message.MessageColumnUserVO;
+
+import java.util.List;
/**
* <p>
@@ -16,4 +20,6 @@
public interface IMessageColumnService extends IService<MessageColumn> {
IPage<MessageColumn> list(MessageColumnParam messageColumnParam);
+
+ List<MessageColumnUserVO> listColumnUser(Integer id);
}
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageColumnServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageColumnServiceImpl.java
index e38d818..4d34676 100644
--- a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageColumnServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageColumnServiceImpl.java
@@ -7,8 +7,15 @@
import com.ycl.dto.message.MessageColumnParam;
import com.ycl.entity.message.MessageColumn;
import com.ycl.mapper.message.MessageColumnMapper;
+import com.ycl.mapper.message.MessageMapper;
import com.ycl.service.message.IMessageColumnService;
+import com.ycl.vo.message.MessageColumnUserVO;
+import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.List;
+import java.util.stream.Collectors;
/**
* <p>
@@ -20,6 +27,10 @@
*/
@Service
public class MessageColumnServiceImpl extends ServiceImpl<MessageColumnMapper, MessageColumn> implements IMessageColumnService {
+
+ @Resource
+ MessageMapper messageMapper;
+
@Override
public IPage<MessageColumn> list(MessageColumnParam messageColumnParam) {
Page<MessageColumn> page = new Page<>(messageColumnParam.getCurrent(), messageColumnParam.getPageSize());
@@ -28,4 +39,21 @@
Page<MessageColumn> result = baseMapper.selectPage(page, queryWrapper);
return result;
}
+
+ @Override
+ public List<MessageColumnUserVO> listColumnUser(Integer id) {
+ List<MessageColumnUserVO> messageColumnUserVOS = messageMapper.selectUserColumn(id);
+ List<Long> ids = messageColumnUserVOS.stream().map(item -> item.getId()).collect(Collectors.toList());
+ baseMapper
+ .selectList(new LambdaQueryWrapper<MessageColumn>().eq(MessageColumn::getIsShow, 1))
+ .stream()
+ .forEach(item -> {
+ if (!ids.contains(item.getId())) {
+ MessageColumnUserVO messageColumnUserVO = new MessageColumnUserVO();
+ BeanUtils.copyProperties(item, messageColumnUserVO);
+ messageColumnUserVOS.add(messageColumnUserVO);
+ }
+ });
+ return messageColumnUserVOS;
+ }
}
diff --git a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageColumnSetServiceImpl.java b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageColumnSetServiceImpl.java
index 37346a0..9f134c3 100644
--- a/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageColumnSetServiceImpl.java
+++ b/ycl-platform/src/main/java/com/ycl/service/message/impl/MessageColumnSetServiceImpl.java
@@ -26,6 +26,10 @@
@Override
public List<MessageColumnSetVO> listColumnAndPage(Long userId) {
- return messageColumnSetMapper.selectColumnAndCount(userId);
+ List<MessageColumnSetVO> messageColumnSetVOS = messageColumnSetMapper.selectColumn(userId);
+ messageColumnSetVOS.forEach(item -> {
+ item.setMessageNumber(messageColumnSetMapper.selectColumnCount(userId, item.getId()));
+ });
+ return messageColumnSetVOS;
}
}
diff --git a/ycl-platform/src/main/java/com/ycl/vo/message/MessageColumnSetVO.java b/ycl-platform/src/main/java/com/ycl/vo/message/MessageColumnSetVO.java
index 08ab779..2ad8c41 100644
--- a/ycl-platform/src/main/java/com/ycl/vo/message/MessageColumnSetVO.java
+++ b/ycl-platform/src/main/java/com/ycl/vo/message/MessageColumnSetVO.java
@@ -13,4 +13,7 @@
@ApiModelProperty(value = "娑堟伅鏁扮洰")
private Integer messageNumber;
+
+ @ApiModelProperty(value = "娑堟伅鏍忕洰id")
+ private Integer id;
}
diff --git a/ycl-platform/src/main/java/com/ycl/vo/message/MessageColumnUserVO.java b/ycl-platform/src/main/java/com/ycl/vo/message/MessageColumnUserVO.java
new file mode 100644
index 0000000..8b28685
--- /dev/null
+++ b/ycl-platform/src/main/java/com/ycl/vo/message/MessageColumnUserVO.java
@@ -0,0 +1,9 @@
+package com.ycl.vo.message;
+
+import com.ycl.entity.message.MessageColumn;
+import lombok.Data;
+
+@Data
+public class MessageColumnUserVO extends MessageColumn {
+ private Integer isReceive;
+}
diff --git a/ycl-platform/src/main/resources/mapper/message/MessageColumnSetMapper.xml b/ycl-platform/src/main/resources/mapper/message/MessageColumnSetMapper.xml
index e44e466..88b0188 100644
--- a/ycl-platform/src/main/resources/mapper/message/MessageColumnSetMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/message/MessageColumnSetMapper.xml
@@ -4,21 +4,22 @@
<!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
<resultMap id="BaseResultMap" type="com.ycl.entity.message.MessageColumnSet">
- <id column="id" property="id" />
- <result column="user_id" property="userId" />
- <result column="message_column_id" property="messageColumnId" />
- <result column="is_receive" property="isReceive" />
+ <id column="id" property="id"/>
+ <result column="user_id" property="userId"/>
+ <result column="message_column_id" property="messageColumnId"/>
+ <result column="is_receive" property="isReceive"/>
</resultMap>
<!-- 閫氱敤鏌ヨ缁撴灉鍒� -->
<sql id="Base_Column_List">
- id, user_id, message_column_id, is_receive
+ id
+ , user_id, message_column_id, is_receive
</sql>
- <select id="selectColumnAndCount" resultType="com.ycl.vo.message.MessageColumnSetVO" >
+ <select id="selectColumn" resultType="com.ycl.vo.message.MessageColumnSetVO">
SELECT
- count( 1 ) AS messageNumber,
- t2.column_name AS columnName
+ t2.column_name AS columnName,
+ t2.id
FROM
`ums_message_column_set` t1
LEFT JOIN ums_message_column t2 ON t1.message_column_id = t2.id
@@ -26,11 +27,25 @@
<where>
t1.is_receive=1
<if test="userId !=null">
- and t1.user_id = #{userId}
+ and t1.user_id = #{userId}
</if>
</where>
- GROUP BY
- t2.column_name
+ GROUP BY t2.id
+ </select>
+
+ <select id="selectColumnCount" resultType="java.lang.Integer">
+ SELECT
+ COUNT(1) as count
+ FROM
+ `ums_message_column_set` t1
+ LEFT JOIN ums_message_column t2 ON t1.message_column_id = t2.id
+ LEFT JOIN ums_message t3 ON t2.id = t3.message_type
+ where
+ t1.user_id = #{userId}
+ and t3.target_to=#{userId}
+ AND t2.id=#{id}
+ AND t3.is_view=0
+
</select>
</mapper>
diff --git a/ycl-platform/src/main/resources/mapper/message/MessageMapper.xml b/ycl-platform/src/main/resources/mapper/message/MessageMapper.xml
index 94cf1ad..f1b0a73 100644
--- a/ycl-platform/src/main/resources/mapper/message/MessageMapper.xml
+++ b/ycl-platform/src/main/resources/mapper/message/MessageMapper.xml
@@ -58,8 +58,14 @@
<if test="messageParam.channelCode !='' and messageParam.channelCode != null">
and t1.channel_code=#{messageParam.channelCode}
</if>
+ <if test="messageParam.targetTo !='' and messageParam.targetTo != null">
+ and t1.target_to=#{messageParam.targetTo}
+ </if>
<if test="messageParam.messageType != null">
and t1.message_type=#{messageParam.messageType}
+ </if>
+ <if test="messageParam.isView != null">
+ and t1.is_view=#{messageParam.isView}
</if>
<if test="messageParam.startTime != null and messageParam.startTime != '' and messageParam.endTime != null and messageParam.endTime != '' ">
and t1.create_time between #{messageParam.startTime} and #{messageParam.endTime}
@@ -80,4 +86,15 @@
</where>
</select>
+ <select id="selectUserColumn" resultType="com.ycl.vo.message.MessageColumnUserVO">
+ SELECT
+ t1.*,
+ t2.is_receive
+ FROM
+ ums_message_column t1 LEFT JOIN ums_message_column_set t2 ON t1.id = t2.message_column_id
+ WHERE
+ t2.user_id=#{id}
+ and t1.is_show=1
+ </select>
+
</mapper>
--
Gitblit v1.8.0