Selaa lähdekoodia

Merge remote-tracking branch 'origin/20210223' into 20210223

wangbo 3 vuotta sitten
vanhempi
commit
277fccfe50

+ 115 - 0
sms_water/src/main/java/com/huaxu/common/HttpRequest.java

@@ -0,0 +1,115 @@
+package com.huaxu.common;
+
+
+import org.apache.http.HttpEntity;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
+
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+public class HttpRequest {
+    public static String doGet(String url) throws IOException {
+        CloseableHttpClient httpclient = HttpClients.createDefault();
+        HttpGet httpGet = new HttpGet(url);
+        CloseableHttpResponse response = httpclient.execute(httpGet);
+        HttpEntity entity = response.getEntity();
+        String result = null;
+        if (entity != null) {
+            result = EntityUtils.toString(entity, "UTF-8");
+        }
+        //消耗掉response
+        EntityUtils.consume(entity);
+        return result;
+    }
+
+    public static String doPost(String url, Map<String, String> params) throws IOException {
+        CloseableHttpClient httpclient = HttpClients.createDefault();
+        HttpPost httpPost = new HttpPost(url);
+        //拼接参数
+        List<NameValuePair> nvps = new ArrayList<NameValuePair>();
+        if (params != null && params.size() > 0) {
+            for (String key : params.keySet()) {
+                nvps.add(new BasicNameValuePair(key, params.get(key)));
+            }
+        }
+        httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
+
+
+        CloseableHttpResponse response = httpclient.execute(httpPost);
+        HttpEntity entity = response.getEntity();
+        String result = null;
+        if (entity != null) {
+            result = EntityUtils.toString(entity, "UTF-8");
+        }
+        //消耗掉response
+        EntityUtils.consume(entity);
+        return result;
+
+    }
+
+    /**
+     * 发送 Request Body
+     *
+     * @param url
+     * @param body
+     * @return
+     * @throws IOException
+     */
+    public static String doPost(String url, String body) throws IOException {
+        CloseableHttpClient httpclient = HttpClients.createDefault();
+        HttpPost httpPost = new HttpPost(url);
+        httpPost.addHeader("Content-Type", "application/json");
+
+        StringEntity s = new StringEntity(body, "UTF-8");
+        httpPost.setEntity(s);
+
+
+        CloseableHttpResponse response = httpclient.execute(httpPost);
+        HttpEntity entity = response.getEntity();
+        String result = null;
+        if (entity != null) {
+            result = EntityUtils.toString(entity, "UTF-8");
+        }
+        //消耗掉response
+        EntityUtils.consume(entity);
+        return result;
+
+    }
+
+    public static String doDelete(String url, Map<String, String> params) throws IOException {
+        CloseableHttpClient httpclient = HttpClients.createDefault();
+        HttpDelete httpDelete = new HttpDelete(url);
+        //拼接参数
+        List<NameValuePair> nvps = new ArrayList<NameValuePair>();
+        if (params != null && params.size() > 0) {
+            for (String key : params.keySet()) {
+                nvps.add(new BasicNameValuePair(key, params.get(key)));
+            }
+        }
+        //httpDelete.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
+
+
+        CloseableHttpResponse response = httpclient.execute(httpDelete);
+        HttpEntity entity = response.getEntity();
+        String result = null;
+        if (entity != null) {
+            result = EntityUtils.toString(entity, "UTF-8");
+        }
+        //消耗掉response
+        EntityUtils.consume(entity);
+        return result;
+
+    }
+}

+ 44 - 2
sms_water/src/main/java/com/huaxu/controller/MonitorInfoController.java

@@ -18,6 +18,7 @@ import org.springframework.stereotype.Controller;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.ui.ModelMap;
 
+import java.lang.management.MonitorInfo;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.*;
@@ -55,6 +56,10 @@ public class MonitorInfoController {
     private  DeviceAttributeService deviceAttributeService;
     @Autowired
     private MonitorDataReportService monitorDataReportService;
+    @Autowired
+    private DeviceSetupMethodService deviceSetupMethodService;
+    @Autowired
+    private DeviceSetupRecordService deviceSetupRecordService;
 
     @ApiOperation(value = "按场景ID查询供水量出水量耗药量耗电量(已废弃)")
     @RequestMapping(value = "/findTotalUsageBySceneId",method = RequestMethod.GET)
@@ -138,8 +143,13 @@ public class MonitorInfoController {
                     getMonitorInfo(id, item);
                     break;
                 case 3:
+                    updateCommonState(id, 3, item);
+                    break;
                 case 4:
+                    updateCommonState(id, 4, item);
+                    break;
                 case 5:
+                    updateCommonState(id, 5, item);
                     break;
             }
         }
