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/service/IMdcMessageApprovalService.java | 8 ++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcMessageApprovalServiceImpl.java | 25 ++++++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcMessageApprovalController.java | 67 +++++++++++++++++++++- lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcMessageApprovalMapper.xml | 17 +++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcMessageApproval.java | 14 ++++ lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcMessageApprovalMapper.java | 8 ++ 6 files changed, 134 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..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("鎴愬姛锛�"); + } + + + } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcMessageApproval.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcMessageApproval.java index c76b286..1ac751e 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcMessageApproval.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcMessageApproval.java @@ -1,5 +1,6 @@ package org.jeecg.modules.mdc.entity; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -81,5 +82,16 @@ @Excel(name = "涓婃姤鍐呭", width = 15) @ApiModelProperty(value = "涓婃姤鍐呭") private String reportContent; - + /** + * 澶勭悊鎸夐挳 + */ + @TableField(exist = false) + @ApiModelProperty(value = "澶勭悊鎸夐挳") + private Boolean hasProcess = false; + /** + * 纭鎸夐挳 + */ + @TableField(exist = false) + @ApiModelProperty(value = "纭鎸夐挳") + private Boolean hasConfirm = false; } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcMessageApprovalMapper.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcMessageApprovalMapper.java index 00ba35e..d5fae4d 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcMessageApprovalMapper.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcMessageApprovalMapper.java @@ -1,6 +1,9 @@ package org.jeecg.modules.mdc.mapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; import org.jeecg.modules.mdc.entity.MdcMessageApproval; /** @@ -11,4 +14,9 @@ */ public interface MdcMessageApprovalMapper extends BaseMapper<MdcMessageApproval> { + /** + * 鍒楄〃鏌ヨ + */ + IPage<MdcMessageApproval> pageList(@Param("userId") String userId, Page<MdcMessageApproval> page, @Param("mdcMessageApproval") MdcMessageApproval mdcMessageApproval); + } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcMessageApprovalMapper.xml b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcMessageApprovalMapper.xml index 39169e2..e2b4aa5 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcMessageApprovalMapper.xml +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcMessageApprovalMapper.xml @@ -2,4 +2,21 @@ <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="org.jeecg.modules.mdc.mapper.MdcMessageApprovalMapper"> + <!--鍒楄〃鏌ヨ--> + <select id="pageList" resultType="org.jeecg.modules.mdc.entity.MdcMessageApproval"> + SELECT + * + FROM + mdc_message_approval + <where> + (sender_ids LIKE CONCAT(CONCAT('%',#{userId}),'%') OR approver_ids LIKE CONCAT(CONCAT('%',#{userId}),'%')) + <if test="mdcMessageApproval.equipmentId != null and mdcMessageApproval.equipmentId != ''"> + AND equipment_id = #{mdcMessageApproval.equipmentId} + </if> + <if test="mdcMessageApproval.msgStatus != null and mdcMessageApproval.msgStatus != ''"> + AND msg_status = #{msgStatus} + </if> + </where> + ORDER BY create_time DESC + </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcMessageApprovalService.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcMessageApprovalService.java index 71dbfb7..aa7cb03 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcMessageApprovalService.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcMessageApprovalService.java @@ -1,7 +1,11 @@ package org.jeecg.modules.mdc.service; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.mdc.entity.MdcMessageApproval; + +import javax.servlet.http.HttpServletRequest; /** * @Description: mdc娑堟伅纭琛� @@ -11,4 +15,8 @@ */ public interface IMdcMessageApprovalService extends IService<MdcMessageApproval> { + /** + * 鍒楄〃鏌ヨ + */ + IPage<MdcMessageApproval> pageList(String userId, Page<MdcMessageApproval> page, MdcMessageApproval mdcMessageApproval, HttpServletRequest req); } diff --git a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcMessageApprovalServiceImpl.java b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcMessageApprovalServiceImpl.java index 0beff04..8c3565a 100644 --- a/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcMessageApprovalServiceImpl.java +++ b/lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcMessageApprovalServiceImpl.java @@ -1,10 +1,16 @@ package org.jeecg.modules.mdc.service.impl; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.jeecg.modules.mdc.constant.MdcConstant; import org.jeecg.modules.mdc.entity.MdcMessageApproval; import org.jeecg.modules.mdc.mapper.MdcMessageApprovalMapper; import org.jeecg.modules.mdc.service.IMdcMessageApprovalService; import org.springframework.stereotype.Service; + +import javax.servlet.http.HttpServletRequest; +import java.util.List; /** * @Description: mdc娑堟伅纭琛� @@ -15,4 +21,23 @@ @Service public class MdcMessageApprovalServiceImpl extends ServiceImpl<MdcMessageApprovalMapper, MdcMessageApproval> implements IMdcMessageApprovalService { + /** + * 鍒〃鏌ヨ + */ + @Override + public IPage<MdcMessageApproval> pageList(String userId, Page<MdcMessageApproval> page, MdcMessageApproval mdcMessageApproval, HttpServletRequest req) { + IPage<MdcMessageApproval> pageList = this.baseMapper.pageList(userId, page, mdcMessageApproval); + List<MdcMessageApproval> mdcMessageApprovalList = pageList.getRecords(); + if (mdcMessageApprovalList != null && !mdcMessageApprovalList.isEmpty()) { + pageList.getRecords().forEach(item -> { + if (item.getSenderIds().contains(userId) && (item.getMsgStatus().equals(MdcConstant.MSG_STATUS_0) || item.getMsgStatus().equals(MdcConstant.MSG_STATUS_3))) { + item.setHasProcess(true); + } + if (item.getSenderIds().contains(userId) && item.getMsgStatus().equals(MdcConstant.MSG_STATUS_1)) { + item.setHasConfirm(true); + } + }); + } + return pageList; + } } -- Gitblit v1.9.3