From cab3425bb92d01f3494eb25c1f299038dc634c65 Mon Sep 17 00:00:00 2001
From: Your Name <you@example.com>
Date: 星期三, 15 三月 2023 23:43:48 +0800
Subject: [PATCH] 优化保养转单功能

---
 service-user/src/main/java/com/java110/user/bmo/owner/impl/ComprehensiveQueryImpl.java |   41 +++++++++++++++++++++++++----------------
 1 files changed, 25 insertions(+), 16 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
old mode 100644
new mode 100755
index 63c6e41..70b54ab
--- 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
@@ -179,7 +179,8 @@
         ownerDto.setName(searchValue);
         ownerDto.setOwnerTypeCds(new String[]{OwnerDto.OWNER_TYPE_CD_MEMBER, OwnerDto.OWNER_TYPE_CD_RENTING});
         List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwnerMembers(ownerDto);
-        Assert.listOnlyOne(ownerDtos, "鏈壘鍒版垚鍛樹俊鎭垨鑰呮煡璇㈠埌澶氭潯锛岃鎹㈠叾浠栨潯浠舵煡璇�");
+        Assert.isNotNull(ownerDtos,"鏈壘鍒版垚鍛樹俊鎭紝璇锋崲鍏朵粬鏉′欢鏌ヨ");
+        //Assert.listOnlyOne(ownerDtos, "鏈壘鍒版垚鍛樹俊鎭垨鑰呮煡璇㈠埌澶氭潯锛岃鎹㈠叾浠栨潯浠舵煡璇�");
         OwnerDto owner = queryByOwnerId(communityId, ownerDtos.get(0).getOwnerId());
         //鏌ヨ鏄惁鏈夎劚鏁忔潈闄�
         List<Map> mark = getPrivilegeOwnerList("/roomCreateFee", userId);
@@ -449,7 +450,7 @@
             throw new IllegalArgumentException("鏌ヨ鍐呭鏍煎紡閿欒锛岃杈撳叆 妤兼爧-鍟嗛摵 濡� 1-1");
         }
 
-        String[] values = searchValue.split("-");
+        String[] values = searchValue.split("-",3);
 
         if (values.length != 2) {
             throw new IllegalArgumentException("鏌ヨ鍐呭鏍煎紡閿欒锛岃杈撳叆 妤兼爧-鍟嗛摵 濡� 1-1");
@@ -509,7 +510,7 @@
             throw new IllegalArgumentException("鏌ヨ鍐呭鏍煎紡閿欒锛岃杈撳叆 妤兼爧-鍗曞厓-鎴垮眿 濡� 1-1-1");
         }
 
-        String[] values = searchValue.split("-");
+        String[] values = searchValue.split("-",3);
 
         if (values.length != 3) {
             throw new IllegalArgumentException("鏌ヨ鍐呭鏍煎紡閿欒锛岃杈撳叆 妤兼爧-鍗曞厓-鎴垮眿 濡� 1-1-1");
@@ -536,12 +537,12 @@
         for (OwnerDto owner : ownerDtos) {
             //瀵逛笟涓昏韩浠借瘉鍙烽殣钘忓鐞�
             String idCard = owner.getIdCard();
-            if (mark.size() == 0 && idCard != null && !idCard.equals("")) {
+            if (mark.size() == 0 && idCard != null && idCard.length() >= 16) {
                 idCard = idCard.substring(0, 6) + "**********" + idCard.substring(16);
             }
             //瀵逛笟涓绘墜鏈哄彿闅愯棌澶勭悊
             String link = owner.getLink();
-            if (mark.size() == 0 && link != null && !link.equals("")) {
+            if (mark.size() == 0 && link != null && link.length() == 11) {
                 link = link.substring(0, 3) + "****" + link.substring(7);
             }
             owner.setIdCard(idCard);
@@ -572,19 +573,12 @@
         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.setMemberId(contractDtos.get(0).getObjId());
         ownerDto.setOwnerTypeCd(OwnerDto.OWNER_TYPE_CD_OWNER);
         List<OwnerDto> ownerDtos = ownerInnerServiceSMOImpl.queryOwners(ownerDto);
-        Assert.listOnlyOne(ownerDtos, "鏈壘鍒颁笟涓讳俊鎭�");
+        Assert.listOnlyOne(ownerDtos, "鏈壘鍒颁笟涓讳俊鎭垨鑰呮煡璇㈠埌澶氭潯锛岃鎹㈠叾浠栨潯浠舵煡璇�");
         //鏌ヨ鏄惁鏈夎劚鏁忔潈闄�
         List<Map> mark = getPrivilegeOwnerList("/roomCreateFee", userId);
         List<OwnerDto> ownerDtoList = new ArrayList<>();
@@ -603,11 +597,26 @@
             owner.setLink(link);
             ownerDtoList.add(owner);
         }
-
         OwnerDto resOwnerDto = ownerDtoList.get(0);
+        OwnerRoomRelDto ownerRoomRelDto = new OwnerRoomRelDto();
+        ownerRoomRelDto.setOwnerId(ownerDtoList.get(0).getOwnerId());
+        List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
 
+        //娌℃湁鎴垮眿
+        if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) {
+            return resOwnerDto;
+        }
+        List<String> roomIds = new ArrayList<>();
+        for (OwnerRoomRelDto tmpOwnerRoomRelDto : ownerRoomRelDtos) {
+            roomIds.add(tmpOwnerRoomRelDto.getRoomId());
+        }
+
+
+        RoomDto roomDto = new RoomDto();
+        roomDto.setRoomIds(roomIds.toArray(new String[roomIds.size()]));
+        roomDto.setCommunityId(communityId);
+        List<RoomDto> roomDtos = roomInnerServiceSMOImpl.queryRooms(roomDto);
         resOwnerDto.setRooms(roomDtos);
-
         return resOwnerDto;
     }
 

--
Gitblit v1.8.0