From 196e55ee26196179fa63e8c8ed07b7ab8e71a2e6 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期日, 19 九月 2021 11:25:59 +0800
Subject: [PATCH] 同步 车辆完成

---
 service-job/src/main/java/com/java110/job/adapt/hcGov/car/AddCarToHcGovAdapt.java                    |   88 +++++++++++++++--
 service-job/src/main/java/com/java110/job/adapt/hcGov/HcGovConstant.java                             |    5 +
 service-job/src/main/java/com/java110/job/adapt/hcGov/parkArea/EditParkingAreaToHcGovAdapt.java      |   39 +++++++
 service-job/src/main/java/com/java110/job/adapt/hcGov/car/AddCarToHcGovReturnAdapt.java              |   34 +++---
 service-job/src/main/java/com/java110/job/adapt/hcGov/car/EditCarToHcGovAdapt.java                   |  118 +++++++++++++++++++---
 service-job/src/main/java/com/java110/job/adapt/hcGov/parkArea/AddParkingAreaToHcGovReturnAdapt.java |    2 
 6 files changed, 234 insertions(+), 52 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/adapt/hcGov/HcGovConstant.java b/service-job/src/main/java/com/java110/job/adapt/hcGov/HcGovConstant.java
index 19a05b4..9cc997e 100644
--- a/service-job/src/main/java/com/java110/job/adapt/hcGov/HcGovConstant.java
+++ b/service-job/src/main/java/com/java110/job/adapt/hcGov/HcGovConstant.java
@@ -70,6 +70,11 @@
     //淇敼鍋滆溅鍦�
     public static final String EDIT_PARKING_AREA_ACTION = "EDIT_PARKING_AREA";
 
+    //娣诲姞鍋滆溅鍦�
+    public static final String ADD_CAR_ACTION = "ADD_CAR";
+    //淇敼鍋滆溅鍦�
+    public static final String EDIT_CAR_ACTION = "EDIT_CAR";
+
     //寮�闂ㄨ褰�
     public static final String ADD_INOUT_RECORD_ACTION = "ADD_INOUT_RECORD";
 
diff --git a/service-job/src/main/java/com/java110/job/adapt/hcGov/car/AddCarToHcGovAdapt.java b/service-job/src/main/java/com/java110/job/adapt/hcGov/car/AddCarToHcGovAdapt.java
index 77fffd0..822f395 100644
--- a/service-job/src/main/java/com/java110/job/adapt/hcGov/car/AddCarToHcGovAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/hcGov/car/AddCarToHcGovAdapt.java
@@ -19,15 +19,23 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.community.CommunityAttrDto;
 import com.java110.dto.community.CommunityDto;
+import com.java110.dto.owner.OwnerCarDto;
+import com.java110.dto.parking.ParkingAreaDto;
+import com.java110.dto.parking.ParkingSpaceDto;
+import com.java110.dto.parkingAreaAttr.ParkingAreaAttrDto;
 import com.java110.entity.order.Business;
 import com.java110.intf.community.ICommunityInnerServiceSMO;
 import com.java110.intf.community.IParkingAreaInnerServiceSMO;
+import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.job.adapt.hcGov.HcGovConstant;
 import com.java110.job.adapt.hcGov.asyn.BaseHcGovSendAsyn;
-import com.java110.po.parking.ParkingAreaPo;
+import com.java110.po.car.OwnerCarPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -47,9 +55,15 @@
     private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
 
     @Autowired
-    private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl;
+    private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
     @Autowired
     private BaseHcGovSendAsyn baseHcGovSendAsynImpl;
