作者 钟来

新版流水鱼添加流程

@@ -31,7 +31,19 @@ public class UserTerminalGroup @@ -31,7 +31,19 @@ public class UserTerminalGroup
31 @ApiModelProperty("关联用户id") 31 @ApiModelProperty("关联用户id")
32 private Integer user_info_id; 32 private Integer user_info_id;
33 33
34 - public void setCreate_time(Integer create_time) 34 +
  35 + @ApiModelProperty("分组类型")
  36 + private String group_type;
  37 +
  38 + public String getGroup_type() {
  39 + return group_type;
  40 + }
  41 +
  42 + public void setGroup_type(String group_type) {
  43 + this.group_type = group_type;
  44 + }
  45 +
  46 + public void setCreate_time(Integer create_time)
35 { 47 {
36 this.create_time = create_time; 48 this.create_time = create_time;
37 } 49 }
@@ -39,8 +39,18 @@ public class UserTerminalGroupRelation extends BaseEntity @@ -39,8 +39,18 @@ public class UserTerminalGroupRelation extends BaseEntity
39 /** 关联用户 */ 39 /** 关联用户 */
40 @ApiModelProperty("关联用户") 40 @ApiModelProperty("关联用户")
41 private Integer user_info_id; 41 private Integer user_info_id;
  42 + @ApiModelProperty("产品id")
  43 + private Integer product_id;
42 44
43 - public void setCreate_time(Integer create_time) 45 + public Integer getProduct_id() {
  46 + return product_id;
  47 + }
  48 +
  49 + public void setProduct_id(Integer product_id) {
  50 + this.product_id = product_id;
  51 + }
  52 +
  53 + public void setCreate_time(Integer create_time)
44 { 54 {
45 this.create_time = create_time; 55 this.create_time = create_time;
46 } 56 }
@@ -9,10 +9,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -9,10 +9,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
9 <result property="id" column="id" /> 9 <result property="id" column="id" />
10 <result property="name" column="name" /> 10 <result property="name" column="name" />
11 <result property="user_info_id" column="user_info_id" /> 11 <result property="user_info_id" column="user_info_id" />
  12 + <result property="group_type" column="group_type" />
  13 +
