From 33a7ba9645b71691ac860ab0d2332b9a09c0bae2 Mon Sep 17 00:00:00 2001 From: kerwincui <164770707@qq.com> Date: Sat, 11 Jun 2022 02:32:48 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=9A=E7=A7=9F=E6=88=B7=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/iot/controller/AlertController.java | 12 ++++----- .../iot/controller/AlertLogController.java | 12 ++++----- .../ruoyi/iot/controller/ToolController.java | 15 +++++++++++ .../java/com/ruoyi/iot/domain/Device.java | 27 +++++++++++++------ .../ruoyi/iot/model/DeviceAllShortOutput.java | 27 +++++++++++++------ .../ruoyi/iot/model/DeviceShortOutput.java | 15 +++++++++-- .../java/com/ruoyi/iot/mqtt/EmqxService.java | 2 +- .../com/ruoyi/iot/service/IToolService.java | 11 ++++++++ .../iot/service/impl/DeviceServiceImpl.java | 16 ++++++++--- .../iot/service/impl/ToolServiceImpl.java | 14 ++++++++++ .../resources/mapper/iot/CategoryMapper.xml | 4 +-- .../resources/mapper/iot/DeviceMapper.xml | 11 +++++--- vue/src/api/iot/tool.js | 9 +++++++ vue/src/assets/icons/svg/share.svg | 2 ++ vue/src/views/iot/device/device-edit.vue | 2 +- vue/src/views/iot/device/index.vue | 4 ++- vue/src/views/iot/device/user-list.vue | 2 +- vue/src/views/iot/group/device-list.vue | 6 +++++ 18 files changed, 146 insertions(+), 45 deletions(-) create mode 100644 vue/src/assets/icons/svg/share.svg diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/AlertController.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/AlertController.java index 49ea9e9b..d864eb88 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/AlertController.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/AlertController.java @@ -37,7 +37,7 @@ public class AlertController extends BaseController /** * 查询设备告警列表 */ - @PreAuthorize("@ss.hasPermi('iot:device:list')") + @PreAuthorize("@ss.hasPermi('iot:alert:list')") @GetMapping("/list") public TableDataInfo list(Alert alert) { @@ -49,7 +49,7 @@ public class AlertController extends BaseController /** * 导出设备告警列表 */ - @PreAuthorize("@ss.hasPermi('iot:device:export')") + @PreAuthorize("@ss.hasPermi('iot:alert:export')") @Log(title = "设备告警", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, Alert alert) @@ -62,7 +62,7 @@ public class AlertController extends BaseController /** * 获取设备告警详细信息 */ - @PreAuthorize("@ss.hasPermi('iot:device:query')") + @PreAuthorize("@ss.hasPermi('iot:alert:query')") @GetMapping(value = "/{alertId}") public AjaxResult getInfo(@PathVariable("alertId") Long alertId) { @@ -72,7 +72,7 @@ public class AlertController extends BaseController /** * 新增设备告警 */ - @PreAuthorize("@ss.hasPermi('iot:device:add')") + @PreAuthorize("@ss.hasPermi('iot:alert:add')") @Log(title = "设备告警", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody Alert alert) @@ -83,7 +83,7 @@ public class AlertController extends BaseController /** * 修改设备告警 */ - @PreAuthorize("@ss.hasPermi('iot:device:edit')") + @PreAuthorize("@ss.hasPermi('iot:alert:edit')") @Log(title = "设备告警", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody Alert alert) @@ -94,7 +94,7 @@ public class AlertController extends BaseController /** * 删除设备告警 */ - @PreAuthorize("@ss.hasPermi('iot:device:remove')") + @PreAuthorize("@ss.hasPermi('iot:alert:remove')") @Log(title = "设备告警", businessType = BusinessType.DELETE) @DeleteMapping("/{alertIds}") public AjaxResult remove(@PathVariable Long[] alertIds) diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/AlertLogController.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/AlertLogController.java index e2e28189..e089cae3 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/AlertLogController.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/AlertLogController.java @@ -37,7 +37,7 @@ public class AlertLogController extends BaseController /** * 查询设备告警列表 */ - @PreAuthorize("@ss.hasPermi('iot:alertLog:list')") + @PreAuthorize("@ss.hasPermi('iot:alert:list')") @GetMapping("/list") public TableDataInfo list(AlertLog alertLog) { @@ -49,7 +49,7 @@ public class AlertLogController extends BaseController /** * 导出设备告警列表 */ - @PreAuthorize("@ss.hasPermi('iot:alertLog:export')") + @PreAuthorize("@ss.hasPermi('iot:alert:export')") @Log(title = "设备告警", businessType = BusinessType.EXPORT) @PostMapping("/export") public void export(HttpServletResponse response, AlertLog alertLog) @@ -62,7 +62,7 @@ public class AlertLogController extends BaseController /** * 获取设备告警详细信息 */ - @PreAuthorize("@ss.hasPermi('iot:alertLog:query')") + @PreAuthorize("@ss.hasPermi('iot:alert:query')") @GetMapping(value = "/{alertLogId}") public AjaxResult getInfo(@PathVariable("alertLogId") Long alertLogId) { @@ -72,7 +72,7 @@ public class AlertLogController extends BaseController /** * 新增设备告警 */ - @PreAuthorize("@ss.hasPermi('iot:alertLog:add')") + @PreAuthorize("@ss.hasPermi('iot:alert:add')") @Log(title = "设备告警", businessType = BusinessType.INSERT) @PostMapping public AjaxResult add(@RequestBody AlertLog alertLog) @@ -83,7 +83,7 @@ public class AlertLogController extends BaseController /** * 修改设备告警 */ - @PreAuthorize("@ss.hasPermi('iot:alertLog:edit')") + @PreAuthorize("@ss.hasPermi('iot:alert:edit')") @Log(title = "设备告警", businessType = BusinessType.UPDATE) @PutMapping public AjaxResult edit(@RequestBody AlertLog alertLog) @@ -94,7 +94,7 @@ public class AlertLogController extends BaseController /** * 删除设备告警 */ - @PreAuthorize("@ss.hasPermi('iot:alertLog:remove')") + @PreAuthorize("@ss.hasPermi('iot:alert:remove')") @Log(title = "设备告警", businessType = BusinessType.DELETE) @DeleteMapping("/{alertLogIds}") public AjaxResult remove(@PathVariable Long[] alertLogIds) diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/ToolController.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/ToolController.java index 488db34c..986fdf60 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/ToolController.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/controller/ToolController.java @@ -6,6 +6,8 @@ import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.constant.Constants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.redis.RedisCache; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.exception.file.FileNameLengthLimitExceededException; @@ -27,6 +29,7 @@ import com.ruoyi.iot.service.impl.ThingsModelServiceImpl; import com.ruoyi.iot.util.AESUtils; import com.ruoyi.iot.util.VelocityInitializer; import com.ruoyi.iot.util.VelocityUtils; +import com.ruoyi.system.service.ISysUserService; import io.jsonwebtoken.Claims; import io.jsonwebtoken.Jwts; import io.swagger.annotations.Api; @@ -42,6 +45,7 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Lazy; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; +import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; @@ -101,6 +105,17 @@ public class ToolController extends BaseController { return StringUtils.isEmpty(msg) ? success() : error(msg); } + /** + * 获取用户列表 + */ + @GetMapping("/userList") + public TableDataInfo list(SysUser user) + { + startPage(); + List list = toolService.selectUserList(user); + return getDataTable(list); + } + @ApiOperation("mqtt认证") @PostMapping("/mqtt/auth") public ResponseEntity mqttAuth(@RequestParam String clientid, @RequestParam String username, @RequestParam String password) throws Exception { diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/domain/Device.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/domain/Device.java index 589ecd27..c88d0a86 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/domain/Device.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/domain/Device.java @@ -105,6 +105,25 @@ public class Device extends BaseEntity /** 分组ID,用于分组查询 **/ private Long groupId; + /** 是否设备所有者,用于查询 **/ + private Integer isOwner; + + public Integer getLocationWay() { + return locationWay; + } + + public void setLocationWay(Integer locationWay) { + this.locationWay = locationWay; + } + + public Integer getIsOwner() { + return isOwner; + } + + public void setIsOwner(Integer isOwner) { + this.isOwner = isOwner; + } + /** 删除标志(0代表存在 2代表删除) */ private String delFlag; @@ -124,14 +143,6 @@ public class Device extends BaseEntity this.summary = summary; } - public Integer getlocationWay() { - return locationWay; - } - - public void setlocationWay(Integer locationWay) { - this.locationWay = locationWay; - } - public String getImgUrl() { return imgUrl; } diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceAllShortOutput.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceAllShortOutput.java index 9fa6a977..a29fbad0 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceAllShortOutput.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceAllShortOutput.java @@ -58,6 +58,25 @@ public class DeviceAllShortOutput /** 纬度 */ private BigDecimal latitude; + /** 是否设备所有者,用于查询 **/ + private Integer isOwner; + + public Integer getLocationWay() { + return locationWay; + } + + public void setLocationWay(Integer locationWay) { + this.locationWay = locationWay; + } + + public Integer getIsOwner() { + return isOwner; + } + + public void setIsOwner(Integer isOwner) { + this.isOwner = isOwner; + } + public String getNetworkAddress() { return networkAddress; } @@ -82,14 +101,6 @@ public class DeviceAllShortOutput this.latitude = latitude; } - public Integer getlocationWay() { - return locationWay; - } - - public void setlocationWay(Integer locationWay) { - this.locationWay = locationWay; - } - public Integer getIsShadow() { return isShadow; } diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceShortOutput.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceShortOutput.java index adcfca99..6c7a5902 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceShortOutput.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/model/DeviceShortOutput.java @@ -93,6 +93,9 @@ public class DeviceShortOutput /** 图片地址 */ private String imgUrl; + /** 是否设备所有者,用于查询 **/ + private Integer isOwner; + private List stringList; private List integerList; private List decimalList; @@ -101,14 +104,22 @@ public class DeviceShortOutput private List boolList; private List readOnlyList; - public Integer getlocationWay() { + public Integer getLocationWay() { return locationWay; } - public void setlocationWay(Integer locationWay) { + public void setLocationWay(Integer locationWay) { this.locationWay = locationWay; } + public Integer getIsOwner() { + return isOwner; + } + + public void setIsOwner(Integer isOwner) { + this.isOwner = isOwner; + } + public String getImgUrl() { return imgUrl; } diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mqtt/EmqxService.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mqtt/EmqxService.java index a55947f7..758b6772 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mqtt/EmqxService.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/mqtt/EmqxService.java @@ -133,7 +133,7 @@ public class EmqxService { device.setProductId(productId); device.setSerialNumber(deviceNum); // 未采用设备定位则清空定位,定位方式(1=ip自动定位,2=设备定位,3=自定义) - if(device.getlocationWay()!=2){ + if(device.getLocationWay()!=2){ device.setLatitude(null); device.setLongitude(null); } diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/IToolService.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/IToolService.java index c92d2a4a..8884873f 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/IToolService.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/IToolService.java @@ -1,5 +1,6 @@ package com.ruoyi.iot.service; +import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.iot.domain.ProductAuthorize; import com.ruoyi.iot.model.MqttAuthenticationModel; @@ -8,6 +9,8 @@ import com.ruoyi.iot.model.RegisterUserInput; import com.ruoyi.iot.util.AESUtils; import org.springframework.http.ResponseEntity; +import java.util.List; + /** * * @author kerwincui @@ -20,6 +23,14 @@ public interface IToolService */ public String register(RegisterUserInput registerBody); + /** + * 根据条件分页查询用户列表 + * + * @param user 用户信息 + * @return 用户信息集合信息 + */ + public List selectUserList(SysUser user); + /** * 生成随机数字和字母 */ diff --git a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java index 7f615748..dfe9fbac 100644 --- a/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java +++ b/springboot/wumei-iot/src/main/java/com/ruoyi/iot/service/impl/DeviceServiceImpl.java @@ -304,8 +304,16 @@ public class DeviceServiceImpl implements IDeviceService { */ @Override public List selectDeviceListByGroup(Device device) { - if(device.getUserId()==null || device.getUserId()==0){ - return new ArrayList<>(); + SysUser user = getLoginUser().getUser(); + List roles=user.getRoles(); + for(int i=0;i selectUserList(SysUser user) + { + return userMapper.selectUserList(user); + } + /** * 校验手机号码是否唯一 * diff --git a/springboot/wumei-iot/src/main/resources/mapper/iot/CategoryMapper.xml b/springboot/wumei-iot/src/main/resources/mapper/iot/CategoryMapper.xml index aae70055..1fb0c25b 100644 --- a/springboot/wumei-iot/src/main/resources/mapper/iot/CategoryMapper.xml +++ b/springboot/wumei-iot/src/main/resources/mapper/iot/CategoryMapper.xml @@ -38,9 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select category_id, category_name from iot_category - and category_name = #{categoryName} - and tenant_name = #{tenantName} or is_sys = 1 - and is_sys = #{isSys} + and (tenant_id = #{tenantId} or is_sys = 1) order by order_num diff --git a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml index 04f5f9c1..65de08b2 100644 --- a/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml +++ b/springboot/wumei-iot/src/main/resources/mapper/iot/DeviceMapper.xml @@ -30,6 +30,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -50,6 +51,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -67,6 +69,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -153,13 +156,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select d.device_id, d.device_name, d.product_name, d.user_name, d.serial_number, d.firmware_version, d.status,d.rssi,d.is_shadow , - d.location_way, d.active_time,d.network_address,d.longitude,latitude + d.location_way, d.active_time,d.network_address,d.longitude,d.latitude,u.is_owner from iot_device d inner join iot_device_user u on u.device_id = d.device_id @@ -195,7 +198,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select d.device_id, d.device_name, d.product_id, d.product_name, d.user_id, d.user_name, d.tenant_id, d.tenant_name, d.serial_number, d.firmware_version, d.status,d.rssi,d.is_shadow ,d.location_way, - d.things_model_value, d.active_time,d.img_url,u.user_id + d.things_model_value, d.active_time,d.img_url,u.is_owner from iot_device d inner join iot_device_user u on u.device_id = d.device_id left join iot_device_group g on g.device_id=d.device_id diff --git a/vue/src/api/iot/tool.js b/vue/src/api/iot/tool.js index bd9dc176..92a199ef 100644 --- a/vue/src/api/iot/tool.js +++ b/vue/src/api/iot/tool.js @@ -18,3 +18,12 @@ export function register(data) { data: data }) } + +// 查询用户列表 +export function listUser(query) { + return request({ + url: '/iot/tool/userList', + method: 'get', + params: query + }) +} diff --git a/vue/src/assets/icons/svg/share.svg b/vue/src/assets/icons/svg/share.svg new file mode 100644 index 00000000..6e6ea34c --- /dev/null +++ b/vue/src/assets/icons/svg/share.svg @@ -0,0 +1,2 @@ + \ No newline at end of file diff --git a/vue/src/views/iot/device/device-edit.vue b/vue/src/views/iot/device/device-edit.vue index e19e351e..3306ed56 100644 --- a/vue/src/views/iot/device/device-edit.vue +++ b/vue/src/views/iot/device/device-edit.vue @@ -368,7 +368,7 @@ export default { if (this.form.status == 2) { this.deviceStatus = 1; } - this.$modal.alertSuccess("新增成功, 可以烧录sdk到设备了"); + this.$modal.alertSuccess("添加设备成功"); this.loadMap(); } }); diff --git a/vue/src/views/iot/device/index.vue b/vue/src/views/iot/device/index.vue index 0a0fe584..2c60e868 100644 --- a/vue/src/views/iot/device/index.vue +++ b/vue/src/views/iot/device/index.vue @@ -33,7 +33,9 @@ - {{item.deviceName}} + + + {{item.deviceName}} Version {{item.firmwareVersion}} diff --git a/vue/src/views/iot/device/user-list.vue b/vue/src/views/iot/device/user-list.vue index 862b80e5..dd91ad0e 100644 --- a/vue/src/views/iot/device/user-list.vue +++ b/vue/src/views/iot/device/user-list.vue @@ -40,7 +40,7 @@