java110 лет назад: 5
Родитель
Сommit
5c41d33a5d
17 измененных файлов с 227 добавлено и 119 удалено
  1. 10 0
      java110-bean/src/main/java/com/java110/dto/machine/MachineTranslateDto.java
  2. 86 0
      java110-bean/src/main/java/com/java110/vo/MachineTaskVo.java
  3. 5 1
      java110-bean/src/main/java/com/java110/result/ResultVo.java
  4. 20 10
      java110-db/src/main/resources/mapper/hardwareAdapation/MachineTranslateServiceDaoImplMapper.xml
  5. 10 0
      java110-utils/src/main/java/com/java110/utils/kafka/KafkaFactory.java
  6. 1 1
      service-api/src/main/java/com/java110/api/listener/AbstractServiceApiPlusListener.java
  7. 1 1
      service-api/src/main/java/com/java110/api/listener/communityLocation/ListCommunityLocationsListener.java
  8. 1 1
      service-api/src/main/java/com/java110/api/listener/fee/ListBillListener.java
  9. 1 1
      service-api/src/main/java/com/java110/api/listener/fee/ListBillOweFeeListener.java
  10. 13 26
      service-api/src/main/java/com/java110/api/listener/machineTranslate/BaseMachineListener.java
  11. 48 18
      service-api/src/main/java/com/java110/api/listener/machineTranslate/MachineCmdResultListener.java
  12. 26 55
      service-api/src/main/java/com/java110/api/listener/machineTranslate/MachineGetTaskInfoListener.java
  13. 1 1
      service-api/src/main/java/com/java110/api/listener/task/ListTaskTemplateListener.java
  14. 1 1
      service-api/src/main/java/com/java110/api/listener/task/ListTaskTemplateSpecListener.java
  15. 1 1
      service-api/src/main/java/com/java110/api/listener/task/ListTasksListener.java
  16. 1 1
      service-api/src/main/java/com/java110/api/listener/task/StartTaskListener.java
  17. 1 1
      service-api/src/main/java/com/java110/api/listener/task/StopTaskListener.java

+ 10 - 0
java110-bean/src/main/java/com/java110/dto/machine/MachineTranslateDto.java

@@ -33,6 +33,8 @@ public class MachineTranslateDto extends PageDto implements Serializable {
 
     private String objBId;
 
+    private String remark;
+
 
     private Date createTime;
 
@@ -167,4 +169,12 @@ public class MachineTranslateDto extends PageDto implements Serializable {
     public void setObjBId(String objBId) {
         this.objBId = objBId;
     }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark;
+    }
 }

+ 86 - 0
java110-bean/src/main/java/com/java110/vo/MachineTaskVo.java

@@ -0,0 +1,86 @@
+package com.java110.vo;
+
+import com.alibaba.fastjson.JSONObject;
+
+import java.io.Serializable;
+
+/**
+ * @ClassName MachineUserVo
+ * @Description TODO 设备心跳轮训 下发接口协议
+ * @Author wuxw
+ * @Date 2020/6/6 11:25
+ * @Version 1.0
+ * add by wuxw 2020/6/6
+ **/
+public class MachineTaskVo implements Serializable {
+
+    //上报设备
+    public static final String CMD_REGISTER = "1";
+
+    //重启设备
+    public static final String CMD_RESTART = "2";
+
+    //设置设备
+    public static final String CMD_SETTINGS = "3";
+    //升级设备
+    public static final String CMD_UPGRADE = "4";
+
+    //开门
+    public static final String CMD_OPEN_DOOR = "5";
+
+    //受控
+    public static final String CMD_CONTROLLED = "6";
+
+    //增加更新人脸
+    public static final String CMD_CREATE_FACE = "101";
+
+    //删除人脸
+    public static final String CMD_DELETE_FACE = "102";
+
+    //清空人脸
+    public static final String CMD_CLEAR_FACE = "103";
+
+    private String taskcmd;
+
+    private String taskid;
+
+    private String taskinfo;
+
+    public MachineTaskVo() {
+    }
+
+    public MachineTaskVo(String taskcmd, String taskid, String taskinfo) {
+        this.taskcmd = taskcmd;
+        this.taskid = taskid;
+        this.taskinfo = taskinfo;
+    }
+
+    public String getTaskcmd() {
+        return taskcmd;
+    }
+
+    public void setTaskcmd(String taskcmd) {
+        this.taskcmd = taskcmd;
+    }
+
+    public String getTaskid() {
+        return taskid;
+    }
+
+    public void setTaskid(String taskid) {
+        this.taskid = taskid;
+    }
+
+    public String getTaskinfo() {
+        return taskinfo;
+    }
+
+    public void setTaskinfo(String taskinfo) {
+        this.taskinfo = taskinfo;
+    }
+
+    @Override
+    public String toString() {
+        return JSONObject.toJSONString(this);
+    }
+}