+
+    @Autowired
+    private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl;
 
 
     /**
@@ -59,8 +73,8 @@
     @Override
     public void execute(Business business, List<Business> businesses) {
         JSONObject data = business.getData();
-        if (data.containsKey(ParkingAreaPo.class.getSimpleName())) {
-            Object bObj = data.get(ParkingAreaPo.class.getSimpleName());
+        if (data.containsKey(OwnerCarPo.class.getSimpleName())) {
+            Object bObj = data.get(OwnerCarPo.class.getSimpleName());
             JSONArray businessOwnerCars = null;
             if (bObj instanceof JSONObject) {
                 businessOwnerCars = new JSONArray();
@@ -73,17 +87,17 @@
             //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar");
             for (int bOwnerCarIndex = 0; bOwnerCarIndex < businessOwnerCars.size(); bOwnerCarIndex++) {
                 JSONObject businessOwnerCar = businessOwnerCars.getJSONObject(bOwnerCarIndex);
-                doAddParkingArea(business, businessOwnerCar);
+                doAddOwnerCar(business, businessOwnerCar);
             }
         }
     }
 
-    private void doAddParkingArea(Business business, JSONObject businessFloor) {
+    private void doAddOwnerCar(Business business, JSONObject businessFloor) {
 
-        ParkingAreaPo parkingAreaPo = BeanConvertUtil.covertBean(businessFloor, ParkingAreaPo.class);
+        OwnerCarPo ownerCarPo = BeanConvertUtil.covertBean(businessFloor, OwnerCarPo.class);
 
         CommunityDto communityDto = new CommunityDto();
-        communityDto.setCommunityId(parkingAreaPo.getCommunityId());
+        communityDto.setCommunityId(ownerCarPo.getCommunityId());
         List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
         Assert.listNotNull(communityDtos, "鏈寘鍚皬鍖轰俊鎭�");
         CommunityDto tmpCommunityDto = communityDtos.get(0);
@@ -94,14 +108,62 @@
                 extCommunityId = communityAttrDto.getValue();
             }
         }
+        //鏌ヨ杞﹁締
+        OwnerCarDto ownerCarDto = new OwnerCarDto();
+        ownerCarDto.setCommunityId(ownerCarPo.getCommunityId());
+        ownerCarDto.setCarId(ownerCarPo.getCarId());
+        List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
+
+        Assert.listOnlyOne(ownerCarDtos, "杞﹁締涓嶅瓨鍦�");
+
+        //鏌ヨ澶栭儴鍋滆溅鍦�
+        ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
+        parkingSpaceDto.setPsId(ownerCarDtos.get(0).getPsId());
+        List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
+        Assert.listOnlyOne(parkingSpaceDtos, "杞︿綅涓嶅瓨鍦�");
+
+        //鏌ヨ 澶栭儴鍋滆溅
+        ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
+        parkingAreaDto.setPaId(parkingSpaceDtos.get(0).getPaId());
+        parkingAreaDto.setCommunityId(parkingSpaceDtos.get(0).getCommunityId());
+        List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
+        Assert.listOnlyOne(parkingAreaDtos, "鍋滆溅鍦轰笉瀛樺湪");
+
+        String extPaId = getExtPaId(parkingAreaDtos.get(0).getAttrs());
+
+        if (StringUtil.isEmpty(extPaId)) {
+            return;
+        }
+
+
 
         JSONObject body = new JSONObject();
-        body.put("num", parkingAreaPo.getNum());
-        body.put("parkingCount", "0");
-        body.put("typeCd", parkingAreaPo.getTypeCd());
+        body.put("carNum", ownerCarDtos.get(0).getCarNum());
+        body.put("carBrand", ownerCarDtos.get(0).getCarBrand());
+        body.put("carType", ownerCarDtos.get(0).getCarType());
+        body.put("carColor", ownerCarDtos.get(0).getCarColor());
+        body.put("startTime", DateUtil.getFormatTimeString(ownerCarDtos.get(0).getStartTime(), DateUtil.DATE_FORMATE_STRING_A));
+        body.put("endTime", DateUtil.getFormatTimeString(ownerCarDtos.get(0).getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
+        body.put("personName", ownerCarDtos.get(0).getOwnerName());
+        body.put("personTel", ownerCarDtos.get(0).getLink());
+        body.put("extPaId", extPaId);
 
-        JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.ADD_PARKING_AREA_ACTION, HcGovConstant.COMMUNITY_SECURE);
-        baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, parkingAreaPo.getPaId(), HcGovConstant.COMMUNITY_SECURE);
+        JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.ADD_CAR_ACTION, HcGovConstant.COMMUNITY_SECURE);
+        baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, ownerCarPo.getCarId(), HcGovConstant.COMMUNITY_SECURE);
+    }
+
+    private String getExtPaId(List<ParkingAreaAttrDto> attrs) {
+
+        if (attrs == null || attrs.size() < 1) {
+            return "";
+        }
+
+        for (ParkingAreaAttrDto parkingAreaAttrDto : attrs) {
+            if (parkingAreaAttrDto.getSpecCd().equals(HcGovConstant.EXT_COMMUNITY_ID)) {
+                return parkingAreaAttrDto.getValue();
+            }
+        }
+        return "";
     }
 
 }
diff --git a/service-job/src/main/java/com/java110/job/adapt/hcGov/car/AddCarToHcGovReturnAdapt.java b/service-job/src/main/java/com/java110/job/adapt/hcGov/car/AddCarToHcGovReturnAdapt.java
index ecfd311..f42d5db 100644
--- a/service-job/src/main/java/com/java110/job/adapt/hcGov/car/AddCarToHcGovReturnAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/hcGov/car/AddCarToHcGovReturnAdapt.java
@@ -17,13 +17,13 @@
 
 import com.java110.core.factory.GenerateCodeFactory;
 import com.java110.dto.hcGovTranslate.HcGovTranslateDto;
-import com.java110.dto.parkingAreaAttr.ParkingAreaAttrDto;
+import com.java110.dto.ownerCarAttr.OwnerCarAttrDto;
 import com.java110.dto.reportData.ReportDataDto;
 import com.java110.intf.common.IHcGovTranslateInnerServiceSMO;
-import com.java110.intf.community.IParkingAreaAttrInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarAttrInnerServiceSMO;
 import com.java110.job.adapt.hcGov.HcGovConstant;
 import com.java110.job.adapt.hcGov.IReportReturnDataAdapt;
-import com.java110.po.parkingAreaAttr.ParkingAreaAttrPo;
+import com.java110.po.ownerCarAttr.OwnerCarAttrPo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -40,7 +40,7 @@
 public class AddCarToHcGovReturnAdapt implements IReportReturnDataAdapt {
 
     @Autowired
-    private IParkingAreaAttrInnerServiceSMO parkingAreaAttrInnerServiceSMOImpl;
+    private IOwnerCarAttrInnerServiceSMO ownerCarAttrInnerServiceSMOImpl;
     @Autowired
     private IHcGovTranslateInnerServiceSMO hcGovTranslateInnerServiceSMOImpl;
 
@@ -55,20 +55,20 @@
             throw new IllegalArgumentException("鏌ヨ鎺ㄩ�佹姤鏂囧け璐ャ�備笉鏄悓涓�璁㈠崟淇℃伅");
         }
 
-        ParkingAreaAttrDto parkingAreaAttrDto = new ParkingAreaAttrDto();
-        parkingAreaAttrDto.setPaId(hcGovTranslateDtos.get(0).getObjId());
-        parkingAreaAttrDto.setCommunityId(hcGovTranslateDtos.get(0).getCommunityId());
-        parkingAreaAttrDto.setSpecCd( HcGovConstant.EXT_COMMUNITY_ID);
-        List<ParkingAreaAttrDto> parkingAreaAttrDtos = parkingAreaAttrInnerServiceSMOImpl.queryParkingAreaAttrs(parkingAreaAttrDto);
+        OwnerCarAttrDto ownerCarAttrDto = new OwnerCarAttrDto();
+        ownerCarAttrDto.setCarId(hcGovTranslateDtos.get(0).getObjId());
+        ownerCarAttrDto.setCommunityId(hcGovTranslateDtos.get(0).getCommunityId());
+        ownerCarAttrDto.setSpecCd( HcGovConstant.EXT_COMMUNITY_ID);
+        List<OwnerCarAttrDto> ownerCarAttrDtos = ownerCarAttrInnerServiceSMOImpl.queryOwnerCarAttrs(ownerCarAttrDto);
 
-        ParkingAreaAttrPo parkingAreaAttrPo = new ParkingAreaAttrPo();
-        parkingAreaAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_floorId));
-        parkingAreaAttrPo.setPaId(parkingAreaAttrDto.getPaId());
-        parkingAreaAttrPo.setCommunityId(parkingAreaAttrDto.getCommunityId());
-        parkingAreaAttrPo.setSpecCd(parkingAreaAttrDto.getSpecCd());
-        parkingAreaAttrPo.setValue(reportDataDto.getReportDataBodyDto().getString("extFloorId"));
-        if (parkingAreaAttrDtos == null || parkingAreaAttrDtos.size() < 1) {
-            int flag = parkingAreaAttrInnerServiceSMOImpl.saveParkingAreaAttr(parkingAreaAttrPo);
+        OwnerCarAttrPo ownerCarAttrPo = new OwnerCarAttrPo();
+        ownerCarAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_floorId));
+        ownerCarAttrPo.setCarId(ownerCarAttrDto.getCarId());
+        ownerCarAttrPo.setCommunityId(ownerCarAttrDto.getCommunityId());
+        ownerCarAttrPo.setSpecCd(ownerCarAttrDto.getSpecCd());
+        ownerCarAttrPo.setValue(reportDataDto.getReportDataBodyDto().getString("extCarId"));
+        if (ownerCarAttrDtos == null || ownerCarAttrDtos.size() < 1) {
+            int flag = ownerCarAttrInnerServiceSMOImpl.saveOwnerCarAttr(ownerCarAttrPo);
             if (flag < 1) {
                 throw new IllegalArgumentException("淇濆瓨妤兼爧灞炴�уけ璐�");
             }
diff --git a/service-job/src/main/java/com/java110/job/adapt/hcGov/car/EditCarToHcGovAdapt.java b/service-job/src/main/java/com/java110/job/adapt/hcGov/car/EditCarToHcGovAdapt.java
index 83afa0b..f10de19 100644
--- a/service-job/src/main/java/com/java110/job/adapt/hcGov/car/EditCarToHcGovAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/hcGov/car/EditCarToHcGovAdapt.java
@@ -19,16 +19,25 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.community.CommunityAttrDto;
 import com.java110.dto.community.CommunityDto;
+import com.java110.dto.owner.OwnerCarDto;
+import com.java110.dto.ownerCarAttr.OwnerCarAttrDto;
+import com.java110.dto.parking.ParkingAreaDto;
 import com.java110.dto.parking.ParkingSpaceDto;
+import com.java110.dto.parkingAreaAttr.ParkingAreaAttrDto;
 import com.java110.entity.order.Business;
 import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.community.IParkingAreaInnerServiceSMO;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarAttrInnerServiceSMO;
+import com.java110.intf.user.IOwnerCarInnerServiceSMO;
 import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.job.adapt.hcGov.HcGovConstant;
 import com.java110.job.adapt.hcGov.asyn.BaseHcGovSendAsyn;
-import com.java110.po.parking.ParkingAreaPo;
+import com.java110.po.car.OwnerCarPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.DateUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -48,9 +57,19 @@
     private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
 
     @Autowired
-    private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
+    private IOwnerCarInnerServiceSMO ownerCarInnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerCarAttrInnerServiceSMO ownerCarAttrInnerServiceSMOImpl;
+
     @Autowired
     private BaseHcGovSendAsyn baseHcGovSendAsynImpl;
+
+    @Autowired
+    private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
+
+    @Autowired
+    private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl;
 
 
     /**
@@ -60,8 +79,8 @@
     @Override
     public void execute(Business business, List<Business> businesses) {
         JSONObject data = business.getData();
-        if (data.containsKey(ParkingAreaPo.class.getSimpleName())) {
-            Object bObj = data.get(ParkingAreaPo.class.getSimpleName());
+        if (data.containsKey(OwnerCarPo.class.getSimpleName())) {
+            Object bObj = data.get(OwnerCarPo.class.getSimpleName());
             JSONArray businessOwnerCars = null;
             if (bObj instanceof JSONObject) {
                 businessOwnerCars = new JSONArray();
@@ -74,18 +93,17 @@
             //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar");
             for (int bOwnerCarIndex = 0; bOwnerCarIndex < businessOwnerCars.size(); bOwnerCarIndex++) {
                 JSONObject businessOwnerCar = businessOwnerCars.getJSONObject(bOwnerCarIndex);
-                doAddParkingArea(business, businessOwnerCar);
+                doEditOwnerCar(business, businessOwnerCar);
             }
         }
     }
 
+    private void doEditOwnerCar(Business business, JSONObject businessFloor) {
 
-    private void doAddParkingArea(Business business, JSONObject businessFloor) {
-
-        ParkingAreaPo parkingAreaPo = BeanConvertUtil.covertBean(businessFloor, ParkingAreaPo.class);
+        OwnerCarPo ownerCarPo = BeanConvertUtil.covertBean(businessFloor, OwnerCarPo.class);
 
         CommunityDto communityDto = new CommunityDto();
-        communityDto.setCommunityId(parkingAreaPo.getCommunityId());
+        communityDto.setCommunityId(ownerCarPo.getCommunityId());
         List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
         Assert.listNotNull(communityDtos, "鏈寘鍚皬鍖轰俊鎭�");
         CommunityDto tmpCommunityDto = communityDtos.get(0);
@@ -96,21 +114,83 @@
                 extCommunityId = communityAttrDto.getValue();
             }
         }
+        //鏌ヨ杞﹁締
+        OwnerCarDto ownerCarDto = new OwnerCarDto();
+        ownerCarDto.setCommunityId(ownerCarPo.getCommunityId());
+        ownerCarDto.setCarId(ownerCarPo.getCarId());
+        List<OwnerCarDto> ownerCarDtos = ownerCarInnerServiceSMOImpl.queryOwnerCars(ownerCarDto);
 
-        //鏌ヨ杞︿綅鏁伴噺
+        Assert.listOnlyOne(ownerCarDtos, "杞﹁締涓嶅瓨鍦�");
+
+        //鏌ヨ澶栭儴鍋滆溅鍦�
         ParkingSpaceDto parkingSpaceDto = new ParkingSpaceDto();
-        parkingSpaceDto.setCommunityId(communityId);
-        parkingSpaceDto.setPaId(parkingAreaPo.getPaId());
-        int count = parkingSpaceInnerServiceSMOImpl.queryParkingSpacesCount(parkingSpaceDto);
+        parkingSpaceDto.setPsId(ownerCarDtos.get(0).getPsId());
+        List<ParkingSpaceDto> parkingSpaceDtos = parkingSpaceInnerServiceSMOImpl.queryParkingSpaces(parkingSpaceDto);
+        Assert.listOnlyOne(parkingSpaceDtos, "杞︿綅涓嶅瓨鍦�");
+
+        //鏌ヨ 澶栭儴鍋滆溅
+        ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
+        parkingAreaDto.setPaId(parkingSpaceDtos.get(0).getPaId());
+        parkingAreaDto.setCommunityId(parkingSpaceDtos.get(0).getCommunityId());
+        List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
+        Assert.listOnlyOne(parkingAreaDtos, "鍋滆溅鍦轰笉瀛樺湪");
+
+        String extPaId = getExtPaId(parkingAreaDtos.get(0).getAttrs());
+
+        if (StringUtil.isEmpty(extPaId)) {
+            return;
+        }
+
+        String extCarId = getExtCarId(ownerCarDtos.get(0));
+
 
         JSONObject body = new JSONObject();
-        body.put("num", parkingAreaPo.getNum());
-        body.put("parkingCount", count);
-        body.put("typeCd", parkingAreaPo.getTypeCd());
-        body.put("extPaId", parkingAreaPo.getPaId());
+        body.put("carNum", ownerCarDtos.get(0).getCarNum());
+        body.put("carBrand", ownerCarDtos.get(0).getCarBrand());
+        body.put("carType", ownerCarDtos.get(0).getCarType());
+        body.put("carColor", ownerCarDtos.get(0).getCarColor());
+        body.put("startTime", DateUtil.getFormatTimeString(ownerCarDtos.get(0).getStartTime(), DateUtil.DATE_FORMATE_STRING_A));
+        body.put("endTime", DateUtil.getFormatTimeString(ownerCarDtos.get(0).getEndTime(), DateUtil.DATE_FORMATE_STRING_A));
+        body.put("personName", ownerCarDtos.get(0).getOwnerName());
+        body.put("personTel", ownerCarDtos.get(0).getLink());
+        body.put("extPaId", extPaId);
+        if (StringUtil.isEmpty(extCarId)) { // 璧版坊鍔�
+            JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.ADD_CAR_ACTION, HcGovConstant.COMMUNITY_SECURE);
+            baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, ownerCarPo.getCarId(), HcGovConstant.COMMUNITY_SECURE);
+            return;
+        }
+        body.put("extCarId", extCarId);
 
-        JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.EDIT_PARKING_AREA_ACTION, HcGovConstant.COMMUNITY_SECURE);
-        baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, parkingAreaPo.getPaId(), HcGovConstant.COMMUNITY_SECURE);
+        JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.EDIT_CAR_ACTION, HcGovConstant.COMMUNITY_SECURE);
+        baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, ownerCarPo.getCarId(), HcGovConstant.COMMUNITY_SECURE);
+    }
+
+    private String getExtCarId(OwnerCarDto ownerCarDto) {
+
+        OwnerCarAttrDto ownerCarAttrDto = new OwnerCarAttrDto();
+        ownerCarAttrDto.setCarId(ownerCarDto.getCarId());
+        ownerCarAttrDto.setCommunityId(ownerCarDto.getCommunityId());
+        ownerCarAttrDto.setSpecCd(HcGovConstant.EXT_COMMUNITY_ID);
+        List<OwnerCarAttrDto> ownerCarAttrDtos = ownerCarAttrInnerServiceSMOImpl.queryOwnerCarAttrs(ownerCarAttrDto);
+        if (ownerCarAttrDtos == null || ownerCarAttrDtos.size() < 1) {
+            return "";
+        }
+
+        return ownerCarAttrDtos.get(0).getValue();
+    }
+
+    private String getExtPaId(List<ParkingAreaAttrDto> attrs) {
+
+        if (attrs == null || attrs.size() < 1) {
+            return "";
+        }
+
+        for (ParkingAreaAttrDto parkingAreaAttrDto : attrs) {
+            if (parkingAreaAttrDto.getSpecCd().equals(HcGovConstant.EXT_COMMUNITY_ID)) {
+                return parkingAreaAttrDto.getValue();
+            }
+        }
+        return "";
     }
 
 }
diff --git a/service-job/src/main/java/com/java110/job/adapt/hcGov/parkArea/AddParkingAreaToHcGovReturnAdapt.java b/service-job/src/main/java/com/java110/job/adapt/hcGov/parkArea/AddParkingAreaToHcGovReturnAdapt.java
index 881aa65..afea2e8 100644
--- a/service-job/src/main/java/com/java110/job/adapt/hcGov/parkArea/AddParkingAreaToHcGovReturnAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/hcGov/parkArea/AddParkingAreaToHcGovReturnAdapt.java
@@ -69,7 +69,7 @@
         parkingAreaAttrPo.setPaId(parkingAreaAttrDto.getPaId());
         parkingAreaAttrPo.setCommunityId(parkingAreaAttrDto.getCommunityId());
         parkingAreaAttrPo.setSpecCd(parkingAreaAttrDto.getSpecCd());
-        parkingAreaAttrPo.setValue(reportDataDto.getReportDataBodyDto().getString("extFloorId"));
+        parkingAreaAttrPo.setValue(reportDataDto.getReportDataBodyDto().getString("extPaId"));
         if (parkingAreaAttrDtos == null || parkingAreaAttrDtos.size() < 1) {
             int flag = parkingAreaAttrInnerServiceSMOImpl.saveParkingAreaAttr(parkingAreaAttrPo);
             if (flag < 1) {
diff --git a/service-job/src/main/java/com/java110/job/adapt/hcGov/parkArea/EditParkingAreaToHcGovAdapt.java b/service-job/src/main/java/com/java110/job/adapt/hcGov/parkArea/EditParkingAreaToHcGovAdapt.java
index 47c1ffb..f7471ca 100644
--- a/service-job/src/main/java/com/java110/job/adapt/hcGov/parkArea/EditParkingAreaToHcGovAdapt.java
+++ b/service-job/src/main/java/com/java110/job/adapt/hcGov/parkArea/EditParkingAreaToHcGovAdapt.java
@@ -19,9 +19,12 @@
 import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.community.CommunityAttrDto;
 import com.java110.dto.community.CommunityDto;
+import com.java110.dto.parking.ParkingAreaDto;
 import com.java110.dto.parking.ParkingSpaceDto;
+import com.java110.dto.parkingAreaAttr.ParkingAreaAttrDto;
 import com.java110.entity.order.Business;
 import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.community.IParkingAreaInnerServiceSMO;
 import com.java110.intf.community.IParkingSpaceInnerServiceSMO;
 import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.job.adapt.hcGov.HcGovConstant;
@@ -29,6 +32,7 @@
 import com.java110.po.parking.ParkingAreaPo;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;
+import com.java110.utils.util.StringUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
@@ -51,7 +55,8 @@
     private IParkingSpaceInnerServiceSMO parkingSpaceInnerServiceSMOImpl;
     @Autowired
     private BaseHcGovSendAsyn baseHcGovSendAsynImpl;
-
+    @Autowired
+    private IParkingAreaInnerServiceSMO parkingAreaInnerServiceSMOImpl;
 
     /**
      * @param business   褰撳墠澶勭悊涓氬姟
@@ -103,14 +108,44 @@
         parkingSpaceDto.setPaId(parkingAreaPo.getPaId());
         int count = parkingSpaceInnerServiceSMOImpl.queryParkingSpacesCount(parkingSpaceDto);
 
+        //鏌ヨ 澶栭儴鍋滆溅
+        ParkingAreaDto parkingAreaDto = new ParkingAreaDto();
+        parkingAreaDto.setPaId(parkingAreaPo.getPaId());
+        parkingAreaDto.setCommunityId(parkingAreaPo.getCommunityId());
+        List<ParkingAreaDto> parkingAreaDtos = parkingAreaInnerServiceSMOImpl.queryParkingAreas(parkingAreaDto);
+        Assert.listOnlyOne(parkingAreaDtos, "鍋滆溅鍦轰笉瀛樺湪");
+
+        String extPaId = getExtPaId(parkingAreaDtos.get(0).getAttrs());
+
         JSONObject body = new JSONObject();
         body.put("num", parkingAreaPo.getNum());
         body.put("parkingCount", count);
         body.put("typeCd", parkingAreaPo.getTypeCd());
-        body.put("extPaId", parkingAreaPo.getPaId());
+        //濡傛灉涓虹┖ 璧版坊鍔犳帴鍙�
+        if (StringUtil.isEmpty(extPaId)) {
+            JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.ADD_PARKING_AREA_ACTION, HcGovConstant.COMMUNITY_SECURE);
+            baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, parkingAreaPo.getPaId(), HcGovConstant.COMMUNITY_SECURE);
+            return;
+        }
+        body.put("extPaId", extPaId);
 
         JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.EDIT_PARKING_AREA_ACTION, HcGovConstant.COMMUNITY_SECURE);
         baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, parkingAreaPo.getPaId(), HcGovConstant.COMMUNITY_SECURE);
     }
 
+
+    private String getExtPaId(List<ParkingAreaAttrDto> attrs) {
+
+        if (attrs == null || attrs.size() < 1) {
+            return "";
+        }
+
+        for (ParkingAreaAttrDto parkingAreaAttrDto : attrs) {
+            if (parkingAreaAttrDto.getSpecCd().equals(HcGovConstant.EXT_COMMUNITY_ID)) {
+                return parkingAreaAttrDto.getValue();
+            }
+        }
+        return "";
+    }
+
 }

--
Gitblit v1.8.0