|
|
@@ -1,5 +1,6 @@
|
|
|
package com.jzg.organization.controller;
|
|
|
|
|
|
+import cn.hutool.core.collection.CollUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
@@ -11,6 +12,7 @@ import com.jzg.commons.entity.po.*;
|
|
|
import com.jzg.commons.entity.vo.MessageNoticeVo;
|
|
|
import com.jzg.commons.entity.vo.MessageVo;
|
|
|
import com.jzg.commons.util.AssertionUtils;
|
|
|
+import com.jzg.commons.util.StringUtils;
|
|
|
import com.jzg.organization.service.*;
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
|
@@ -18,7 +20,9 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.validation.annotation.Validated;
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
+import java.util.List;
|
|
|
import java.util.Objects;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
* 消息管理接口
|
|
|
@@ -36,6 +40,9 @@ public class MessageController extends BaseController {
|
|
|
@Autowired
|
|
|
private SysMessageUserService messageUserService;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private SysMessageTemplateService messageTemplateService;
|
|
|
+
|
|
|
@Autowired
|
|
|
private SysUserService userService;
|
|
|
|
|
|
@@ -49,6 +56,10 @@ public class MessageController extends BaseController {
|
|
|
@PostMapping("/messageList")
|
|
|
@Operation(summary = "消息列表分页")
|
|
|
public HttpResult messageList(@RequestBody MessageParam param){
|
|
|
+ String userName = getUserName();
|
|
|
+ SysUser sysUser = userService.getOne(new LambdaQueryWrapper<SysUser>()
|
|
|
+ .eq(SysUser::getMobile, userName));
|
|
|
+ param.setUserId(sysUser.getId());
|
|
|
Page<MessageVo> result = messageService.queryPage(param);
|
|
|
return HttpResult.ok(result);
|
|
|
}
|
|
|
@@ -60,7 +71,10 @@ public class MessageController extends BaseController {
|
|
|
@Operation(summary = "获取消息数量", description = "获取消息数量")
|
|
|
@GetMapping(value = "/getMessageCount")
|
|
|
public HttpResult getMessageCount() {
|
|
|
- return HttpResult.ok(messageService.getMessageCount());
|
|
|
+ String userName = getUserName();
|
|
|
+ SysUser sysUser = userService.getOne(new LambdaQueryWrapper<SysUser>()
|
|
|
+ .eq(SysUser::getMobile, userName));
|
|
|
+ return HttpResult.ok(messageService.getMessageCount(sysUser.getId()));
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -76,11 +90,29 @@ public class MessageController extends BaseController {
|
|
|
SysUserJzgInfo info = userJzgInfoService.getOne(new LambdaQueryWrapper<SysUserJzgInfo>()
|
|
|
.eq(SysUserJzgInfo::getUserId, sysUser.getId())
|
|
|
);
|
|
|
- LambdaUpdateWrapper<SysMessageUser> wrapper = new LambdaUpdateWrapper<>();
|
|
|
- wrapper.eq(SysMessageUser::getUserId, info.getId())
|
|
|
- .eq(SysMessageUser::getMessageId, param.getId())
|
|
|
- .set(SysMessageUser::getIsRead, 1);
|
|
|
- messageUserService.update(wrapper);
|
|
|
+ if(StringUtils.isNotBlank(param.getId())){
|
|
|
+ LambdaUpdateWrapper<SysMessageUser> wrapper = new LambdaUpdateWrapper<>();
|
|
|
+ wrapper.eq(SysMessageUser::getUserId, info.getId())
|
|
|
+ .eq(SysMessageUser::getMessageId, param.getId())
|
|
|
+ .set(SysMessageUser::getIsRead, 1);
|
|
|
+ messageUserService.update(wrapper);
|
|
|
+ }else if(Objects.nonNull(param.getType())){
|
|
|
+ List<SysMessageTemplate> templates = messageTemplateService.getTemplateByType(param.getType());
|
|
|
+ if(CollUtil.isNotEmpty(templates)){
|
|
|
+ List<String> codes = templates.stream().map(SysMessageTemplate::getTplCode).collect(Collectors.toList());
|
|
|
+ LambdaUpdateWrapper<SysMessage> wrapper = new LambdaUpdateWrapper<>();
|
|
|
+ wrapper.in(SysMessage::getTplCode, codes);
|
|
|
+ wrapper.eq(SysMessage::getIsDelete, 0);
|
|
|
+ List<SysMessage> messages = messageService.list(wrapper);
|
|
|
+ List<String> messageIds = messages.stream().map(SysMessage::getId).collect(Collectors.toList());
|
|
|
+ LambdaUpdateWrapper<SysMessageUser> wrapper2 = new LambdaUpdateWrapper<>();
|
|
|
+ wrapper2.eq(SysMessageUser::getUserId, info.getId())
|
|
|
+ .in(SysMessageUser::getMessageId, messageIds)
|
|
|
+ .set(SysMessageUser::getIsRead, 1);
|
|
|
+ messageUserService.update(wrapper2);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
return HttpResult.ok("修改成功");
|
|
|
}
|
|
|
|