Преглед на файлове

开始加入小区信息同步新版物联网教程

wuxw преди 2 години
родител
ревизия
4eabf6da0c

+ 3 - 0
java110-bean/src/main/java/com/java110/dto/data/DatabusDataDto.java

@@ -29,6 +29,9 @@ public class DatabusDataDto extends PageDto implements Serializable {
     //todo 工作单通知适配器
     //todo 工作单通知适配器
     public static final String BUSINESS_TYPE_OA_WORK_TASK = "oaWorkTaskToStaff";
     public static final String BUSINESS_TYPE_OA_WORK_TASK = "oaWorkTaskToStaff";
 
 
+    // 欠费催缴
+    public static final String BUSINESS_TYPE_SEND_COMMUNITY_DATA_TO_IOT = "sendCommunityDataToIot";
+
 
 
     private String businessTypeCd;
     private String businessTypeCd;
 
 

+ 1 - 1
service-common/src/main/java/com/java110/common/cmd/machine/GetCarMachineQrCodeUrl.java

@@ -109,6 +109,6 @@ public class GetCarMachineQrCodeUrl extends Cmd {
 
 
             return parkingBoxAreaDtos.get(0).getPaId();
             return parkingBoxAreaDtos.get(0).getPaId();
         }
         }
-        return "";
+        return reqJson.getString("paId");
     }
     }
 }
 }

+ 72 - 0
service-community/src/main/java/com/java110/community/cmd/community/SendCommunityToIotCmd.java

@@ -0,0 +1,72 @@
+package com.java110.community.cmd.community;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.annotation.Java110Cmd;
+import com.java110.core.context.ICmdDataFlowContext;
+import com.java110.core.event.cmd.Cmd;
+import com.java110.core.event.cmd.CmdEvent;
+import com.java110.dto.community.CommunityMemberDto;
+import com.java110.dto.data.DatabusDataDto;
+import com.java110.dto.owner.OwnerDto;
+import com.java110.intf.community.ICommunityMemberV1InnerServiceSMO;
+import com.java110.intf.job.IDataBusInnerServiceSMO;
+import com.java110.intf.user.IOwnerV1InnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.utils.util.ListUtil;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+import java.util.List;
+
+/**
+ * 同步小区数据到物联网项目
+ */
+@Java110Cmd(serviceCode = "community.sendCommunityToIot")
+public class SendCommunityToIotCmd extends Cmd {
+
+    @Autowired
+    private ICommunityMemberV1InnerServiceSMO communityMemberV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IOwnerV1InnerServiceSMO ownerV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IDataBusInnerServiceSMO dataBusInnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区ID");
+
+        //todo 查询小区是否存在物业公司
+        CommunityMemberDto communityMemberDto = new CommunityMemberDto();
+        communityMemberDto.setCommunityId(reqJson.getString("communityId"));
+        communityMemberDto.setMemberTypeCd(CommunityMemberDto.MEMBER_TYPE_PROPERTY);
+        List<CommunityMemberDto> communityMemberDtos = communityMemberV1InnerServiceSMOImpl.queryCommunityMembers(communityMemberDto);
+
+        if (ListUtil.isNull(communityMemberDtos)) {
+            throw new CmdException("小区未关联物业公司,不能同步数据");
+        }
+
+        //todo 检查小区中是否存在业主信息
+
+        OwnerDto ownerDto = new OwnerDto();
+        ownerDto.setCommunityId(reqJson.getString("communityId"));
+        int count = ownerV1InnerServiceSMOImpl.queryOwnersCount(ownerDto);
+
+        if (count < 1) {
+            throw new CmdException("小区中不存在业主信息,请您先维护物业基础数据后,再同步");
+        }
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+
+        dataBusInnerServiceSMOImpl.databusData(new DatabusDataDto(DatabusDataDto.BUSINESS_TYPE_SEND_COMMUNITY_DATA_TO_IOT, reqJson));
+
+        context.setResponseEntity(ResultVo.success());
+
+    }
+}

+ 10 - 0
service-job/src/main/java/com/java110/job/adapt/hcIotNew/GetIotHeader.java

@@ -0,0 +1,10 @@
+package com.java110.job.adapt.hcIotNew;
+
+/**
+ * 获取IOT 头信息
+ */
+public class GetIotHeader {
+
+
+
+}

+ 98 - 0
service-job/src/main/java/com/java110/job/adapt/hcIotNew/SendCommunityDataToIotAdapt.java

@@ -0,0 +1,98 @@
+package com.java110.job.adapt.hcIotNew;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.dto.community.CommunityDto;
+import com.java110.dto.community.CommunityMemberDto;
+import com.java110.dto.system.Business;
+import com.java110.intf.community.ICommunityMemberV1InnerServiceSMO;
+import com.java110.intf.community.ICommunityV1InnerServiceSMO;
+import com.java110.intf.store.IStoreV1InnerServiceSMO;
+import com.java110.job.adapt.DatabusAdaptImpl;
+import com.java110.utils.util.Assert;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.List;
+
+/**
+ * 发送全量数据到 物联网
+ */
+@Component(value = "sendCommunityDataToIotAdapt")
+public class SendCommunityDataToIotAdapt extends DatabusAdaptImpl {
+
+
+    @Autowired
+    private ICommunityV1InnerServiceSMO communityV1InnerServiceSMOImpl;
+
+    @Autowired
+    private ICommunityMemberV1InnerServiceSMO communityMemberV1InnerServiceSMOImpl;
+
+    @Autowired
+    private IStoreV1InnerServiceSMO storeV1InnerServiceSMOImpl;
+
+
+    /**
+     * accessToken={access_token}
+     * &extCommunityUuid=01000
+     * &extCommunityId=1
+     * &devSn=111111111
+     * &name=设备名称
+     * &positionType=0
+     * &positionUuid=1
+     *
+     * @param business   当前处理业务
+     * @param businesses 所有业务信息
+     */
+    @Override
+    public void execute(Business business, List<Business> businesses) {
+        JSONObject data = business.getData();
+        String communityId = data.getString("communityId");
+
+        //todo 同步小区
+        sendCommunityAndProperty(communityId);
+
+        //todo 同步业主
+        sendOwner(communityId);
+
+
+    }
+
+    /**
+     * 同步小区和物业公司
+     *
+     * @param communityId 小区id
+     */
+    private void sendCommunityAndProperty(String communityId) {
+
+        CommunityDto communityDto = new CommunityDto();
+        communityDto.setCommunityId(communityId);
+        List<CommunityDto> communityDtos = communityV1InnerServiceSMOImpl.queryCommunitys(communityDto);
+
+        Assert.listOnlyOne(communityDtos, "小区不存在");
+
+        CommunityMemberDto communityMemberDto = new CommunityMemberDto();
+        communityMemberDto.setCommunityId(communityId);
+        communityMemberDto.setMemberTypeCd(CommunityMemberDto.MEMBER_TYPE_PROPERTY);
+        List<CommunityMemberDto> communityMemberDtos = communityMemberV1InnerServiceSMOImpl.queryCommunityMembers(communityMemberDto);
+        Assert.listOnlyOne(communityMemberDtos, "小区成员不存在");
+
+        /**
+         * {
+         * “communityId”:”12313”,
+         * “name”:”演示小区”,
+         * “address”:”地址”,
+         * “cityCode”:”110101”,
+         * “tel”:”18909711445”,
+         * “storeId”:”11111”,
+         * “storeId”:”演示物业”,
+         * }
+         */
+
+
+    }
+
+    private void sendOwner(String communityId) {
+    }
+
+
+}