From b7d30839ec3e1c51bdce12583e1d1069cc6c23b4 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期四, 10 四月 2025 11:24:24 +0800
Subject: [PATCH] 工单业务

---
 server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java |   98 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 85 insertions(+), 13 deletions(-)

diff --git a/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java b/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
index 659e1f3..1c98721 100644
--- a/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
+++ b/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
@@ -10,6 +10,8 @@
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.core.utils.qiyeweixin.QywxUtil;
+import com.doumee.core.utils.qiyeweixin.model.request.QywxSendMsgRequest;
+import com.doumee.core.utils.qiyeweixin.model.request.QywxTextCardMsgRequest;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.model.*;
 import com.doumee.dao.web.dto.CloseDTO;
@@ -80,28 +82,95 @@
         //澶勭悊浜哄憳绫讳俊鎭�
         this.dealNoticeData(workorder);
         //澶勭悊SHE浜嬩欢鐘舵��
-        workorder.setStatus(Constants.equalsInteger(workorder.getType(),Constants.ZERO)?Constants.WorkOrderStatus.close.getKey():Constants.WorkOrderStatus.waitConfirm.getKey());
+        Constants.WorkOrderStatus  workOrderStatus = Constants.equalsInteger(workorder.getType(),Constants.ZERO)?Constants.WorkOrderStatus.close:Constants.WorkOrderStatus.waitConfirm;
+        workorder.setStatus(workOrderStatus.getKey());
         workorderMapper.insert(workorder);
         //瀛樺偍DCA 闂璁板綍琛�
         this.saveProblemData(workorder);
         //瀛樺偍闄勪欢淇℃伅
         this.saveMutiFile(workorder);
         //瀛樺偍鏃ュ織
-        this.dealLogData(workorder);
-        //TODO 鍙戦�佷紒寰�氱煡
+        this.dealLogData(workorder,workOrderStatus);
+        // 鍙戦�佷紒寰�氱煡
+        QywxSendMsgRequest qywxSendMsgRequest = new QywxSendMsgRequest();
+        qywxSendMsgRequest.setTouser(workorder.getQwnoticeMemberIds().replace(",","|"));
+        qywxSendMsgRequest.setMsgtype("text");
+        qywxSendMsgRequest.setAgentid(null);
+        QywxTextCardMsgRequest textCard = new QywxTextCardMsgRequest();
+        textCard.setTitle(workOrderStatus.getLogTitle());
+
+        qywxSendMsgRequest.setTextcard(textCard);
+        QywxUtil.sendMsg(systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_TOKEN).getCode(),
+                qywxSendMsgRequest);
 
         return workorder.getId();
     }
 
 
