From 5700f42a37a2f9ecc27161e2b0559a820d320f6b Mon Sep 17 00:00:00 2001
From: wuxw <928255095@qq.com>
Date: 星期一, 17 三月 2025 15:11:40 +0800
Subject: [PATCH] 开发完成同一个手机号登录不同物业公司的支持

---
 service-user/src/main/java/com/java110/user/bmo/question/impl/QuestionAnswerBMOImpl.java |   29 ++++++++++++++++++++---------
 1 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/service-user/src/main/java/com/java110/user/bmo/question/impl/QuestionAnswerBMOImpl.java b/service-user/src/main/java/com/java110/user/bmo/question/impl/QuestionAnswerBMOImpl.java
index 5ef4954..94cbd8a 100644
--- a/service-user/src/main/java/com/java110/user/bmo/question/impl/QuestionAnswerBMOImpl.java
+++ b/service-user/src/main/java/com/java110/user/bmo/question/impl/QuestionAnswerBMOImpl.java
@@ -1,5 +1,6 @@
 package com.java110.user.bmo.question.impl;
 
+import com.alibaba.fastjson.JSONArray;
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.owner.OwnerRoomRelDto;
 import com.java110.dto.room.RoomDto;
@@ -7,9 +8,11 @@
 import com.java110.intf.community.IRoomV1InnerServiceSMO;
 import com.java110.intf.user.IOwnerRoomRelV1InnerServiceSMO;
 import com.java110.intf.user.IUserQuestionAnswerV1InnerServiceSMO;
-import com.java110.po.questionAnswer.QuestionAnswerPo;
+import com.java110.po.question.QuestionAnswerPo;
 import com.java110.po.user.UserQuestionAnswerPo;
 import com.java110.user.bmo.question.IQuestionAnswerBMO;
+import com.java110.utils.util.ListUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
@@ -33,17 +36,16 @@
 
     @Async
     @Override
-    public void saveUserQuestionAnswer(QuestionAnswerPo questionAnswerPo, String roomId) {
+    public void saveUserQuestionAnswer(QuestionAnswerPo questionAnswerPo, JSONArray roomIds) {
 
-        String[] roomIds = roomId.split(",");
-        if (roomIds == null || roomIds.length < 1) {
+        if (ListUtil.isNull(roomIds)) {
             return;
         }
 
         List<String> roomIdStrs = new ArrayList<>();
 
-        for (int roomIndex = 0; roomIndex < roomIds.length; roomIndex++) {
-            roomIdStrs.add(roomIds[roomIndex]);
+        for (int roomIndex = 0; roomIndex < roomIds.size(); roomIndex++) {
+            roomIdStrs.add(roomIds.getString(roomIndex));
             if (roomIdStrs.size() == MAX_LENGTH) {
                 doData(roomIdStrs, questionAnswerPo);
                 roomIdStrs = new ArrayList<>();
@@ -63,7 +65,7 @@
         roomDto.setRoomIds(roomIdStrs.toArray(new String[roomIdStrs.size()]));
         List<RoomDto> roomDtos = roomV1InnerServiceSMOImpl.queryRooms(roomDto);
 
-        if (roomDtos == null || roomDtos.size() < 1) {
+        if (ListUtil.isNull(roomDtos)) {
             return;
         }
 
@@ -72,7 +74,7 @@
         ownerRoomRelDto.setRoomIds(roomIdStrs.toArray(new String[roomIdStrs.size()]));
         List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelV1InnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
 
-        if (ownerRoomRelDtos == null || ownerRoomRelDtos.size() < 1) {
+        if (ListUtil.isNull(ownerRoomRelDtos)) {
             return;
         }
 
@@ -88,9 +90,18 @@
         List<UserQuestionAnswerPo> userQuestionAnswerPos = new ArrayList<>();
         UserQuestionAnswerPo userQuestionAnswerPo = null;
         for (RoomDto tmpRoomDto : roomDtos) {
+            if(StringUtil.isEmpty(tmpRoomDto.getOwnerId())){
+                continue;
+            }
+            if(StringUtil.isEmpty(tmpRoomDto.getLink())){
+                continue;
+            }
+            if(StringUtil.isEmpty(tmpRoomDto.getOwnerName())){
+                continue;
+            }
             userQuestionAnswerPo = new UserQuestionAnswerPo();
             userQuestionAnswerPo.setLink(tmpRoomDto.getLink());
-            userQuestionAnswerPo.setOwnerId(tmpRoomDto.getLink());
+            userQuestionAnswerPo.setOwnerId(tmpRoomDto.getOwnerId());
             userQuestionAnswerPo.setCommunityId(tmpRoomDto.getCommunityId());
             userQuestionAnswerPo.setOwnerName(tmpRoomDto.getOwnerName());
             userQuestionAnswerPo.setQaId(questionAnswerPo.getQaId());

--
Gitblit v1.8.0