From e23023b93f34286f5a807b0b85e9a0619a297ed7 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期二, 21 二月 2023 23:25:34 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-community/src/main/java/com/java110/community/cmd/ownerRepair/GrabbingRepairCmd.java |   38 +++++++++++++++++++++++++++++++-------
 1 files changed, 31 insertions(+), 7 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..d7e30d8 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,7 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Cmd;
-import com.java110.core.context.DataFlowContext;
+import com.java110.core.annotation.Java110Transactional;
 import com.java110.core.context.ICmdDataFlowContext;
 import com.java110.core.event.cmd.Cmd;
 import com.java110.core.event.cmd.CmdEvent;
@@ -10,11 +10,13 @@
 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.constant.MappingConstant;
 import com.java110.utils.exception.CmdException;
 import com.java110.utils.lock.DistributedLock;
 import com.java110.utils.util.Assert;
@@ -49,6 +51,9 @@
     @Autowired
     private IRepairUserV1InnerServiceSMO repairUserV1InnerServiceSMOImpl;
 
+    @Autowired
+    private IUserV1InnerServiceSMO userV1InnerServiceSMOImpl;
+
 
     //鍩�
     public static final String DOMAIN_COMMON = "DOMAIN.COMMON";
@@ -60,12 +65,30 @@
     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
+    @Java110Transactional
     public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        String userId = context.getReqHeaders().get("user-id");
+
+        if(userId.startsWith("-") || StringUtil.isEmpty(userId)){
+            userId = reqJson.getString("userId");
+        }
+
+        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");
@@ -82,7 +105,7 @@
             repair.setCommunityId(reqJson.getString("communityId"));
             int i = repairInnerServiceSMOImpl.queryStaffRepairsCount(repair);
             //鍙栧嚭寮�鍏虫槧灏勭殑鍊�(缁翠慨甯堝倕鏈鐞嗘渶澶у崟鏁�)
-            String repairNumber = MappingCache.getValue(DOMAIN_COMMON, REPAIR_NUMBER);
+            String repairNumber = MappingCache.getValue(MappingConstant.REPAIR_DOMAIN, REPAIR_NUMBER);
             if (i >= Integer.parseInt(repairNumber)) {
                 ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "鎮ㄦ湁瓒呰繃" + Integer.parseInt(repairNumber) + "鏉℃湭澶勭悊鐨勮鍗曟�ラ渶澶勭悊锛岃澶勭悊瀹屾垚鍚庡啀杩涜鎶㈠崟锛�");
                 context.setResponseEntity(responseEntity);
@@ -144,7 +167,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 +216,6 @@
         int flag = repairPoolV1InnerServiceSMOImpl.updateRepairPoolNew(repairPoolPo);
         if (flag < 1) {
             throw new CmdException("淇敼宸ュ崟澶辫触");
-        }    }
+        }
+    }
 }

--
Gitblit v1.8.0