作者 钟来

新版流水鱼添加流程

package com.zhonglai.luhui.admin.controller.user;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import com.zhonglai.luhui.action.BaseController;
import com.zhonglai.luhui.dao.service.PublicService;
import com.zhonglai.luhui.device.service.IUserTerminalGroupRelationService;
import com.zhonglai.luhui.sys.utils.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
... ... @@ -38,6 +41,8 @@ public class UserTerminalGroupRelationController extends BaseController
@Autowired
private IUserTerminalGroupRelationService userTerminalGroupRelationService;
@Autowired
private PublicService publicService;
/**
* 查询终端分组关系列表
*/
... ... @@ -81,10 +86,25 @@ public class UserTerminalGroupRelationController extends BaseController
*/
@ApiOperation("新增终端分组关系")
@PreAuthorize("@ss.hasPermi('user:UserTerminalGroupRelation:add')")
@Transactional
@Log(title = "终端分组关系", businessType = BusinessType.INSERT)
@PostMapping
public AjaxResult add(@RequestBody UserTerminalGroupRelation userTerminalGroupRelation)
{
String ids = "'"+userTerminalGroupRelation.getIot_terminal_id()+"'";
Integer userid = userTerminalGroupRelation.getUser_info_id();
List<Map<String,Object>> userIdlist = publicService.getObjectListBySQL("SELECT user_info_id,device_id FROM `iot_terminal` WHERE device_id IN(SELECT device_id FROM `iot_terminal` WHERE id IN("+ids+"))");
if(null != userIdlist && userIdlist.size() >0)
{
for (Map<String,Object> map:userIdlist)
{
if(null != map.get("user_info_id") && !String.valueOf(map.get("user_info_id")).equals(String.valueOf(userid)))
{
return AjaxResult.error("设备"+map.get("device_id")+"已被其他人绑定");
}
}
}
publicService.updateBySql("UPDATE `iot_terminal` SET user_info_id="+userid+" WHERE id IN("+ids+")");
return toAjax(userTerminalGroupRelationService.insertUserTerminalGroupRelation(userTerminalGroupRelation));
}
... ... @@ -97,6 +117,7 @@ public class UserTerminalGroupRelationController extends BaseController
@PutMapping
public AjaxResult edit(@RequestBody UserTerminalGroupRelation userTerminalGroupRelation)
{
publicService.updateBySql("UPDATE `iot_terminal` SET user_info_id="+userTerminalGroupRelation.getUser_info_id()+" WHERE id IN("+userTerminalGroupRelation.getIot_terminal_id()+")");
return toAjax(userTerminalGroupRelationService.updateUserTerminalGroupRelation(userTerminalGroupRelation));
}
... ...
... ... @@ -2,26 +2,48 @@ package com.zhonglai.luhui.api.controller.iot;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.Message;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.domain.user.UserTerminalGroupRelation;
import com.zhonglai.luhui.action.BaseController;
import com.zhonglai.luhui.device.domain.IotDevice;
import com.zhonglai.luhui.device.domain.IotTerminal;
import com.zhonglai.luhui.device.service.DeviceControlService;
import com.zhonglai.luhui.device.service.IIotDeviceService;
import com.zhonglai.luhui.security.utils.SecurityUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.stereotype.Controller;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.util.List;
import java.util.Map;
import static com.ruoyi.common.utils.PageUtils.startPage;
@Api(tags = "设备控制")
@Controller
@RequestMapping("/iot/iotDeviceControl")
public class IotDeviceControlController {
public class IotDeviceControlController extends BaseController {
@Autowired
private DeviceControlService deviceControlService;
@Autowired
private IIotDeviceService iotDeviceService;
@ApiOperation("查询主机/网关列表")
@PreAuthorize("@ss.hasPermi('iot:IotDevice:list')")
@GetMapping("/list")
public TableDataInfo list(IotDevice iotDevice)
{
startPage();
List<IotDevice> list = iotDeviceService.selectIotDeviceList(iotDevice);
return getDataTable(list);
}
@ApiOperation("固件版本更新")
@ApiImplicitParams({
... ... @@ -35,6 +57,7 @@ public class IotDeviceControlController {
return deviceControlService.firmwareUp(imei,firmwareVersion,code);
}
@ApiOperation("设备重启")
@ApiImplicitParams({
@ApiImplicitParam(value = "主机imei",name = "imei"),
... ...
package com.zhonglai.luhui.api.controller.user;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.*;
import javax.servlet.http.HttpServletResponse;
import com.ruoyi.common.utils.StringUtils;
... ... @@ -17,6 +14,7 @@ import com.zhonglai.luhui.sys.utils.ExcelUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
... ... @@ -113,6 +111,7 @@ public class UserTerminalGroupRelationController extends BaseController
*/
@ApiOperation("新增终端分组关系")
@Log(title = "终端分组关系", businessType = BusinessType.INSERT)
@Transactional
@PostMapping
public AjaxResult add(@RequestBody UserTerminalGroupRelation userTerminalGroupRelation)
{
... ... @@ -132,6 +131,19 @@ public class UserTerminalGroupRelationController extends BaseController
newuserTerminalGroupRelation.setUser_info_id(userid);
list.add(newuserTerminalGroupRelation);
}
String ids = "'"+iotTerminalIds.replace(",","','")+"'";
List<Map<String,Object>> userIdlist = publicService.getObjectListBySQL("SELECT user_info_id,device_id FROM `iot_terminal` WHERE device_id IN(SELECT device_id FROM `iot_terminal` WHERE id IN("+ids+"))");
if(null != userIdlist && userIdlist.size() >0)
{
for (Map<String,Object> map:userIdlist)
{
if(null != map.get("user_info_id") && !String.valueOf(map.get("user_info_id")).equals(String.valueOf(userid)))
{
return AjaxResult.error("设备"+map.get("device_id")+"已被其他人绑定");
}
}
}
publicService.updateBySql("UPDATE `iot_terminal` SET user_info_id="+userid+" WHERE id IN("+ids+")");
return toAjax( publicService.insertAll(list));
}
... ... @@ -148,7 +160,8 @@ public class UserTerminalGroupRelationController extends BaseController
{
return AjaxResult.error("终端id必填");
}
int i = publicService.updateBySql("UPDATE `user_terminal_group_relation` SET iot_terminal_group_id="+userTerminalGroupRelation.getIot_terminal_group_id()+",iot_terminal_group_name='"+userTerminalGroupRelation.getIot_terminal_group_name()+"' WHERE iot_terminal_id IN('"+iotTerminalIds.replace(",","','")+"') and user_info_id="+SecurityUtils.getUserId().intValue());
String ids = "'"+iotTerminalIds.replace(",","','")+"'";
int i = publicService.updateBySql("UPDATE `user_terminal_group_relation` SET iot_terminal_group_id="+userTerminalGroupRelation.getIot_terminal_group_id()+",iot_terminal_group_name='"+userTerminalGroupRelation.getIot_terminal_group_name()+"' WHERE iot_terminal_id IN("+ids+") and user_info_id="+SecurityUtils.getUserId().intValue());
return toAjax(i);
}
... ... @@ -156,10 +169,13 @@ public class UserTerminalGroupRelationController extends BaseController
* 删除终端分组关系
*/
@ApiOperation("删除终端分组关系")
@Transactional
@Log(title = "终端分组关系", businessType = BusinessType.DELETE)
@DeleteMapping("/{ids}")
public AjaxResult remove(@PathVariable Integer[] ids)
{
String idss = "'"+Arrays.toString(ids).replace(",","','")+"'";
publicService.updateBySql("UPDATE `iot_terminal` SET user_info_id=null WHERE id IN("+idss+")");
return toAjax(userTerminalGroupRelationService.deleteUserTerminalGroupRelationByIds(ids));
}
... ... @@ -191,4 +207,12 @@ public class UserTerminalGroupRelationController extends BaseController
map.put("offline",offline);
return AjaxResult.success(map);
}
@ApiOperation("查询用户下的所有网关")
@GetMapping(value = "/getIotDeviceList")
public AjaxResult getIotDeviceList()
{
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+")"));
}
}
... ...