xiongchao 3 years ago
parent
commit
cc744c670e

+ 34 - 23
platform-service/src/main/java/com/platform/service/repair/impl/RepairApplicationFormServiceImpl.java

@@ -255,19 +255,29 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
         List<String> userIds = new ArrayList<>();
         List<String> mails = new ArrayList<>();
         SbInfo sbInfo = sbInfoService.getModelById(model.getSbId());
-
         List<String> receiverList = new ArrayList<String>();
-        if(StringUtils.isNotBlank(sbInfo.getRepairUser())){
-            SysUserVO user = sysUserService.selectUserVO(sbInfo.getRepairUser());
-            userIds.add(sbInfo.getRepairUser());
-            openIds.add(user.getWxOpenid());
-            mails.add(user.getEmail());
-        }
-        if(StringUtils.isNotBlank(sbInfo.getRepairUserSecond())){
-            SysUserVO user = sysUserService.selectUserVO(sbInfo.getRepairUserSecond());
-            userIds.add(sbInfo.getRepairUserSecond());
-            openIds.add(user.getWxOpenid());
-            mails.add(user.getEmail());
+
+        // 发送短信通知给所有维修,且必须是正式环境
+        SysUserDTO sysUserDTO = new SysUserDTO();
+        sysUserDTO.setRoleCode(SysRoleCodeEnum.Maintenance.name());
+        List<SysUserVO> sysUserVOList = sysUserService.getDeptChildrenRoleUser(sysUserDTO);
+        if(CollectionUtil.isNotEmpty(sysUserVOList)){
+            for(SysUserVO sysUserVO:sysUserVOList){
+                // 站内信需要用户id
+                userIds.add(sysUserVO.getUserId());
+                if(StringUtils.isNotBlank(sysUserVO.getWxOpenid())){
+                    // 微信id
+                    openIds.add(sysUserVO.getWxOpenid());
+                }
+                if(StringUtils.isNotBlank(sysUserVO.getWxOpenid())){
+                    // 手机
+                    receiverList.add(sysUserVO.getPhone());
+                }
+                if(StringUtils.isNotBlank(sysUserVO.getWxOpenid())){
+                    // 邮箱
+                    mails.add(sysUserVO.getEmail());
+                }
+            }
         }
         model.setStatus(RepairApplicationFormStatusEnum.NOT_ALLOCATED.getValue());
         model.setApplyTime(LocalDateTime.now());
@@ -295,19 +305,20 @@ public class RepairApplicationFormServiceImpl extends BaseServiceImpl<RepairAppl
                 model.getId(), userIds, mails));
 
         // 发送微信通知给所有维修人角色
-      /*  for(String openId : openIds){
-            WeChatMessageUtil.repairMessage( openId, repairUrl,model,sb);
-        }*/
-        // 发送短信通知给第一维修人,和第二维修人,其他人不发短信,且必须是正式环境
-        SysUserDTO sysUserDTO = new SysUserDTO();
-        sysUserDTO.setRoleCode(SysRoleCodeEnum.Maintenance.name());
-        List<SysUserVO> sysUserVOList = sysUserService.getDeptChildrenRoleUser(sysUserDTO);
-        if(CollectionUtil.isNotEmpty(sysUserVOList)){
-            for(SysUserVO sysUserVO:sysUserVOList){
-                System.out.println(sysUserVO.getPhone());
-                receiverList.add(sysUserVO.getPhone());
+        if(CollectionUtil.isNotEmpty(openIds)){
+            String mobileDomain = ConfigCache.getLabelByValueAllowNull(SysConfigEnum.SYSTEM_DOMAIN_MOBILE.name());
+            if(StringUtils.isBlank(mobileDomain)){
+                throw new BusinessException("请先设置系统域名地址,系统管理-》系统参数配置-》SYSTEM_DOMAIN_MOBILE");
+            }
+            if(!mobileDomain.endsWith("/")){
+                mobileDomain = mobileDomain + "/";
+            }
+            String mobileRepairUrl = mobileDomain + "pages/service-add/service-add?id=" + model.getId();
+            for(String openId : openIds){
+                WeChatMessageUtil.repairMessage( openId, mobileRepairUrl,model,sb);
             }
         }
+
         if(CollectionUtil.isNotEmpty(receiverList) && BeanUtils.isProd()){
             // String templateParas_repair = "[\"C-001\",\"1号车间\",\"熊超\"]";
             String no = sb.getNo();