wuxw vor 2 Jahren
Ursprung
Commit
421870b640

+ 34 - 0
java110-bean/src/main/java/com/java110/dto/IotDataDto.java

@@ -0,0 +1,34 @@
+package com.java110.dto;
+
+import com.alibaba.fastjson.JSONObject;
+
+public class IotDataDto {
+
+    private String iotApiCode;
+
+    private JSONObject data;
+
+    public IotDataDto() {
+    }
+
+    public IotDataDto(String iotApiCode, JSONObject data) {
+        this.iotApiCode = iotApiCode;
+        this.data = data;
+    }
+
+    public String getIotApiCode() {
+        return iotApiCode;
+    }
+
+    public void setIotApiCode(String iotApiCode) {
+        this.iotApiCode = iotApiCode;
+    }
+
+    public JSONObject getData() {
+        return data;
+    }
+
+    public void setData(JSONObject data) {
+        this.data = data;
+    }
+}

+ 9 - 0
java110-interface/src/main/java/com/java110/intf/job/IIotInnerServiceSMO.java

@@ -2,6 +2,7 @@ package com.java110.intf.job;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.config.feign.FeignConfiguration;
+import com.java110.dto.IotDataDto;
 import com.java110.dto.data.DatabusDataDto;
 import com.java110.dto.fee.TempCarPayOrderDto;
 import com.java110.dto.machine.CarInoutDto;
@@ -38,4 +39,12 @@ public interface IIotInnerServiceSMO {
     ResultVo postIot(@RequestBody JSONObject reqJson);
 
 
+    /**
+     * <p>重启设备</p>
+     *
+     * @param iotDataDto 请求信息
+     * @return TaskDto 对象数据
+     */
+    @RequestMapping(value = "/postIotData", method = RequestMethod.POST)
+    ResultVo postIotData(@RequestBody IotDataDto iotDataDto);
 }

+ 35 - 0
service-community/src/main/java/com/java110/community/cmd/visit/QueryVisitQrCodeCmd.java

@@ -0,0 +1,35 @@
+package com.java110.community.cmd.visit;
+
+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.IotDataDto;
+import com.java110.intf.job.IIotInnerServiceSMO;
+import com.java110.utils.exception.CmdException;
+import com.java110.utils.util.Assert;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.text.ParseException;
+
+@Java110Cmd(serviceCode = "visit.queryVisitQrCode")
+public class QueryVisitQrCodeCmd extends Cmd {
+
+    @Autowired
+    private IIotInnerServiceSMO iotInnerServiceSMOImpl;
+
+    @Override
+    public void validate(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+        Assert.hasKeyAndValue(reqJson, "communityId", "未包含小区ID");
+    }
+
+    @Override
+    public void doCmd(CmdEvent event, ICmdDataFlowContext context, JSONObject reqJson) throws CmdException, ParseException {
+
+
+        ResultVo resultVo = iotInnerServiceSMOImpl.postIotData(new IotDataDto("getVisitQrCodeUrlBmoImpl", reqJson));
+        context.setResponseEntity(ResultVo.createResponseEntity(resultVo));
+    }
+}

+ 20 - 0
service-job/src/main/java/com/java110/job/smo/impl/IotInnerServiceSMOImpl.java

@@ -4,8 +4,10 @@ package com.java110.job.smo.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.core.log.LoggerFactory;
+import com.java110.dto.IotDataDto;
 import com.java110.intf.job.IIotInnerServiceSMO;
 import com.java110.job.adapt.hcIotNew.http.ISendIot;
+import com.java110.utils.cache.MappingCache;
 import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -34,6 +36,24 @@ public class IotInnerServiceSMOImpl extends BaseServiceSMO implements IIotInnerS
 
     @Override
     public ResultVo postIot(@RequestBody JSONObject paramIn) {
+        String iotSwitch = MappingCache.getValue("IOT", "IOT_SWITCH");
+        if (!"ON".equals(iotSwitch)) {
+            return new ResultVo(ResultVo.CODE_ERROR, "未部署IOT系统");
+        }
+        ResultVo resultVo = sendIotImpl.post("/iot/api/common.openCommonApi", paramIn);
+        return resultVo;
+    }
+
+    @Override
+    public ResultVo postIotData(@RequestBody IotDataDto iotDataDto) {
+
+        String iotSwitch = MappingCache.getValue("IOT", "IOT_SWITCH");
+        if (!"ON".equals(iotSwitch)) {
+            return new ResultVo(ResultVo.CODE_ERROR, "未部署IOT系统");
+        }
+
+        JSONObject paramIn = iotDataDto.getData();
+        paramIn.put("iotApiCode", iotDataDto.getIotApiCode());
         ResultVo resultVo = sendIotImpl.post("/iot/api/common.openCommonApi", paramIn);
         return resultVo;
     }