wuxw
2024-01-22 a40c2eb885bcdb697c2e16dae4f43cb6cd718973
service-job/src/main/java/com/java110/job/adapt/hcGov/owner/AddOwnerToHcGovAdapt.java
@@ -17,17 +17,13 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.java110.dto.FloorDto;
import com.java110.dto.RoomAttrDto;
import com.java110.dto.RoomDto;
import com.java110.dto.UnitDto;
import com.java110.dto.room.RoomAttrDto;
import com.java110.dto.community.CommunityAttrDto;
import com.java110.dto.community.CommunityDto;
import com.java110.dto.floorAttr.FloorAttrDto;
import com.java110.dto.owner.OwnerAttrDto;
import com.java110.dto.owner.OwnerDto;
import com.java110.dto.owner.OwnerRoomRelDto;
import com.java110.entity.order.Business;
import com.java110.dto.system.Business;
import com.java110.intf.community.*;
import com.java110.intf.user.IOwnerAttrInnerServiceSMO;
import com.java110.intf.user.IOwnerInnerServiceSMO;
@@ -36,7 +32,7 @@
import com.java110.job.adapt.hcGov.HcGovConstant;
import com.java110.job.adapt.hcGov.asyn.BaseHcGovSendAsyn;
import com.java110.po.owner.OwnerPo;
import com.java110.po.room.RoomPo;
import com.java110.po.owner.OwnerRoomRelPo;
import com.java110.utils.util.Assert;
import com.java110.utils.util.BeanConvertUtil;
import com.java110.utils.util.DateUtil;
@@ -76,29 +72,37 @@
    @Override
    public void execute(Business business, List<Business> businesses) {
        JSONObject data = business.getData();
        if (data.containsKey(OwnerPo.class.getSimpleName())) {
            Object bObj = data.get(OwnerPo.class.getSimpleName());
            JSONArray businessOwner = null;
        JSONArray businessOwnerRoomRelPo = new JSONArray();
        if (data.containsKey(OwnerRoomRelPo.class.getSimpleName())) {
            Object bObj = data.get(OwnerRoomRelPo.class.getSimpleName());
            if (bObj instanceof JSONObject) {
                businessOwner = new JSONArray();
                businessOwner.add(bObj);
                businessOwnerRoomRelPo.add(bObj);
            } else if (bObj instanceof List) {
                businessOwner = JSONArray.parseArray(JSONObject.toJSONString(bObj));
                businessOwnerRoomRelPo = JSONArray.parseArray(JSONObject.toJSONString(bObj));
            } else {
                businessOwner = (JSONArray) bObj;
                businessOwnerRoomRelPo = (JSONArray) bObj;
            }
            //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar");
            for (int bOwnerIndex = 0; bOwnerIndex < businessOwner.size(); bOwnerIndex++) {
                JSONObject businessOwnerCar = businessOwner.getJSONObject(bOwnerIndex);
                doAddOwner(business, businessOwnerCar);
        }else {
            if (data instanceof JSONObject) {
                businessOwnerRoomRelPo.add(data);
            }
        }
        //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar");
        for (int bOwnerIndex = 0; bOwnerIndex < businessOwnerRoomRelPo.size(); bOwnerIndex++) {
            JSONObject businessOwnerCar = businessOwnerRoomRelPo.getJSONObject(bOwnerIndex);
            doAddOwner(business, businessOwnerCar);
            }
        }
    }
    private void doAddOwner(Business business, JSONObject businessOwner) {
        OwnerPo ownerPo = BeanConvertUtil.covertBean(businessOwner, OwnerPo.class);
        OwnerRoomRelPo ownerRoomRelPo = BeanConvertUtil.covertBean(businessOwner, OwnerRoomRelPo.class);
        OwnerDto ownerDto = new OwnerDto();
        ownerDto.setMemberId(ownerRoomRelPo.getOwnerId());
        List<OwnerDto> ownerDtoList = ownerInnerServiceSMOImpl.queryAllOwners(ownerDto);
        Assert.listNotNull(ownerDtoList, "未查询到业主信息信息");
        OwnerPo ownerPo = BeanConvertUtil.covertBean(ownerDtoList.get(0), OwnerPo.class);
        CommunityDto communityDto = new CommunityDto();
        communityDto.setCommunityId(ownerPo.getCommunityId());
@@ -120,19 +124,24 @@
        ownerRoomRelDto.setOwnerId(memberId);
        List<OwnerRoomRelDto> ownerRoomRelDtos = ownerRoomRelInnerServiceSMOImpl.queryOwnerRoomRels(ownerRoomRelDto);
        if (ownerRoomRelDtos != null && ownerRoomRelDtos.size() > 0) {
            RoomAttrDto roomAttrDto = new RoomAttrDto();
            roomAttrDto.setRoomId(ownerRoomRelDtos.get(0).getRoomId());
            roomAttrDto.setSpecCd(HcGovConstant.EXT_COMMUNITY_ID);
            List<RoomAttrDto> roomAttrDtos = roomAttrInnerServiceSMOImpl.queryRoomAttrs(roomAttrDto);
            if (roomAttrDtos != null && roomAttrDtos.size() > 0) {
                extRoomId = new JSONArray();
                for (RoomAttrDto roomAttr : roomAttrDtos) {
                    if (HcGovConstant.EXT_COMMUNITY_ID.equals(roomAttr.getSpecCd())) {
                        extRoomId.add(roomAttr.getValue());
            for (OwnerRoomRelDto ownerRoomRelD : ownerRoomRelDtos) {
                RoomAttrDto roomAttrDto = new RoomAttrDto();
                roomAttrDto.setRoomId(ownerRoomRelD.getRoomId());
                roomAttrDto.setSpecCd(HcGovConstant.EXT_COMMUNITY_ID);
                List<RoomAttrDto> roomAttrDtos = roomAttrInnerServiceSMOImpl.queryRoomAttrs(roomAttrDto);
                if (roomAttrDtos == null || roomAttrDtos.size() < 1) {
                    return;
                }
                if (roomAttrDtos != null && roomAttrDtos.size() > 0) {
                    extRoomId = new JSONArray();
                    for (RoomAttrDto roomAttr : roomAttrDtos) {
                        if (HcGovConstant.EXT_COMMUNITY_ID.equals(roomAttr.getSpecCd())) {
                            extRoomId.add(roomAttr.getValue());
                        }
                    }
                }
            }
        }
        JSONObject body = new JSONObject();
        //1001 业主本人 1002 家庭成员
@@ -150,7 +159,7 @@
            body.put("maritalStatus", "N");
            body.put("religiousBelief", "无");
            body.put("ramark", ownerPo.getRemark());
            body.put("extRoomId", extRoomId.toJSONString());
            body.put("extRoomId", extRoomId != null ? extRoomId.toJSONString():"");
            body.put("ownerType", "2002");
            body.put("ownerAddress", "无");
            body.put("ownerTypeCd", ownerPo.getOwnerTypeCd());