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