Просмотр исходного кода

â€删除业主时同时删除房屋与业主关系信息,åˆ更改房屋状态

曾成 лет назад: 5
Родитель
Сommit
753140881c

+ 3 - 0
Api/src/main/java/com/java110/api/bmo/owner/IOwnerBMO.java

@@ -37,6 +37,9 @@ public interface IOwnerBMO extends IApiBaseBMO {
      * @return 订单服务能够接受的报文
      */
     public JSONObject deleteOwner(JSONObject paramInJson);
+
+    public JSONObject deleteOwnerRoomRel(JSONObject paramInJson);
+
     /**
      * 退出小区成员
      *

+ 13 - 0
Api/src/main/java/com/java110/api/bmo/owner/impl/OwnerBMOImpl.java

@@ -124,6 +124,19 @@ public class OwnerBMOImpl extends ApiBaseBMO implements IOwnerBMO {
         return business;
     }
 
+
+    public JSONObject deleteOwnerRoomRel(JSONObject paramInJson) {
+        JSONObject business = JSONObject.parseObject("{\"datas\":{}}");
+        business.put(CommonConstant.HTTP_BUSINESS_TYPE_CD, BusinessTypeConstant.BUSINESS_TYPE_DELETE_OWNER_ROOM_REL);
+        business.put(CommonConstant.HTTP_SEQ, DEFAULT_SEQ);
+        business.put(CommonConstant.HTTP_INVOKE_MODEL, CommonConstant.HTTP_INVOKE_MODEL_S);
+        JSONObject businessOwner = new JSONObject();
+        businessOwner.put("ownerId", paramInJson.getString("ownerId"));
+        business.getJSONObject(CommonConstant.HTTP_BUSINESS_DATAS).put("businessOwnerRoomRel", businessOwner);
+
+        return business;
+    }
+
     /**
      * 退出小区成员
      *

+ 24 - 2
Api/src/main/java/com/java110/api/listener/owner/DeleteOwnerListener.java

@@ -3,7 +3,10 @@ package com.java110.api.listener.owner;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.api.bmo.owner.IOwnerBMO;
+import com.java110.api.bmo.room.IRoomBMO;
 import com.java110.api.listener.AbstractServiceApiDataFlowListener;
+import com.java110.core.smo.room.IRoomInnerServiceSMO;
+import com.java110.dto.RoomDto;
 import com.java110.utils.constant.*;
 import com.java110.utils.exception.ListenerExecuteException;
 import com.java110.utils.util.Assert;
@@ -13,6 +16,8 @@ import com.java110.core.smo.community.ICommunityInnerServiceSMO;
 import com.java110.dto.CommunityMemberDto;
 import com.java110.entity.center.AppService;
 import com.java110.event.service.api.ServiceDataFlowEvent;
+import com.java110.utils.util.BeanConvertUtil;
+import com.java110.vo.api.ApiRoomVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +41,11 @@ public class DeleteOwnerListener extends AbstractServiceApiDataFlowListener {
     @Autowired
     private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
 
+    @Autowired
+    private IRoomInnerServiceSMO roomInnerServiceSMOImpl;
+    @Autowired
+    private IRoomBMO roomBMOImpl;
+
     @Override
     public String getServiceCode() {
         return ServiceCodeConstant.SERVICE_CODE_DELETE_OWNER;
@@ -73,8 +83,20 @@ public class DeleteOwnerListener extends AbstractServiceApiDataFlowListener {
             //小区楼添加到小区中
             businesses.add(ownerBMOImpl.exitCommunityMember(paramObj));
         }
-
-
+        RoomDto roomDto = new RoomDto();
+        roomDto.setOwnerId((String) paramObj.get("ownerId"));
+        List<RoomDto> roomDtoList = roomInnerServiceSMOImpl.queryRoomsByOwner(roomDto);
+        //判断改业主是否有房屋信息
+        if(roomDtoList.size() > 0){
+            //删除房屋关系
+            businesses.add(ownerBMOImpl.deleteOwnerRoomRel(paramObj));
+            //更新房屋信息为未出售
+            for(int i =0; i < roomDtoList.size(); i ++){
+                paramObj.put("state","2002");
+                paramObj.put("roomId",roomDtoList.get(i).getRoomId());
+                businesses.add(roomBMOImpl.updateShellRoom(paramObj, dataFlowContext));
+            }
+        }
         ResponseEntity<String> responseEntity = ownerBMOImpl.callService(dataFlowContext, service.getServiceCode(), businesses);
 
         dataFlowContext.setResponseEntity(responseEntity);

+ 14 - 17
UserService/src/main/java/com/java110/user/listener/ownerRoomRel/AbstractOwnerRoomRelBusinessServiceDataFlowListener.java

@@ -57,28 +57,25 @@ public abstract class AbstractOwnerRoomRelBusinessServiceDataFlowListener extend
     protected void autoSaveDelBusinessOwnerRoomRel(Business business, JSONObject businessOwnerRoomRel) {
 //自动插入DEL
         Map info = new HashMap();
-        info.put("relId", businessOwnerRoomRel.getString("relId"));
+        info.put("ownerId", businessOwnerRoomRel.getString("ownerId"));
         info.put("statusCd", StatusConstant.STATUS_CD_VALID);
         List<Map> currentOwnerRoomRelInfos = getOwnerRoomRelServiceDaoImpl().getOwnerRoomRelInfo(info);
         if (currentOwnerRoomRelInfos == null || currentOwnerRoomRelInfos.size() != 1) {
             throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR, "未找到需要修改数据信息,入参错误或数据有问题,请检查" + info);
         }
-
-        Map currentOwnerRoomRelInfo = currentOwnerRoomRelInfos.get(0);
-
-        currentOwnerRoomRelInfo.put("bId", business.getbId());
-
-        currentOwnerRoomRelInfo.put("relId", currentOwnerRoomRelInfo.get("rel_id"));
-        currentOwnerRoomRelInfo.put("operate", currentOwnerRoomRelInfo.get("operate"));
-        currentOwnerRoomRelInfo.put("remark", currentOwnerRoomRelInfo.get("remark"));
-        currentOwnerRoomRelInfo.put("state", currentOwnerRoomRelInfo.get("state"));
-        currentOwnerRoomRelInfo.put("ownerId", currentOwnerRoomRelInfo.get("owner_id"));
-        currentOwnerRoomRelInfo.put("userId", currentOwnerRoomRelInfo.get("user_id"));
-        currentOwnerRoomRelInfo.put("roomId", currentOwnerRoomRelInfo.get("room_id"));
-
-
-        currentOwnerRoomRelInfo.put("operate", StatusConstant.OPERATE_DEL);
-        getOwnerRoomRelServiceDaoImpl().saveBusinessOwnerRoomRelInfo(currentOwnerRoomRelInfo);
+        for ( int i = 0; i < currentOwnerRoomRelInfos.size(); i++){
+            Map currentOwnerRoomRelInfo = currentOwnerRoomRelInfos.get(0);
+            currentOwnerRoomRelInfo.put("bId", business.getbId());
+            currentOwnerRoomRelInfo.put("relId", currentOwnerRoomRelInfo.get("rel_id"));
+            currentOwnerRoomRelInfo.put("operate", currentOwnerRoomRelInfo.get("operate"));
+            currentOwnerRoomRelInfo.put("remark", currentOwnerRoomRelInfo.get("remark"));
+            currentOwnerRoomRelInfo.put("state", currentOwnerRoomRelInfo.get("state"));
+            currentOwnerRoomRelInfo.put("ownerId", currentOwnerRoomRelInfo.get("owner_id"));
+            currentOwnerRoomRelInfo.put("userId", currentOwnerRoomRelInfo.get("user_id"));
+            currentOwnerRoomRelInfo.put("roomId", currentOwnerRoomRelInfo.get("room_id"));
+            currentOwnerRoomRelInfo.put("operate", StatusConstant.OPERATE_DEL);
+            getOwnerRoomRelServiceDaoImpl().saveBusinessOwnerRoomRelInfo(currentOwnerRoomRelInfo);
+        }
     }
 
 

+ 4 - 4
UserService/src/main/java/com/java110/user/listener/ownerRoomRel/DeleteOwnerRoomRelInfoListener.java

@@ -161,11 +161,11 @@ public class DeleteOwnerRoomRelInfoListener extends AbstractOwnerRoomRelBusiness
      */
     private void doBusinessOwnerRoomRel(Business business, JSONObject businessOwnerRoomRel) {
 
-        Assert.jsonObjectHaveKey(businessOwnerRoomRel, "relId", "businessOwnerRoomRel 节点下没有包含 relId 节点");
+        Assert.jsonObjectHaveKey(businessOwnerRoomRel, "ownerId", "businessOwnerRoomRel 节点下没有包含 ownerId 节点");
 
-        if (businessOwnerRoomRel.getString("relId").startsWith("-")) {
-            throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR, "relId 错误,不能自动生成(必须已经存在的relId)" + businessOwnerRoomRel);
-        }
+//        if (businessOwnerRoomRel.getString("relId").startsWith("-")) {
+//            throw new ListenerExecuteException(ResponseConstant.RESULT_PARAM_ERROR, "relId 错误,不能自动生成(必须已经存在的relId)" + businessOwnerRoomRel);
+//        }
         //自动插入DEL
         autoSaveDelBusinessOwnerRoomRel(business, businessOwnerRoomRel);
     }