From 2efdbfe7734ff9b3a87651b02e2a660abe76a4c5 Mon Sep 17 00:00:00 2001 From: yang <2119157836@qq.com> Date: Mon, 17 Feb 2025 10:06:09 +0800 Subject: [PATCH] =?UTF-8?q?refactor(resource):=20=E8=B0=83=E6=95=B4?= =?UTF-8?q?=E6=B6=88=E6=81=AF=E9=80=9A=E7=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/SysAdviceController.java | 34 ++------ .../com/mcwl/resource/domain/vo/AdviceVo.java | 21 ++++- .../resource/domain/vo/AttentionAdviceVo.java | 2 + .../resource/domain/vo/CommentAdviceVo.java | 2 + .../resource/service/ISysAdviceService.java | 6 -- .../service/impl/SysAdviceServiceImpl.java | 79 ++++++++----------- .../com/mcwl/system/mapper/SysUserMapper.java | 2 - .../mcwl/system/service/ISysUserService.java | 2 - .../service/impl/SysUserServiceImpl.java | 8 +- .../resources/mapper/system/SysUserMapper.xml | 8 -- 10 files changed, 68 insertions(+), 96 deletions(-) diff --git a/mcwl-admin/src/main/java/com/mcwl/web/controller/system/SysAdviceController.java b/mcwl-admin/src/main/java/com/mcwl/web/controller/system/SysAdviceController.java index 37b0b93..d1f29f9 100644 --- a/mcwl-admin/src/main/java/com/mcwl/web/controller/system/SysAdviceController.java +++ b/mcwl-admin/src/main/java/com/mcwl/web/controller/system/SysAdviceController.java @@ -6,6 +6,8 @@ import com.mcwl.resource.domain.vo.AttentionAdviceVo; import com.mcwl.resource.domain.vo.CommentAdviceVo; import com.mcwl.resource.domain.vo.LikeAdviceVo; import com.mcwl.resource.service.ISysAdviceService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.GetMapping; @@ -22,41 +24,16 @@ import java.util.List; @RestController @RequestMapping("system/advice") @RequiredArgsConstructor +@Api(tags = "消息通知") public class SysAdviceController { private final ISysAdviceService sysAdviceService; - /** - * 根据当前用户获取新消息通知 - */ - @GetMapping("getUserNewMsg") - public R> getUserNewMsg() { - List adviceVo = sysAdviceService.getUserNewMsg(); - return R.ok(adviceVo); - } - - /** - * 根据当前用户获取系统公告 - */ - @GetMapping("getUserSystemNotice") - public R> getUserSystemNotice() { - List adviceVo = sysAdviceService.getUserSystemNotice(); - return R.ok(adviceVo); - } - - /** - * 根据当前用户获取所有通知 - */ - @GetMapping("getUserAllMsg") - public R> getUserAllMsg() { - List adviceVo = sysAdviceService.getUserAllMsg(); - return R.ok(adviceVo); - } - /** * 获取所有通知 */ @GetMapping("getAllMsg") + @ApiOperation(value = "获取所有通知") public R> getAllMsg() { List adviceVo = sysAdviceService.getAllMsg(); return R.ok(adviceVo); @@ -67,6 +44,7 @@ public class SysAdviceController { * 获取评论通知 */ @GetMapping("getCommentMsg") + @ApiOperation(value = "获取评论通知") public R> getCommentMsg(@Valid @NotNull(message = "类型不能为空") @ApiParam(value = "类型 0模型 1工作流 2图片 3全部", required = true) @@ -79,6 +57,7 @@ public class SysAdviceController { * 获取点赞通知 */ @GetMapping("getLikeMsg") + @ApiOperation(value = "获取点赞通知") public R> getLikeMsg(@Valid @NotNull(message = "类型不能为空") @ApiParam(value = "类型 0模型 1工作流 2图片 3评论 4全部", required = true) @@ -92,6 +71,7 @@ public class SysAdviceController { * 获取关注通知 */ @GetMapping("getAttentionMsg") + @ApiOperation(value = "获取关注通知") public R> getAttentionMsg() { List attentionAdviceVoList = sysAdviceService.getAttentionMsg(); return R.ok(attentionAdviceVoList); diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/AdviceVo.java b/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/AdviceVo.java index f6509b9..70a802f 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/AdviceVo.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/AdviceVo.java @@ -1,29 +1,46 @@ package com.mcwl.resource.domain.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import com.mcwl.system.domain.enums.AdviceEnum; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.Date; + @Data +@ApiModel(description = "消息通知") public class AdviceVo { /** - * 消息类型 表示新消息提醒,系统公告等 + * id */ - private AdviceEnum type; + @ApiModelProperty(value = "id") + private Long id; /** * 标题 */ + @ApiModelProperty(value = "标题") private String title; /** * 内容 */ + @ApiModelProperty(value = "内容") private String content; /** * 是否已读 0否 1是 */ + @ApiModelProperty(value = "是否已读 0否 1是") private String isRead; + /** + * 创建时间 + */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "创建时间") + private Date createTime; + } diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/AttentionAdviceVo.java b/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/AttentionAdviceVo.java index 37d3b2d..6423c0b 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/AttentionAdviceVo.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/AttentionAdviceVo.java @@ -1,5 +1,6 @@ package com.mcwl.resource.domain.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -37,6 +38,7 @@ public class AttentionAdviceVo { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建时间") private Date createTime; diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/CommentAdviceVo.java b/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/CommentAdviceVo.java index 2a9bac9..4ef91c0 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/CommentAdviceVo.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/domain/vo/CommentAdviceVo.java @@ -1,5 +1,6 @@ package com.mcwl.resource.domain.vo; +import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -56,6 +57,7 @@ public class CommentAdviceVo { /** * 创建时间 */ + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @ApiModelProperty(value = "创建时间") private Date createTime; diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/service/ISysAdviceService.java b/mcwl-resource/src/main/java/com/mcwl/resource/service/ISysAdviceService.java index cb2d0d0..88676cd 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/service/ISysAdviceService.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/service/ISysAdviceService.java @@ -16,12 +16,6 @@ import java.util.List; */ public interface ISysAdviceService extends IService { - List getUserNewMsg(); - - List getUserSystemNotice(); - - List getUserAllMsg(); - List getAllMsg(); List getCommentMsg(Integer productType); diff --git a/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/SysAdviceServiceImpl.java b/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/SysAdviceServiceImpl.java index 20452d1..7dd4163 100644 --- a/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/SysAdviceServiceImpl.java +++ b/mcwl-resource/src/main/java/com/mcwl/resource/service/impl/SysAdviceServiceImpl.java @@ -2,6 +2,7 @@ package com.mcwl.resource.service.impl; import cn.hutool.core.bean.BeanUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.mcwl.common.core.domain.entity.SysUser; import com.mcwl.common.utils.SecurityUtils; @@ -46,44 +47,24 @@ public class SysAdviceServiceImpl extends ServiceImpl workFlowMap = new ConcurrentHashMap<>(); private final Map modelImageMap = new ConcurrentHashMap<>(); - - @Override - public List getUserNewMsg() { - - Long userId = SecurityUtils.getUserId(); - - List sysAdvices = baseMapper.selectList(lambdaQuery() - .eq(SysAdvice::getReceiverId, userId) - .eq(SysAdvice::getType, AdviceEnum.NEW_MESSAGE_REMIND)); - - return BeanUtil.copyToList(sysAdvices, AdviceVo.class); - } - - @Override - public List getUserSystemNotice() { - Long userId = SecurityUtils.getUserId(); - - List sysAdvices = baseMapper.selectList(lambdaQuery() - .eq(SysAdvice::getReceiverId, userId) - .eq(SysAdvice::getType, AdviceEnum.SYSTEM_NOTICE)); - - return BeanUtil.copyToList(sysAdvices, AdviceVo.class); - } - - @Override - public List getUserAllMsg() { - Long userId = SecurityUtils.getUserId(); - - List sysAdvices = baseMapper.selectList(lambdaQuery() - .eq(SysAdvice::getReceiverId, userId)); - - return BeanUtil.copyToList(sysAdvices, AdviceVo.class); - } - @Override public List getAllMsg() { - List sysAdvices = baseMapper.selectList(null); + // 创建分页对象 + Page page = new Page<>(1, 20); + + LambdaQueryWrapper lqw = new LambdaQueryWrapper() + .and(wrapper -> wrapper + .eq(SysAdvice::getReceiverId, SecurityUtils.getUserId()) + .or() + .isNull(SysAdvice::getReceiverId) + ) + .orderByDesc(SysAdvice::getCreateTime); + + Page sysAdvicePage = baseMapper.selectPage(page, lqw); + + + List sysAdvices = sysAdvicePage.getRecords(); return BeanUtil.copyToList(sysAdvices, AdviceVo.class); } @@ -96,14 +77,15 @@ public class SysAdviceServiceImpl extends ServiceImpl sysAdviceList = baseMapper.selectList(new LambdaQueryWrapper() .eq(SysAdvice::getType, AdviceEnum.COMMENT_REMIND) .eq(SysAdvice::getReceiverId, SecurityUtils.getUserId()) - .eq(productType != 3, SysAdvice::getProductType, productType)); + .eq(productType != 3, SysAdvice::getProductType, productType) + .orderByDesc(SysAdvice::getCreateTime)); List commentUserIdList = new ArrayList<>(); for (SysAdvice sysAdvice : sysAdviceList) { commentUserIdList.add(sysAdvice.getSenderId()); } - List sysUsers = sysUserService.selectUserByIds(commentUserIdList); + List sysUsers = sysUserService.listByIds(commentUserIdList); Map commentUserMap = new HashMap<>(); for (SysUser sysUser : sysUsers) { @@ -116,7 +98,9 @@ public class SysAdviceServiceImpl extends ServiceImpl() .eq(SysAdvice::getType, AdviceEnum.LIKE_REMIND) .eq(SysAdvice::getReceiverId, SecurityUtils.getUserId()) - .isNotNull(SysAdvice::getCommentId)); + .isNotNull(SysAdvice::getCommentId) + .orderByDesc(SysAdvice::getCreateTime)); } else { sysAdviceList = baseMapper.selectList(new LambdaQueryWrapper() .eq(SysAdvice::getType, AdviceEnum.LIKE_REMIND) .eq(SysAdvice::getReceiverId, SecurityUtils.getUserId()) - .eq(productType != 4, SysAdvice::getProductType, productType)); + .eq(productType != 4, SysAdvice::getProductType, productType) + .orderByDesc(SysAdvice::getCreateTime)); } List likeUserIdList = new ArrayList<>(); for (SysAdvice sysAdvice : sysAdviceList) { likeUserIdList.add(sysAdvice.getSenderId()); } - List sysUsers = sysUserService.selectUserByIds(likeUserIdList); + List sysUsers = sysUserService.listByIds(likeUserIdList); Map likeUserMap = new HashMap<>(); for (SysUser sysUser : sysUsers) { @@ -174,7 +160,9 @@ public class SysAdviceServiceImpl extends ServiceImpl getAttentionMsg() { List sysAdviceList = baseMapper.selectList(new LambdaQueryWrapper() .eq(SysAdvice::getType, AdviceEnum.FANS_REMIND) - .eq(SysAdvice::getReceiverId, SecurityUtils.getUserId())); + .eq(SysAdvice::getReceiverId, SecurityUtils.getUserId()) + .orderByDesc(SysAdvice::getCreateTime)); List attentionAdviceVoList = new ArrayList<>(); List atentUserIdList = new ArrayList<>(); @@ -225,7 +214,9 @@ public class SysAdviceServiceImpl extends ServiceImpl listByIds(List userIdList); - List selectUserByIds(@Param("userIds") List userIds); - List selectUserPage(@Param("userId") Long userId); List selectToUserPage(@Param("userId") Long userId); diff --git a/mcwl-system/src/main/java/com/mcwl/system/service/ISysUserService.java b/mcwl-system/src/main/java/com/mcwl/system/service/ISysUserService.java index 9a86b2d..fc0061e 100644 --- a/mcwl-system/src/main/java/com/mcwl/system/service/ISysUserService.java +++ b/mcwl-system/src/main/java/com/mcwl/system/service/ISysUserService.java @@ -217,6 +217,4 @@ public interface ISysUserService AjaxResult updateIdCard(SysUser sysUser); List listByIds(List userIdList); - - List selectUserByIds(List userIds); } diff --git a/mcwl-system/src/main/java/com/mcwl/system/service/impl/SysUserServiceImpl.java b/mcwl-system/src/main/java/com/mcwl/system/service/impl/SysUserServiceImpl.java index 62ebc58..701c1fd 100644 --- a/mcwl-system/src/main/java/com/mcwl/system/service/impl/SysUserServiceImpl.java +++ b/mcwl-system/src/main/java/com/mcwl/system/service/impl/SysUserServiceImpl.java @@ -653,6 +653,9 @@ public class SysUserServiceImpl implements ISysUserService @Override public List listByIds(List userIdList) { + if (userIdList == null || userIdList.isEmpty()) { + return Collections.emptyList(); + } return userMapper.listByIds(userIdList); } @@ -675,9 +678,4 @@ public class SysUserServiceImpl implements ISysUserService return sb.toString(); } - - @Override - public List selectUserByIds(List userIds) { - return userMapper.selectUserByIds(userIds); - } } diff --git a/mcwl-system/src/main/resources/mapper/system/SysUserMapper.xml b/mcwl-system/src/main/resources/mapper/system/SysUserMapper.xml index 770f689..4f57ae5 100644 --- a/mcwl-system/src/main/resources/mapper/system/SysUserMapper.xml +++ b/mcwl-system/src/main/resources/mapper/system/SysUserMapper.xml @@ -167,14 +167,6 @@ - -