lipenghui 2 luni în urmă
părinte
comite
2bb2d5f4a2

+ 4 - 4
yudao-module-bpm/yudao-module-bpm-biz/src/main/java/cn/iocoder/yudao/module/bpm/service/message/BpmMessageServiceImpl.java

@@ -91,8 +91,8 @@ public class BpmMessageServiceImpl implements BpmMessageService {
             templateParams.put("processcode", reqDTO.getProcessInstanceId());
             notifyMessageSendApi.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO()
                     .setUserId(reqDTO.getAssigneeUserId()).setTemplateCode(templateCode).setTemplateParams(templateParams));
-            msg = "【PMS】您有新的故障上报流程待处理,请审批。"+"["+ DateUtil.format(new Date(),"yyyy-MM-dd hh:mm:ss")+"]";
-            url="https://iot.deepoil.cc/bpm/process-instance/detail?id="+reqDTO.getProcessInstanceId();
+            msg = "您有新的故障上报流程待处理,请审批。"+"["+ DateUtil.format(new Date(),"yyyy-MM-dd hh:mm:ss")+"]";
+            url="http://iot.deepoil.cc/dingding?id="+reqDTO.getProcessInstanceId()+"&type=failureReport";
         } else if ("委外维修工单流程".equals(reqDTO.getProcessInstanceName())){
             String templateCode = "maintain-out";
             templateParams.put("businessType", "maintainOut");
@@ -100,8 +100,8 @@ public class BpmMessageServiceImpl implements BpmMessageService {
             templateParams.put("processcode", reqDTO.getProcessInstanceId());
             notifyMessageSendApi.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO()
                     .setUserId(reqDTO.getAssigneeUserId()).setTemplateCode(templateCode).setTemplateParams(templateParams));
-            msg = "【PMS】您有新的委外维修流程,请审批。"+"["+ DateUtil.format(new Date(),"yyyy-MM-dd hh:mm:ss")+"]";
-            url="https://iot.deepoil.cc/bpm/process-instance/detail?id="+reqDTO.getProcessInstanceId();
+            msg = "您有新的委外维修流程,请审批。"+"["+ DateUtil.format(new Date(),"yyyy-MM-dd hh:mm:ss")+"]";
+            url="https://iot.deepoil.cc/dingding?id="+reqDTO.getProcessInstanceId()+"&type=maintainOut";
         }
         dingtalkSendApi.send(user.getMobile(), msg,"link",url);
     }

+ 2 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/job/InspectCreateOrderJob.java

@@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.pms.job;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
 import cn.iocoder.yudao.framework.common.exception.ServiceException;
+import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
 import cn.iocoder.yudao.framework.quartz.core.handler.JobHandler;
 import cn.iocoder.yudao.framework.tenant.core.job.TenantJob;
 import cn.iocoder.yudao.module.pms.dal.dataobject.inspect.IotInspectPlanDO;
@@ -30,6 +31,7 @@ public class InspectCreateOrderJob implements JobHandler {
     @Override
     @TenantJob
     @Transactional(rollbackFor = Exception.class)
+    @DataPermission(enable = false)
     public String execute(String param) throws Exception {
         try {
             List<IotInspectPlanDO> plans = iotInspectPlanMapper.selectList();

+ 35 - 0
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/message/PmsMessage.java

@@ -0,0 +1,35 @@
+package cn.iocoder.yudao.module.pms.message;
+
+import cn.hutool.core.date.DateUtil;
+import cn.iocoder.yudao.module.pms.constant.PmsConstants;
+import cn.iocoder.yudao.module.system.api.dingtalk.DingtalkSendApi;
+import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
+import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+public class PmsMessage {
+    @Autowired
+    private NotifyMessageSendApi notifyMessageSendApi;
+    @Resource
+    private DingtalkSendApi dingtalkSendApi;
+
+    public void sendMessage(Long businessId, String name, String businessType, Long userId, String mobile){
+        Map<String, Object> templateParams = new HashMap<>();
+        templateParams.put("name", name);
+        templateParams.put("businessType", businessType);
+        templateParams.put("businessId", businessId);
+        notifyMessageSendApi.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO()
+                .setUserId(userId).setTemplateCode(PmsConstants.GENERATE_INSPECT_TEMPLATE).setTemplateParams(templateParams));
+        //发送钉钉消息
+        String msg = "您有新的巡检工单待处理,请审批。"+"["+ DateUtil.format(new Date(),"yyyy-MM-dd hh:mm:ss")+"]";
+        String url="https://iot.deepoil.cc/dingding?id="+businessId+"&type="+businessType;
+        dingtalkSendApi.send(mobile, msg,"link", url);
+    }
+}

+ 5 - 8
yudao-module-pms/yudao-module-pms-biz/src/main/java/cn/iocoder/yudao/module/pms/service/inspect/IotInspectOrderServiceImpl.java

@@ -16,7 +16,9 @@ import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectItemMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectOrderDetailMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectOrderMapper;
 import cn.iocoder.yudao.module.pms.dal.mysql.inspect.IotInspectPlanMapper;
+import cn.iocoder.yudao.module.pms.message.PmsMessage;
 import cn.iocoder.yudao.module.pms.service.iotdeviceperson.IotDevicePersonService;
+import cn.iocoder.yudao.module.system.api.dingtalk.DingtalkSendApi;
 import cn.iocoder.yudao.module.system.api.notify.NotifyMessageSendApi;
 import cn.iocoder.yudao.module.system.api.notify.dto.NotifySendSingleToUserReqDTO;
 import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
@@ -64,8 +66,8 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
     private IotInspectPlanMapper iotInspectPlanMapper;
     @Autowired
     private IotDevicePersonService iotDevicePersonService;
-    @Autowired
-    private NotifyMessageSendApi notifyMessageSendApi;
+    @Resource
+    private PmsMessage pmsMessage;
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -273,12 +275,7 @@ public class IotInspectOrderServiceImpl implements IotInspectOrderService {
             iotInspectPlan.setLastCreateTime(LocalDateTime.now());
             iotInspectPlanMapper.updateById(iotInspectPlan);
             //发送消息
-            Map<String, Object> templateParams = new HashMap<>();
-            templateParams.put("name", iotInspectOrderDO.getInspectOrderTitle());
-            templateParams.put("businessType", PmsConstants.GENERATE_INSPECT);
-            templateParams.put("businessId", iotInspectOrderDO.getId());
-            notifyMessageSendApi.sendSingleMessageToAdmin(new NotifySendSingleToUserReqDTO()
-                    .setUserId(k).setTemplateCode(PmsConstants.GENERATE_INSPECT_TEMPLATE).setTemplateParams(templateParams));
+            pmsMessage.sendMessage(iotInspectOrderDO.getId(), iotInspectOrderDO.getInspectOrderTitle(), PmsConstants.GENERATE_INSPECT, k, user.getMobile());
         });
     }
 

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/dingtalk/DingtalkSendServiceImpl.java

@@ -79,7 +79,7 @@ public class DingtalkSendServiceImpl implements DingtalkSendApi {
             }
             DingTalkMsgParams dingTalkMsgParams = new DingTalkMsgParams();
             dingTalkMsgParams.setMessageUrl(jumpUrl);
-            dingTalkMsgParams.setTitle("DeepOil-PMS");
+            dingTalkMsgParams.setTitle("DeepOil-PMS消息提醒");
             dingTalkMsgParams.setPicUrl("https://iot.deepoil.cc/images/logo.png");
             OapiMessageCorpconversationAsyncsendV2Request.Msg msg = this.createOapiMessageMsg(dingTalkMsgParams, sendContent, type);
             req.setMsg(msg);