Commit 470f3589d484d09cdc4d0f60a4516476846cff59

Authored by 王富生
1 parent 1e77ace1

用户设备关系

urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/DeviceUserController.java
... ... @@ -57,8 +57,9 @@ public class DeviceUserController {
57 57 @Operation(summary = "删除设备用户关系")
58 58 @Parameter(name = "id", description = "编号", required = true)
59 59 @PreAuthorize("@ss.hasPermission('garden:device-user:delete')")
60   - public CommonResult<Boolean> deleteDeviceUser(@RequestParam("id") Long id) {
61   - deviceUserService.deleteDeviceUser(id);
  60 + public CommonResult<Boolean> deleteDeviceUser(@RequestParam("user_id") @NotNull Long userId,
  61 + @RequestParam("device_no") @NotBlank String deviceNo) {
  62 + deviceUserService.deleteDeviceUser(userId, deviceNo);
62 63 return success(true);
63 64 }
64 65  
... ... @@ -82,7 +83,7 @@ public class DeviceUserController {
82 83  
83 84 @GetMapping("/page")
84 85 @Operation(summary = "获得设备用户关系分页")
85   - @PreAuthorize("@ss.hasPermission('garden:device-user:query')")
  86 + //@PreAuthorize("@ss.hasPermission('garden:device-user:query')")
86 87 public CommonResult<PageResult<DeviceUserRespVO>> getDeviceUserPage(@Valid DeviceUserPageReqVO pageReqVO) {
87 88 PageResult<DeviceUserDO> pageResult = deviceUserService.getDeviceUserPage(pageReqVO);
88 89 return success(BeanUtils.toBean(pageResult, DeviceUserRespVO.class));
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserPageReqVO.java
... ... @@ -32,7 +32,7 @@ public class DeviceUserPageReqVO extends PageParam {
32 32 @Schema(description = "设备名称", example = "张三")
33 33 private String deviceName;
34 34  
35   - @Schema(description = "设备状态")
36   - private Integer deviceState;
  35 + @Schema(description = "连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT")
  36 + private String deviceState;
37 37  
38 38 }
39 39 \ No newline at end of file
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserRespVO.java
... ... @@ -44,9 +44,9 @@ public class DeviceUserRespVO {
44 44 @ExcelProperty("设备名称")
45 45 private String deviceName;
46 46  
47   - @Schema(description = "设备状态 1:在线;2:离线;3:未知", requiredMode = Schema.RequiredMode.REQUIRED)
48   - @ExcelProperty("设备状态 1:在线;2:离线;3:未知")
49   - private Integer deviceState;
  47 + @Schema(description = "连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT", requiredMode = Schema.RequiredMode.REQUIRED)
  48 + @ExcelProperty("连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT")
  49 + private String deviceState;
50 50  
51 51 @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
52 52 @ExcelProperty("创建人")
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserSaveReqVO.java
1 1 package com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo;
2 2  
3 3 import io.swagger.v3.oas.annotations.media.Schema;
  4 +import jakarta.validation.Valid;
4 5 import lombok.*;
5 6 import java.util.*;
6 7 import jakarta.validation.constraints.*;
... ... @@ -9,8 +10,6 @@ import jakarta.validation.constraints.*;
9 10 @Data
10 11 public class DeviceUserSaveReqVO {
11 12  
12   - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12043")
13   - private Long id;
14 13  
15 14 @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "22641")
16 15 @NotNull(message = "归属(一级部门id)不能为空")
... ... @@ -28,28 +27,29 @@ public class DeviceUserSaveReqVO {
28 27 @NotEmpty(message = "提交人用户不能为空")
29 28 private String userName;
30 29  
31   - @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
32   - @NotEmpty(message = "产品名称不能为空")
33   - private String productName;
34   -
35   - @Schema(description = "设备标识", requiredMode = Schema.RequiredMode.REQUIRED)
36   - @NotEmpty(message = "设备标识不能为空")
37   - private String deviceNo;
38   -
39   - @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
40   - @NotEmpty(message = "设备名称不能为空")
41   - private String deviceName;
42   -
43   - @Schema(description = "设备状态 1:在线;2:离线;3:未知", requiredMode = Schema.RequiredMode.REQUIRED)
44   - @NotEmpty(message = "设备状态不能为空")
45   - private Integer deviceState;
46   -
47   - @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
48   - @NotEmpty(message = "创建人不能为空")
49   - private String creatorName;
50   -
51   - @Schema(description = "更新者", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
52   - @NotEmpty(message = "更新者不能为空")
53   - private String updaterName;
  30 + @Schema(description = "设备信息")
  31 + @NotNull
  32 + @Size(min = 1, message = "道路信息不能为空")
  33 + @Valid
  34 + private List<DeviceInfoDO> deviceInfoList;
  35 +
  36 + @Data
  37 + public static class DeviceInfoDO {
  38 + @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
  39 + @NotEmpty(message = "产品名称不能为空")
  40 + private String productName;
  41 +
  42 + @Schema(description = "设备标识", requiredMode = Schema.RequiredMode.REQUIRED)
  43 + @NotEmpty(message = "设备标识不能为空")
  44 + private String deviceNo;
  45 +
  46 + @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三")
  47 + @NotEmpty(message = "设备名称不能为空")
  48 + private String deviceName;
  49 +
  50 + @Schema(description = "连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT", requiredMode = Schema.RequiredMode.REQUIRED)
  51 + @NotEmpty(message = "连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT")
  52 + private String deviceState;
  53 + }
54 54  
55 55 }
56 56 \ No newline at end of file
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/deviceuser/DeviceUserDO.java
... ... @@ -56,9 +56,9 @@ public class DeviceUserDO extends BaseDO {
56 56 */
57 57 private String deviceName;
58 58 /**
59   - * 设备状态 1:在线;2:离线;3:未知
  59 + * 连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT
60 60 */
61   - private Integer deviceState;
  61 + private String deviceState;
62 62 /**
63 63 * 创建人
64 64 */
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/deviceuser/DeviceUserMapper.java
... ... @@ -8,6 +8,7 @@ import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX;
8 8 import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO;
9 9 import org.apache.ibatis.annotations.Mapper;
10 10 import com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo.*;
  11 +import org.apache.ibatis.annotations.Param;
11 12  
12 13 /**
13 14 * 设备用户关系 Mapper
... ... @@ -29,4 +30,6 @@ public interface DeviceUserMapper extends BaseMapperX&lt;DeviceUserDO&gt; {
29 30 .orderByDesc(DeviceUserDO::getId));
30 31 }
31 32  
  33 + int deleteDeviceUser(@Param("userId") Long userId, @Param("deviceNo") String deviceNo);
  34 +
32 35 }
33 36 \ No newline at end of file
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserService.java
... ... @@ -6,6 +6,8 @@ import com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo.*;
6 6 import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO;
7 7 import com.zteits.urbanops.framework.common.pojo.PageResult;
8 8 import com.zteits.urbanops.framework.common.pojo.PageParam;
  9 +import jakarta.validation.constraints.NotNull;
  10 +import org.springframework.web.bind.annotation.RequestParam;
9 11  
10 12 /**
11 13 * 设备用户关系 Service 接口
... ... @@ -59,4 +61,12 @@ public interface DeviceUserService {
59 61 */
60 62 PageResult<DeviceUserDO> getDeviceUserPage(DeviceUserPageReqVO pageReqVO);
61 63  
  64 +
  65 + /**
  66 + * 删除设备用户关系
  67 + *
  68 + * @param userId 编号
  69 + */
  70 + Integer deleteDeviceUser(Long userId, String deviceNo);
  71 +
62 72 }
63 73 \ No newline at end of file
... ...
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserServiceImpl.java
1 1 package com.zteits.urbanops.module.garden.service.deviceuser;
2 2  
3 3 import cn.hutool.core.collection.CollUtil;
  4 +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils;
4 5 import org.springframework.stereotype.Service;
5 6 import jakarta.annotation.Resource;
6 7 import org.springframework.validation.annotation.Validated;
7 8 import org.springframework.transaction.annotation.Transactional;
8 9  
  10 +import java.time.LocalDateTime;
9 11 import java.util.*;
10 12 import com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo.*;
11 13 import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO;
... ... @@ -34,18 +36,35 @@ public class DeviceUserServiceImpl implements DeviceUserService {
34 36  
35 37 @Override
36 38 public Long createDeviceUser(DeviceUserSaveReqVO createReqVO) {
  39 + LocalDateTime now = LocalDateTime.now();
  40 + String userId = SecurityFrameworkUtils.getLoginUserId() + "";
  41 + String userName = SecurityFrameworkUtils.getLoginUserNickname();
  42 + List<DeviceUserDO> list = new ArrayList<>();
  43 + createReqVO.getDeviceInfoList().forEach(deviceInfo -> {
  44 + DeviceUserDO deviceUser = new DeviceUserDO();
  45 + deviceUser.setDeviceNo(deviceInfo.getDeviceNo());
  46 + deviceUser.setDeviceName(deviceInfo.getDeviceName());
  47 + deviceUser.setProductName(deviceInfo.getProductName());
  48 + deviceUser.setCompanyId(createReqVO.getCompanyId());
  49 + deviceUser.setDeptId(createReqVO.getDeptId());
  50 + deviceUser.setUserId(Long.parseLong(userId));
  51 + deviceUser.setUserName(userName);
  52 + deviceUser.setCreateTime( now);
  53 + deviceUser.setCreator(userId);
  54 + deviceUser.setCreatorName(userName);
  55 + deviceUser.setUpdater(userId);
  56 + deviceUser.setUpdateTime( now);
  57 + list.add(deviceUser);
  58 + });
37 59 // 插入
38   - DeviceUserDO deviceUser = BeanUtils.toBean(createReqVO, DeviceUserDO.class);
39   - deviceUserMapper.insert(deviceUser);
40   -
41   - // 返回
42   - return deviceUser.getId();
  60 + deviceUserMapper.insert( list);
  61 + return 1L;
43 62 }
44 63  
45 64 @Override
46 65 public void updateDeviceUser(DeviceUserSaveReqVO updateReqVO) {
47 66 // 校验存在
48   - validateDeviceUserExists(updateReqVO.getId());
  67 + //validateDeviceUserExists(updateReqVO.getId());
49 68 // 更新
50 69 DeviceUserDO updateObj = BeanUtils.toBean(updateReqVO, DeviceUserDO.class);
51 70 deviceUserMapper.updateById(updateObj);
... ... @@ -82,4 +101,9 @@ public class DeviceUserServiceImpl implements DeviceUserService {
82 101 return deviceUserMapper.selectPage(pageReqVO);
83 102 }
84 103  
  104 + @Override
  105 + public Integer deleteDeviceUser(Long userId, String deviceNo) {
  106 + return deviceUserMapper.deleteDeviceUser(userId, deviceNo);
  107 + }
  108 +
85 109 }
86 110 \ No newline at end of file
... ...
urbanops-module-garden/src/main/resources/mapper/deviceuser/DeviceUserMapper.xml
... ... @@ -9,4 +9,10 @@
9 9 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
10 10 -->
11 11  
  12 + <delete id="deleteDeviceUser">
  13 + DELETE FROM garden_device_user
  14 + WHERE user_id = #{userId}
  15 + AND device_no = #{deviceNo}
  16 +
  17 + </delete>
12 18 </mapper>
13 19 \ No newline at end of file
... ...