+ 5 - 1
java110-bean/src/main/java/com/java110/result/ResultVo.java

@@ -1,4 +1,4 @@
-package com.java110.result;
+package com.java110.vo;
 
 import com.alibaba.fastjson.JSONObject;
 import org.springframework.http.HttpStatus;
@@ -20,6 +20,10 @@ public class ResultVo implements Serializable {
 
     public static final int CODE_OK = 200; // 成功
 
+    public static final int CODE_MACHINE_OK = 0; // 成功
+
+    public static final int CODE_MACHINE_ERROR = -1; // 未知异常
+
     public static final int CODE_UNAUTHORIZED = 401; //认证失败
 
     public static final int ORDER_ERROR = 500; //订单调度异常

+ 20 - 10
java110-db/src/main/resources/mapper/hardwareAdapation/MachineTranslateServiceDaoImplMapper.xml

@@ -8,10 +8,10 @@
     <!-- 保存设备同步信息 add by wuxw 2018-07-03 -->
     <insert id="saveMachineTranslate" parameterType="Map">
         insert into machine_translate(
-        machine_id,machine_code,status_cd,type_cd,machine_translate_id,obj_id,obj_name,state,community_id,b_id,machine_cmd,obj_b_id
+        machine_id,machine_code,status_cd,type_cd,machine_translate_id,obj_id,obj_name,state,community_id,b_id,machine_cmd,obj_b_id,remark
         ) values (
         #{machineId},#{machineCode},'0',#{typeCd},#{machineTranslateId},#{objId},#{objName},#{state},#{communityId},#{bId},#{machineCmd},
-        #{objBId}
+        #{objBId},#{remark}
         )
     </insert>
     <update id="updateMachineTranslate" parameterType="Map">
@@ -23,7 +23,10 @@
             t.state= #{state},
         </if>
         <if test="updateTime !=null ">
-            t.update_time= #{updateTime}
+            t.update_time= #{updateTime},
+        </if>
+        <if test="remark !=null and remark != ''">
+            t.remark= #{remark}
         </if>
 
         where 1=1
@@ -40,11 +43,11 @@
     <!-- 保存设备同步信息 add by wuxw 2018-07-03 -->
     <insert id="saveBusinessMachineTranslateInfo" parameterType="Map">
         insert into business_machine_translate(
-        machine_id,machine_code,operate,type_cd,machine_translate_id,obj_id,obj_name,state,community_id,b_id,machine_cmd,obj_b_id
+        machine_id,machine_code,operate,type_cd,machine_translate_id,obj_id,obj_name,state,community_id,b_id,machine_cmd,obj_b_id,remark
         ) values (
         #{machineId},#{machineCode},#{operate},#{typeCd},#{machineTranslateId},#{objId},#{objName},#{state},#{communityId},#{bId},
         #{machineCmd},
-        #{objBId}
+        #{objBId},#{remark}
         )
     </insert>
 
@@ -54,7 +57,7 @@
         select t.machine_id,t.machine_id machineId,t.machine_code,t.machine_code
         machineCode,t.operate,t.type_cd,t.type_cd typeCd,t.machine_translate_id,t.machine_translate_id
         machineTranslateId,t.obj_id,t.obj_id objId,t.obj_name,t.obj_name objName,t.state,t.community_id,t.community_id
-        communityId,t.b_id,t.b_id bId,t.machine_cmd,t.obj_b_id
+        communityId,t.b_id,t.b_id bId,t.machine_cmd,t.obj_b_id,t.remark
         from business_machine_translate t
         where 1 =1
         <if test="machineId !=null and machineId != ''">
@@ -96,10 +99,10 @@
     <insert id="saveMachineTranslateInfoInstance" parameterType="Map">
         insert into machine_translate(
         machine_id,machine_code,type_cd,machine_translate_id,obj_id,status_cd,obj_name,state,community_id,b_id,
-        machine_cmd,obj_b_id
+        machine_cmd,obj_b_id,remark
         ) select
         t.machine_id,t.machine_code,t.type_cd,t.machine_translate_id,t.obj_id,'0',t.obj_name,t.state,t.community_id,t.b_id,
-        t.machine_cmd,t.obj_b_id
+        t.machine_cmd,t.obj_b_id,t.remark
         from business_machine_translate t where 1=1
         <if test="machineId !=null and machineId != ''">
             and t.machine_id= #{machineId}
@@ -139,7 +142,7 @@
         typeCd,t.machine_translate_id,t.machine_translate_id machineTranslateId,t.obj_id,t.obj_id
         objId,t.status_cd,t.status_cd statusCd,t.obj_name,t.obj_name objName,t.state,t.community_id,t.community_id
         communityId,t.b_id,t.b_id bId,td.name typeCdName,td1.name stateName,t.create_time createTime,t.update_time
-        updateTime,t.machine_cmd,t.obj_b_id,t.machine_cmd machineCmd,t.obj_b_id objBId
+        updateTime,t.machine_cmd,t.obj_b_id,t.machine_cmd machineCmd,t.obj_b_id objBId,t.remark
         from machine_translate t,t_dict td,t_dict td1
         where 1 =1
         and t.type_cd=td.status_cd
@@ -198,6 +201,7 @@
         <if test="machineCode !=null and machineCode != ''">
             , t.machine_code= #{machineCode}
         </if>
+
         <if test="typeCd !=null and typeCd != ''">
             , t.type_cd= #{typeCd}
         </if>
@@ -213,6 +217,9 @@
         <if test="communityId !=null and communityId != ''">
             , t.community_id= #{communityId}
         </if>
+        <if test="remark !=null and remark != ''">
+            ,t.remark= #{remark}
+        </if>
         where 1=1
         <if test="machineTranslateId !=null and machineTranslateId != ''">
             and t.machine_translate_id= #{machineTranslateId}
@@ -277,7 +284,10 @@
             t.state= #{state},
         </if>
         <if test="updateTime !=null ">
-            t.update_time= #{updateTime}
+            t.update_time= #{updateTime},
+        </if>
+        <if test="remark !=null and remark != ''">
+            t.remark= #{remark}
         </if>
         where
         t.machine_code= #{machineCode}

+ 10 - 0
java110-utils/src/main/java/com/java110/utils/kafka/KafkaFactory.java

@@ -27,4 +27,14 @@ public class KafkaFactory {
     public static void sendKafkaMessage(String topic,String key,Object message) throws Exception{
         getKafkaTemplate().send(topic,key,message);
     }
+
+    /**
+     * 发送kafka消息
+     * @param topic
+     * @param message
+     * @throws Exception
+     */
+    public static void sendKafkaMessage(String topic,Object message) throws Exception{
+        getKafkaTemplate().send(topic,"",message);
+    }
 }

+ 1 - 1
service-api/src/main/java/com/java110/api/listener/AbstractServiceApiPlusListener.java

@@ -4,7 +4,7 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.result.ResultVo;
+import com.java110.vo.ResultVo;
 import com.java110.utils.constant.CommonConstant;
 import com.java110.utils.util.BeanConvertUtil;
 import org.slf4j.Logger;

+ 1 - 1
service-api/src/main/java/com/java110/api/listener/communityLocation/ListCommunityLocationsListener.java

@@ -7,7 +7,7 @@ import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.smo.community.ICommunityLocationInnerServiceSMO;
 import com.java110.dto.communityLocation.CommunityLocationDto;
-import com.java110.result.ResultVo;
+import com.java110.vo.ResultVo;
 import com.java110.utils.constant.ServiceCodeCommunityLocationConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;

+ 1 - 1
service-api/src/main/java/com/java110/api/listener/fee/ListBillListener.java

@@ -8,7 +8,7 @@ import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO;
 import com.java110.core.smo.fee.IFeeInnerServiceSMO;
 import com.java110.dto.fee.BillDto;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.result.ResultVo;
+import com.java110.vo.ResultVo;
 import com.java110.utils.constant.ServiceCodeFeeConfigConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;

+ 1 - 1
service-api/src/main/java/com/java110/api/listener/fee/ListBillOweFeeListener.java

@@ -8,7 +8,7 @@ import com.java110.core.smo.fee.IFeeConfigInnerServiceSMO;
 import com.java110.core.smo.fee.IFeeInnerServiceSMO;
 import com.java110.dto.fee.BillOweFeeDto;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
-import com.java110.result.ResultVo;
+import com.java110.vo.ResultVo;
 import com.java110.utils.constant.ServiceCodeFeeConfigConstant;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.BeanConvertUtil;

+ 13 - 26
service-api/src/main/java/com/java110/api/listener/machineTranslate/BaseMachineListener.java

@@ -1,15 +1,15 @@
 package com.java110.api.listener.machineTranslate;
 
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.aliyuncs.utils.StringUtils;
 import com.java110.api.listener.AbstractServiceApiPlusListener;
 import com.java110.core.context.DataFlowContext;
+import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.smo.common.IMachineInnerServiceSMO;
 import com.java110.dto.machine.MachineDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.util.Assert;
 import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
@@ -44,20 +44,15 @@ public abstract class BaseMachineListener extends AbstractServiceApiPlusListener
      */
     protected boolean validateMachineBody(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson,
                                           IMachineInnerServiceSMO machineInnerServiceSMOImpl) {
-        JSONObject outParam = null;
-        ResponseEntity<String> responseEntity = null;
 
-        outParam = new JSONObject();
-        outParam.put("code", 0);
-        outParam.put("message", "success");
-        JSONArray data = null;
+        ResponseEntity<String> responseEntity = null;
+        ResultVo resultVo = null;
         Map<String, String> reqHeader = context.getRequestHeaders();
         HttpHeaders headers = new HttpHeaders();
         String communityId = reqJson.containsKey("communityId") ? reqJson.getString("communityId") : reqHeader.get("communityId");
         if (StringUtil.isEmpty(communityId)) {
-            outParam.put("code", -1);
-            outParam.put("message", "请求地址中未包含小区信息");
-            responseEntity = new ResponseEntity<>(outParam.toJSONString(), headers, HttpStatus.OK);
+            resultVo = new ResultVo(ResultVo.CODE_MACHINE_ERROR, "请求头中未包含小区编码");
+            responseEntity = new ResponseEntity<>(resultVo.toString(), headers, HttpStatus.OK);
             context.setResponseEntity(responseEntity);
             return false;
         }
@@ -68,16 +63,12 @@ public abstract class BaseMachineListener extends AbstractServiceApiPlusListener
             headers.add(key, reqHeader.get(key));
         }
 
-       // String communityId = reqJson.containsKey("communityId") ? reqJson.getString("communityId") : reqHeader.get("communityId");
-
         if (!reqHeader.containsKey("machinecode") || StringUtils.isEmpty(reqHeader.get("machinecode"))) {
-            outParam.put("code", -1);
-            outParam.put("message", "请求头中未包含设备编码");
-            responseEntity = new ResponseEntity<>(outParam.toJSONString(), headers, HttpStatus.OK);
+            resultVo = new ResultVo(ResultVo.CODE_MACHINE_ERROR, "请求头中未包含设备编码");
+            responseEntity = new ResponseEntity<>(resultVo.toString(), headers, HttpStatus.OK);
             context.setResponseEntity(responseEntity);
             return false;
         }
-
         //检查设备是否合法
         //检查设备是否合法
         MachineDto machineDto = new MachineDto();
@@ -85,22 +76,18 @@ public abstract class BaseMachineListener extends AbstractServiceApiPlusListener
         machineDto.setCommunityId(communityId);
         List<MachineDto> machineDtos = machineInnerServiceSMOImpl.queryMachines(machineDto);
         if (machineDtos == null || machineDtos.size() < 1) {
-            outParam.put("code", -1);
-            outParam.put("message", "该设备【" + reqHeader.get("machinecode") + "】未在该小区【" + communityId + "】注册");
-            responseEntity = new ResponseEntity<>(outParam.toJSONString(), headers, HttpStatus.OK);
+            resultVo = new ResultVo(ResultVo.CODE_MACHINE_ERROR, "该设备【" + reqHeader.get("machinecode") + "】未在该小区【" + communityId + "】注册");
+            responseEntity = new ResponseEntity<>(resultVo.toString(), headers, HttpStatus.OK);
             context.setResponseEntity(responseEntity);
             return false;
         }
 
-        if("1600".equals(machineDtos.get(0).getState())){ //设备禁用状态
-            outParam.put("code", -1);
-            outParam.put("message", "该设备【" + reqHeader.get("machinecode") + "】禁用状态");
-            responseEntity = new ResponseEntity<>(outParam.toJSONString(), headers, HttpStatus.OK);
+        if ("1600".equals(machineDtos.get(0).getState())) { //设备禁用状态
+            resultVo = new ResultVo(ResultVo.CODE_MACHINE_ERROR, "该设备【" + reqHeader.get("machinecode") + "】禁用状态");
+            responseEntity = new ResponseEntity<>(resultVo.toString(), headers, HttpStatus.OK);
             context.setResponseEntity(responseEntity);
             return false;
         }
-
-
         reqJson.put("machineCode", machineDtos.get(0).getMachineCode());
         reqJson.put("machineId", machineDtos.get(0).getMachineId());
         reqJson.put("communityId", communityId);

+ 48 - 18
service-api/src/main/java/com/java110/api/listener/machineTranslate/MachineCmdResultListener.java

@@ -1,21 +1,25 @@
 package com.java110.api.listener.machineTranslate;
 
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.aliyuncs.utils.StringUtils;
 import com.java110.api.listener.AbstractServiceApiListener;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
-import com.java110.core.smo.community.ICommunityInnerServiceSMO;
+import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.smo.common.IFileInnerServiceSMO;
 import com.java110.core.smo.common.IFileRelInnerServiceSMO;
 import com.java110.core.smo.common.IMachineInnerServiceSMO;
 import com.java110.core.smo.common.IMachineTranslateInnerServiceSMO;
+import com.java110.core.smo.community.ICommunityInnerServiceSMO;
 import com.java110.core.smo.user.IOwnerInnerServiceSMO;
 import com.java110.dto.machine.MachineDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
+import com.java110.dto.machine.MachineTranslateDto;
 import com.java110.utils.constant.ServiceCodeMachineTranslateConstant;
+import com.java110.utils.kafka.KafkaFactory;
 import com.java110.utils.util.StringUtil;
+import com.java110.vo.ResultVo;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
@@ -31,6 +35,9 @@ import java.util.Map;
  */
 @Java110Listener("machineCmdResultListener")
 public class MachineCmdResultListener extends AbstractServiceApiListener {
+    private final static Logger logger = LoggerFactory.getLogger(MachineCmdResultListener.class);
+
+    public static final String FRONT_KAFKA_TOPIC = "webSentMessageTopic";
 
     @Autowired
     private IMachineTranslateInnerServiceSMO machineTranslateInnerServiceSMOImpl;
@@ -62,28 +69,22 @@ public class MachineCmdResultListener extends AbstractServiceApiListener {
     @Override
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
 
-        JSONObject outParam = null;
         ResponseEntity<String> responseEntity = null;
+        ResultVo resultVo = null;
 
-        outParam = new JSONObject();
-        outParam.put("code", 0);
-        outParam.put("message", "success");
-        JSONArray data = null;
         Map<String, String> reqHeader = context.getRequestHeaders();
 
         HttpHeaders headers = new HttpHeaders();
         String communityId = reqJson.containsKey("communityId") ? reqJson.getString("communityId") : reqHeader.get("communityId");
         if (StringUtil.isEmpty(communityId)) {
-            outParam.put("code", -1);
-            outParam.put("message", "请求地址中未包含小区信息");
-            responseEntity = new ResponseEntity<>(outParam.toJSONString(), headers, HttpStatus.OK);
+            resultVo = new ResultVo(ResultVo.CODE_MACHINE_ERROR, "请求地址中未包含小区信息");
+            responseEntity = new ResponseEntity<>(resultVo.toString(), headers, HttpStatus.OK);
             context.setResponseEntity(responseEntity);
             return;
         }
         if (!reqHeader.containsKey("machinecode") || StringUtils.isEmpty(reqHeader.get("machinecode"))) {
-            outParam.put("code", -1);
-            outParam.put("message", "请求头中未包含设备编码");
-            responseEntity = new ResponseEntity<>(outParam.toJSONString(), headers, HttpStatus.OK);
+            resultVo = new ResultVo(ResultVo.CODE_MACHINE_ERROR, "请求头中未包含设备编码");
+            responseEntity = new ResponseEntity<>(resultVo.toString(), headers, HttpStatus.OK);
             context.setResponseEntity(responseEntity);
             return;
         }
@@ -102,16 +103,45 @@ public class MachineCmdResultListener extends AbstractServiceApiListener {
         machineDto.setCommunityId(communityId);
         int machineCount = machineInnerServiceSMOImpl.queryMachinesCount(machineDto);
         if (machineCount < 1) {
-            outParam.put("code", -1);
-            outParam.put("message", "该设备【" + reqJson.getString("machinecode") + "】未在该小区【" + communityId + "】注册");
-            responseEntity = new ResponseEntity<>(outParam.toJSONString(), headers, HttpStatus.OK);
+            resultVo = new ResultVo(ResultVo.CODE_MACHINE_ERROR, "该设备【" + reqJson.getString("machinecode") + "】未在该小区【" + communityId + "】注册");
+            responseEntity = new ResponseEntity<>(resultVo.toString(), headers, HttpStatus.OK);
             context.setResponseEntity(responseEntity);
             return;
         }
 
         //outParam.put("data", outParam);
 
-        responseEntity = new ResponseEntity<>(outParam.toJSONString(), headers, HttpStatus.OK);
+        if (!reqJson.containsKey("code")) {
+            resultVo = new ResultVo(ResultVo.CODE_MACHINE_ERROR, "请求报文格式错误 未包含code");
+            responseEntity = new ResponseEntity<>(resultVo.toString(), headers, HttpStatus.OK);
+            context.setResponseEntity(responseEntity);
+            return;
+        }
+
+        //这里根据 code 修改命令执行结果
+        int code = reqJson.getIntValue("code");
+        MachineTranslateDto tmpMtDto = new MachineTranslateDto();
+        tmpMtDto.setMachineTranslateId(reqJson.getString("taskid"));
+        tmpMtDto.setCommunityId(communityId);
+        ResultVo frontResultVo = null;
+        if (ResultVo.CODE_MACHINE_OK != code) {
+            tmpMtDto.setState(MachineGetTaskInfoListener.STATE_CMD_ERROR);
+            tmpMtDto.setRemark(reqJson.getString("msg"));
+            frontResultVo = new ResultVo(ResultVo.CODE_ERROR, reqJson.getString("msg"));
+        } else {
+            tmpMtDto.setState(MachineGetTaskInfoListener.STATE_CMD_SUCCESS);
+            frontResultVo = new ResultVo(ResultVo.CODE_OK, reqJson.getString("msg"));
+
+        }
+        machineTranslateInnerServiceSMOImpl.updateMachineTranslateState(tmpMtDto);
+        //写kafka消息
+        try {
+            KafkaFactory.sendKafkaMessage(FRONT_KAFKA_TOPIC, frontResultVo.toString());
+        } catch (Exception e) {
+            logger.error("通知 front失败", e);
+        }
+        resultVo = new ResultVo(ResultVo.CODE_MACHINE_OK, ResultVo.MSG_OK);
+        responseEntity = new ResponseEntity<>(resultVo.toString(), headers, HttpStatus.OK);
         context.setResponseEntity(responseEntity);
     }
 

+ 26 - 55
service-api/src/main/java/com/java110/api/listener/machineTranslate/MachineGetTaskInfoListener.java

@@ -1,28 +1,29 @@
 package com.java110.api.listener.machineTranslate;
 
-import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.java110.core.annotation.Java110Listener;
 import com.java110.core.context.DataFlowContext;
-import com.java110.core.smo.community.ICommunityInnerServiceSMO;
+import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.smo.common.IFileInnerServiceSMO;
 import com.java110.core.smo.common.IFileRelInnerServiceSMO;
 import com.java110.core.smo.common.IMachineInnerServiceSMO;
 import com.java110.core.smo.common.IMachineTranslateInnerServiceSMO;
+import com.java110.core.smo.community.ICommunityInnerServiceSMO;
 import com.java110.core.smo.user.IOwnerInnerServiceSMO;
 import com.java110.dto.machine.MachineTranslateDto;
-import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.utils.constant.ServiceCodeMachineTranslateConstant;
 import com.java110.utils.constant.StatusConstant;
+import com.java110.vo.MachineTaskVo;
+import com.java110.vo.ResultVo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.HttpMethod;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 
+import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.UUID;
 
 /**
  * 调用地址
@@ -32,6 +33,13 @@ import java.util.UUID;
 @Java110Listener("machineGetTaskInfoListener")
 public class MachineGetTaskInfoListener extends BaseMachineListener {
 
+    public static final String STATE_NO_TRANSLATE = "10000";//待同步
+    public static final String STATE_TRANSLATEED = "20000";//同步完成
+    public static final String STATE_TRANSLATEING = "30000";//同步中
+    public static final String STATE_CMD_SUCCESS = "40000";//命令执行成功
+    public static final String STATE_CMD_ERROR = "50000";//命令执行失败
+
+
     @Autowired
     private IMachineTranslateInnerServiceSMO machineTranslateInnerServiceSMOImpl;
 
@@ -64,74 +72,37 @@ public class MachineGetTaskInfoListener extends BaseMachineListener {
     @Override
     protected void doSoService(ServiceDataFlowEvent event, DataFlowContext context, JSONObject reqJson) {
 
-        JSONObject outParam = null;
+        ResultVo resultVo = null;
         ResponseEntity<String> responseEntity = null;
         Map<String, String> reqHeader = context.getRequestHeaders();
         //判断是否是心跳类过来的
         if (!super.validateMachineBody(event, context, reqJson, machineInnerServiceSMOImpl)) {
             return;
         }
-
-        outParam = new JSONObject();
-        outParam.put("code", 0);
-        outParam.put("message", "success");
-        JSONArray data = null;
+        List<MachineTaskVo> machineTaskVos = null;
         String communityId = reqJson.containsKey("communityId") ? reqJson.getString("communityId") : reqHeader.get("communityId");
         HttpHeaders httpHeaders = super.getHeader(context);
         //查询删除的业主信息
         MachineTranslateDto machineTranslateDto = new MachineTranslateDto();
         machineTranslateDto.setMachineCode(reqJson.getString("machineCode"));
         machineTranslateDto.setCommunityId(communityId);
-        machineTranslateDto.setStatusCd(StatusConstant.STATUS_CD_INVALID);
+        machineTranslateDto.setState(STATE_NO_TRANSLATE);
+        machineTranslateDto.setStatusCd(StatusConstant.STATUS_CD_VALID);
         List<MachineTranslateDto> machineTranslateDtos = machineTranslateInnerServiceSMOImpl.queryMachineTranslates(machineTranslateDto);
-        //如果有失效数据,则告诉设备删除
         if (machineTranslateDtos != null && machineTranslateDtos.size() >= 0) {
-            data = new JSONArray();
+            machineTaskVos = new ArrayList<>();
             for (MachineTranslateDto tmpM : machineTranslateDtos) {
-                JSONObject tmpData = new JSONObject();
-                tmpData.put("taskcmd", 102);
-                tmpData.put("taskId", UUID.randomUUID().toString().replace("-", ""));
-                tmpData.put("taskinfo", tmpM.getObjId());
-                data.add(tmpData);
+                MachineTaskVo machineTaskVo = new MachineTaskVo(tmpM.getMachineCmd(), tmpM.getMachineTranslateId(), tmpM.getObjId());
+                machineTaskVos.add(machineTaskVo);
+                MachineTranslateDto tmpMtDto = new MachineTranslateDto();
+                tmpMtDto.setMachineTranslateId(tmpM.getMachineTranslateId());
+                tmpMtDto.setCommunityId(tmpM.getCommunityId());
+                tmpMtDto.setState(STATE_TRANSLATEING);
+                machineTranslateInnerServiceSMOImpl.updateMachineTranslateState(tmpMtDto);
             }
         }
-
-        //查询待同步的业主数据
-        machineTranslateDto.setStatusCd(StatusConstant.STATUS_CD_VALID);
-        machineTranslateDto.setState("10000");
-        //鉴权码先不做判断,后期判断
-        machineTranslateDtos = machineTranslateInnerServiceSMOImpl.queryMachineTranslates(machineTranslateDto);
-        if (machineTranslateDtos == null || machineTranslateDtos.size() == 0) {
-
-            outParam.put("data", data);
-            responseEntity = new ResponseEntity<>(outParam.toJSONString(), httpHeaders, HttpStatus.OK);
-            context.setResponseEntity(responseEntity);
-            return;
-        }
-
-        if (data == null) {
-            data = new JSONArray();
-        }
-        JSONObject tmpData = null;
-        for (MachineTranslateDto tmpMachineTranslate : machineTranslateDtos) {
-            tmpData = new JSONObject();
-            tmpData.put("taskcmd", 101);
-            tmpData.put("taskId", UUID.randomUUID().toString().replace("-", ""));
-            tmpData.put("taskinfo", tmpMachineTranslate.getObjId());
-            data.add(tmpData);
-            //将 设备 待同步 改为同步中
-            MachineTranslateDto tmpMtDto = new MachineTranslateDto();
-            tmpMtDto.setMachineCode(machineTranslateDto.getMachineCode());
-            tmpMtDto.setCommunityId(machineTranslateDto.getCommunityId());
-            tmpMtDto.setObjId(tmpMachineTranslate.getObjId());
-            tmpMtDto.setState("30000");
-            machineTranslateInnerServiceSMOImpl.updateMachineTranslateState(tmpMtDto);
-        }
-
-
-        outParam.put("data", data);
-
-        responseEntity = new ResponseEntity<>(outParam.toJSONString(), httpHeaders, HttpStatus.OK);
+        resultVo = new ResultVo(ResultVo.CODE_MACHINE_OK, ResultVo.MSG_OK, machineTaskVos);
+        responseEntity = new ResponseEntity<>(resultVo.toString(), httpHeaders, HttpStatus.OK);
         context.setResponseEntity(responseEntity);
     }
 

+ 1 - 1
service-api/src/main/java/com/java110/api/listener/task/ListTaskTemplateListener.java

@@ -7,7 +7,7 @@ import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.smo.job.ITaskInnerServiceSMO;
 import com.java110.dto.task.TaskTemplateDto;
-import com.java110.result.ResultVo;
+import com.java110.vo.ResultVo;
 import com.java110.utils.constant.ServiceCodeTaskConstant;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
service-api/src/main/java/com/java110/api/listener/task/ListTaskTemplateSpecListener.java

@@ -7,7 +7,7 @@ import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.smo.job.ITaskInnerServiceSMO;
 import com.java110.dto.task.TaskTemplateSpecDto;
-import com.java110.result.ResultVo;
+import com.java110.vo.ResultVo;
 import com.java110.utils.constant.ServiceCodeTaskConstant;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
service-api/src/main/java/com/java110/api/listener/task/ListTasksListener.java

@@ -9,7 +9,7 @@ import com.java110.core.smo.job.ITaskInnerServiceSMO;
 import com.java110.core.smo.job.ITaskAttrInnerServiceSMO;
 import com.java110.dto.task.TaskDto;
 import com.java110.dto.taskAttr.TaskAttrDto;
-import com.java110.result.ResultVo;
+import com.java110.vo.ResultVo;
 import com.java110.utils.constant.ServiceCodeTaskConstant;
 import com.java110.utils.util.BeanConvertUtil;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
service-api/src/main/java/com/java110/api/listener/task/StartTaskListener.java

@@ -7,7 +7,7 @@ import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.smo.job.ITaskInnerServiceSMO;
 import com.java110.dto.task.TaskDto;
-import com.java110.result.ResultVo;
+import com.java110.vo.ResultVo;
 import com.java110.utils.constant.ServiceCodeTaskConstant;
 import com.java110.utils.util.Assert;
 import org.springframework.beans.factory.annotation.Autowired;

+ 1 - 1
service-api/src/main/java/com/java110/api/listener/task/StopTaskListener.java

@@ -7,7 +7,7 @@ import com.java110.core.context.DataFlowContext;
 import com.java110.core.event.service.api.ServiceDataFlowEvent;
 import com.java110.core.smo.job.ITaskInnerServiceSMO;
 import com.java110.dto.task.TaskDto;
-import com.java110.result.ResultVo;
+import com.java110.vo.ResultVo;
 import com.java110.utils.constant.ServiceCodeTaskConstant;
 import com.java110.utils.util.Assert;
 import org.springframework.beans.factory.annotation.Autowired;