From 82770eba6763cf3acee9e67533859606e1d6db1a Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 24 十月 2022 14:09:15 +0800
Subject: [PATCH] 优化 抢单 报错问题

---
 service-community/src/main/java/com/java110/community/cmd/ownerRepair/GrabbingRepairCmd.java |   28 ++++++++++++++++++++++------
 1 files changed, 22 insertions(+), 6 deletions(-)

diff --git a/service-community/src/main/java/com/java110/community/cmd/ownerRepair/GrabbingRepairCmd.java b/service-community/src/main/java/com/java110/community/cmd/ownerRepair/GrabbingRepairCmd.java
index 38ffae1..13bb37c 100644
--- a/service-community/src/main/java/com/java110/community/cmd/ownerRepair/GrabbingRepairCmd.java
+++ b/service-community/src/main/java/com/java110/community/cmd/ownerRepair/GrabbingRepairCmd.java
@@ -2,7 +2,6 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
-import com.java110.core.context.DataFlowContext;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
@@ -10,11 +9,12 @@
 import com.java110.dto.repair.RepairDto;
 import com.java110.dto.repair.RepairTypeUserDto;
 import com.java110.dto.repair.RepairUserDto;
+import com.java110.dto.user.UserDto;
 import com.java110.intf.community.*;
+import com.java110.intf.user.IUserV1InnerServiceSMO;
 import com.java110.po.owner.RepairPoolPo;
 import com.java110.po.owner.RepairUserPo;
 import com.java110.utils.cache.MappingCache;
-import com.java110.utils.constant.BusinessTypeConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.lock.DistributedLock;
 import com.java110.utils.util.Assert;
@@ -49,6 +49,9 @@
     @Autowired
     private IRepairUserV1InnerServiceSMO repairUserV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
 
     //鍩�
     public static final String DOMAIN_COMMON = "DOMAIN.COMMON";
@@ -60,12 +63,24 @@
     public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException {
         Assert.hasKeyAndValue(reqJson, "repairId", "鏈寘鍚姤淇崟淇℃伅");
         Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖轰俊鎭�");
-        Assert.hasKeyAndValue(reqJson, "userId", "鏈寘鍚敤鎴稩D");
-        Assert.hasKeyAndValue(reqJson, "userName", "鏈寘鍚敤鎴峰悕绉�");
+//        Assert.hasKeyAndValue(reqJson, "userId", "鏈寘鍚敤鎴稩D");
+//        Assert.hasKeyAndValue(reqJson, "userName", "鏈寘鍚敤鎴峰悕绉�");
     }
 
     @Override
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        String userId = context.getReqHeaders().get("user-id");
+        Assert.hasLength(userId, "鍛樺伐涓嶅瓨鍦�");
+
+        UserDto userDto = new UserDto();
+        userDto.setUserId(userId);
+        List<UserDto> userDtos = userV1InnerServiceSMOImpl.queryUsers(userDto);
+
+        Assert.listOnlyOne(userDtos, "鏈煡璇㈠埌鐢ㄦ埛淇℃伅");
+
+        reqJson.put("userId", userId);
+        reqJson.put("userName", userDtos.get(0).getName());
+
         int flag = 0;
         String requestId = DistributedLock.getLockUUID();
         String key = this.getClass().getSimpleName() + reqJson.getString("repairId");
@@ -144,7 +159,7 @@
                     repairUserDto.setRepairEvent(RepairUserDto.REPAIR_EVENT_START_USER);
                     List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
                     Assert.listOnlyOne(repairUserDtos, "鏈壘鍒板紑濮嬭妭鐐规垨鎵惧埌澶氭潯");
-                    String userId = reqJson.getString("userId");
+                    userId = reqJson.getString("userId");
                     String userName = reqJson.getString("userName");
                     RepairUserPo repairUserPo = new RepairUserPo();
                     repairUserPo.setRuId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_ruId));
@@ -193,5 +208,6 @@
         int flag = repairPoolV1InnerServiceSMOImpl.updateRepairPoolNew(repairPoolPo);
         if (flag < 1) {
             throw new CmdException("淇敼宸ュ崟澶辫触");
-        }    }
+        }
+    }
 }

--
Gitblit v1.8.0