lyhzzz преди 2 години
родител
ревизия
b5acc956d1

+ 21 - 16
src/main/java/com/fdkankan/sale/common/RepairStatusProcessComing.java

@@ -10,21 +10,21 @@ public enum RepairStatusProcessComing {
      *      *      * status 0待接单,10待检测,20待报价,30待确认,40已取消,50待备料,60维修中,70待测试,
      *      *      *        80待支付(已完结),90待回收,91取消维修备件回收,100待发货,110已发货
      */
-    TO_BE_RECEIVED(0, "待接单","售后接单","待售后接单",""),
-    TO_BE_CHECK(10, "待检测","维修检测","{userName}检测中","repairMan"),
-    TO_BE_QUOTED(20, "待报价","维修报价","{userName}费用确认中","sale"),
-    TO_BE_CONFIRMED(30,"待确认", "维修确认","待确认报价",""),
-    TO_BE_CANCELED(40, "已取消","维修支付","待支付费用","sale"),
-    TO_BE_U8SEND(41, "待发件","待发件","待提交发货单",""),
-    TO_BE_PREPARED(50,"待备料","备件准备", "{userName}正在准备所需备件","repairSupply"),
-    TO_BE_REPAIRED(60, "维修中","设备维修","{userName}维修中","repairMan"),
-    TO_BE_TESTED(70, "待测试","维修测试","{userName}正在测试","tester"),
-    TO_BE_PAID(80, "待支付","维修支付","待支付费用","sale"),
-    TO_BE_PAID_OVER(82, "待核账","收款核账","待核对到账情况",""),
-    TO_BE_RECOVERED(90, "待回收","备件回收","待回收备件","repairSupply"),
-    TO_BE_CANCELED_RECOVERED(91,"取消维修备件回收","备件回收", "待回收备件","repairSupply"),
-    TO_BE_SHIPPED(100, "待发货","维修完毕","待取回/寄回设备","sale"),
-    OVER_SHIPPED(110, "已发货","维修完毕","{userName}已完成发货","sale"),
+    TO_BE_RECEIVED(0, "待接单","售后接单","待售后接单","",""),
+    TO_BE_CHECK(10, "待检测","维修检测","{userName}检测中","repairMan","repairMan"),
+    TO_BE_QUOTED(20, "待报价","维修报价","{userName}费用确认中","sale","sale"),
+    TO_BE_CONFIRMED(30,"待确认", "维修确认","待确认报价","",""),
+    TO_BE_CANCELED(40, "已取消","维修支付","待支付费用","sale","sale"),
+    TO_BE_U8SEND(41, "待发件","待发件","待提交发货单","","sale"),
+    TO_BE_PREPARED(50,"待备料","备件准备", "{userName}正在准备所需备件","repairSupply","repairSupply"),
+    TO_BE_REPAIRED(60, "维修中","设备维修","{userName}维修中","repairMan","repairMan"),
+    TO_BE_TESTED(70, "待测试","维修测试","{userName}正在测试","tester","tester"),
+    TO_BE_PAID(80, "待支付","维修支付","待支付费用","sale","sale"),
+    TO_BE_PAID_OVER(82, "待核账","收款核账","待核对到账情况","",""),
+    TO_BE_RECOVERED(90, "待回收","备件回收","待回收备件","repairSupply","sale"),
+    TO_BE_CANCELED_RECOVERED(91,"取消维修备件回收","备件回收", "待回收备件","repairSupply","sale"),
+    TO_BE_SHIPPED(100, "待发货","维修完毕","待取回/寄回设备","sale","sale"),
+    OVER_SHIPPED(110, "已发货","维修完毕","{userName}已完成发货","sale","sale"),
     ;
 
     private Integer status;
@@ -32,13 +32,15 @@ public enum RepairStatusProcessComing {
     private String title;
     private String subTitle;
     private String role;
+    private String dingdingRole;
 
-    private RepairStatusProcessComing(Integer status, String msg, String title, String subTitle,String role) {
+    private RepairStatusProcessComing(Integer status, String msg, String title, String subTitle,String role,String dingdingRole) {
         this.status = status;
         this.msg = msg;
         this.title = title;
         this.subTitle = subTitle;
         this.role = role;
+        this.dingdingRole = dingdingRole;
     }
 
     public Integer getStatus() {
@@ -60,6 +62,9 @@ public enum RepairStatusProcessComing {
     public String getRole() {
         return role;
     }
+    public String getDingdingRole() {
+        return dingdingRole;
+    }
 
     private static Map<Integer, RepairStatusProcessComing> map ;
 

+ 1 - 1
src/main/java/com/fdkankan/sale/common/RepairStatusProcessIng.java

@@ -18,7 +18,7 @@ public enum RepairStatusProcessIng {
     TO_BE_QUOTED(20, "待报价","维修检测","{userName}完成检测","repairMan"),
     TO_BE_CONFIRMED(30,"待确认", "维修报价","{userName}完成报价","sale"),
     TO_BE_CANCELED(40, "已取消","维修取消","已取消维修",""),
-    TO_BE_U8SEND(41, "待发件","维修确认","已确认维修","sale"),
+    TO_BE_U8SEND(41, "待发件","维修确认","已确认维修",""),
     TO_BE_PREPARED(50,"待备料","发件准备", "{userName}已完成发件","u8"),
     TO_BE_PREPARED_1(51,"维修中添加备件","维修检测", "{userName}维修中添加备件","repairMan"),
     TO_BE_REPAIRED(60, "维修中","备件准备","{userName}完成备料","repairSupply"),

+ 26 - 5
src/main/java/com/fdkankan/sale/service/impl/DingService.java

@@ -4,15 +4,13 @@ import com.alibaba.fastjson.JSONObject;
 import com.fdkankan.fyun.face.FYunFileServiceInterface;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.sale.common.*;
-import com.fdkankan.sale.entity.DingConfig;
-import com.fdkankan.sale.entity.Repair;
-import com.fdkankan.sale.entity.RepairLog;
-import com.fdkankan.sale.entity.SysUser;
+import com.fdkankan.sale.entity.*;
 import com.fdkankan.sale.exception.BusinessException;
 import com.fdkankan.sale.httpClient.client.DingClient;
 import com.fdkankan.sale.httpClient.request.DingMsgReq;
 import com.fdkankan.sale.httpClient.request.OaData;
 import com.fdkankan.sale.service.IDingConfigService;
+import com.fdkankan.sale.service.IOrderReceivingService;
 import com.fdkankan.sale.service.IRepairService;
 import com.fdkankan.sale.service.ISysUserService;
 import com.fdkankan.sale.util.StatusUtil;
@@ -48,6 +46,8 @@ public class DingService {
     RepairInfoService repairInfoService;
     @Autowired
     ISysUserService sysUserService;
+    @Autowired
+    IOrderReceivingService orderReceivingService;
 
     private String getAccessToken(){
         DingConfig dingConfig = dingConfigService.getByServeName(CacheUtil.dingServeName);
@@ -197,8 +197,29 @@ public class DingService {
         if(nextStepVo == null){
             return null;
         }
+        String role = RepairStatusProcessComing.getByStatus(nextStepVo.getRepairStatus()).getDingdingRole();
+        Long sysUserId = nextStepVo.getSysUserId();
+        if(StringUtils.isNotBlank(role)) {
+            OrderReceiving orderReceiving = orderReceivingService.getByRepairId(nextStepVo.getRepairId());
+            switch (role) {
+                case "sale":
+                    sysUserId = orderReceiving.getSysUserId();
+                    break;
+                case "repairMan":
+                    sysUserId = orderReceiving.getRepairManId();
+                    break;
+                case "repairSupply":
+                    sysUserId = orderReceiving.getSupplyAdminId();
+                    break;
+                case "tester":
+                    sysUserId = orderReceiving.getTesterId();
+                    break;
+                default:
+                    sysUserId = nextStepVo.getSysUserId();
+            }
+        }
         oaData.setDescription(nextStepVo.getSubTitle());
-        oaData.setSysUserId(nextStepVo.getSysUserId());
+        oaData.setSysUserId(sysUserId);
         return oaData;
     }