Sfoglia il codice sorgente

合并 脱敏权限控制

java110 5 anni fa
parent
commit
28d8d78886

+ 11 - 0
java110-bean/src/main/java/com/java110/vo/ResultVo.java

@@ -171,6 +171,17 @@ public class ResultVo implements Serializable {
         return responseEntity;
     }
 
+    /**
+     * 创建ResponseEntity对象
+     *
+     * @param resultVo 数据对象
+     * @return
+     */
+    public static ResponseEntity<String> createResponseEntity(ResultVo resultVo) {
+        ResponseEntity<String> responseEntity = new ResponseEntity<String>(resultVo.toString(), HttpStatus.OK);
+        return responseEntity;
+    }
+
     /**
      * 成功通用回复
      * @return

+ 2 - 1
java110-interface/src/main/java/com/java110/intf/job/IDataBusInnerServiceSMO.java

@@ -3,6 +3,7 @@ package com.java110.intf.job;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.config.feign.FeignConfiguration;
 import com.java110.entity.order.Business;
+import com.java110.vo.ResultVo;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestMapping;
@@ -39,6 +40,6 @@ public interface IDataBusInnerServiceSMO {
      * @return TaskDto 对象数据
      */
     @RequestMapping(value = "/openDoor", method = RequestMethod.POST)
-    boolean openDoor(@RequestBody JSONObject reqJson);
+    ResultVo openDoor(@RequestBody JSONObject reqJson);
 
 }

+ 11 - 1
service-common/src/main/java/com/java110/common/bmo/machine/impl/MachineOpenDoorBMOImpl.java

@@ -17,23 +17,33 @@ package com.java110.common.bmo.machine.impl;
 
 import com.alibaba.fastjson.JSONObject;
 import com.java110.common.bmo.machine.IMachineOpenDoorBMO;
+import com.java110.intf.job.IDataBusInnerServiceSMO;
+import com.java110.vo.ResultVo;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.ResponseEntity;
 import org.springframework.stereotype.Service;
 
 /**
  * 设备开门功能
+ *
  * @desc add by 吴学文 14:15
  */
 @Service
 public class MachineOpenDoorBMOImpl implements IMachineOpenDoorBMO {
 
+
+    @Autowired
+    IDataBusInnerServiceSMO dataBusInnerServiceSMOImpl;
+
     /**
      * 开门功能
+     *
      * @param reqJson 请求报文信息
      * @return
      */
     @Override
     public ResponseEntity<String> openDoor(JSONObject reqJson) {
-        return null;
+        ResultVo resultVo = dataBusInnerServiceSMOImpl.openDoor(reqJson);
+        return ResultVo.createResponseEntity(resultVo);
     }
 }

+ 37 - 0
service-job/src/main/java/com/java110/job/adapt/DatabusAdaptImpl.java

@@ -0,0 +1,37 @@
+/*
+ * 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;
+
+import com.alibaba.fastjson.JSONObject;
+import com.java110.entity.order.Business;
+import com.java110.vo.ResultVo;
+
+import java.util.List;
+
+/**
+ * @desc add by 吴学文 15:21
+ */
+public abstract class DatabusAdaptImpl implements IDatabusAdapt {
+
+
+    @Override
+    public ResultVo openDoor(JSONObject paramIn) {
+        return new ResultVo(ResultVo.CODE_OK, ResultVo.MSG_OK);
+    }
+
+    @Override
+    public abstract void execute(Business business, List<Business> businesses);
+}

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

@@ -15,7 +15,9 @@
  */
 package com.java110.job.adapt;
 
+import com.alibaba.fastjson.JSONObject;
 import com.java110.entity.order.Business;
+import com.java110.vo.ResultVo;
 
 import java.util.List;
 
@@ -34,4 +36,11 @@ public interface IDatabusAdapt {
      */
     public void execute(Business business, List<Business> businesses);
 
+    /**
+     * 业务处理
+     *
+     * @param paramIn   业务信息
+     */
+    public ResultVo openDoor(JSONObject paramIn);
+
 }

+ 2 - 1
service-job/src/main/java/com/java110/job/adapt/hcIot/MachineTransactionIotAdapt.java

@@ -16,6 +16,7 @@
 package com.java110.job.adapt.hcIot;
 
 import com.java110.entity.order.Business;
+import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.job.adapt.IDatabusAdapt;
 import com.java110.job.adapt.hcIot.asyn.ITransactionMachineAsyn;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,7 +30,7 @@ import java.util.List;
  * @desc add by 吴学文 18:58
  */
 @Component(value = "machineTransactionIotAdapt")