12 </resultMap> 14 </resultMap>
13 15
14 <sql id="selectUserTerminalGroupVo"> 16 <sql id="selectUserTerminalGroupVo">
15 - select `create_time`, `id`, `name`, `user_info_id` from user_terminal_group 17 + select `create_time`, `id`, `name`, `user_info_id`,`group_type` from user_terminal_group
16 </sql> 18 </sql>
17 19
18 <select id="selectUserTerminalGroupList" parameterType="UserTerminalGroup" resultMap="UserTerminalGroupResult"> 20 <select id="selectUserTerminalGroupList" parameterType="UserTerminalGroup" resultMap="UserTerminalGroupResult">
@@ -21,6 +23,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -21,6 +23,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
21 <if test="user_info_id !=null"> 23 <if test="user_info_id !=null">
22 and user_info_id = #{user_info_id} 24 and user_info_id = #{user_info_id}
23 </if> 25 </if>
  26 + <if test="group_type !=null and group_type != '' ">
  27 + and group_type like concat('%|', #{group_type}, '|%')
  28 + </if>
24 </where> 29 </where>
25 </select> 30 </select>
26 31
@@ -11,10 +11,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -11,10 +11,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
11 <result property="iot_terminal_group_name" column="iot_terminal_group_name" /> 11 <result property="iot_terminal_group_name" column="iot_terminal_group_name" />
12 <result property="iot_terminal_id" column="iot_terminal_id" /> 12 <result property="iot_terminal_id" column="iot_terminal_id" />
13 <result property="user_info_id" column="user_info_id" /> 13 <result property="user_info_id" column="user_info_id" />
  14 + <result property="product_id" column="product_id" />
14 </resultMap> 15 </resultMap>
15 16
16 <sql id="selectUserTerminalGroupRelationVo"> 17 <sql id="selectUserTerminalGroupRelationVo">
17 - select `create_time`, `id`, `iot_terminal_group_id`, `iot_terminal_group_name`, `iot_terminal_id`, `user_info_id` from user_terminal_group_relation 18 + select `create_time`, `id`, `iot_terminal_group_id`, `iot_terminal_group_name`, `iot_terminal_id`, `user_info_id`,`product_id` from user_terminal_group_relation
18 </sql> 19 </sql>
19 20
20 <select id="selectUserTerminalGroupRelationList" parameterType="UserTerminalGroupRelation" resultMap="UserTerminalGroupRelationResult"> 21 <select id="selectUserTerminalGroupRelationList" parameterType="UserTerminalGroupRelation" resultMap="UserTerminalGroupRelationResult">
@@ -42,6 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -42,6 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
42 <if test="iot_terminal_group_name != null">iot_terminal_group_name,</if> 43 <if test="iot_terminal_group_name != null">iot_terminal_group_name,</if>
43 <if test="iot_terminal_id != null">iot_terminal_id,</if> 44 <if test="iot_terminal_id != null">iot_terminal_id,</if>
44 <if test="user_info_id != null">user_info_id,</if> 45 <if test="user_info_id != null">user_info_id,</if>
  46 + <if test="product_id != null">product_id,</if>
45 </trim> 47 </trim>
46 <trim prefix="values (" suffix=")" suffixOverrides=","> 48 <trim prefix="values (" suffix=")" suffixOverrides=",">
47 <if test="create_time != null">#{create_time},</if> 49 <if test="create_time != null">#{create_time},</if>
@@ -49,6 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -49,6 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
49 <if test="iot_terminal_group_name != null">#{iot_terminal_group_name},</if> 51 <if test="iot_terminal_group_name != null">#{iot_terminal_group_name},</if>
50 <if test="iot_terminal_id != null">#{iot_terminal_id},</if> 52 <if test="iot_terminal_id != null">#{iot_terminal_id},</if>
51 <if test="user_info_id != null">#{user_info_id},</if> 53 <if test="user_info_id != null">#{user_info_id},</if>
  54 + <if test="product_id != null">#{product_id},</if>
52 </trim> 55 </trim>
53 </insert> 56 </insert>
54 57
@@ -60,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" @@ -60,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
60 <if test="iot_terminal_group_name != null">iot_terminal_group_name = #{iot_terminal_group_name},</if> 63 <if test="iot_terminal_group_name != null">iot_terminal_group_name = #{iot_terminal_group_name},</if>
61 <if test="iot_terminal_id != null">iot_terminal_id = #{iot_terminal_id},</if> 64 <if test="iot_terminal_id != null">iot_terminal_id = #{iot_terminal_id},</if>
62 <if test="user_info_id != null">user_info_id = #{user_info_id},</if> 65 <if test="user_info_id != null">user_info_id = #{user_info_id},</if>
  66 + <if test="product_id != null">product_id = #{product_id},</if>
63 </trim> 67 </trim>
64 where id = #{id} 68 where id = #{id}
65 </update> 69 </update>
  1 +package com.zhonglai.luhui.api.controller.dto;
  2 +
  3 +import com.zhonglai.luhui.device.domain.IotTerminal;
  4 +import io.swagger.annotations.ApiModel;
  5 +import io.swagger.annotations.ApiModelProperty;
  6 +
  7 +import java.util.List;
  8 +
  9 +@ApiModel("通过终端新增终端分组关系")
  10 +public class AddIotTerminalRelationDto {
  11 + @ApiModelProperty("设备id")
  12 + private String deviceId;
  13 + @ApiModelProperty("分组类型")
  14 + private String groupType;
  15 + @ApiModelProperty("终端列表")
  16 + private List<IotTerminal> iotTerminalList;
  17 +
  18 + public String getDeviceId() {
  19 + return deviceId;
  20 + }
  21 +
  22 + public void setDeviceId(String deviceId) {
  23 + this.deviceId = deviceId;
  24 + }
  25 +
  26 + public String getGroupType() {
  27 + return groupType;
  28 + }
  29 +
  30 + public void setGroupType(String groupType) {
  31 + this.groupType = groupType;
  32 + }
  33 +
  34 + public List<IotTerminal> getIotTerminalList() {
  35 + return iotTerminalList;
  36 + }
  37 +
  38 + public void setIotTerminalList(List<IotTerminal> iotTerminalList) {
  39 + this.iotTerminalList = iotTerminalList;
  40 + }
  41 +}
@@ -3,12 +3,20 @@ package com.zhonglai.luhui.api.controller.user; @@ -3,12 +3,20 @@ package com.zhonglai.luhui.api.controller.user;
3 import java.util.*; 3 import java.util.*;
4 import javax.servlet.http.HttpServletResponse; 4 import javax.servlet.http.HttpServletResponse;
5 5
  6 +import com.ruoyi.common.utils.DateUtils;
6 import com.ruoyi.common.utils.StringUtils; 7 import com.ruoyi.common.utils.StringUtils;
7 import com.ruoyi.common.utils.bean.BeanUtils; 8 import com.ruoyi.common.utils.bean.BeanUtils;
  9 +import com.ruoyi.system.domain.user.UserTerminalGroup;
8 import com.zhonglai.luhui.action.BaseController; 10 import com.zhonglai.luhui.action.BaseController;
  11 +import com.zhonglai.luhui.api.controller.dto.AddIotTerminalRelationDto;
9 import com.zhonglai.luhui.dao.service.PublicService; 12 import com.zhonglai.luhui.dao.service.PublicService;
  13 +import com.zhonglai.luhui.device.domain.IotDevice;
10 import com.zhonglai.luhui.device.domain.IotTerminal; 14 import com.zhonglai.luhui.device.domain.IotTerminal;
  15 +import com.zhonglai.luhui.device.service.IIotDeviceService;
  16 +import com.zhonglai.luhui.device.service.IIotTerminalService;
11 import com.zhonglai.luhui.device.service.IUserTerminalGroupRelationService; 17 import com.zhonglai.luhui.device.service.IUserTerminalGroupRelationService;
  18 +import com.zhonglai.luhui.device.service.IUserTerminalGroupService;
  19 +import com.zhonglai.luhui.device.service.impl.IotDeviceServiceImpl;
12 import com.zhonglai.luhui.security.utils.SecurityUtils; 20 import com.zhonglai.luhui.security.utils.SecurityUtils;
13 import com.zhonglai.luhui.sys.utils.ExcelUtil; 21 import com.zhonglai.luhui.sys.utils.ExcelUtil;
14 import io.swagger.annotations.Api; 22 import io.swagger.annotations.Api;
@@ -45,6 +53,15 @@ public class UserTerminalGroupRelationController extends BaseController @@ -45,6 +53,15 @@ public class UserTerminalGroupRelationController extends BaseController
45 53
46 @Autowired 54 @Autowired
47 private PublicService publicService; 55 private PublicService publicService;
  56 +
  57 + @Autowired
  58 + private IIotDeviceService iotDeviceService;
  59 +
  60 + @Autowired
  61 + private IIotTerminalService iotTerminalService;
  62 +
  63 + @Autowired
  64 + private IUserTerminalGroupService userTerminalGroupService;
48 /** 65 /**
49 * 查询终端分组关系列表 66 * 查询终端分组关系列表
50 */ 67 */
@@ -215,4 +232,45 @@ public class UserTerminalGroupRelationController extends BaseController @@ -215,4 +232,45 @@ public class UserTerminalGroupRelationController extends BaseController
215 Integer userid = SecurityUtils.getUserId().intValue(); 232 Integer userid = SecurityUtils.getUserId().intValue();
216 return AjaxResult.success(publicService.getObjectListBySQL("SELECT `client_id`,`name`,`mqtt_username` FROM `iot_device` WHERE client_id IN(SELECT DISTINCT device_id FROM iot_terminal WHERE user_info_id = "+userid+")")); 233 return AjaxResult.success(publicService.getObjectListBySQL("SELECT `client_id`,`name`,`mqtt_username` FROM `iot_device` WHERE client_id IN(SELECT DISTINCT device_id FROM iot_terminal WHERE user_info_id = "+userid+")"));
217 } 234 }
  235 +
  236 + @ApiOperation("通过终端新增终端分组关系")
  237 + @Log(title = "通过终端新增终端分组关系", businessType = BusinessType.INSERT)
  238 + @Transactional
  239 + @PostMapping(value = "/addIotTerminalRelation")
  240 + public AjaxResult addIotTerminalRelation(@RequestBody AddIotTerminalRelationDto addIotTerminalRelationDto)
  241 + {
  242 + Integer userid = SecurityUtils.getUserId().intValue();
  243 + String deviceId = addIotTerminalRelationDto.getDeviceId();
  244 + IotDevice iotDevice = iotDeviceService.selectIotDeviceByClient_id(deviceId);
  245 + List<Map<String,Object>> list = publicService.getObjectListBySQL("SELECT a.* FROM `user_terminal_group` a LEFT JOIN `user_terminal_group_relation` b ON a.`id`=b.`iot_terminal_group_id` LEFT JOIN `iot_terminal` c ON c.`id`=b.`iot_terminal_id` WHERE c.`device_id`='"+deviceId+"'");
  246 + Integer groupId = null;
  247 + String grouName = null;
  248 + if (null != list && list.size()>0)
  249 + {
  250 + groupId = (Integer) list.get(0).get("id");
  251 + grouName = (String) list.get(0).get("name");
  252 + }else{
  253 + UserTerminalGroup userTerminalGroup = new UserTerminalGroup();
  254 + userTerminalGroup.setUser_info_id(userid);
  255 + userTerminalGroup.setName(iotDevice.getName());
  256 + userTerminalGroup.setCreate_time(DateUtils.getNowTimeMilly());
  257 + userTerminalGroup.setGroup_type(addIotTerminalRelationDto.getGroupType());
  258 + userTerminalGroupService.insertUserTerminalGroup(userTerminalGroup);
  259 + groupId = userTerminalGroup.getId();
  260 + grouName = userTerminalGroup.getName();
  261 + }
  262 + for (IotTerminal iotTerminal:addIotTerminalRelationDto.getIotTerminalList())
  263 + {
  264 + iotTerminalService.updateIotTerminal(iotTerminal);
  265 + UserTerminalGroupRelation userTerminalGroupRelation = new UserTerminalGroupRelation();
  266 + userTerminalGroupRelation.setIot_terminal_id(iotTerminal.getId());
  267 + userTerminalGroupRelation.setIot_terminal_group_id(groupId);
  268 + userTerminalGroupRelation.setUser_info_id(userid);
  269 + userTerminalGroupRelation.setCreate_time(DateUtils.getNowTimeMilly());
  270 + userTerminalGroupRelation.setIot_terminal_group_name(grouName);
  271 + userTerminalGroupRelation.setProduct_id(iotTerminal.getProduct_id());
  272 + userTerminalGroupRelationService.insertUserTerminalGroupRelation(userTerminalGroupRelation);
  273 + }
  274 + return toAjax(1);
  275 + }
218 } 276 }