From 3a740faa161ec976986c0735ba18837f570a525f Mon Sep 17 00:00:00 2001 From: hyingbo <1363390067@qq.com> Date: 星期二, 27 五月 2025 19:04:07 +0800 Subject: [PATCH] 消息类型拆分并按类型推送至不同角色 --- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcMessageApprovalController.java | 79 +++++++++++++++++++++++++++++++++++++-- 1 files changed, 74 insertions(+), 5 deletions(-) diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcMessageApprovalController.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcMessageApprovalController.java index 55f7553..17090b6 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcMessageApprovalController.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcMessageApprovalController.java @@ -1,15 +1,20 @@ package org.jeecg.modules.mdc.controller; -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.api.dto.message.MessageDTO; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.constant.enums.MessageSplitTypeEnum; +import org.jeecg.common.system.api.ISysBaseAPI; import org.jeecg.common.system.base.controller.JeecgController; -import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.mdc.constant.MdcConstant; import org.jeecg.modules.mdc.entity.MdcMessageApproval; import org.jeecg.modules.mdc.service.IMdcMessageApprovalService; import org.springframework.web.bind.annotation.*; @@ -19,6 +24,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; +import java.util.List; /** * @Description: mdc娑堟伅纭琛� @@ -34,6 +40,9 @@ @Resource private IMdcMessageApprovalService mdcMessageApprovalService; + + @Resource + private ISysBaseAPI sysBaseApi; /** * 鍒嗛〉鍒楄〃鏌ヨ @@ -51,9 +60,10 @@ @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) { - QueryWrapper<MdcMessageApproval> queryWrapper = QueryGenerator.initQueryWrapper(mdcMessageApproval, req.getParameterMap()); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + String userId = user.getId(); Page<MdcMessageApproval> page = new Page<MdcMessageApproval>(pageNo, pageSize); - IPage<MdcMessageApproval> pageList = mdcMessageApprovalService.page(page, queryWrapper); + IPage<MdcMessageApproval> pageList = mdcMessageApprovalService.pageList(userId, page, mdcMessageApproval, req); return Result.OK(pageList); } @@ -67,7 +77,13 @@ @ApiOperation(value = "mdc娑堟伅纭琛�-娣诲姞", notes = "mdc娑堟伅纭琛�-娣诲姞") @PostMapping(value = "/add") public Result<?> add(@RequestBody MdcMessageApproval mdcMessageApproval) { - mdcMessageApprovalService.save(mdcMessageApproval); + if (StringUtils.isBlank(mdcMessageApproval.getEquipmentId())) { + return Result.error("鏈�夋嫨璁惧锛岃鎺掓煡锛�"); + } + boolean result = mdcMessageApprovalService.add(mdcMessageApproval); + if (!result) { + return Result.error("娣诲姞澶辫触锛�"); + } return Result.OK("娣诲姞鎴愬姛锛�"); } @@ -150,4 +166,57 @@ return super.importExcel(request, response, MdcMessageApproval.class); } + /** + * 涓婃姤鍘熷洜 + */ + @AutoLog(value = "mdc娑堟伅纭琛�-涓婃姤鍘熷洜") + @ApiOperation(value = "mdc娑堟伅纭琛�-涓婃姤鍘熷洜", notes = "mdc娑堟伅纭琛�-涓婃姤鍘熷洜") + @RequestMapping(value = "/reportReason", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<?> reportReason(@RequestBody MdcMessageApproval mdcMessageApproval) { + mdcMessageApproval.setMsgStatus(MdcConstant.MSG_STATUS_1); + mdcMessageApprovalService.updateById(mdcMessageApproval); + List<String> approverIdList = Arrays.asList(mdcMessageApproval.getApproverIds().split(",")); + for (String approverId : approverIdList) { + //涓婃姤鍘熷洜鍙戦�佹秷鎭粰纭浜� + MessageDTO messageDTO = new MessageDTO(); + messageDTO.setTitle("璁惧鐘舵�侀暱鏃堕棿鏈彉鍖栧師鍥犱笂鎶ョ‘璁わ紒"); + messageDTO.setMessageType(MessageSplitTypeEnum.statusPermanentlyNoChange.getType()); + messageDTO.setCategory("娑堟伅"); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + messageDTO.setFromUser(user.getUsername()); + LoginUser userById = sysBaseApi.getUserById(approverId); + messageDTO.setToUser(userById.getUsername()); + messageDTO.setContent("璁惧缂栧彿涓� [" + mdcMessageApproval.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏃堕棿鏈彉鍖栧師鍥犱笂鎶ュ緟纭锛�"); + sysBaseApi.sendSysAnnouncement(messageDTO); + } + + return Result.OK("涓婃姤鎴愬姛锛�"); + } + + /** + * 澶勭悊纭 + */ + @AutoLog(value = "mdc娑堟伅纭琛�-澶勭悊纭") + @ApiOperation(value = "mdc娑堟伅纭琛�-澶勭悊纭", notes = "mdc娑堟伅纭琛�-澶勭悊纭") + @RequestMapping(value = "/handleConfirm", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<?> handleConfirm(@RequestBody MdcMessageApproval mdcMessageApproval) { + if (mdcMessageApproval.getMsgStatus().equals(MdcConstant.MSG_STATUS_3)) { + //澶勭悊琚嫆缁濓紝闇�閲嶆柊涓婃姤鍘熷洜 + //涓婃姤鍘熷洜鍙戦�佹秷鎭粰纭浜� + MessageDTO messageDTO = new MessageDTO(); + messageDTO.setTitle("璁惧鐘舵�佹秷鎭紒"); + messageDTO.setCategory("娑堟伅"); + messageDTO.setFromUser("admin"); + messageDTO.setMessageType(MessageSplitTypeEnum.statusPermanentlyNoChange.getType()); + messageDTO.setToUser(mdcMessageApproval.getUpdateBy()); + messageDTO.setContent("鎮ㄧ殑璁惧缂栧彿涓� [" + mdcMessageApproval.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏃堕棿鏈彉鍖栦笂鎶ュ凡琚澶囪秴绾х鐞嗗憳鎷掔粷锛岃閲嶆柊濉啓涓婃姤鍘熷洜锛�"); + sysBaseApi.sendSysAnnouncement(messageDTO); + } + mdcMessageApprovalService.updateById(mdcMessageApproval); + + return Result.OK("鎴愬姛锛�"); + } + + + } -- Gitblit v1.9.3