wangyangyang 4 роки тому
батько
коміт
e238dafecc
20 змінених файлів з 681 додано та 1 видалено
  1. 5 0
      sms_water/pom.xml
  2. 28 0
      sms_water/src/main/java/com/huaxu/config/ApplicationValues.java
  3. 1 1
      sms_water/src/main/java/com/huaxu/config/ResourceServerConfig.java
  4. 57 0
      sms_water/src/main/java/com/huaxu/controller/DeviceTypeController.java
  5. 34 0
      sms_water/src/main/java/com/huaxu/dao/DeviceAttributeMapper.java
  6. 34 0
      sms_water/src/main/java/com/huaxu/dao/DeviceAttributeSpecsMapper.java
  7. 2 0
      sms_water/src/main/java/com/huaxu/dao/DeviceTypeMapper.java
  8. 13 0
      sms_water/src/main/java/com/huaxu/dto/DeviceTypeDto.java
  9. 91 0
      sms_water/src/main/java/com/huaxu/entity/DeviceAttributeEntity.java
  10. 58 0
      sms_water/src/main/java/com/huaxu/entity/DeviceAttributeSpecsEntity.java
  11. 5 0
      sms_water/src/main/java/com/huaxu/entity/DeviceTypeEntity.java
  12. 79 0
      sms_water/src/main/java/com/huaxu/service/DeviceAttributeService.java
  13. 81 0
      sms_water/src/main/java/com/huaxu/service/DeviceAttributeSpecsService.java
  14. 4 0
      sms_water/src/main/java/com/huaxu/service/DeviceTypeService.java
  15. 9 0
      sms_water/src/main/resources/application-dev.properties
  16. 9 0
      sms_water/src/main/resources/application-prd.properties
  17. 9 0
      sms_water/src/main/resources/application-sit.properties
  18. 75 0
      sms_water/src/main/resources/mapper/DeviceAttributeMapper.xml
  19. 68 0
      sms_water/src/main/resources/mapper/DeviceAttributeSpecsMapper.xml
  20. 19 0
      sms_water/src/main/resources/mapper/DeviceTypeMapper.xml

+ 5 - 0
sms_water/pom.xml

@@ -16,6 +16,11 @@
            <artifactId>hutool-all</artifactId>
            <version>5.4.5</version>
        </dependency>
+       <dependency>
+           <groupId>org.apache.httpcomponents</groupId>
+           <artifactId>httpclient</artifactId>
+           <version>4.5.6</version>
+       </dependency>
        <dependency>
            <groupId>com.huaxu</groupId>
            <artifactId>common</artifactId>

+ 28 - 0
sms_water/src/main/java/com/huaxu/config/ApplicationValues.java

@@ -0,0 +1,28 @@
+package com.huaxu.config;
+
+import lombok.Getter;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Getter
+@Component
+public class ApplicationValues {
+
+    @Value("${http_pool.max_total}")
+    private int maxTotal;
+
+    @Value("${http_pool.default_max_per_route}")
+    private int maxPerRoute;
+
+    @Value("${http_pool.connect_timeout}")
+    private int connTimeOut;
+
+    @Value("${http_pool.connection_request_timeout}")
+    private int connReqTimeOut;
+
+    @Value("${http_pool.socket_timeout}")
+    private int socketTimeout;
+
+    @Value("${http_pool.validate_after_inactivity}")
+    private int inactivity;
+}

+ 1 - 1
sms_water/src/main/java/com/huaxu/config/ResourceServerConfig.java

@@ -17,7 +17,7 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
                 .and()
                 .authorizeRequests()
                 .antMatchers("/swagger-ui.html","/webjars/**", "/webjars/**", "/swagger-resources/**",
-                       "/v2/**")
+                       "/v2/**","/devicetype/**")
                 .permitAll() //配置不需要身份认证的请求路径
                 .anyRequest().authenticated() //其他所有访问路径都需要身份认证
                 .and()

+ 57 - 0
sms_water/src/main/java/com/huaxu/controller/DeviceTypeController.java

@@ -1,9 +1,18 @@
 package com.huaxu.controller;
 
 
+import com.huaxu.dto.DeviceTypeDto;
 import com.huaxu.dto.TreeDataDto;