-public class MachineTransactionIotAdapt implements IDatabusAdapt {
+public class MachineTransactionIotAdapt extends DatabusAdaptImpl {
 
     @Autowired
     private ITransactionMachineAsyn transactionMachineAsynImpl;

+ 2 - 1
service-job/src/main/java/com/java110/job/adapt/ximoIot/XimoAddMachineTransactionIotAdapt.java

@@ -20,6 +20,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.machine.MachineDto;
 import com.java110.entity.order.Business;
 import com.java110.intf.common.IMachineInnerServiceSMO;
+import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.job.adapt.IDatabusAdapt;
 import com.java110.job.adapt.ximoIot.asyn.IXimoMachineAsyn;
 import com.java110.po.machine.MachinePo;
@@ -38,7 +39,7 @@ import java.util.List;
  * @desc add by 吴学文 18:58
  */
 @Component(value = "ximoAddMachineTransactionIotAdapt")
-public class XimoAddMachineTransactionIotAdapt implements IDatabusAdapt {
+public class XimoAddMachineTransactionIotAdapt extends DatabusAdaptImpl {
 
     @Autowired
     private IXimoMachineAsyn ximoMachineAsynImpl;

+ 2 - 1
service-job/src/main/java/com/java110/job/adapt/ximoIot/XimoDeleteMachineTransactionIotAdapt.java

@@ -20,6 +20,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.machine.MachineDto;
 import com.java110.entity.order.Business;
 import com.java110.intf.common.IMachineInnerServiceSMO;
+import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.job.adapt.IDatabusAdapt;
 import com.java110.job.adapt.ximoIot.asyn.IXimoMachineAsyn;
 import com.java110.po.machine.MachinePo;
@@ -38,7 +39,7 @@ import java.util.List;
  * @desc add by 吴学文 18:58
  */
 @Component(value = "ximoDeleteMachineTransactionIotAdapt")
-public class XimoDeleteMachineTransactionIotAdapt implements IDatabusAdapt {
+public class XimoDeleteMachineTransactionIotAdapt  extends DatabusAdaptImpl {
 
     @Autowired
     private IXimoMachineAsyn ximoMachineAsynImpl;

+ 1 - 0
service-job/src/main/java/com/java110/job/adapt/ximoIot/XimoIotConstant.java

@@ -33,6 +33,7 @@ public class XimoIotConstant {
     public static final String ADD_MACHINE_URL = IOT_URL + "/devDevice/extapi/add";
     public static final String UPDATE_MACHINE_URL = IOT_URL + "/devDevice/extapi/update";
     public static final String DELETE_MACHINE_URL = IOT_URL + "/devDevice/extapi/delete";
+    public static final String OPEN_DOOR = IOT_URL + "/sqDoor/extapi/remoteOpenDoor";
 
     public static final String XI_MO_TOKEN = "XI_MO_TOKEN";
 

+ 2 - 2
service-job/src/main/java/com/java110/job/adapt/ximoIot/XimoModifyMachineTransactionIotAdapt.java

@@ -20,7 +20,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.java110.dto.machine.MachineDto;
 import com.java110.entity.order.Business;
 import com.java110.intf.common.IMachineInnerServiceSMO;
-import com.java110.job.adapt.IDatabusAdapt;
+import com.java110.job.adapt.DatabusAdaptImpl;
 import com.java110.job.adapt.ximoIot.asyn.IXimoMachineAsyn;
 import com.java110.po.machine.MachinePo;
 import com.java110.utils.util.Assert;
@@ -38,7 +38,7 @@ import java.util.List;
  * @desc add by 吴学文 18:58
  */
 @Component(value = "ximoModifyMachineTransactionIotAdapt")
-public class XimoModifyMachineTransactionIotAdapt implements IDatabusAdapt {
+public class XimoModifyMachineTransactionIotAdapt extends DatabusAdaptImpl {
 
     @Autowired
     private IXimoMachineAsyn ximoMachineAsynImpl;

+ 71 - 0
service-job/src/main/java/com/java110/job/adapt/ximoIot/XimoOpenDoorAdapt.java

@@ -0,0 +1,71 @@
+/*
+ * 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.ximoIot;
+
+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;
+import org.springframework.http.*;
+import org.springframework.stereotype.Component;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+
+import java.util.List;
+
+/**
+ * 开门适配器
+ *
+ * @desc add by 吴学文 15:29
+ */
+@Component(value = "ximoOpenDoorAdapt")
+public class XimoOpenDoorAdapt extends DatabusAdaptImpl {
+
+    @Autowired
+    RestTemplate outRestTemplate;
+
+    @Override
+    public void execute(Business business, List<Business> businesses) {
+
+    }
+
+    @Override
+    public ResultVo openDoor(JSONObject paramIn) {
+        MultiValueMap<String, Object> postParameters = new LinkedMultiValueMap<>();
+
+        postParameters.add("extCommunityUuid", paramIn.getString("communityId"));
+        //postParameters.add("devSn", machinePo.getMachineCode());
+        postParameters.add("devSn", paramIn.getString("machineCode"));
+        postParameters.add("empType", paramIn.getString("userType"));
+        postParameters.add("empUuid", paramIn.getString("userId"));
+
+        postParameters.add("accessToken", GetToken.get(outRestTemplate));
+        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 = outRestTemplate.exchange(XimoIotConstant.OPEN_DOOR, 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"));
+    }
+}

+ 12 - 0
service-job/src/main/java/com/java110/job/smo/impl/DataBusInnerServiceSMOImpl.java

@@ -1,6 +1,7 @@
 package com.java110.job.smo.impl;
 
 
+import com.alibaba.fastjson.JSONObject;
 import com.java110.core.base.smo.BaseServiceSMO;
 import com.java110.dto.businessDatabus.BusinessDatabusDto;
 import com.java110.entity.order.Business;
@@ -8,6 +9,7 @@ import com.java110.intf.job.IDataBusInnerServiceSMO;
 import com.java110.job.adapt.IDatabusAdapt;
 import com.java110.utils.cache.DatabusCache;
 import com.java110.utils.factory.ApplicationContextFactory;
+import com.java110.vo.ResultVo;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,6 +30,9 @@ 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";//吸墨门禁
+
+
     @Autowired
     IDatabusAdapt databusAdaptImpl;
 
@@ -40,6 +45,13 @@ public class DataBusInnerServiceSMOImpl extends BaseServiceSMO implements IDataB
         return false;
     }
 
+    @Override
+    public ResultVo openDoor(@RequestBody JSONObject reqJson) {
+        databusAdaptImpl = ApplicationContextFactory.getBean(DEFAULT_OPEN_DOOR_PROTOCOL, IDatabusAdapt.class);
+        return databusAdaptImpl.openDoor(reqJson);
+
+    }
+
     /**
      * 处理业务类
      *