瀏覽代碼

增加修改楼栋推送

1098226878 4 年之前
父節點
當前提交
cae9dbb98d

+ 1 - 0
service-job/src/main/java/com/java110/job/adapt/hcGov/HcGovConstant.java

@@ -34,6 +34,7 @@ public class HcGovConstant {
     public static final String COMMUNITY_SECURE = "978984641654"; // 小区密钥
     public static final String COMMUNITY_SECURE = "978984641654"; // 小区密钥
     public static final String FLOOR_TYPE = "FLOOR_TYPE"; // 楼栋类型
     public static final String FLOOR_TYPE = "FLOOR_TYPE"; // 楼栋类型
     public static final String GOV_TOPIC = "hcGov"; // 楼栋类型
     public static final String GOV_TOPIC = "hcGov"; // 楼栋类型
+    public static final String GOV_SWITCH = "GOV_SWITCH"; // 推送政务开关
 
 
 
 
     //政务小区编码
     //政务小区编码

+ 1 - 1
service-job/src/main/java/com/java110/job/adapt/hcGov/asyn/BaseHcGovSendAsyn.java

@@ -7,5 +7,5 @@ public interface BaseHcGovSendAsyn {
     public JSONObject createHeadersOrBody(JSONObject body,String extCommunityId,String serviceCode,String secure);
     public JSONObject createHeadersOrBody(JSONObject body,String extCommunityId,String serviceCode,String secure);
 
 
 
 
-    public void sendKafka(String topic,JSONObject massage,String communityId,String objId);
+    public void sendKafka(String topic,JSONObject massage,String communityId,String objId,String secure);
 }
 }

+ 4 - 4
service-job/src/main/java/com/java110/job/adapt/hcGov/asyn/impl/BaseHcGovSendAsynImpl.java

@@ -38,7 +38,7 @@ public class BaseHcGovSendAsynImpl implements BaseHcGovSendAsyn {
     }
     }
 
 
 
 
-    protected void saveHcGovLog(JSONObject paramIn,String communityId,String topic,String objId) {
+    protected void saveHcGovLog(JSONObject paramIn,String communityId,String topic,String objId,String secure) {
         Assert.hasKeyAndValue(paramIn, "header", "请求报文中未包含header");
         Assert.hasKeyAndValue(paramIn, "header", "请求报文中未包含header");
         Assert.hasKeyAndValue(paramIn, "body", "请求报文中未包含body");
         Assert.hasKeyAndValue(paramIn, "body", "请求报文中未包含body");
         JSONObject heard = paramIn.getJSONObject("header");
         JSONObject heard = paramIn.getJSONObject("header");
@@ -49,7 +49,7 @@ public class BaseHcGovSendAsynImpl implements BaseHcGovSendAsyn {
         hcGovTranslatePo.setTranId(heard.getString("tranId"));
         hcGovTranslatePo.setTranId(heard.getString("tranId"));
         hcGovTranslatePo.setCommunityId(communityId);
         hcGovTranslatePo.setCommunityId(communityId);
         hcGovTranslatePo.setGovTopic(topic);
         hcGovTranslatePo.setGovTopic(topic);
-        hcGovTranslatePo.setCode(HcGovConstant.COMMUNITY_SECURE);
+        hcGovTranslatePo.setCode(secure);
         hcGovTranslatePo.setSendCount("1");
         hcGovTranslatePo.setSendCount("1");
         hcGovTranslatePo.setExtCommunityId(heard.getString("extCommunityId"));
         hcGovTranslatePo.setExtCommunityId(heard.getString("extCommunityId"));
         hcGovTranslatePo.setObjId(objId);
         hcGovTranslatePo.setObjId(objId);
@@ -74,10 +74,10 @@ public class BaseHcGovSendAsynImpl implements BaseHcGovSendAsyn {
         }
         }
     }
     }
 
 