+import com.huaxu.entity.DeviceAttributeEntity;
+import com.huaxu.entity.DeviceAttributeSpecsEntity;
+import com.huaxu.entity.DeviceParmEntity;
+import com.huaxu.model.AjaxMessage;
+import com.huaxu.model.ResultStatus;
+import com.huaxu.service.DeviceAttributeService;
+import com.huaxu.service.DeviceAttributeSpecsService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.validation.annotation.Validated;
@@ -15,6 +24,8 @@ import java.util.Date;
 import org.springframework.web.bind.annotation.*;
 import com.huaxu.entity.DeviceTypeEntity;
 import com.huaxu.service.DeviceTypeService;
+import org.springframework.web.client.RestTemplate;
+import org.springframework.beans.factory.annotation.Value;
 
 /**
  * 设备型号页面控制器
@@ -28,6 +39,14 @@ public class DeviceTypeController {
 
     @Autowired
     private DeviceTypeService deviceTypeService;
+    @Autowired
+    private DeviceAttributeService deviceAttributeService;
+    @Autowired
+    private DeviceAttributeSpecsService deviceAttributeSpecsService;
+    @Autowired
+    private RestTemplate restTemplate;
+    @Value("${http_pool.requesturl}")
+    private  String requestUrl;
 
     @ApiOperation(value = "查询设备类型")
     @RequestMapping(value = "/selectList", method = RequestMethod.POST)
@@ -37,4 +56,42 @@ public class DeviceTypeController {
         return treeDataDtos;
     }
 
+    @RequestMapping(value = "batchAdd", method = RequestMethod.POST)
+    @ApiOperation(value = "批量同步设备类型")
+    public AjaxMessage<Integer> batchAdd() {
+        int result = 0;
+        DeviceTypeDto deviceTypeDto = restTemplate.getForObject("http://114.135.61.188:48322/unit/profiles/list", DeviceTypeDto.class);
+        //判断是否存在,不存在则进行添加
+        for (DeviceTypeEntity item : deviceTypeDto.getData()) {
+            if (deviceTypeService.findListByName(item).size() == 0) {
+                item.setCreateBy("admin");
+                item.setDateCreate(new Date());
+                item.setStatus(1);
+                item.setUpdateBy("admin");
+                item.setDateUpdate(new Date());
+                deviceTypeService.save(item);
+                for (DeviceAttributeEntity item2 : item.getProperties()) {
+                    item2.setDeviceTypeId(item.getId());
+                    item2.setCreateBy("admin");
+                    item2.setDateCreate(new Date());
+                    item2.setStatus(1);
+                    item2.setUpdateBy("admin");
+                    item2.setDateUpdate(new Date());
+                    deviceAttributeService.save(item2);
+                    for (DeviceAttributeSpecsEntity item3 : item2.getSpecs()) {
+                        item3.setAttributeId(item2.getId());
+                        item3.setCreateBy("admin");
+                        item3.setDateCreate(new Date());
+                        item3.setStatus(1);
+                        item3.setUpdateBy("admin");
+                        item3.setDateUpdate(new Date());
+                        deviceAttributeSpecsService.save(item3);
+                    }
+                }
+            }
+        }
+
+        return new AjaxMessage<>(ResultStatus.OK, result);
+    }
+
 }

+ 34 - 0
sms_water/src/main/java/com/huaxu/dao/DeviceAttributeMapper.java

@@ -0,0 +1,34 @@
+package com.huaxu.dao;
+
+import com.huaxu.entity.DeviceAttributeEntity;
+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_attributeDAO接口
+ * @author: WYY
+ * @date 2020-11-20 20:29
+ */
+@Mapper
+public interface DeviceAttributeMapper extends BaseMapper<DeviceAttributeEntity> {
+
+	/**
+     * 自定义分页查询
+     * @param  page 
+     * @param  deviceAttributeEntity 实体类
+     */
+     Page<DeviceAttributeEntity> findPage(IPage<DeviceAttributeEntity> page,
+                                       @Param("deviceAttribute") DeviceAttributeEntity deviceAttributeEntity);
+
+     DeviceAttributeEntity findDeviceAttributeById(Serializable id);
+
+
+     List<DeviceAttributeEntity> findList(DeviceAttributeEntity deviceAttributeEntity);
+
+     /**删除相关方法  使用mybatis-plus集成的 **/
+}

