正在显示
3 个修改的文件
包含
74 行增加
和
6 行删除
| 1 | package com.zhonglai.luhui.admin.controller.user; | 1 | package com.zhonglai.luhui.admin.controller.user; |
| 2 | 2 | ||
| 3 | import java.util.List; | 3 | import java.util.List; |
| 4 | +import java.util.Map; | ||
| 4 | import javax.servlet.http.HttpServletResponse; | 5 | import javax.servlet.http.HttpServletResponse; |
| 5 | 6 | ||
| 6 | import com.zhonglai.luhui.action.BaseController; | 7 | import com.zhonglai.luhui.action.BaseController; |
| 8 | +import com.zhonglai.luhui.dao.service.PublicService; | ||
| 7 | import com.zhonglai.luhui.device.service.IUserTerminalGroupRelationService; | 9 | import com.zhonglai.luhui.device.service.IUserTerminalGroupRelationService; |
| 8 | import com.zhonglai.luhui.sys.utils.ExcelUtil; | 10 | import com.zhonglai.luhui.sys.utils.ExcelUtil; |
| 9 | import io.swagger.annotations.Api; | 11 | import io.swagger.annotations.Api; |
| 10 | import io.swagger.annotations.ApiOperation; | 12 | import io.swagger.annotations.ApiOperation; |
| 11 | import org.springframework.security.access.prepost.PreAuthorize; | 13 | import org.springframework.security.access.prepost.PreAuthorize; |
| 12 | import org.springframework.beans.factory.annotation.Autowired; | 14 | import org.springframework.beans.factory.annotation.Autowired; |
| 15 | +import org.springframework.transaction.annotation.Transactional; | ||
| 13 | import org.springframework.web.bind.annotation.GetMapping; | 16 | import org.springframework.web.bind.annotation.GetMapping; |
| 14 | import org.springframework.web.bind.annotation.PostMapping; | 17 | import org.springframework.web.bind.annotation.PostMapping; |
| 15 | import org.springframework.web.bind.annotation.PutMapping; | 18 | import org.springframework.web.bind.annotation.PutMapping; |
| @@ -38,6 +41,8 @@ public class UserTerminalGroupRelationController extends BaseController | @@ -38,6 +41,8 @@ public class UserTerminalGroupRelationController extends BaseController | ||
| 38 | @Autowired | 41 | @Autowired |
| 39 | private IUserTerminalGroupRelationService userTerminalGroupRelationService; | 42 | private IUserTerminalGroupRelationService userTerminalGroupRelationService; |
| 40 | 43 | ||
| 44 | + @Autowired | ||
| 45 | + private PublicService publicService; | ||
| 41 | /** | 46 | /** |
| 42 | * 查询终端分组关系列表 | 47 | * 查询终端分组关系列表 |
| 43 | */ | 48 | */ |
| @@ -81,10 +86,25 @@ public class UserTerminalGroupRelationController extends BaseController | @@ -81,10 +86,25 @@ public class UserTerminalGroupRelationController extends BaseController | ||
| 81 | */ | 86 | */ |
| 82 | @ApiOperation("新增终端分组关系") | 87 | @ApiOperation("新增终端分组关系") |
| 83 | @PreAuthorize("@ss.hasPermi('user:UserTerminalGroupRelation:add')") | 88 | @PreAuthorize("@ss.hasPermi('user:UserTerminalGroupRelation:add')") |
| 89 | + @Transactional | ||
| 84 | @Log(title = "终端分组关系", businessType = BusinessType.INSERT) | 90 | @Log(title = "终端分组关系", businessType = BusinessType.INSERT) |
| 85 | @PostMapping | 91 | @PostMapping |
| 86 | public AjaxResult add(@RequestBody UserTerminalGroupRelation userTerminalGroupRelation) | 92 | public AjaxResult add(@RequestBody UserTerminalGroupRelation userTerminalGroupRelation) |
| 87 | { | 93 | { |
| 94 | + String ids = "'"+userTerminalGroupRelation.getIot_terminal_id()+"'"; | ||
| 95 | + Integer userid = userTerminalGroupRelation.getUser_info_id(); | ||
| 96 | + 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+"))"); | ||
| 97 | + if(null != userIdlist && userIdlist.size() >0) | ||
| 98 | + { | ||
| 99 | + for (Map<String,Object> map:userIdlist) | ||
| 100 | + { | ||
| 101 | + if(null != map.get("user_info_id") && !String.valueOf(map.get("user_info_id")).equals(String.valueOf(userid))) | ||
| 102 | + { | ||
| 103 | + return AjaxResult.error("设备"+map.get("device_id")+"已被其他人绑定"); | ||
| 104 | + } | ||
| 105 | + } | ||
| 106 | + } | ||
| 107 | + publicService.updateBySql("UPDATE `iot_terminal` SET user_info_id="+userid+" WHERE id IN("+ids+")"); | ||
| 88 | return toAjax(userTerminalGroupRelationService.insertUserTerminalGroupRelation(userTerminalGroupRelation)); | 108 | return toAjax(userTerminalGroupRelationService.insertUserTerminalGroupRelation(userTerminalGroupRelation)); |
| 89 | } | 109 | } |
| 90 | 110 | ||
| @@ -97,6 +117,7 @@ public class UserTerminalGroupRelationController extends BaseController | @@ -97,6 +117,7 @@ public class UserTerminalGroupRelationController extends BaseController | ||
| 97 | @PutMapping | 117 | @PutMapping |
| 98 | public AjaxResult edit(@RequestBody UserTerminalGroupRelation userTerminalGroupRelation) | 118 | public AjaxResult edit(@RequestBody UserTerminalGroupRelation userTerminalGroupRelation) |
| 99 | { | 119 | { |
| 120 | + publicService.updateBySql("UPDATE `iot_terminal` SET user_info_id="+userTerminalGroupRelation.getUser_info_id()+" WHERE id IN("+userTerminalGroupRelation.getIot_terminal_id()+")"); | ||
| 100 | return toAjax(userTerminalGroupRelationService.updateUserTerminalGroupRelation(userTerminalGroupRelation)); | 121 | return toAjax(userTerminalGroupRelationService.updateUserTerminalGroupRelation(userTerminalGroupRelation)); |
| 101 | } | 122 | } |
| 102 | 123 |
| @@ -2,26 +2,48 @@ package com.zhonglai.luhui.api.controller.iot; | @@ -2,26 +2,48 @@ package com.zhonglai.luhui.api.controller.iot; | ||
| 2 | 2 | ||
| 3 | import com.ruoyi.common.annotation.Log; | 3 | import com.ruoyi.common.annotation.Log; |
| 4 | import com.ruoyi.common.core.domain.Message; | 4 | import com.ruoyi.common.core.domain.Message; |
| 5 | +import com.ruoyi.common.core.page.TableDataInfo; | ||
| 5 | import com.ruoyi.common.enums.BusinessType; | 6 | import com.ruoyi.common.enums.BusinessType; |
| 7 | +import com.ruoyi.system.domain.user.UserTerminalGroupRelation; | ||
| 8 | +import com.zhonglai.luhui.action.BaseController; | ||
| 9 | +import com.zhonglai.luhui.device.domain.IotDevice; | ||
| 10 | +import com.zhonglai.luhui.device.domain.IotTerminal; | ||
| 6 | import com.zhonglai.luhui.device.service.DeviceControlService; | 11 | import com.zhonglai.luhui.device.service.DeviceControlService; |
| 12 | +import com.zhonglai.luhui.device.service.IIotDeviceService; | ||
| 13 | +import com.zhonglai.luhui.security.utils.SecurityUtils; | ||
| 7 | import io.swagger.annotations.Api; | 14 | import io.swagger.annotations.Api; |
| 8 | import io.swagger.annotations.ApiImplicitParam; | 15 | import io.swagger.annotations.ApiImplicitParam; |
| 9 | import io.swagger.annotations.ApiImplicitParams; | 16 | import io.swagger.annotations.ApiImplicitParams; |
| 10 | import io.swagger.annotations.ApiOperation; | 17 | import io.swagger.annotations.ApiOperation; |
| 11 | import org.springframework.beans.factory.annotation.Autowired; | 18 | import org.springframework.beans.factory.annotation.Autowired; |
| 19 | +import org.springframework.security.access.prepost.PreAuthorize; | ||
| 12 | import org.springframework.stereotype.Controller; | 20 | import org.springframework.stereotype.Controller; |
| 13 | import org.springframework.transaction.annotation.Transactional; | 21 | import org.springframework.transaction.annotation.Transactional; |
| 14 | import org.springframework.web.bind.annotation.*; | 22 | import org.springframework.web.bind.annotation.*; |
| 15 | 23 | ||
| 16 | import java.io.IOException; | 24 | import java.io.IOException; |
| 25 | +import java.util.List; | ||
| 17 | import java.util.Map; | 26 | import java.util.Map; |
| 18 | 27 | ||
| 28 | +import static com.ruoyi.common.utils.PageUtils.startPage; | ||
| 29 | + | ||
| 19 | @Api(tags = "设备控制") | 30 | @Api(tags = "设备控制") |
| 20 | @Controller | 31 | @Controller |
| 21 | @RequestMapping("/iot/iotDeviceControl") | 32 | @RequestMapping("/iot/iotDeviceControl") |
| 22 | -public class IotDeviceControlController { | 33 | +public class IotDeviceControlController extends BaseController { |
| 23 | @Autowired | 34 | @Autowired |
| 24 | private DeviceControlService deviceControlService; | 35 | private DeviceControlService deviceControlService; |
| 36 | + @Autowired | ||
| 37 | + private IIotDeviceService iotDeviceService; | ||
| 38 | + @ApiOperation("查询主机/网关列表") | ||
| 39 | + @PreAuthorize("@ss.hasPermi('iot:IotDevice:list')") | ||
| 40 | + @GetMapping("/list") | ||
| 41 | + public TableDataInfo list(IotDevice iotDevice) | ||
| 42 | + { | ||
| 43 | + startPage(); | ||
| 44 | + List<IotDevice> list = iotDeviceService.selectIotDeviceList(iotDevice); | ||
| 45 | + return getDataTable(list); | ||
| 46 | + } | ||
| 25 | 47 | ||
| 26 | @ApiOperation("固件版本更新") | 48 | @ApiOperation("固件版本更新") |
| 27 | @ApiImplicitParams({ | 49 | @ApiImplicitParams({ |
| @@ -35,6 +57,7 @@ public class IotDeviceControlController { | @@ -35,6 +57,7 @@ public class IotDeviceControlController { | ||
| 35 | return deviceControlService.firmwareUp(imei,firmwareVersion,code); | 57 | return deviceControlService.firmwareUp(imei,firmwareVersion,code); |
| 36 | } | 58 | } |
| 37 | 59 | ||
| 60 | + | ||
| 38 | @ApiOperation("设备重启") | 61 | @ApiOperation("设备重启") |
| 39 | @ApiImplicitParams({ | 62 | @ApiImplicitParams({ |
| 40 | @ApiImplicitParam(value = "主机imei",name = "imei"), | 63 | @ApiImplicitParam(value = "主机imei",name = "imei"), |
| 1 | package com.zhonglai.luhui.api.controller.user; | 1 | package com.zhonglai.luhui.api.controller.user; |
| 2 | 2 | ||
| 3 | -import java.util.ArrayList; | ||
| 4 | -import java.util.HashMap; | ||
| 5 | -import java.util.List; | ||
| 6 | -import java.util.Map; | 3 | +import java.util.*; |
| 7 | import javax.servlet.http.HttpServletResponse; | 4 | import javax.servlet.http.HttpServletResponse; |
| 8 | 5 | ||
| 9 | import com.ruoyi.common.utils.StringUtils; | 6 | import com.ruoyi.common.utils.StringUtils; |
| @@ -17,6 +14,7 @@ import com.zhonglai.luhui.sys.utils.ExcelUtil; | @@ -17,6 +14,7 @@ import com.zhonglai.luhui.sys.utils.ExcelUtil; | ||
| 17 | import io.swagger.annotations.Api; | 14 | import io.swagger.annotations.Api; |
| 18 | import io.swagger.annotations.ApiOperation; | 15 | import io.swagger.annotations.ApiOperation; |
| 19 | import org.springframework.beans.factory.annotation.Autowired; | 16 | import org.springframework.beans.factory.annotation.Autowired; |
| 17 | +import org.springframework.transaction.annotation.Transactional; | ||
| 20 | import org.springframework.web.bind.annotation.GetMapping; | 18 | import org.springframework.web.bind.annotation.GetMapping; |
| 21 | import org.springframework.web.bind.annotation.PostMapping; | 19 | import org.springframework.web.bind.annotation.PostMapping; |
| 22 | import org.springframework.web.bind.annotation.PutMapping; | 20 | import org.springframework.web.bind.annotation.PutMapping; |
| @@ -113,6 +111,7 @@ public class UserTerminalGroupRelationController extends BaseController | @@ -113,6 +111,7 @@ public class UserTerminalGroupRelationController extends BaseController | ||
| 113 | */ | 111 | */ |
| 114 | @ApiOperation("新增终端分组关系") | 112 | @ApiOperation("新增终端分组关系") |
| 115 | @Log(title = "终端分组关系", businessType = BusinessType.INSERT) | 113 | @Log(title = "终端分组关系", businessType = BusinessType.INSERT) |
| 114 | + @Transactional | ||
| 116 | @PostMapping | 115 | @PostMapping |
| 117 | public AjaxResult add(@RequestBody UserTerminalGroupRelation userTerminalGroupRelation) | 116 | public AjaxResult add(@RequestBody UserTerminalGroupRelation userTerminalGroupRelation) |
| 118 | { | 117 | { |
| @@ -132,6 +131,19 @@ public class UserTerminalGroupRelationController extends BaseController | @@ -132,6 +131,19 @@ public class UserTerminalGroupRelationController extends BaseController | ||
| 132 | newuserTerminalGroupRelation.setUser_info_id(userid); | 131 | newuserTerminalGroupRelation.setUser_info_id(userid); |
| 133 | list.add(newuserTerminalGroupRelation); | 132 | list.add(newuserTerminalGroupRelation); |
| 134 | } | 133 | } |
| 134 | + String ids = "'"+iotTerminalIds.replace(",","','")+"'"; | ||
| 135 | + 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+"))"); | ||
| 136 | + if(null != userIdlist && userIdlist.size() >0) | ||
| 137 | + { | ||
| 138 | + for (Map<String,Object> map:userIdlist) | ||
| 139 | + { | ||
| 140 | + if(null != map.get("user_info_id") && !String.valueOf(map.get("user_info_id")).equals(String.valueOf(userid))) | ||
| 141 | + { | ||
| 142 | + return AjaxResult.error("设备"+map.get("device_id")+"已被其他人绑定"); | ||
| 143 | + } | ||
| 144 | + } | ||
| 145 | + } | ||
| 146 | + publicService.updateBySql("UPDATE `iot_terminal` SET user_info_id="+userid+" WHERE id IN("+ids+")"); | ||
| 135 | return toAjax( publicService.insertAll(list)); | 147 | return toAjax( publicService.insertAll(list)); |
| 136 | } | 148 | } |
| 137 | 149 | ||
| @@ -148,7 +160,8 @@ public class UserTerminalGroupRelationController extends BaseController | @@ -148,7 +160,8 @@ public class UserTerminalGroupRelationController extends BaseController | ||
| 148 | { | 160 | { |
| 149 | return AjaxResult.error("终端id必填"); | 161 | return AjaxResult.error("终端id必填"); |
| 150 | } | 162 | } |
| 151 | - 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()); | 163 | + String ids = "'"+iotTerminalIds.replace(",","','")+"'"; |
| 164 | + 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()); | ||
| 152 | return toAjax(i); | 165 | return toAjax(i); |
| 153 | } | 166 | } |
| 154 | 167 | ||
| @@ -156,10 +169,13 @@ public class UserTerminalGroupRelationController extends BaseController | @@ -156,10 +169,13 @@ public class UserTerminalGroupRelationController extends BaseController | ||
| 156 | * 删除终端分组关系 | 169 | * 删除终端分组关系 |
| 157 | */ | 170 | */ |
| 158 | @ApiOperation("删除终端分组关系") | 171 | @ApiOperation("删除终端分组关系") |
| 172 | + @Transactional | ||
| 159 | @Log(title = "终端分组关系", businessType = BusinessType.DELETE) | 173 | @Log(title = "终端分组关系", businessType = BusinessType.DELETE) |
| 160 | @DeleteMapping("/{ids}") | 174 | @DeleteMapping("/{ids}") |
| 161 | public AjaxResult remove(@PathVariable Integer[] ids) | 175 | public AjaxResult remove(@PathVariable Integer[] ids) |
| 162 | { | 176 | { |
| 177 | + String idss = "'"+Arrays.toString(ids).replace(",","','")+"'"; | ||
| 178 | + publicService.updateBySql("UPDATE `iot_terminal` SET user_info_id=null WHERE id IN("+idss+")"); | ||
| 163 | return toAjax(userTerminalGroupRelationService.deleteUserTerminalGroupRelationByIds(ids)); | 179 | return toAjax(userTerminalGroupRelationService.deleteUserTerminalGroupRelationByIds(ids)); |
| 164 | } | 180 | } |
| 165 | 181 | ||
| @@ -191,4 +207,12 @@ public class UserTerminalGroupRelationController extends BaseController | @@ -191,4 +207,12 @@ public class UserTerminalGroupRelationController extends BaseController | ||
| 191 | map.put("offline",offline); | 207 | map.put("offline",offline); |
| 192 | return AjaxResult.success(map); | 208 | return AjaxResult.success(map); |
| 193 | } | 209 | } |
| 210 | + | ||
| 211 | + @ApiOperation("查询用户下的所有网关") | ||
| 212 | + @GetMapping(value = "/getIotDeviceList") | ||
| 213 | + public AjaxResult getIotDeviceList() | ||
| 214 | + { | ||
| 215 | + 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+")")); | ||
| 217 | + } | ||
| 194 | } | 218 | } |
-
请 注册 或 登录 后发表评论