作者 钟来

新版流水鱼添加流程

... ... @@ -31,6 +31,18 @@ public class UserTerminalGroup
@ApiModelProperty("关联用户id")
private Integer user_info_id;
@ApiModelProperty("分组类型")
private String group_type;
public String getGroup_type() {
return group_type;
}
public void setGroup_type(String group_type) {
this.group_type = group_type;
}
public void setCreate_time(Integer create_time)
{
this.create_time = create_time;
... ...
... ... @@ -39,6 +39,16 @@ public class UserTerminalGroupRelation extends BaseEntity
/** 关联用户 */
@ApiModelProperty("关联用户")
private Integer user_info_id;
@ApiModelProperty("产品id")
private Integer product_id;
public Integer getProduct_id() {
return product_id;
}
public void setProduct_id(Integer product_id) {
this.product_id = product_id;
}
public void setCreate_time(Integer create_time)
{
... ...
... ... @@ -9,10 +9,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="id" column="id" />
<result property="name" column="name" />
<result property="user_info_id" column="user_info_id" />
<result property="group_type" column="group_type" />
</resultMap>
<sql id="selectUserTerminalGroupVo">
select `create_time`, `id`, `name`, `user_info_id` from user_terminal_group
select `create_time`, `id`, `name`, `user_info_id`,`group_type` from user_terminal_group
</sql>
<select id="selectUserTerminalGroupList" parameterType="UserTerminalGroup" resultMap="UserTerminalGroupResult">
... ... @@ -21,6 +23,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="user_info_id !=null">
and user_info_id = #{user_info_id}
</if>
<if test="group_type !=null and group_type != '' ">
and group_type like concat('%|', #{group_type}, '|%')
</if>
</where>
</select>
... ...
... ... @@ -11,10 +11,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="iot_terminal_group_name" column="iot_terminal_group_name" />
<result property="iot_terminal_id" column="iot_terminal_id" />
<result property="user_info_id" column="user_info_id" />
<result property="product_id" column="product_id" />
</resultMap>
<sql id="selectUserTerminalGroupRelationVo">
select `create_time`, `id`, `iot_terminal_group_id`, `iot_terminal_group_name`, `iot_terminal_id`, `user_info_id` from user_terminal_group_relation
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
</sql>
<select id="selectUserTerminalGroupRelationList" parameterType="UserTerminalGroupRelation" resultMap="UserTerminalGroupRelationResult">
... ... @@ -42,6 +43,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="iot_terminal_group_name != null">iot_terminal_group_name,</if>
<if test="iot_terminal_id != null">iot_terminal_id,</if>
<if test="user_info_id != null">user_info_id,</if>
<if test="product_id != null">product_id,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="create_time != null">#{create_time},</if>
... ... @@ -49,6 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="iot_terminal_group_name != null">#{iot_terminal_group_name},</if>
<if test="iot_terminal_id != null">#{iot_terminal_id},</if>
<if test="user_info_id != null">#{user_info_id},</if>
<if test="product_id != null">#{product_id},</if>
</trim>
</insert>
... ... @@ -60,6 +63,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="iot_terminal_group_name != null">iot_terminal_group_name = #{iot_terminal_group_name},</if>
<if test="iot_terminal_id != null">iot_terminal_id = #{iot_terminal_id},</if>
<if test="user_info_id != null">user_info_id = #{user_info_id},</if>
<if test="product_id != null">product_id = #{product_id},</if>
</trim>
where id = #{id}
</update>
... ...
package com.zhonglai.luhui.api.controller.dto;
import com.zhonglai.luhui.device.domain.IotTerminal;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.util.List;
@ApiModel("通过终端新增终端分组关系")
public class AddIotTerminalRelationDto {
@ApiModelProperty("设备id")
private String deviceId;
@ApiModelProperty("分组类型")
private String groupType;
@ApiModelProperty("终端列表")
private List<IotTerminal> iotTerminalList;
public String getDeviceId() {
return deviceId;
}
public void setDeviceId(String deviceId) {
this.deviceId = deviceId;
}
public String getGroupType() {
return groupType;
}
public void setGroupType(String groupType) {
this.groupType = groupType;
}
public List<IotTerminal> getIotTerminalList() {
return iotTerminalList;
}
public void setIotTerminalList(List<IotTerminal> iotTerminalList) {
this.iotTerminalList = iotTerminalList;
}
}
... ...
... ... @@ -3,12 +3,20 @@ package com.zhonglai.luhui.api.controller.user;
import java.util.*;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.bean.BeanUtils;
import com.ruoyi.system.domain.user.UserTerminalGroup;
import com.zhonglai.luhui.action.BaseController;
import com.zhonglai.luhui.api.controller.dto.AddIotTerminalRelationDto;
import com.zhonglai.luhui.dao.service.PublicService;
import com.zhonglai.luhui.device.domain.IotDevice;
import com.zhonglai.luhui.device.domain.IotTerminal;
import com.zhonglai.luhui.device.service.IIotDeviceService;
import com.zhonglai.luhui.device.service.IIotTerminalService;
import com.zhonglai.luhui.device.service.IUserTerminalGroupRelationService;
import com.zhonglai.luhui.device.service.IUserTerminalGroupService;
import com.zhonglai.luhui.device.service.impl.IotDeviceServiceImpl;
import com.zhonglai.luhui.security.utils.SecurityUtils;
import com.zhonglai.luhui.sys.utils.ExcelUtil;
import io.swagger.annotations.Api;
... ... @@ -45,6 +53,15 @@ public class UserTerminalGroupRelationController extends BaseController
@Autowired
private PublicService publicService;
@Autowired
private IIotDeviceService iotDeviceService;
@Autowired
private IIotTerminalService iotTerminalService;
@Autowired
private IUserTerminalGroupService userTerminalGroupService;
/**
* 查询终端分组关系列表
*/
... ... @@ -215,4 +232,45 @@ public class UserTerminalGroupRelationController extends BaseController
Integer userid = SecurityUtils.getUserId().intValue();
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+")"));
}
@ApiOperation("通过终端新增终端分组关系")
@Log(title = "通过终端新增终端分组关系", businessType = BusinessType.INSERT)
@Transactional
@PostMapping(value = "/addIotTerminalRelation")
public AjaxResult addIotTerminalRelation(@RequestBody AddIotTerminalRelationDto addIotTerminalRelationDto)
{
Integer userid = SecurityUtils.getUserId().intValue();
String deviceId = addIotTerminalRelationDto.getDeviceId();
IotDevice iotDevice = iotDeviceService.selectIotDeviceByClient_id(deviceId);
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+"'");
Integer groupId = null;
String grouName = null;
if (null != list && list.size()>0)
{
groupId = (Integer) list.get(0).get("id");
grouName = (String) list.get(0).get("name");
}else{
UserTerminalGroup userTerminalGroup = new UserTerminalGroup();
userTerminalGroup.setUser_info_id(userid);
userTerminalGroup.setName(iotDevice.getName());
userTerminalGroup.setCreate_time(DateUtils.getNowTimeMilly());
userTerminalGroup.setGroup_type(addIotTerminalRelationDto.getGroupType());
userTerminalGroupService.insertUserTerminalGroup(userTerminalGroup);
groupId = userTerminalGroup.getId();
grouName = userTerminalGroup.getName();
}
for (IotTerminal iotTerminal:addIotTerminalRelationDto.getIotTerminalList())
{
iotTerminalService.updateIotTerminal(iotTerminal);
UserTerminalGroupRelation userTerminalGroupRelation = new UserTerminalGroupRelation();
userTerminalGroupRelation.setIot_terminal_id(iotTerminal.getId());
userTerminalGroupRelation.setIot_terminal_group_id(groupId);
userTerminalGroupRelation.setUser_info_id(userid);
userTerminalGroupRelation.setCreate_time(DateUtils.getNowTimeMilly());
userTerminalGroupRelation.setIot_terminal_group_name(grouName);
userTerminalGroupRelation.setProduct_id(iotTerminal.getProduct_id());
userTerminalGroupRelationService.insertUserTerminalGroupRelation(userTerminalGroupRelation);
}
return toAjax(1);
}
}
... ...