From 9957562e028ee15c64d03ec2dc9ca34e21a783fb Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期五, 02 四月 2021 01:02:37 +0800
Subject: [PATCH] 优化业务受理根据合同查询功能
---
service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java | 130 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 129 insertions(+), 1 deletions(-)
diff --git a/service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java b/service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java
index 486a859..670b5d9 100644
--- a/service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java
+++ b/service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java
@@ -2,6 +2,7 @@
import com.java110.dto.RoomDto;
import com.java110.dto.basePrivilege.BasePrivilegeDto;
+import com.java110.dto.contract.ContractDto;
import com.java110.dto.owner.OwnerCarDto;
import com.java110.dto.owner.OwnerDto;
import com.java110.dto.owner.OwnerRoomRelDto;
@@ -9,6 +10,7 @@
import com.java110.intf.common.IFileRelInnerServiceSMO;
import com.java110.intf.community.IMenuInnerServiceSMO;
import com.java110.intf.community.IRoomInnerServiceSMO;
+import com.java110.intf.store.IContractInnerServiceSMO;
import com.java110.intf.user.IOwnerCarInnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
import com.java110.intf.user.IOwnerRoomRelInnerServiceSMO;
@@ -34,6 +36,8 @@
public static final String SEARCH_TYPE_OWNER_MEMBER_NAME = "6"; //鏍规嵁瀹跺涵鎴愬憳鍚嶇О
public static final String SEARCH_TYPE_OWNER_MEMBER_TEL = "7"; //鏍规嵁瀹跺涵鎴愬憳鐢佃瘽
public static final String SEARCH_TYPE_OWNER_MEMBER_IDCARD = "8"; //鏍规嵁瀹跺涵鎴愬憳韬唤璇�
+ public static final String SEARCH_TYPE_SHOPS = "9"; //鏍规嵁鍟嗛摵鍙�
+ public static final String SEARCH_TYPE_CONTRACT = "10"; //鍚堝悓鍙�
@Autowired
private IOwnerInnerServiceSMO ownerInnerServiceSMOImpl;
@@ -56,12 +60,18 @@
@Autowired
private IMenuInnerServiceSMO menuInnerServiceSMOImpl;
+ @Autowired
+ private IContractInnerServiceSMO contractInnerServiceSMOImpl;
+
@Override
- public ResponseEntity<String> query(String communityId, String searchValue, String searchType, String userId) {
+ public ResponseEntity<String> query(String communityId, String searchValue, String searchType, String userId, String storeId) {
OwnerDto ownerDto = null;
switch (searchType) {
case SEARCH_TYPE_ROOM:
ownerDto = queryByRoom(communityId, searchValue, userId);
+ break;
+ case SEARCH_TYPE_SHOPS:
+ ownerDto = queryByShops(communityId, searchValue, userId);
break;
case SEARCH_TYPE_OWNER_NAME:
ownerDto = queryByOwnerName(communityId, searchValue, userId);
@@ -83,6 +93,9 @@
break;
case SEARCH_TYPE_OWNER_MEMBER_IDCARD:
ownerDto = queryByOwnerMemberIdCard(communityId, searchValue, userId);
+ break;
+ case SEARCH_TYPE_CONTRACT:
+ ownerDto = queryByContract(communityId, searchValue, userId, storeId);
break;
}
return ResultVo.createResponseEntity(1, 1, ownerDto);
@@ -430,6 +443,66 @@
* @param searchValue
* @return
*/
+ private OwnerDto queryByShops(String communityId, String searchValue, String userId) {
+
+ if (!searchValue.contains("-")) {
+ throw new IllegalArgumentException("鏌ヨ鍐呭鏍煎紡閿欒锛岃杈撳叆 妤兼爧-鍟嗛摵 濡� 1-1");
+ }
+
+ String[] values = searchValue.split("-");
+
+ if (values.length != 2) {
+ throw new IllegalArgumentException("鏌ヨ鍐呭鏍煎紡閿欒锛岃杈撳叆 妤兼爧-鍟嗛摵 濡� 1-1");
+ }
+
+ RoomDto roomDto = new RoomDto();
+ roomDto.setFloorNum(values[0]);
+ roomDto.setUnitNum("0");
+ roomDto.setRoomNum(values[1]);
+ roomDto.setCommunityId(communityId);
+
+ List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+ Assert.listOnlyOne(roomDtos, "鏈壘鍒版埧灞嬩俊鎭�");
+
+ OwnerDto ownerDto = new OwnerDto();
+ ownerDto.setCommunityId(communityId);
+ ownerDto.setRoomId(roomDtos.get(0).getRoomId());
+ ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
+ List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
+ Assert.listOnlyOne(ownerDtos, "鏈壘鍒颁笟涓讳俊鎭�");
+ //鏌ヨ鏄惁鏈夎劚鏁忔潈闄�
+ List<Map> mark = getPrivilegeOwnerList("/roomCreateFee", userId);
+ List<OwnerDto> ownerDtoList = new ArrayList<>();
+ for (OwnerDto owner : ownerDtos) {
+ //瀵逛笟涓昏韩浠借瘉鍙烽殣钘忓鐞�
+ String idCard = owner.getIdCard();
+ if (mark.size() == 0 && idCard != null && !idCard.equals("")) {
+ idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16);
+ }
+ //瀵逛笟涓绘墜鏈哄彿闅愯棌澶勭悊
+ String link = owner.getLink();
+ if (mark.size() == 0 && link != null && !link.equals("")) {
+ link = link.substring(0, 3) + "****" + link.substring(7);
+ }
+ owner.setIdCard(idCard);
+ owner.setLink(link);
+ ownerDtoList.add(owner);
+ }
+
+ OwnerDto resOwnerDto = ownerDtoList.get(0);
+
+ resOwnerDto.setRooms(roomDtos);
+
+ return resOwnerDto;
+ }
+
+ /**
+ * 鏍规嵁鎴垮眿鏌ヨ
+ *
+ * @param communityId
+ * @param searchValue
+ * @return
+ */
private OwnerDto queryByRoom(String communityId, String searchValue, String userId) {
if (!searchValue.contains("-")) {
@@ -484,6 +557,61 @@
}
/**
+ * 鏍规嵁鍚堝悓鏌ヨ
+ *
+ * @param communityId
+ * @param searchValue
+ * @return
+ */
+ private OwnerDto queryByContract(String communityId, String searchValue, String userId, String storeId) {
+
+
+ ContractDto contractDto = new ContractDto();
+ contractDto.setContractId(searchValue);
+ contractDto.setStoreId(storeId);
+ List<ContractDto> contractDtos = contractInnerServiceSMOImpl.queryContracts(contractDto);
+ Assert.listOnlyOne(contractDtos, "鏈壘鍒板悎鍚屼俊鎭�");
+
+ RoomDto roomDto = new RoomDto();
+ roomDto.setRoomId(contractDtos.get(0).getObjId());
+ roomDto.setCommunityId(communityId);
+
+ List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
+ Assert.listOnlyOne(roomDtos, "鏈壘鍒版埧灞嬩俊鎭�");
+
+ OwnerDto ownerDto = new OwnerDto();
+ ownerDto.setCommunityId(communityId);
+ ownerDto.setRoomId(roomDtos.get(0).getRoomId());
+ ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
+ List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
+ Assert.listOnlyOne(ownerDtos, "鏈壘鍒颁笟涓讳俊鎭�");
+ //鏌ヨ鏄惁鏈夎劚鏁忔潈闄�
+ List<Map> mark = getPrivilegeOwnerList("/roomCreateFee", userId);
+ List<OwnerDto> ownerDtoList = new ArrayList<>();
+ for (OwnerDto owner : ownerDtos) {
+ //瀵逛笟涓昏韩浠借瘉鍙烽殣钘忓鐞�
+ String idCard = owner.getIdCard();
+ if (mark.size() == 0 && idCard != null && !idCard.equals("")) {
+ idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16);
+ }
+ //瀵逛笟涓绘墜鏈哄彿闅愯棌澶勭悊
+ String link = owner.getLink();
+ if (mark.size() == 0 && link != null && !link.equals("")) {
+ link = link.substring(0, 3) + "****" + link.substring(7);
+ }
+ owner.setIdCard(idCard);
+ owner.setLink(link);
+ ownerDtoList.add(owner);
+ }
+
+ OwnerDto resOwnerDto = ownerDtoList.get(0);
+
+ resOwnerDto.setRooms(roomDtos);
+
+ return resOwnerDto;
+ }
+
+ /**
* 鑴辨晱澶勭悊
*
* @return
--
Gitblit v1.8.0