-    public void sendKafka(String topic,JSONObject massage,String communityId,String objId) {
+    public void sendKafka(String topic,JSONObject massage,String communityId,String objId,String secure) {
         try {
         try {
             KafkaFactory.sendKafkaMessage(topic,massage.toJSONString());
             KafkaFactory.sendKafkaMessage(topic,massage.toJSONString());
-            saveHcGovLog(massage,communityId,topic,objId);
+            saveHcGovLog(massage,communityId,topic,objId,secure);
         } catch (Exception e) {
         } catch (Exception e) {
             e.printStackTrace();
             e.printStackTrace();
         }
         }

+ 9 - 8
service-job/src/main/java/com/java110/job/adapt/hcGov/floor/AddFloorToHcGovAdapt.java

@@ -60,7 +60,6 @@ public class AddFloorToHcGovAdapt extends DatabusAdaptImpl {
 
 
 
 
     /**
     /**
-     *
      * @param business   当前处理业务
      * @param business   当前处理业务
      * @param businesses 所有业务信息
      * @param businesses 所有业务信息
      */
      */
@@ -81,7 +80,9 @@ public class AddFloorToHcGovAdapt extends DatabusAdaptImpl {
             //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar");
             //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar");
             for (int bOwnerCarIndex = 0; bOwnerCarIndex < businessOwnerCars.size(); bOwnerCarIndex++) {
             for (int bOwnerCarIndex = 0; bOwnerCarIndex < businessOwnerCars.size(); bOwnerCarIndex++) {
                 JSONObject businessOwnerCar = businessOwnerCars.getJSONObject(bOwnerCarIndex);
                 JSONObject businessOwnerCar = businessOwnerCars.getJSONObject(bOwnerCarIndex);
-                doAddFloor(business, businessOwnerCar);
+                if ("TRUE".equals(MappingCache.getValue(HcGovConstant.GOV_DOMAIN, HcGovConstant.GOV_SWITCH))) {
+                    doAddFloor(business, businessOwnerCar);
+                }
             }
             }
         }
         }
     }
     }
@@ -110,25 +111,25 @@ public class AddFloorToHcGovAdapt extends DatabusAdaptImpl {
         List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
         List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
         String layerCount = "0";
         String layerCount = "0";
         String floorUse = "0";
         String floorUse = "0";
-        if(unitDtos != null && unitDtos.size() > 0){
+        if (unitDtos != null && unitDtos.size() > 0) {
             layerCount = unitDtos.get(0).getLayerCount();
             layerCount = unitDtos.get(0).getLayerCount();
-            floorUse = unitDtos.size()+"";
+            floorUse = unitDtos.size() + "";
         }
         }
 
 
 
 
         JSONObject body = new JSONObject();
         JSONObject body = new JSONObject();
         body.put("floorNum", floorPo.getFloorNum());
         body.put("floorNum", floorPo.getFloorNum());
         body.put("floorName", floorPo.getName());
         body.put("floorName", floorPo.getName());
-        body.put("floorType", MappingCache.getValue(HcGovConstant.GOV_DOMAIN,HcGovConstant.FLOOR_TYPE));
+        body.put("floorType", MappingCache.getValue(HcGovConstant.GOV_DOMAIN, HcGovConstant.FLOOR_TYPE));
         body.put("floorArea", floorPo.getFloorArea());
         body.put("floorArea", floorPo.getFloorArea());
         body.put("layerCount", layerCount);
         body.put("layerCount", layerCount);
         body.put("unitCount", floorUse);
         body.put("unitCount", floorUse);
-        body.put("floorUse", tmpCommunityDto.getName()+"_住宅");
+        body.put("floorUse", tmpCommunityDto.getName() + "_住宅");
         body.put("personName", "HC小区管理系统");
         body.put("personName", "HC小区管理系统");
         body.put("personLink", "18909711234");
         body.put("personLink", "18909711234");
 
 
-        JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body,extCommunityId,HcGovConstant.ADD_FLOOR_ACTION,HcGovConstant.COMMUNITY_SECURE);
-        baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC,kafkaData,communityId,floorId);
+        JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.ADD_FLOOR_ACTION, HcGovConstant.COMMUNITY_SECURE);
+        baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, floorId, HcGovConstant.COMMUNITY_SECURE);
     }
     }
 
 
 }
 }

+ 130 - 0
service-job/src/main/java/com/java110/job/adapt/hcGov/floor/EditFloorToHcGovAdapt.java

