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