@@ -151,8 +161,15 @@ public class MonitorInfoController {
      * @param sceneId
      * @param item
      */
-    public  void updateCommonState(Long sceneId,MonitorInfoEntity item) {
-
+    public  void updateCommonState(Long sceneId,Integer type,MonitorInfoEntity item) {
+        DeviceSetupRecordEntity parm= new DeviceSetupRecordEntity();
+        parm.setDeviceId(item.getDeviceId());
+        parm.setAttributeId(item.getAttributeId());
+        parm.setType(type);
+        DeviceSetupRecordEntity recordEntity = deviceSetupRecordService.selectLastOne(parm);
+        if(recordEntity!=null) {
+            item.setCommonState(recordEntity.getState());
+        }
     }
 
     /**
@@ -303,4 +320,29 @@ public class MonitorInfoController {
         return new AjaxMessage<>(ResultStatus.OK, deviceParmEntities);
     }
 
+    /**
+     * 操作标签--进行指令操作
+     */
+    @ApiOperation(value = "操作标签--进行指令操作")
+    @RequestMapping(value = "/setSetupForDevice", method = RequestMethod.GET)
+    @ResponseBody
+    public AjaxMessage<Integer> setSetupForDevice(
+            @ApiParam(value = "标签ID", required = true)@RequestParam Long id,
+            @ApiParam(value = "参数", required = true)@RequestParam String parms) {
+        //查询操作方法
+        try {
+            MonitorInfoEntity monitorInfo = monitorInfoService.findMonitorInfoById(id);
+            if (monitorInfo != null) {
+                Integer type = monitorInfo.getMonitorType().intValue();
+                long deviceId = monitorInfo.getDeviceId();
+                long attributeId = monitorInfo.getAttributeId();
+                long sceneId = monitorInfo.getSceneId();
+                int result = deviceSetupMethodService.setSetupForDevice(type, sceneId,deviceId, attributeId,parms) ? 1 : 0;
+                return new AjaxMessage<>(ResultStatus.OK, result);
+            }
+        } catch (Exception ex) {
+            return new AjaxMessage<>(ResultStatus.ERROR_500, 0);
+        }
+        return new AjaxMessage<>(ResultStatus.OK, 0);
+    }
 }

+ 26 - 0
sms_water/src/main/java/com/huaxu/dao/DeviceSetupMethodMapper.java

@@ -0,0 +1,26 @@
+package com.huaxu.dao;
+
+import com.huaxu.entity.DeviceSetupMethodEntity;
+import java.io.Serializable;
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+/**
+ *
+ * sms_device_setup_methodDAO接口
+ * @author: WYY
+ * @date 2021-05-10 14:39
+ */
+@Mapper
+public interface DeviceSetupMethodMapper extends BaseMapper<DeviceSetupMethodEntity> {
+
+     DeviceSetupMethodEntity findDeviceSetupMethodById(Serializable id);
+
+
+     List<DeviceSetupMethodEntity> findList(DeviceSetupMethodEntity deviceSetupMethodEntity);
+
+     /**删除相关方法  使用mybatis-plus集成的 **/
+}

+ 28 - 0
sms_water/src/main/java/com/huaxu/dao/DeviceSetupRecordMapper.java

@@ -0,0 +1,28 @@
+package com.huaxu.dao;
+
+import com.huaxu.entity.DeviceSetupRecordEntity;
+import java.io.Serializable;
+import java.util.List;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+/**
+ *
+ * sms_device_setup_recordDAO接口
+ * @author: WYY
+ * @date 2021-05-10 14:39
+ */
+@Mapper
+public interface DeviceSetupRecordMapper extends BaseMapper<DeviceSetupRecordEntity> {
+
+     DeviceSetupRecordEntity findDeviceSetupRecordById(Serializable id);
+
+
+     List<DeviceSetupRecordEntity> findList(DeviceSetupRecordEntity deviceSetupRecordEntity);
+
+     DeviceSetupRecordEntity selectLastOne(DeviceSetupRecordEntity deviceSetupRecordEntity);
+
+     /**删除相关方法  使用mybatis-plus集成的 **/
+}

+ 17 - 0
sms_water/src/main/java/com/huaxu/dto/SetupMethod.java

@@ -0,0 +1,17 @@
+package com.huaxu.dto;
+
+import cn.hutool.core.date.DateTime;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class SetupMethod {
+    private String deviceId;
+    private String method;
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "GMT+8")
+    private Date receiveTime;
+    private String unitIdentifier;
+    private Object params;
+}

