From ecb58a0996cfc4aab911425ba1cea2ba28cc2661 Mon Sep 17 00:00:00 2001
From: Lius <Lius2225@163.com>
Date: 星期四, 07 三月 2024 16:13:33 +0800
Subject: [PATCH] 设备消息上报及处理接口

---
 lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcMessageApprovalController.java |   67 +++++++++++++++++++++++++++++++--
 1 files changed, 63 insertions(+), 4 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..951b653 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,18 @@
 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.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.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 +22,7 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import java.util.Arrays;
+import java.util.List;
 
 /**
  * @Description: mdc娑堟伅纭琛�
@@ -34,6 +38,9 @@
 
     @Resource
     private IMdcMessageApprovalService mdcMessageApprovalService;
+
+    @Resource
+    private ISysBaseAPI sysBaseApi;
 
     /**
      * 鍒嗛〉鍒楄〃鏌ヨ
@@ -51,9 +58,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);
     }
 
@@ -150,4 +158,55 @@
         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.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.setToUser(mdcMessageApproval.getUpdateBy());
+            messageDTO.setContent("鎮ㄧ殑璁惧缂栧彿涓� [" + mdcMessageApproval.getEquipmentId() + "] 鐨勮澶囩姸鎬侀暱鏃堕棿鏈彉鍖栦笂鎶ュ凡琚澶囪秴绾х鐞嗗憳鎷掔粷锛岃閲嶆柊濉啓涓婃姤鍘熷洜锛�");
+            sysBaseApi.sendSysAnnouncement(messageDTO);
+        }
+        mdcMessageApprovalService.updateById(mdcMessageApproval);
+
+        return Result.OK("鎴愬姛锛�");
+    }
+
+
+
 }

--
Gitblit v1.9.3