Sfoglia il codice sorgente

加入开门接口和重启设备接口

java110 5 anni fa
parent
commit
5642bb3191

+ 8 - 0
java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java

@@ -42,4 +42,12 @@ public interface IDataBusInnerServiceSMO {
     @RequestMapping(value = "/openDoor", method = RequestMethod.POST)
     ResultVo openDoor(@RequestBody JSONObject reqJson);
 
+    /**
+     * <p>重启设备</p>
+     *
+     * @param reqJson 请求信息
+     * @return TaskDto 对象数据
+     */
+    @RequestMapping(value = "/restartMachine", method = RequestMethod.POST)
+    ResultVo restartMachine(@RequestBody JSONObject reqJson);
 }

+ 19 - 13
service-common/src/main/java/com/java110/common/api/MachineApi.java

@@ -1,16 +1,10 @@
 package com.java110.common.api;
 
 import com.alibaba.fastjson.JSONObject;
-import com.java110.common.bmo.attrValue.IDeleteAttrValueBMO;
-import com.java110.common.bmo.attrValue.IGetAttrValueBMO;
-import com.java110.common.bmo.attrValue.ISaveAttrValueBMO;
-import com.java110.common.bmo.attrValue.IUpdateAttrValueBMO;
 import com.java110.common.bmo.machine.IMachineOpenDoorBMO;
 import com.java110.common.bmo.machineTranslateError.IGetMachineTranslateErrorBMO;
 import com.java110.dto.machineTranslateError.MachineTranslateErrorDto;
-import com.java110.po.attrValue.AttrValuePo;
 import com.java110.utils.util.Assert;
-import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.web.bind.annotation.*;
@@ -27,7 +21,7 @@ public class MachineApi {
     private IGetMachineTranslateErrorBMO getMachineTranslateErrorBMOImpl;
 
     /**
-     * 微信保存消息模板
+     * 设备开门功能
      *
      * @param reqJson
      * @return
@@ -36,22 +30,34 @@ public class MachineApi {
      */
     @RequestMapping(value = "/openDoor", method = RequestMethod.POST)
     public ResponseEntity<String> openDoor(@RequestBody JSONObject reqJson) {
-
         Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
         Assert.hasKeyAndValue(reqJson, "machineCode", "请求报文中未包含设备信息");
-        Assert.hasKeyAndValue(reqJson, "userType", "请求报文中未包含用户类型");
-        Assert.hasKeyAndValue(reqJson, "userId", "请求报文中未包含用户信息");
-
         return machineOpenDoorBMOImpl.openDoor(reqJson);
     }
 
+    /**
+     * 设备开门功能
+     *
+     * @param reqJson
+     * @return
+     * @serviceCode /machine/restartMachine
+     * @path /app/machine/restartMachine
+     */
+    @RequestMapping(value = "/restartMachine", method = RequestMethod.POST)
+    public ResponseEntity<String> restartMachine(@RequestBody JSONObject reqJson) {
+        Assert.hasKeyAndValue(reqJson, "communityId", "请求报文中未包含小区信息");
+        Assert.hasKeyAndValue(reqJson, "machineCode", "请求报文中未包含设备信息");
+        return machineOpenDoorBMOImpl.restartMachine(reqJson);
+    }
+
 
     /**
      * 微信删除消息模板
-     * @serviceCode /machine/queryMachineTranslateError
-     * @path /app/machine/queryMachineTranslateError
+     *
      * @param communityId 小区ID
      * @return
+     * @serviceCode /machine/queryMachineTranslateError
+     * @path /app/machine/queryMachineTranslateError
      */
     @RequestMapping(value = "/queryMachineTranslateError", method = RequestMethod.GET)
     public ResponseEntity<String> queryMachineTranslateError(@RequestParam(value = "communityId") String communityId,

+ 8 - 0
service-common/src/main/java/com/java110/common/bmo/machine/IMachineOpenDoorBMO.java

@@ -28,4 +28,12 @@ public interface IMachineOpenDoorBMO {
      * @return
      */
     ResponseEntity<String> openDoor(JSONObject reqJson);
+
+    /**
+     * 开门接口类
+     *
+     * @param reqJson 请求报文信息
+     * @return
+     */
+    ResponseEntity<String> restartMachine(JSONObject reqJson);
 }

+ 12 - 0
service-common/src/main/java/com/java110/common/bmo/machine/impl/MachineOpenDoorBMOImpl.java

@@ -46,4 +46,16 @@ public class MachineOpenDoorBMOImpl implements IMachineOpenDoorBMO {
         ResultVo resultVo = dataBusInnerServiceSMOImpl.openDoor(reqJson);
         return ResultVo.createResponseEntity(resultVo);
     }
+
+    /**
+     * 重启设备
+     *
+     * @param reqJson 请求报文信息
+     * @return
+     */
+    @Override
+    public ResponseEntity<String> restartMachine(JSONObject reqJson) {
+        ResultVo resultVo = dataBusInnerServiceSMOImpl.restartMachine(reqJson);
+        return ResultVo.createResponseEntity(resultVo);
+    }
 }

+ 26 - 1
service-job/src/main/java/com/java110/job/adapt/DatabusAdaptImpl.java

@@ -42,11 +42,36 @@ public abstract class DatabusAdaptImpl implements IDatabusAdapt {
     }
 
 
+    /**
+     * 开门
+     *
+     * @param paramIn 业务信息
+     * @return
+     */
     @Override
     public ResultVo openDoor(JSONObject paramIn) {
         return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
     }
 
+    /**
+     * 重启设备
+     *
+     * @param paramIn
+     * @return
+     */
     @Override
-    public abstract void execute(Business business, List<Business> businesses);
+    public ResultVo restartMachine(JSONObject paramIn) {
+        return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
+    }
+
+    /**
+     * 业主处理执行
+     *
+     * @param business   当前处理业务
+     * @param businesses 所有业务信息
+     */
+    @Override
+    public void execute(Business business, List<Business> businesses) {
+
+    }
 }