+ 61 - 0
sms_water/src/main/java/com/huaxu/entity/DeviceSetupMethodEntity.java

@@ -0,0 +1,61 @@
+package com.huaxu.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+/**
+ * sms_device_setup_method
+ * @author: WYY
+ * @date 2021-05-10 14:39
+ */
+@Data
+@TableName("sms_device_setup_method")
+public class DeviceSetupMethodEntity{
+
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */ 
+	@TableId(type = IdType.AUTO)
+    private Long id;
+
+    /** 设备ID */
+    private Long deviceId;
+
+    /** 属性ID */
+    private Long attributeId;
+
+    /** 类型(0水泵控制 1压力调节 2水表开关阀) */
+    private Integer type;
+
+    /** 方法名 */
+    private String method;
+
+    /** 参数(json) */
+    private String params;
+
+    /** 数据删除标记 */
+    @TableLogic
+    @ApiModelProperty(value = "数据删除标记")
+    @JsonIgnore
+    private Integer status;
+
+    @JsonIgnore
+    private Date dateCreate;
+
+    @JsonIgnore
+    private String createBy;
+
+    /** 更新者 */
+    @JsonIgnore
+    private String updateBy;
+    /** 更新时间 */
+    @JsonIgnore
+    private Date dateUpdate;
+}

+ 74 - 0
sms_water/src/main/java/com/huaxu/entity/DeviceSetupRecordEntity.java

@@ -0,0 +1,74 @@
+package com.huaxu.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.util.Date;
+
+/**
+ * sms_device_setup_record
+ * @author: WYY
+ * @date 2021-05-10 14:39
+ */
+@Data
+@TableName("sms_device_setup_record")
+public class DeviceSetupRecordEntity{
+
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */ 
+	@TableId(type = IdType.AUTO)
+    private Long id;
+
+    /** 租户标识 */
+    @ApiModelProperty(value = "租户标识")
+    private String tenantId;
+
+    /** 场景ID */
+    private Long sceneId;
+
+    /** 设备ID */
+    private Long deviceId;
+
+    /** 属性ID */
+    private Long attributeId;
+
+    /** 设置指令ID */
+    private Long setupMethodId;
+
+    /** 执行状态(0执行中 1执行成功 2执行失败) */
+    private Integer state;
+    /**
+     * 操作类型
+     */
+    @TableField(exist = false)
+    private Integer type;
+
+    /** 参数 */
+    private String params;
+
+    /** 数据删除标记 */
+    @TableLogic
+    @ApiModelProperty(value = "数据删除标记")
+    @JsonIgnore
+    private Integer status;
+
+    @JsonIgnore
+    private Date dateCreate;
+
+    @JsonIgnore
+    private String createBy;
+
+    /** 更新者 */
+    @JsonIgnore
+    private String updateBy;
+    /** 更新时间 */
+    @JsonIgnore
+    private Date dateUpdate;
+
+}

+ 172 - 0
sms_water/src/main/java/com/huaxu/service/DeviceSetupMethodService.java

