From 9943c60aca4c93600e54479d919d377e08a12ef4 Mon Sep 17 00:00:00 2001
From: java110 <928255095@qq.com>
Date: 星期四, 10 十二月 2020 21:58:26 +0800
Subject: [PATCH] Merge branch 'master' of http://git.homecommunity.cn/supervip/MicroCommunity

---
 service-job/src/main/java/com/java110/job/adapt/ximoIot/asyn/impl/XimoMachineAsynImpl.java |   77 ++++++++++++++++++++++++++++++++++++--
 1 files changed, 72 insertions(+), 5 deletions(-)

diff --git a/service-job/src/main/java/com/java110/job/adapt/ximoIot/asyn/impl/XimoMachineAsynImpl.java b/service-job/src/main/java/com/java110/job/adapt/ximoIot/asyn/impl/XimoMachineAsynImpl.java
index 26acbf0..08250d8 100644
--- a/service-job/src/main/java/com/java110/job/adapt/ximoIot/asyn/impl/XimoMachineAsynImpl.java
+++ b/service-job/src/main/java/com/java110/job/adapt/ximoIot/asyn/impl/XimoMachineAsynImpl.java
@@ -15,20 +15,26 @@
  */
 package com.java110.job.adapt.ximoIot.asyn.impl;
 
+import com.alibaba.fastjson.JSONObject;
 import com.java110.core.client.RestTemplate;
+import com.java110.core.factory.GenerateCodeFactory;
+import com.java110.dto.machine.MachineDto;
+import com.java110.intf.common.IMachineAttrInnerServiceSMO;
+import com.java110.intf.common.IMachineInnerServiceSMO;
 import com.java110.job.adapt.ximoIot.GetToken;
 import com.java110.job.adapt.ximoIot.XimoIotConstant;
 import com.java110.job.adapt.ximoIot.asyn.IXimoMachineAsyn;
+import com.java110.po.machine.MachineAttrPo;
+import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.HttpMethod;
-import org.springframework.http.ResponseEntity;
+import org.springframework.http.*;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.util.MultiValueMap;
+
+import java.util.List;
 
 /**
  * @desc add by 鍚村鏂� 11:55
@@ -41,9 +47,15 @@
     @Autowired
     private RestTemplate formRestTemplate;
 
+    @Autowired
+    private IMachineInnerServiceSMO machineInnerServiceSMOImpl;
+
+    @Autowired
+    private IMachineAttrInnerServiceSMO machineAttrInnerServiceSMOImpl;
+
     @Override
     @Async
-    public void send(MultiValueMap<String, Object> postParameters) {
+    public void send(MultiValueMap<String, Object> postParameters, List<MultiValueMap<String, Object>> ownerDtos) {
         postParameters.add("accessToken", GetToken.get(formRestTemplate));
         HttpHeaders httpHeaders = new HttpHeaders();
         httpHeaders.add("Content-Type", "application/x-www-form-urlencoded");
@@ -52,6 +64,37 @@
         ResponseEntity<String> responseEntity = formRestTemplate.exchange(XimoIotConstant.ADD_MACHINE_URL, HttpMethod.POST, httpEntity, String.class);
 
         logger.debug("璋冪敤鍚稿ⅷ淇℃伅锛�" + responseEntity);
+
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return;
+        }
+        JSONObject tokenObj = JSONObject.parseObject(responseEntity.getBody());
+
+        if (!tokenObj.containsKey("code") || ResultVo.CODE_OK != tokenObj.getInteger("code")) {
+            return;
+        }
+
+        JSONObject data = tokenObj.getJSONObject("data");
+        String devMac = data.getString("devMac");
+        String appEkey = data.getString("appEkey");
+
+        MachineDto machinePo = new MachineDto();
+        machinePo.setMachineId(data.getString("uuid"));
+        machinePo.setState("1700");
+        machinePo.setMachineMac(devMac);
+        machineInnerServiceSMOImpl.updateMachineState(machinePo);
+
+        MachineAttrPo machineAttrPo = new MachineAttrPo();
+        machineAttrPo.setAttrId(GenerateCodeFactory.getGeneratorId(GenerateCodeFactory.CODE_PREFIX_attrId));
+        machineAttrPo.setCommunityId(postParameters.get("extCommunityUuid").get(0).toString());
+        machineAttrPo.setSpecCd("7127015495");
+        machineAttrPo.setMachineId(data.getString("uuid"));
+        machineAttrPo.setValue(appEkey);
+        machineAttrInnerServiceSMOImpl.saveMachineAttrs(machineAttrPo);
+
+        for (MultiValueMap<String, Object> owner : ownerDtos) {
+            sendOwner(owner);
+        }
     }
 
     @Override
@@ -90,4 +133,28 @@
 
         logger.debug("璋冪敤鍚稿ⅷ淇℃伅锛�" + responseEntity);
     }
+
+    @Override
+    public void sendUpdateOwner(MultiValueMap<String, Object> postParameters) {
+        postParameters.add("accessToken", GetToken.get(formRestTemplate));
+        HttpHeaders httpHeaders = new HttpHeaders();
+        httpHeaders.add("Content-Type", "application/x-www-form-urlencoded");
+
+        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity(postParameters, httpHeaders);
+        ResponseEntity<String> responseEntity = formRestTemplate.exchange(XimoIotConstant.EDIT_OWNER, HttpMethod.POST, httpEntity, String.class);
+
+        logger.debug("璋冪敤鍚稿ⅷ淇℃伅锛�" + responseEntity);
+    }
+
+    @Override
+    public void sendDeleteOwner(MultiValueMap<String, Object> postParameters) {
+        postParameters.add("accessToken", GetToken.get(formRestTemplate));
+        HttpHeaders httpHeaders = new HttpHeaders();
+        httpHeaders.add("Content-Type", "application/x-www-form-urlencoded");
+
+        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity(postParameters, httpHeaders);
+        ResponseEntity<String> responseEntity = formRestTemplate.exchange(XimoIotConstant.DELETE_OWNER, HttpMethod.POST, httpEntity, String.class);
+
+        logger.debug("璋冪敤鍚稿ⅷ淇℃伅锛�" + responseEntity);
+    }
 }

--
Gitblit v1.8.0