@@ -0,0 +1,130 @@
+/*
+ * Copyright 2017-2020 吴学文 and java110 team.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.java110.job.adapt.hcGov.floor;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.UnitDto;
+import com.java110.dto.community.CommunityAttrDto;
+import com.java110.dto.community.CommunityDto;
+import com.java110.entity.order.Business;
+import com.java110.intf.community.ICommunityInnerServiceSMO;
+import com.java110.intf.community.IUnitInnerServiceSMO;
+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.floor.FloorPo;
+import com.java110.utils.cache.MappingCache;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.BeanConvertUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 修改楼栋同步HC政务接口
+ * <p>
+ * 接口协议地址: https://gitee.com/java110/microCommunityInformation/tree/master/info-doc#1%E6%A5%BC%E6%A0%8B%E4%B8%8A%E4%BC%A0
+ *
+ * @desc add by 吴学文 16:20
+ */
+@Component(value = "editFloorToHcGovAdapt")
+public class EditFloorToHcGovAdapt extends DatabusAdaptImpl {
+
+    @Autowired
+    private ICommunityInnerServiceSMO communityInnerServiceSMOImpl;
+
+    @Autowired
+    private IUnitInnerServiceSMO unitInnerServiceSMOImpl;
+    @Autowired
+    private BaseHcGovSendAsyn baseHcGovSendAsynImpl;
+
+
+    /**
+     * @param business   当前处理业务
+     * @param businesses 所有业务信息
+     */
+    @Override
+    public void execute(Business business, List<Business> businesses) {
+        JSONObject data = business.getData();
+        if (data.containsKey(FloorPo.class.getSimpleName())) {
+            Object bObj = data.get(FloorPo.class.getSimpleName());
+            JSONArray businessOwnerCars = null;
+            if (bObj instanceof JSONObject) {
+                businessOwnerCars = new JSONArray();
+                businessOwnerCars.add(bObj);
+            } else if (bObj instanceof List) {
+                businessOwnerCars = JSONArray.parseArray(JSONObject.toJSONString(bObj));
+            } else {
+                businessOwnerCars = (JSONArray) bObj;
+            }
+            //JSONObject businessOwnerCar = data.getJSONObject("businessOwnerCar");
+            for (int bOwnerCarIndex = 0; bOwnerCarIndex < businessOwnerCars.size(); bOwnerCarIndex++) {
+                JSONObject businessOwnerCar = businessOwnerCars.getJSONObject(bOwnerCarIndex);
+                if ("TRUE".equals(MappingCache.getValue(HcGovConstant.GOV_DOMAIN, HcGovConstant.GOV_SWITCH))) {
+                    doAddFloor(business, businessOwnerCar);
+                }
+            }
+        }
+    }
+
+    private void doAddFloor(Business business, JSONObject businessFloor) {
+
+        FloorPo floorPo = BeanConvertUtil.covertBean(businessFloor, FloorPo.class);
+        CommunityDto communityDto = new CommunityDto();
+        communityDto.setCommunityId(floorPo.getCommunityId());
+        List<CommunityDto> communityDtos = communityInnerServiceSMOImpl.queryCommunitys(communityDto);
+
+        Assert.listOnlyOne(communityDtos, "未包含小区信息");
+        CommunityDto tmpCommunityDto = communityDtos.get(0);
+        String extCommunityId = "";
+        String communityId = tmpCommunityDto.getCommunityId();
+        String floorId = floorPo.getFloorId();
+
+        for (CommunityAttrDto communityAttrDto : tmpCommunityDto.getCommunityAttrDtos()) {
+            if (HcGovConstant.EXT_COMMUNITY_ID.equals(communityAttrDto.getSpecCd())) {
+                extCommunityId = communityAttrDto.getValue();
+            }
+        }
+        UnitDto unitDto = new UnitDto();
+        unitDto.setFloorId(floorPo.getFloorId());
+        unitDto.setCommunityId(floorPo.getCommunityId());
+        List<UnitDto> unitDtos = unitInnerServiceSMOImpl.queryUnits(unitDto);
+        String layerCount = "0";
+        String floorUse = "0";
+        if (unitDtos != null && unitDtos.size() > 0) {
+            layerCount = unitDtos.get(0).getLayerCount();
+            floorUse = unitDtos.size() + "";
+        }
+
+
+        JSONObject body = new JSONObject();
+        body.put("floorNum", floorPo.getFloorNum());
+        body.put("floorName", floorPo.getName());
+        body.put("floorType", MappingCache.getValue(HcGovConstant.GOV_DOMAIN, HcGovConstant.FLOOR_TYPE));
+        body.put("floorArea", floorPo.getFloorArea());
+        body.put("layerCount", layerCount);
+        body.put("unitCount", floorUse);
+        body.put("floorUse", tmpCommunityDto.getName() + "_住宅");
+        body.put("personName", "HC小区管理系统");
+        body.put("personLink", "18909711234");
+
+        JSONObject kafkaData = baseHcGovSendAsynImpl.createHeadersOrBody(body, extCommunityId, HcGovConstant.EDIT_FLOOR_ACTION, HcGovConstant.COMMUNITY_SECURE);
+        baseHcGovSendAsynImpl.sendKafka(HcGovConstant.GOV_TOPIC, kafkaData, communityId, floorId, HcGovConstant.COMMUNITY_SECURE);
+    }
+
+}