+ 11 - 3
service-job/src/main/java/com/java110/job/adapt/IDatabusAdapt.java

@@ -37,10 +37,18 @@ public interface IDatabusAdapt {
     public void execute(Business business, List<Business> businesses);
 
     /**
-     * 业务处理
+     * 开门接口
      *
-     * @param paramIn   业务信息
+     * @param paramIn 业务信息
      */
-    public ResultVo openDoor(JSONObject paramIn);
+    ResultVo openDoor(JSONObject paramIn);
 
+    /**
+     * 重启设备
+     *
+     * @param reqJson {
+     *                "machineCode":""
+     * }
+     */
+    ResultVo restartMachine(JSONObject reqJson);
 }

+ 0 - 9
service-job/src/main/java/com/java110/job/adapt/hcIot/OpenDoorAdapt.java

@@ -17,7 +17,6 @@ package com.java110.job.adapt.hcIot;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.client.RestTemplate;
-import com.java110.entity.order.Business;
 import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,8 +27,6 @@ import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Component;
 import org.springframework.util.MultiValueMap;
 
-import java.util.List;
-
 /**
  * 开门适配器
  * 接口协议地址: https://gitee.com/java110/MicroCommunityThings/blob/master/back/docs/api.md
@@ -42,11 +39,6 @@ public class OpenDoorAdapt extends DatabusAdaptImpl {
     @Autowired
     RestTemplate outRestTemplate;
 
-    @Override
-    public void execute(Business business, List<Business> businesses) {
-
-    }
-
     @Override
     public ResultVo openDoor(JSONObject paramIn) {
         JSONObject postParameters = new JSONObject();
@@ -60,5 +52,4 @@ public class OpenDoorAdapt extends DatabusAdaptImpl {
         return new ResultVo(paramOut.getInteger("code"), paramOut.getString("msg"));
     }
 
-
 }

+ 54 - 0
service-job/src/main/java/com/java110/job/adapt/hcIot/RestartMachineAdapt.java

@@ -0,0 +1,54 @@
+/*
+ * 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.hcIot;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.core.client.RestTemplate;
+import com.java110.job.adapt.DatabusAdaptImpl;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
+import org.springframework.http.ResponseEntity;
+import org.springframework.stereotype.Component;
+import org.springframework.util.MultiValueMap;
+
+/**
+ * 开门适配器
+ * 接口协议地址: https://gitee.com/java110/MicroCommunityThings/blob/master/back/docs/api.md
+ *
+ * @desc add by 吴学文 15:29
+ */
+@Component(value = "restartMachineAdapt")
+public class RestartMachineAdapt extends DatabusAdaptImpl {
+
+    @Autowired
+    RestTemplate outRestTemplate;
+
+    @Override
+    public ResultVo restartMachine(JSONObject paramIn) {
+        JSONObject postParameters = new JSONObject();
+        postParameters.put("machineCode", paramIn.getString("machineCode"));
+        HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity(postParameters, getHeaders(outRestTemplate));
+        ResponseEntity<String> responseEntity = outRestTemplate.exchange(IotConstant.RESTART_MACHINE, HttpMethod.POST, httpEntity, String.class);
+        if (responseEntity.getStatusCode() != HttpStatus.OK) {
+            return new ResultVo(ResultVo.CODE_ERROR, responseEntity.getBody());
+        }
+        JSONObject paramOut = JSONObject.parseObject(responseEntity.getBody());
+        return new ResultVo(paramOut.getInteger("code"), paramOut.getString("msg"));
+    }
+}

+ 9 - 1
service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java

@@ -29,7 +29,8 @@ import java.util.List;
 public class DataBusInnerServiceSMOImpl extends BaseServiceSMO implements IDataBusInnerServiceSMO {
     private static final Logger logger = LoggerFactory.getLogger(DataBusInnerServiceSMOImpl.class);
 
-    public static final String DEFAULT_OPEN_DOOR_PROTOCOL = "ximoOpenDoorAdapt";//吸墨门禁
+    public static final String DEFAULT_OPEN_DOOR_PROTOCOL = "openDoorAdapt";//吸墨门禁
+    public static final String DEFAULT_START_MACHINE_PROTOCOL = "restartMachineAdapt";//吸墨门禁
 
 
     @Override
@@ -48,6 +49,13 @@ public class DataBusInnerServiceSMOImpl extends BaseServiceSMO implements IDataB
 
     }
 
+    @Override
+    public ResultVo restartMachine(@RequestBody JSONObject reqJson) {
+        IDatabusAdapt databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_START_MACHINE_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.restartMachine(reqJson);
+
+    }
+
     /**
      * 处理业务类
      *