From 65763d38cf9b6b8067a293d9c99297efea0de3e3 Mon Sep 17 00:00:00 2001
From: 928255095 <928255095@qq.com>
Date: 星期二, 07 九月 2021 22:04:15 +0800
Subject: [PATCH] Merge branch 'xinghong-dev' into 'master'
---
service-api/src/main/java/com/java110/api/listener/ownerRepair/GrabbingRepairListener.java | 49 ++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 42 insertions(+), 7 deletions(-)
diff --git a/service-api/src/main/java/com/java110/api/listener/ownerRepair/GrabbingRepairListener.java b/service-api/src/main/java/com/java110/api/listener/ownerRepair/GrabbingRepairListener.java
index 4a6f4e8..3e38fb0 100755
--- a/service-api/src/main/java/com/java110/api/listener/ownerRepair/GrabbingRepairListener.java
+++ b/service-api/src/main/java/com/java110/api/listener/ownerRepair/GrabbingRepairListener.java
@@ -13,11 +13,13 @@
import com.java110.intf.community.IRepairTypeUserInnerServiceSMO;
import com.java110.intf.community.IRepairUserInnerServiceSMO;
import com.java110.po.owner.RepairUserPo;
+import com.java110.utils.cache.MappingCache;
import com.java110.utils.constant.BusinessTypeConstant;
import com.java110.utils.constant.ServiceCodeRepairDispatchStepConstant;
import com.java110.utils.lock.DistributedLock;
import com.java110.utils.util.Assert;
import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
import com.java110.vo.ResultVo;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -34,7 +36,6 @@
@Java110Listener("grabbingRepairListener")
public class GrabbingRepairListener extends AbstractServiceApiPlusListener {
-
private static Logger logger = LoggerFactory.getLogger(GrabbingRepairListener.class);
@Autowired
@@ -49,14 +50,21 @@
@Autowired
private IRepairTypeUserInnerServiceSMO repairTypeUserInnerServiceSMOImpl;
+ @Autowired
+ private IRepairTypeUserInnerServiceSMO repairTypeUserInnerServiceSMO;
+
+ //鍩�
+ public static final String DOMAIN_COMMON = "DOMAIN.COMMON";
+
+ //閿�(缁翠慨甯堝倕鏈鐞嗘渶澶у崟鏁�)
+ public static final String REPAIR_NUMBER = "REPAIR_NUMBER";
+
@Override
protected void validate(ServiceDataFlowEvent event, JSONObject reqJson) {
Assert.hasKeyAndValue(reqJson, "repairId", "鏈寘鍚姤淇崟淇℃伅");
Assert.hasKeyAndValue(reqJson, "communityId", "鏈寘鍚皬鍖轰俊鎭�");
Assert.hasKeyAndValue(reqJson, "userId", "鏈寘鍚敤鎴稩D");
Assert.hasKeyAndValue(reqJson, "userName", "鏈寘鍚敤鎴峰悕绉�");
-
-
}
@Override
@@ -65,6 +73,19 @@
String key = this.getClass().getSimpleName() + reqJson.getString("repairId");
try {
DistributedLock.waitGetDistributedLock(key, requestId);
+ //鑾峰彇褰撳墠澶勭悊鍛樺伐id
+ String staffId = reqJson.getString("userId");
+ RepairUserDto repairUser = new RepairUserDto();
+ repairUser.setStaffId(staffId);
+ repairUser.setState("10001"); //澶勭悊涓�
+ int i = repairUserInnerServiceSMOImpl.queryRepairUsersCount(repairUser);
+ //鍙栧嚭寮�鍏虫槧灏勭殑鍊�(缁翠慨甯堝倕鏈鐞嗘渶澶у崟鏁�)
+ String repairNumber = MappingCache.getValue(DOMAIN_COMMON, REPAIR_NUMBER);
+ if (i >= Integer.parseInt(repairNumber)) {
+ ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "鎮ㄦ湁瓒呰繃" + Integer.parseInt(repairNumber) + "鏉℃湭澶勭悊鐨勮鍗曟�ラ渶澶勭悊锛岃澶勭悊瀹屾垚鍚庡啀杩涜鎶㈠崟锛�");
+ context.setResponseEntity(responseEntity);
+ return;
+ }
RepairDto repairDtoData = new RepairDto();
repairDtoData.setRepairId(reqJson.getString("repairId"));
repairDtoData.setCommunityId(reqJson.getString("communityId"));
@@ -74,7 +95,25 @@
context.setResponseEntity(responseEntity);
return;
}
+ //鑾峰彇鎶ヤ慨绫诲瀷
String repairType = repairDtoList.get(0).getRepairType();
+ RepairTypeUserDto repairTypeUser = new RepairTypeUserDto();
+ repairTypeUser.setStaffId(staffId);
+ repairTypeUser.setRepairType(repairType);
+ //鏌ヨ宸ュ崟璁剧疆琛�
+ List<RepairTypeUserDto> repairTypeUserDtos = repairTypeUserInnerServiceSMO.queryRepairTypeUsers(repairTypeUser);
+ if (repairTypeUserDtos != null && repairTypeUserDtos.size() != 1) { //鎶ヤ慨绫诲瀷璁剧疆鏈坊鍔犳敼鎿嶄綔鐨勫憳宸ワ紒
+ ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "瀵逛笉璧凤紝鎮ㄨ繕娌℃潈闄愯繘琛屾鎿嶄綔锛岃鑱旂郴绠$悊鍛樺鐞嗭紒");
+ context.setResponseEntity(responseEntity);
+ return;
+ }
+ //鑾峰彇缁翠慨甯堝倕鐘舵��
+ String staffState = repairTypeUserDtos.get(0).getState();
+ if (!StringUtil.isEmpty(staffState) && staffState.equals("8888")) { //绂荤嚎鐘舵��
+ ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_BUSINESS_VERIFICATION, "鍛樺伐澶勪簬绂荤嚎鐘舵�侊紝鏃犳硶杩涜鎿嶄綔锛�");
+ context.setResponseEntity(responseEntity);
+ return;
+ }
RepairTypeUserDto repairTypeUserDto = new RepairTypeUserDto();
repairTypeUserDto.setCommunityId(reqJson.getString("communityId"));
repairTypeUserDto.setRepairType(repairType);
@@ -85,7 +124,6 @@
context.setResponseEntity(responseEntity);
return;
}
-
//鑾峰彇鎶ヤ慨id
String repairId = reqJson.getString("repairId");
RepairDto repairDto = new RepairDto();
@@ -104,7 +142,6 @@
repairUserDto.setRepairEvent(RepairUserDto.REPAIR_EVENT_START_USER);
List<RepairUserDto> repairUserDtos = repairUserInnerServiceSMOImpl.queryRepairUsers(repairUserDto);
Assert.listOnlyOne(repairUserDtos, "鏈壘鍒板紑濮嬭妭鐐规垨鎵惧埌澶氭潯");
-
String userId = reqJson.getString("userId");
String userName = reqJson.getString("userName");
RepairUserPo repairUserPo = new RepairUserPo();
@@ -120,7 +157,6 @@
repairUserPo.setRepairEvent(RepairUserDto.REPAIR_EVENT_AUDIT_USER);
repairUserPo.setContext("");
repairUserPo.setCommunityId(reqJson.getString("communityId"));
-
super.insert(context, repairUserPo, BusinessTypeConstant.BUSINESS_TYPE_SAVE_REPAIR_USER);
ownerRepairBMOImpl.modifyBusinessRepairDispatch(reqJson, context, RepairDto.STATE_TAKING);
ResponseEntity<String> responseEntity = ResultVo.createResponseEntity(ResultVo.CODE_OK, ResultVo.MSG_OK);
@@ -136,7 +172,6 @@
} finally {
DistributedLock.releaseDistributedLock(requestId, key);
}
-
}
@Override
--
Gitblit v1.8.0