-    public void dealLogData(Workorder workorder){
-        //澶勭悊涓婃姤鏃ュ織 DCA宸ュ崟 鏃ュ織瀛樺偍鑷冲瓙涓氬姟 涓嶅瓨鍦ㄤ簬鐖剁骇
-        if(!Constants.equalsInteger(workorder.getType(),Constants.ONE)){
-            String logTitle = "宸ュ崟鎻愭姤";
-            if(!Constants.equalsInteger(workorder.getType(),Constants.ZERO)){
-                logTitle = Constants.equalsInteger(workorder.getType(),Constants.ONE)?"璺岀粖婊戦闄╂彁鎶�":"DCA涓婃姤";
+    public void sendQwMsg(Workorder workorder){
+        QywxSendMsgRequest qywxSendMsgRequest = new QywxSendMsgRequest();
+        QywxTextCardMsgRequest textCard = new QywxTextCardMsgRequest();
+        qywxSendMsgRequest.setMsgtype("text");
+        qywxSendMsgRequest.setAgentid(null);
+        textCard.setBtntxt("璇︽儏");
+        //鏂版彁浜�
+        if(Constants.equalsInteger(workorder.getStatus(),Constants.WorkOrderStatus.waitConfirm.getKey())){
+            qywxSendMsgRequest.setTouser(workorder.getQwnoticeMemberIds().replace(",","|"));
+            textCard.setUrl(null);
+            //SHE 鎻愪氦
+            if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){
+                Category category = categoryMapper.selectById(workorder.getType());
+                textCard.setTitle("銆怱HE浜嬩欢涓婃姤銆�");
+                String message  = "";
+                if(Constants.equalsInteger(workorder.getMemberType(),Constants.ZERO)){
+                    message = "鏈汉";
+                }else {
+                    message = Constants.equalsInteger(workorder.getMemberType(),Constants.ONE)?"鍚屼簨":"渚涘簲鍟�";
+                }
+                message = message + "-" + workorder.getMemberNames() + " " + DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") + workorder.getLocationName() + category.getName();
+                textCard.setDescription(" <div class=\"normal\">"+message+"</div>");
+            }else{
+
             }
-            this.saveLog(null,workorder,Constants.ZERO,workorder.getMemberId(),logTitle,null);
+        }
+        qywxSendMsgRequest.setTextcard(textCard);
+        QywxUtil.sendMsg(systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_TOKEN).getCode(),
+                qywxSendMsgRequest);
+    }
+
+
+//    public QywxTextCardMsgRequest dealMessageContent(Workorder workorder,Integer type){
+//        QywxTextCardMsgRequest textCard = new QywxTextCardMsgRequest();
+//        String message = "";
+//        if(Constants.equalsInteger(workorder.getType(),Constants.ZERO)){
+//            Category category = categoryMapper.selectById(workorder.getType());
+//            textCard.setTitle("銆怱HE浜嬩欢涓婃姤銆�");
+//            if(Constants.equalsInteger(workorder.getMemberType(),Constants.ZERO)){
+//                message = "鏈汉";
+//            }else {
+//                message = Constants.equalsInteger(workorder.getMemberType(),Constants.ONE)?"鍚屼簨":"渚涘簲鍟�";
+//            }
+//            message = message + "-" + workorder.getMemberNames() + " " + DateUtil.formatDate(new Date(),"yyyy-MM-dd HH:mm") + workorder.getLocationName() + category.getName();
+//            textCard.setDescription(" <div class=\"normal\">"+message+"</div>");
+//        }else{
+//            textCard.setTitle(Constants.equalsInteger(workorder.getType(),Constants.ONE)?"銆怐CA涓婃姤銆�":"璺岀粖婊戦闄╀笂鎶�");
+//            if(Constants.equalsInteger(workorder.getType(),Con)){
+//
+//            }
+//
+//
+//
+//        }
+//
+//    }
+
+
+
+    public void dealLogData(Workorder workorder,Constants.WorkOrderStatus workOrderStatus){
+        if (Constants.equalsInteger(workorder.getType(), Constants.THREE) || Constants.equalsInteger(workorder.getType(), Constants.TWO) ) {
+            //澶勭悊涓婃姤鏃ュ織 DCA宸ュ崟 鏃ュ織瀛樺偍鑷冲瓙涓氬姟 涓嶅瓨鍦ㄤ簬鐖剁骇  涓庤穼缁婃粦
+            String logTitle = Constants.equalsInteger(workorder.getType(), Constants.THREE) ? "璺岀粖婊戦闄�" : "DCA";
+            this.saveLog(null,workorder,Constants.ZERO,workorder.getMemberId(),workOrderStatus.getLogTitle().replace("{title}",logTitle),null);
         }
     }
 
@@ -113,6 +182,7 @@
         List<Multifile> multifileList = workorder.getMultifileList();
         if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
             for (Multifile multifile:multifileList) {
+                multifile.setIsdeleted(Constants.ZERO);
                 multifile.setObjId(workorder.getId());
                 multifile.setCreateDate(new Date());
                 multifile.setObjType(Constants.multiFileType.upload);
@@ -132,13 +202,14 @@
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(dcaNoProblemDTOList)){
                 for (DCANoProblemDTO dcaNoProblemDTO:dcaNoProblemDTOList) {
                     Category problem = categoryMapper.selectById(dcaNoProblemDTO.getProblemId());
+                    Constants.WorkOrderStatus workOrderStatus = Constants.WorkOrderStatus.waitConfirm;
                     Workorder dcaWorkOrder = new Workorder();
                     dcaWorkOrder.setCreateDate(new Date());
                     dcaWorkOrder.setEditDate(new Date());
                     dcaWorkOrder.setMemberId(workorder.getMemberId());
                     dcaWorkOrder.setTypeId(dcaNoProblemDTO.getProblemId());
                     dcaWorkOrder.setType(Constants.TWO);
-                    dcaWorkOrder.setStatus(Constants.ZERO);
+                    dcaWorkOrder.setStatus(workOrderStatus.getKey());
                     dcaWorkOrder.setIsdeleted(Constants.ZERO);
                     dcaWorkOrder.setProblemTitle(problem.getName());
                     dcaWorkOrder.setProblemId(problem.getId());
@@ -147,10 +218,11 @@
                     dcaWorkOrder.setEventInfo(dcaNoProblemDTO.getEventInfo());
                     workorderMapper.insert(dcaWorkOrder);
                     //瀛樺偍鏃ュ織
-                    this.dealLogData(dcaWorkOrder);
+                    this.dealLogData(dcaWorkOrder,workOrderStatus);
                     List<Multifile> multifileList = dcaNoProblemDTO.getMultifileList();
                     if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
                         for (Multifile multifile:multifileList) {
+                            multifile.setIsdeleted(Constants.ZERO);
                             multifile.setObjId(dcaWorkOrder.getId());
                             multifile.setCreateDate(new Date());
                             multifile.setObjType(Constants.multiFileType.upload);
@@ -296,7 +368,7 @@
         if(Objects.nonNull(workorder)){
             //鏌ヨ闄勪欢淇℃伅
             List<Multifile> multifileList = multifileMapper.selectList(new QueryWrapper<Multifile>().lambda().eq(Multifile::getIsdeleted,Constants.ZERO)
-                    .eq(Multifile::getObjId,workorder).orderByAsc(Multifile::getId));
+                    .eq(Multifile::getObjId,workorder.getId()).orderByAsc(Multifile::getId));
             if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(multifileList)){
                 String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode()
                         +systemDictDataBiz.queryByCode(Constants.FTP,Constants.WORKORDER_FILE_PATH).getCode();

--
Gitblit v1.9.3