@@ -0,0 +1,172 @@
+package com.huaxu.service;
+
+
+import com.alibaba.fastjson.JSON;
+import com.fasterxml.jackson.core.JsonParser;
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
+import com.huaxu.dao.DeviceSetupMethodMapper;
+import com.huaxu.dto.SetupMethod;
+import com.huaxu.entity.DeviceEntity;
+import com.huaxu.entity.DeviceSetupMethodEntity;
+import com.huaxu.entity.DeviceSetupRecordEntity;
+import com.huaxu.model.LoginUser;
+import com.huaxu.util.UserUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+
+import javax.annotation.Resource;
+
+import org.springframework.transaction.annotation.Transactional;
+
+import java.io.IOException;
+import java.util.Date;
+import java.util.Map;
+import java.util.List;
+import java.util.Arrays;
+
+/**
+ * 参数设置指令Service接口
+ *
+ * @author: WYY
+ * @date 2021-05-10 14:39
+ */
+@Service
+public class DeviceSetupMethodService extends ServiceImpl<DeviceSetupMethodMapper, DeviceSetupMethodEntity> {
+
+    @Resource
+    private DeviceSetupMethodMapper deviceSetupMethodMapper;
+    @Autowired
+    private DeviceSetupRecordService deviceSetupRecordService;
+    @Autowired
+    private DeviceService deviceService;
+    @Value("${send.setsetup.url}")
+    private  String setSetupUrl;
+
+    /**
+     * 查列表
+     */
+    public List<DeviceSetupMethodEntity> findList(DeviceSetupMethodEntity deviceSetupMethodEntity) {
+        return deviceSetupMethodMapper.findList(deviceSetupMethodEntity);
+    }
+
+    /**
+     * 批量删除
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public boolean delDeviceSetupMethodByIds(Long[] ids) {
+
+        return this.removeByIds(Arrays.asList(ids));
+
+    }
+
+    /**
+     * 单个删除
+     */
+    public boolean delDeviceSetupMethodById(Long id) {
+
+
+        return this.removeById(id);
+
+    }
+
+    /**
+     * 保存
+     */
+    public boolean addDeviceSetupMethod(DeviceSetupMethodEntity deviceSetupMethod) {
+
+        if (this.save(deviceSetupMethod)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 修改根居ID
+     */
+    public boolean updateDeviceSetupMethodById(DeviceSetupMethodEntity deviceSetupMethod) {
+
+        if (this.updateById(deviceSetupMethod)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 根居ID获取对象
+     */
+    public DeviceSetupMethodEntity findDeviceSetupMethodById(Long id) {
+        return deviceSetupMethodMapper.findDeviceSetupMethodById(id);
+    }
+
+    /**
+     * 添加设备指令
+     *
+     * @param type
+     * @param deviceId
+     * @param attributeId
+     * @param parms
+     * @return
+     */
+    public boolean setSetupForDevice(Integer type, Long  sceneId,Long deviceId, Long attributeId, String parms) {
+        LoginUser currentUser = UserUtil.getCurrentUser();
+        String methodParms="";
+        //查询设备
+        DeviceEntity deviceEntity = deviceService.selectById(deviceId);
+        if (deviceEntity == null)
+            return false;
+        //查询操作方法
+        DeviceSetupMethodEntity info = new DeviceSetupMethodEntity();
+        info.setType(type);
+        info.setDeviceId(deviceId);
+        info.setAttributeId(attributeId);
+        List<DeviceSetupMethodEntity> deviceSetupMethodEntities = deviceSetupMethodMapper.findList(info);
+        //查询到操作方法后执行操作
+        if (deviceSetupMethodEntities.size() > 0) {
+            String method = deviceSetupMethodEntities.get(0).getMethod();
+            methodParms = deviceSetupMethodEntities.get(0).getParams();
+            SetupMethod setupMethod = new SetupMethod();
+            setupMethod.setMethod(method);
+            setupMethod.setUnitIdentifier(deviceEntity.getDeviceCode());
+            setupMethod.setReceiveTime(new Date());
+            //封装指令
+            String[] parm = parms.split(",");
+            ObjectMapper mapper = new ObjectMapper();
+            for (String item : parm) {
+                methodParms = methodParms.replaceFirst("%", item);
+            }
+            JsonNode node = null;
+            try {
+                node = mapper.readTree(methodParms);
+            } catch (IOException e) {
+                return false;
+            }
+            setupMethod.setParams(node);
+
+            System.out.println("指令:"+setSetupUrl);
+
+            //添加操作记录
+            DeviceSetupRecordEntity deviceSetupRecordEntity = new DeviceSetupRecordEntity();
+            deviceSetupRecordEntity.setType(type);
+            deviceSetupRecordEntity.setAttributeId(attributeId);
+            deviceSetupRecordEntity.setDeviceId(deviceId);
+            deviceSetupRecordEntity.setCreateBy(currentUser.getUsername());
+            deviceSetupRecordEntity.setUpdateBy(currentUser.getUsername());
+            deviceSetupRecordEntity.setStatus(1);
+            deviceSetupRecordEntity.setDateCreate(new Date());
+            deviceSetupRecordEntity.setDateUpdate(new Date());
+            deviceSetupRecordEntity.setSceneId(sceneId);
+            deviceSetupRecordEntity.setParams(methodParms);
+            deviceSetupRecordEntity.setTenantId(currentUser.getTenantId());
+            deviceSetupRecordEntity.setSetupMethodId(deviceSetupMethodEntities.get(0).getId());
+            deviceSetupRecordEntity.setState(1);
+            deviceSetupRecordService.addDeviceSetupRecord(deviceSetupRecordEntity);
+        }
+        return true;
+    }
+}

+ 94 - 0
sms_water/src/main/java/com/huaxu/service/DeviceSetupRecordService.java

@@ -0,0 +1,94 @@
+package com.huaxu.service;
+
+
+import com.huaxu.dao.DeviceSetupRecordMapper;
+import com.huaxu.entity.DeviceSetupRecordEntity;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+
+import javax.annotation.Resource;
+
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Map;
+import java.util.List;
+import java.util.Arrays;
+
+/**
+ * 参数设置指令记录Service接口
+ *
+ * @author: WYY
+ * @date 2021-05-10 14:39
+ */
+@Service
+public class DeviceSetupRecordService extends ServiceImpl<DeviceSetupRecordMapper, DeviceSetupRecordEntity> {
+
+    @Resource
+    private DeviceSetupRecordMapper deviceSetupRecordMapper;
+    /**
+     * 查列表
+     */
+    public List<DeviceSetupRecordEntity> findList(DeviceSetupRecordEntity deviceSetupRecordEntity) {
+        return deviceSetupRecordMapper.findList(deviceSetupRecordEntity);
+    }
+
+    /**
+     * 批量删除
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public boolean delDeviceSetupRecordByIds(Long[] ids) {
+
+        return this.removeByIds(Arrays.asList(ids));
+
+    }
+
+    /**
+     * 单个删除
+     */
+    public boolean delDeviceSetupRecordById(Long id) {
+
+
+        return this.removeById(id);
+
+    }
+
+    /**
+     * 保存
+     */
+    public boolean addDeviceSetupRecord(DeviceSetupRecordEntity deviceSetupRecord) {
+
+        if (this.save(deviceSetupRecord)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 修改根居ID
+     */
+    public boolean updateDeviceSetupRecordById(DeviceSetupRecordEntity deviceSetupRecord) {
+
+        if (this.updateById(deviceSetupRecord)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 根居ID获取对象
+     */
+    public DeviceSetupRecordEntity findDeviceSetupRecordById(Long id) {
+        return deviceSetupRecordMapper.findDeviceSetupRecordById(id);
+    }
+
+    /**
+     * 查询最后一条操作记录
+     * @param deviceSetupRecordEntity
+     * @return
+     */
+    public DeviceSetupRecordEntity selectLastOne(DeviceSetupRecordEntity deviceSetupRecordEntity) {
+        return deviceSetupRecordMapper.selectLastOne(deviceSetupRecordEntity);
+    }
+}

+ 2 - 0
sms_water/src/main/resources/application-dev.properties

@@ -171,6 +171,8 @@ aysnc.pool.keep-alive=200
 aysnc.queue-capacity=100000
 #线程名称前缀
 aysnc.thread-name-prefix=aysnc-thread-
+#指令下发调用接口地址
+send.setsetup.url=http://114.135.61.188:48322/center/command/send
 
 
 

+ 2 - 0
sms_water/src/main/resources/application-prd.properties

@@ -160,4 +160,6 @@ aysnc.pool.keep-alive=200
 aysnc.queue-capacity=100000
 #线程名称前缀
 aysnc.thread-name-prefix=aysnc-thread-
+#指令下发调用接口地址
+send.setsetup.url=http://114.135.61.188:48322/center/command/send
 

+ 3 - 1
sms_water/src/main/resources/application-sit.properties

@@ -161,4 +161,6 @@ aysnc.pool.keep-alive=200
 #队列容量
 aysnc.queue-capacity=100000
 #线程名称前缀
-aysnc.thread-name-prefix=aysnc-thread-
+aysnc.thread-name-prefix=aysnc-thread-
+#指令下发调用接口地址
+send.setsetup.url=http://114.135.61.188:48322/center/command/send

+ 75 - 0
sms_water/src/main/resources/mapper/DeviceSetupMethodMapper.xml

@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huaxu.dao.DeviceSetupMethodMapper">
+
+
+    <resultMap type="com.huaxu.entity.DeviceSetupMethodEntity" id="DeviceSetupMethodResult">
+        <result property="id" column="id"/>
+        <result property="deviceId" column="device_id"/>
+        <result property="attributeId" column="attribute_id"/>
+        <result property="type" column="type"/>
+        <result property="method" column="method"/>
+        <result property="params" column="params"/>
+        <result property="status" column="status"/>
+        <result property="dateCreate" column="date_create"/>
+        <result property="createBy" column="create_by"/>
+        <result property="dateUpdate" column="date_update"/>
+        <result property="updateBy" column="update_by"/>
+    </resultMap>
+
+    <!--  实体栏位  -->
+    <sql id="deviceSetupMethodColumns">
+         a.id as "id" ,
+         a.device_id as "deviceId" ,
+         a.attribute_id as "attributeId" ,
+         a.type as "type" ,
+         a.method as "method" ,
+         a.params as "params" ,
+         a.status as "status" ,
+         a.date_create as "dateCreate" ,
+         a.create_by as "createBy" ,
+         a.date_update as "dateUpdate" ,
+         a.update_by as "updateBy" 
+     </sql>
+
+
+    <!--  根据主键获取实体   -->
+    <select id="findDeviceSetupMethodById" resultType="com.huaxu.entity.DeviceSetupMethodEntity">
+        SELECT
+        <include refid="deviceSetupMethodColumns"/>
+        FROM sms_device_setup_method a
+        WHERE a.id = #{id} and a.status=1
+    </select>
+
+    <!--  根据获取实体List   -->
+    <select id="findList" resultType="com.huaxu.entity.DeviceSetupMethodEntity">
+        SELECT
+        <include refid="deviceSetupMethodColumns"/>
+        FROM sms_device_setup_method a
+        <where>
+            <if test="deviceId != null ">and a.device_id = #{deviceId}</if>
+            <if test="attributeId != null ">and a.attribute_id = #{attributeId}</if>
+            <if test="type != null ">and a.type = #{type}</if>
+            <if test="method != null  and method != ''">and a.method = #{method}</if>
+            and a.status=1
+        </where>
+    </select>
+
+    <!--  根据获取实体 page   -->
+    <select id="findPage" resultType="com.huaxu.entity.DeviceSetupMethodEntity">
+        SELECT
+        <include refid="deviceSetupMethodColumns"/>
+        FROM sms_device_setup_method a
+        <where>
+            <if test="deviceSetupMethod.deviceId != null ">and a.device_id = #{deviceSetupMethod.deviceId}</if>
+            <if test="deviceSetupMethod.attributeId != null ">and a.attribute_id = #{deviceSetupMethod.attributeId}</if>
+            <if test="deviceSetupMethod.type != null ">and a.type = #{deviceSetupMethod.type}</if>
+            <if test="deviceSetupMethod.method != null  and deviceSetupMethod.method != ''">and a.method =
+                #{deviceSetupMethod.method}
+            </if>
+            and a.status=1
+        </where>
+    </select>
+</mapper>

+ 105 - 0
sms_water/src/main/resources/mapper/DeviceSetupRecordMapper.xml

@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.huaxu.dao.DeviceSetupRecordMapper">
+
+
+    <resultMap type="DeviceSetupRecordEntity" id="DeviceSetupRecordResult">
+        <result property="id" column="id"/>
+        <result property="tenantId" column="tenant_id"/>
+        <result property="sceneId" column="scene_id"/>
+        <result property="deviceId" column="device_id"/>
+        <result property="attributeId" column="attribute_id"/>
+        <result property="setupMethodId" column="setup_method_id"/>
+        <result property="state" column="state"/>
+        <result property="params" column="params"/>
+        <result property="status" column="status"/>
+        <result property="dateCreate" column="date_create"/>
+        <result property="createBy" column="create_by"/>
+        <result property="dateUpdate" column="date_update"/>
+        <result property="updateBy" column="update_by"/>
+    </resultMap>
+
+    <!--  实体栏位  -->
+    <sql id="deviceSetupRecordColumns">
+         a.id as "id" ,
+         a.scene_id as "sceneId" ,
+         a.TENANT_ID as "tenantId",
+         a.device_id as "deviceId" ,
+         a.attribute_id as "attributeId" ,
+         a.setup_method_id as "setupMethodId" ,
+         a.state as "state" ,
+         a.params as "params" ,
+         a.status as "status" ,
+         a.date_create as "dateCreate" ,
+         a.create_by as "createBy" ,
+         a.date_update as "dateUpdate" ,
+         a.update_by as "updateBy" 
+     </sql>
+
+
+    <!--  根据主键获取实体   -->
+    <select id="findDeviceSetupRecordById" resultType="com.huaxu.entity.DeviceSetupRecordEntity">
+        SELECT
+        <include refid="deviceSetupRecordColumns"/>
+        FROM sms_device_setup_record a
+
+        WHERE a.id = #{id}
+    </select>
+
+    <!--  根据获取实体List   -->
+    <select id="findList" resultType="com.huaxu.entity.DeviceSetupRecordEntity">
+        SELECT
+        <include refid="deviceSetupRecordColumns"/>
+        FROM sms_device_setup_record a
+
+        <where>
+            <if test="tenantId != null  and tenantId != ''">and a.tenant_id = #{tenantId}</if>
+            <if test="sceneId != null ">and a.scene_id = #{sceneId}</if>
+            <if test="deviceId != null ">and a.device_id = #{deviceId}</if>
+            <if test="attributeId != null ">and a.attribute_id = #{attributeId}</if>
+            <if test="setupMethodId != null ">and a.setup_method_id = #{setupMethodId}</if>
+            <if test="state != null  and state != ''">and a.state = #{state}</if>
+        </where>
+    </select>
+
+    <!--  根据获取实体List   -->
+    <select id="selectLastOne" resultType="com.huaxu.entity.DeviceSetupRecordEntity">
+        SELECT
+        <include refid="deviceSetupRecordColumns"/>
+        FROM sms_device_setup_record a
+        inner join sms_device_setup_method b on a.setup_method_id=b.id
+        <where>
+            <if test="tenantId != null  and tenantId != ''">and a.tenant_id = #{tenantId}</if>
+            <if test="sceneId != null ">and a.scene_id = #{sceneId}</if>
+            <if test="deviceId != null ">and a.device_id = #{deviceId}</if>
+            <if test="attributeId != null ">and a.attribute_id = #{attributeId}</if>
+            <if test="setupMethodId != null ">and a.setup_method_id = #{setupMethodId}</if>
+            <if test="state != null  and state != ''">and a.state = #{state}</if>
+            <if test="type != null">and b.type = #{type}</if>
+        </where>
+        order by a.date_create desc
+        limit 1
+    </select>
+
+    <!--  根据获取实体 page   -->
+    <select id="findPage" resultType="com.huaxu.entity.DeviceSetupRecordEntity">
+        SELECT
+        <include refid="deviceSetupRecordColumns"/>
+        FROM sms_device_setup_record a
+
+        <where>
+            <if test="tenantId != null  and tenantId != ''">and a.tenant_id = #{tenantId}</if>
+            <if test="deviceSetupRecord.sceneId != null ">and a.scene_id = #{deviceSetupRecord.sceneId}</if>
+            <if test="deviceSetupRecord.deviceId != null ">and a.device_id = #{deviceSetupRecord.deviceId}</if>
+            <if test="deviceSetupRecord.attributeId != null ">and a.attribute_id = #{deviceSetupRecord.attributeId}</if>
+            <if test="deviceSetupRecord.setupMethodId != null ">and a.setup_method_id =
+                #{deviceSetupRecord.setupMethodId}
+            </if>
+            <if test="deviceSetupRecord.state != null  and deviceSetupRecord.state != ''">and a.state =
+                #{deviceSetupRecord.state}
+            </if>
+        </where>
+    </select>
+</mapper>