+ 34 - 0
sms_water/src/main/java/com/huaxu/dao/DeviceAttributeSpecsMapper.java

@@ -0,0 +1,34 @@
+package com.huaxu.dao;
+
+import com.huaxu.entity.DeviceAttributeSpecsEntity;
+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_attribute_specsDAO接口
+ * @author: WYY
+ * @date 2020-11-20 20:29
+ */
+@Mapper
+public interface DeviceAttributeSpecsMapper extends BaseMapper<DeviceAttributeSpecsEntity> {
+
+	/**
+     * 自定义分页查询
+     * @param  page 
+     * @param  deviceAttributeSpecsEntity 实体类
+     */
+     Page<DeviceAttributeSpecsEntity> findPage(IPage<DeviceAttributeSpecsEntity> page,
+                                       @Param("deviceAttributeSpecs") DeviceAttributeSpecsEntity deviceAttributeSpecsEntity);
+
+     DeviceAttributeSpecsEntity findDeviceAttributeSpecsById(Serializable id);
+
+
+     List<DeviceAttributeSpecsEntity> findList(DeviceAttributeSpecsEntity deviceAttributeSpecsEntity);
+
+     /**删除相关方法  使用mybatis-plus集成的 **/
+}

+ 2 - 0
sms_water/src/main/java/com/huaxu/dao/DeviceTypeMapper.java

@@ -29,5 +29,7 @@ public interface DeviceTypeMapper extends BaseMapper<DeviceTypeEntity> {
 
      List<DeviceTypeEntity> findList(DeviceTypeEntity deviceTypeEntity);
 
+    List<DeviceTypeEntity> findListByName(DeviceTypeEntity deviceTypeEntity);
+
      /**删除相关方法  使用mybatis-plus集成的 **/
 }

+ 13 - 0
sms_water/src/main/java/com/huaxu/dto/DeviceTypeDto.java

@@ -0,0 +1,13 @@
+package com.huaxu.dto;
+
+import com.huaxu.entity.DeviceTypeEntity;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+public class DeviceTypeDto {
+    private int status;
+    private String msg;
+    private List<DeviceTypeEntity> data;
+}

+ 91 - 0
sms_water/src/main/java/com/huaxu/entity/DeviceAttributeEntity.java

@@ -0,0 +1,91 @@
+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 io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * sms_device_attribute
+ * @author: WYY
+ * @date 2020-11-20 20:29
+ */
+@Data
+@TableName("sms_device_attribute")
+public class DeviceAttributeEntity  implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.AUTO)
+    private Long id;
+
+    /**
+     * 属性名称
+     */
+    private String name;
+
+    /**
+     * 属性标识符
+     */
+    private String identifier;
+
+    /**
+     * 属性类型
+     */
+    private String dataType;
+
+    /**
+     * 属性描述
+     */
+    private String description;
+
+    /**
+     * 属性单位
+     */
+    private String unit;
+
+    /**
+     * 设备型号
+     */
+    private Long deviceTypeId;
+
+    /**
+     * 数据删除标记
+     */
+    @TableLogic
+    @ApiModelProperty(value = "数据删除标记")
+    private Integer status;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "2020-12-12 12:12:12")
+    @ApiModelProperty(value = "创建时间", example = "2020-12-12 12:12:12")
+    private Date dateCreate;
+
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+
+    /**
+     * 更新者
+     */
+    @ApiModelProperty(value = "更新者")
+    private String updateBy;
+    /**
+     * 更新时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "2020-12-12 12:12:12")
+    @ApiModelProperty(value = "更新时间", example = "2020-12-12 12:12:12")
+    private Date dateUpdate;
+
+    @ApiModelProperty(value = "设备属性规则")
+    @TableField(exist = false)
+    private List<DeviceAttributeSpecsEntity> specs;
+}

+ 58 - 0
sms_water/src/main/java/com/huaxu/entity/DeviceAttributeSpecsEntity.java

@@ -0,0 +1,58 @@
+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 io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * sms_device_attribute_specs
+ * @author: WYY
+ * @date 2020-11-20 20:29
+ */
+@Data
+@TableName("sms_device_attribute_specs")
+public class DeviceAttributeSpecsEntity  implements Serializable{
+
+    private static final long serialVersionUID = 1L;
+
+    /** 主键 */ 
+	@TableId(type = IdType.AUTO)
+    private Long id;
+
+    /** 规格名称 */
+    private String specsName;
+
+    /** 规格值 */
+    private String specsValue;
+
+    /** 设备属性 */
+    private Long attributeId;
+
+    /** 数据删除标记 */
+    @TableLogic
+    @ApiModelProperty(value = "数据删除标记")
+    private Integer status;
+
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "2020-12-12 12:12:12")
+    @ApiModelProperty(value = "创建时间",example = "2020-12-12 12:12:12")
+    private Date dateCreate;
+
+    @ApiModelProperty(value = "创建人")
+    private String createBy;
+
+    /** 更新者 */
+    @ApiModelProperty(value = "更新者")
+    private String updateBy;
+    /** 更新时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "2020-12-12 12:12:12")
+    @ApiModelProperty(value = "更新时间",example = "2020-12-12 12:12:12")
+    private Date dateUpdate;
+
+}

+ 5 - 0
sms_water/src/main/java/com/huaxu/entity/DeviceTypeEntity.java

@@ -10,6 +10,7 @@ import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * sms_device_type
@@ -62,4 +63,8 @@ public class DeviceTypeEntity implements Serializable {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss" , timezone = "2020-12-12 12:12:12")
     @ApiModelProperty(value = "更新时间",example = "2020-12-12 12:12:12")
     private Date dateUpdate;
+
+    @ApiModelProperty(value = "设备属性")
+    @TableField(exist = false)
+    private List<DeviceAttributeEntity> properties;
 }

+ 79 - 0
sms_water/src/main/java/com/huaxu/service/DeviceAttributeService.java

@@ -0,0 +1,79 @@
+package com.huaxu.service;
+
+
+import com.huaxu.dao.DeviceAttributeMapper;
+import com.huaxu.entity.DeviceAttributeEntity;
+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 2020-11-20 20:29
+ */
+@Service
+public class DeviceAttributeService extends ServiceImpl<DeviceAttributeMapper, DeviceAttributeEntity> {
+
+    @Resource
+    private DeviceAttributeMapper deviceAttributeMapper;
+
+    /**
+     * 查列表
+     */
+    public List<DeviceAttributeEntity> findList(DeviceAttributeEntity deviceAttributeEntity) {
+        return deviceAttributeMapper.findList(deviceAttributeEntity);
+    }
+
+    /**
+     * 批量删除
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public boolean delDeviceAttributeByIds(Long[] ids) {
+        return this.removeByIds(Arrays.asList(ids));
+    }
+
+    /**
+     * 单个删除
+     */
+    public boolean delDeviceAttributeById(Long id) {
+        return this.removeById(id);
+    }
+
+    /**
+     * 保存
+     */
+    public boolean addDeviceAttribute(DeviceAttributeEntity deviceAttribute) {
+        if (this.save(deviceAttribute)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 修改根居ID
+     */
+    public boolean updateDeviceAttributeById(DeviceAttributeEntity deviceAttribute) {
+        if (this.updateById(deviceAttribute)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 根居ID获取对象
+     */
+    public DeviceAttributeEntity findDeviceAttributeById(Long id) {
+        return deviceAttributeMapper.findDeviceAttributeById(id);
+    }
+}

+ 81 - 0
sms_water/src/main/java/com/huaxu/service/DeviceAttributeSpecsService.java

@@ -0,0 +1,81 @@
+package com.huaxu.service;
+
+
+import com.huaxu.dao.DeviceAttributeSpecsMapper;
+import com.huaxu.entity.DeviceAttributeSpecsEntity;
+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 2020-11-20 20:29
+ */
+@Service
+public class DeviceAttributeSpecsService extends ServiceImpl<DeviceAttributeSpecsMapper, DeviceAttributeSpecsEntity> {
+
+    @Resource
+    private DeviceAttributeSpecsMapper deviceAttributeSpecsMapper;
+
+
+    /**
+     * 查列表
+     */
+    public List<DeviceAttributeSpecsEntity> findList(DeviceAttributeSpecsEntity deviceAttributeSpecsEntity) {
+        return deviceAttributeSpecsMapper.findList(deviceAttributeSpecsEntity);
+    }
+
+    /**
+     * 批量删除
+     */
+    @Transactional(rollbackFor = Exception.class)
+    public boolean delDeviceAttributeSpecsByIds(Long[] ids) {
+        return this.removeByIds(Arrays.asList(ids));
+
+    }
+
+    /**
+     * 单个删除
+     */
+    public boolean delDeviceAttributeSpecsById(Long id) {
+        return this.removeById(id);
+    }
+
+    /**
+     * 保存
+     */
+    public boolean addDeviceAttributeSpecs(DeviceAttributeSpecsEntity deviceAttributeSpecs) {
+        if (this.save(deviceAttributeSpecs)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 修改根居ID
+     */
+    public boolean updateDeviceAttributeSpecsById(DeviceAttributeSpecsEntity deviceAttributeSpecs) {
+        if (this.updateById(deviceAttributeSpecs)) {
+            return true;
+        }
+        return false;
+    }
+
+    /**
+     * 根居ID获取对象
+     */
+    public DeviceAttributeSpecsEntity findDeviceAttributeSpecsById(Long id) {
+        return deviceAttributeSpecsMapper.findDeviceAttributeSpecsById(id);
+    }
+}

+ 4 - 0
sms_water/src/main/java/com/huaxu/service/DeviceTypeService.java

@@ -31,6 +31,10 @@ public class DeviceTypeService extends ServiceImpl<DeviceTypeMapper, DeviceTypeE
     @Resource
     private DeviceTypeMapper deviceTypeMapper;
 
+    public List<DeviceTypeEntity> findListByName(DeviceTypeEntity deviceTypeEntity)
+    {
+        return deviceTypeMapper.findListByName(deviceTypeEntity);
+    }
     /**
      * 查列表
      */

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

@@ -74,5 +74,14 @@ spring.rabbitmq.port=5672
 spring.rabbitmq.username=guest
 spring.rabbitmq.password=guest
 spring.rabbitmq.listener.simple.acknowledge-mode = NONE
+#http
+http_pool.max_total=200
+http_pool.default_max_per_route=100
+http_pool.connect_timeout=5000
+http_pool.connection_request_timeout=1000
+http_pool.socket_timeout=65000
+http_pool.validate_after_inactivity=2000
+#devicetype
+http_pool.requesturl=http://114.135.61.188:48322/unit/profiles/list
 
 

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

@@ -67,3 +67,12 @@ spring.kafka.consumer.properties.spring.json.trusted.packages=*
 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
 SMS.sys_config_path=/UMIS_SMS_IMAGES/
 SMS.sys_excel_path=/UMIS_SMS_EXCEL/
+#http
+http_pool.max_total=200
+http_pool.default_max_per_route=100
+http_pool.connect_timeout=5000
+http_pool.connection_request_timeout=1000
+http_pool.socket_timeout=65000
+http_pool.validate_after_inactivity=2000
+#devicetype
+http_pool.requesturl=http://114.135.61.188:48322/unit/profiles/list

+ 9 - 0
sms_water/src/main/resources/application-sit.properties

@@ -67,6 +67,15 @@ spring.kafka.consumer.properties.spring.json.trusted.packages=*
 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
 SMS.sys_config_path=/UMIS_SMS_IMAGES/
 SMS.sys_excel_path=/UMIS_SMS_EXCEL/
+#http
+http_pool.max_total=200
+http_pool.default_max_per_route=100
+http_pool.connect_timeout=5000
+http_pool.connection_request_timeout=1000
+http_pool.socket_timeout=65000
+http_pool.validate_after_inactivity=2000
+#devicetype
+http_pool.requesturl=http://114.135.61.188:48322/unit/profiles/list
 
 
 

+ 75 - 0
sms_water/src/main/resources/mapper/DeviceAttributeMapper.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.DeviceAttributeMapper">
+
+
+    <resultMap type="DeviceAttributeEntity" id="DeviceAttributeResult">
+        <result property="id" column="id"/>
+        <result property="name" column="name"/>
+        <result property="identifier" column="identifier"/>
+        <result property="dataType" column="data_type"/>
+        <result property="description" column="description"/>
+        <result property="unit" column="unit"/>
+        <result property="deviceModeId" column="device_mode_id"/>
+        <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="deviceAttributeColumns">
+         a.id as "id" ,
+         a.name as "name" ,
+         a.identifier as "identifier" ,
+         a.data_type as "dataType" ,
+         a.description as "description" ,
+         a.unit as "unit" ,
+         a.device_mode_id as "deviceModeId" ,
+         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="findDeviceAttributeById" resultType="com.huaxu.entity.DeviceAttributeEntity">
+        SELECT
+        <include refid="deviceAttributeColumns"/>
+        FROM sms_device_attribute a
+
+        WHERE a.id = #{id}
+    </select>
+
+    <!--  根据获取实体List   -->
+    <select id="findList" resultType="com.huaxu.entity.DeviceAttributeEntity">
+        SELECT
+        <include refid="deviceAttributeColumns"/>
+        FROM sms_device_attribute a
+
+        <where>
+
+            <if test="name != null  and name != ''">
+                and a.name LIKE concat('%',#{name},'%')
+            </if>
+        </where>
+    </select>
+
+    <!--  根据获取实体 page   -->
+    <select id="findPage" resultType="com.huaxu.entity.DeviceAttributeEntity">
+        SELECT
+        <include refid="deviceAttributeColumns"/>
+        FROM sms_device_attribute a
+
+        <where>
+            <if test="deviceAttribute.name != null  and deviceAttribute.name != ''">
+                and a.name LIKE concat('%',#{deviceAttribute.name},'%')
+            </if>
+        </where>
+    </select>
+</mapper>

+ 68 - 0
sms_water/src/main/resources/mapper/DeviceAttributeSpecsMapper.xml

@@ -0,0 +1,68 @@
+<?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.DeviceAttributeSpecsMapper">
+
+
+    <resultMap type="DeviceAttributeSpecsEntity" id="DeviceAttributeSpecsResult">
+        <result property="id" column="id"/>
+        <result property="specsName" column="specs_name"/>
+        <result property="specsValue" column="specs_value"/>
+        <result property="attributeId" column="attribute_id"/>
+        <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="deviceAttributeSpecsColumns">
+         a.id as "id" ,
+         a.specs_name as "specsName" ,
+         a.specs_value as "specsValue" ,
+         a.attribute_id as "attributeId" ,
+         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="findDeviceAttributeSpecsById" resultType="com.huaxu.entity.DeviceAttributeSpecsEntity">
+        SELECT
+        <include refid="deviceAttributeSpecsColumns"/>
+        FROM sms_device_attribute_specs a
+        WHERE a.id = #{id}
+    </select>
+
+    <!--  根据获取实体List   -->
+    <select id="findList" resultType="com.huaxu.entity.DeviceAttributeSpecsEntity">
+        SELECT
+        <include refid="deviceAttributeSpecsColumns"/>
+        FROM sms_device_attribute_specs a
+
+        <where>
+
+            <if test="specsName != null  and specsName != ''">
+                and a.specs_name LIKE concat('%',#{specsName},'%')
+            </if>
+        </where>
+    </select>
+
+    <!--  根据获取实体 page   -->
+    <select id="findPage" resultType="com.huaxu.entity.DeviceAttributeSpecsEntity">
+        SELECT
+        <include refid="deviceAttributeSpecsColumns"/>
+        FROM sms_device_attribute_specs a
+
+        <where>
+            <if test="deviceAttributeSpecs.specsName != null  and deviceAttributeSpecs.specsName != ''">
+                and a.specs_name LIKE concat('%',#{deviceAttributeSpecs.specsName},'%')
+            </if>
+        </where>
+    </select>
+</mapper>

+ 19 - 0
sms_water/src/main/resources/mapper/DeviceTypeMapper.xml

@@ -40,6 +40,25 @@
         WHERE a.id = #{id}
     </select>
 
+    <!--  根据获取实体List   -->
+    <select id="findListByName" resultType="com.huaxu.entity.DeviceTypeEntity">
+        SELECT
+        <include refid="deviceTypeColumns"/>
+        FROM sms_device_type a
+        <where>
+            <if test="manufacturerName != null  and manufacturerName != ''">
+                and a.manufacturer_name = #{manufacturerName}
+            </if>
+            <if test="deviceType != null  and deviceType != ''">
+                and a.device_type = #{deviceType}
+            </if>
+            <if test="deviceMode != null  and deviceMode != ''">
+                and a.device_mode = #{deviceMode}
+            </if>
+        </where>
+    </select>
+
+
     <!--  根据获取实体List   -->
     <select id="findList" resultType="com.huaxu.entity.DeviceTypeEntity">
         SELECT