Commit 470f3589d484d09cdc4d0f60a4516476846cff59
1 parent
1e77ace1
用户设备关系
Showing
9 changed files
with
85 additions
and
41 deletions
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/DeviceUserController.java
| @@ -57,8 +57,9 @@ public class DeviceUserController { | @@ -57,8 +57,9 @@ public class DeviceUserController { | ||
| 57 | @Operation(summary = "删除设备用户关系") | 57 | @Operation(summary = "删除设备用户关系") |
| 58 | @Parameter(name = "id", description = "编号", required = true) | 58 | @Parameter(name = "id", description = "编号", required = true) |
| 59 | @PreAuthorize("@ss.hasPermission('garden:device-user:delete')") | 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 | return success(true); | 63 | return success(true); |
| 63 | } | 64 | } |
| 64 | 65 | ||
| @@ -82,7 +83,7 @@ public class DeviceUserController { | @@ -82,7 +83,7 @@ public class DeviceUserController { | ||
| 82 | 83 | ||
| 83 | @GetMapping("/page") | 84 | @GetMapping("/page") |
| 84 | @Operation(summary = "获得设备用户关系分页") | 85 | @Operation(summary = "获得设备用户关系分页") |
| 85 | - @PreAuthorize("@ss.hasPermission('garden:device-user:query')") | 86 | + //@PreAuthorize("@ss.hasPermission('garden:device-user:query')") |
| 86 | public CommonResult<PageResult<DeviceUserRespVO>> getDeviceUserPage(@Valid DeviceUserPageReqVO pageReqVO) { | 87 | public CommonResult<PageResult<DeviceUserRespVO>> getDeviceUserPage(@Valid DeviceUserPageReqVO pageReqVO) { |
| 87 | PageResult<DeviceUserDO> pageResult = deviceUserService.getDeviceUserPage(pageReqVO); | 88 | PageResult<DeviceUserDO> pageResult = deviceUserService.getDeviceUserPage(pageReqVO); |
| 88 | return success(BeanUtils.toBean(pageResult, DeviceUserRespVO.class)); | 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,7 +32,7 @@ public class DeviceUserPageReqVO extends PageParam { | ||
| 32 | @Schema(description = "设备名称", example = "张三") | 32 | @Schema(description = "设备名称", example = "张三") |
| 33 | private String deviceName; | 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 | \ No newline at end of file | 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,9 +44,9 @@ public class DeviceUserRespVO { | ||
| 44 | @ExcelProperty("设备名称") | 44 | @ExcelProperty("设备名称") |
| 45 | private String deviceName; | 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 | @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") | 51 | @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") |
| 52 | @ExcelProperty("创建人") | 52 | @ExcelProperty("创建人") |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserSaveReqVO.java
| 1 | package com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo; | 1 | package com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo; |
| 2 | 2 | ||
| 3 | import io.swagger.v3.oas.annotations.media.Schema; | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 4 | +import jakarta.validation.Valid; | ||
| 4 | import lombok.*; | 5 | import lombok.*; |
| 5 | import java.util.*; | 6 | import java.util.*; |
| 6 | import jakarta.validation.constraints.*; | 7 | import jakarta.validation.constraints.*; |
| @@ -9,8 +10,6 @@ import jakarta.validation.constraints.*; | @@ -9,8 +10,6 @@ import jakarta.validation.constraints.*; | ||
| 9 | @Data | 10 | @Data |
| 10 | public class DeviceUserSaveReqVO { | 11 | public class DeviceUserSaveReqVO { |
| 11 | 12 | ||
| 12 | - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12043") | ||
| 13 | - private Long id; | ||
| 14 | 13 | ||
| 15 | @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "22641") | 14 | @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "22641") |
| 16 | @NotNull(message = "归属(一级部门id)不能为空") | 15 | @NotNull(message = "归属(一级部门id)不能为空") |
| @@ -28,28 +27,29 @@ public class DeviceUserSaveReqVO { | @@ -28,28 +27,29 @@ public class DeviceUserSaveReqVO { | ||
| 28 | @NotEmpty(message = "提交人用户不能为空") | 27 | @NotEmpty(message = "提交人用户不能为空") |
| 29 | private String userName; | 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 | \ No newline at end of file | 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,9 +56,9 @@ public class DeviceUserDO extends BaseDO { | ||
| 56 | */ | 56 | */ |
| 57 | private String deviceName; | 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,6 +8,7 @@ import com.zteits.urbanops.framework.mybatis.core.mapper.BaseMapperX; | ||
| 8 | import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO; | 8 | import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO; |
| 9 | import org.apache.ibatis.annotations.Mapper; | 9 | import org.apache.ibatis.annotations.Mapper; |
| 10 | import com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo.*; | 10 | import com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo.*; |
| 11 | +import org.apache.ibatis.annotations.Param; | ||
| 11 | 12 | ||
| 12 | /** | 13 | /** |
| 13 | * 设备用户关系 Mapper | 14 | * 设备用户关系 Mapper |
| @@ -29,4 +30,6 @@ public interface DeviceUserMapper extends BaseMapperX<DeviceUserDO> { | @@ -29,4 +30,6 @@ public interface DeviceUserMapper extends BaseMapperX<DeviceUserDO> { | ||
| 29 | .orderByDesc(DeviceUserDO::getId)); | 30 | .orderByDesc(DeviceUserDO::getId)); |
| 30 | } | 31 | } |
| 31 | 32 | ||
| 33 | + int deleteDeviceUser(@Param("userId") Long userId, @Param("deviceNo") String deviceNo); | ||
| 34 | + | ||
| 32 | } | 35 | } |
| 33 | \ No newline at end of file | 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 +6,8 @@ import com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo.*; | ||
| 6 | import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO; | 6 | import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO; |
| 7 | import com.zteits.urbanops.framework.common.pojo.PageResult; | 7 | import com.zteits.urbanops.framework.common.pojo.PageResult; |
| 8 | import com.zteits.urbanops.framework.common.pojo.PageParam; | 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 | * 设备用户关系 Service 接口 | 13 | * 设备用户关系 Service 接口 |
| @@ -59,4 +61,12 @@ public interface DeviceUserService { | @@ -59,4 +61,12 @@ public interface DeviceUserService { | ||
| 59 | */ | 61 | */ |
| 60 | PageResult<DeviceUserDO> getDeviceUserPage(DeviceUserPageReqVO pageReqVO); | 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 | \ No newline at end of file | 73 | \ No newline at end of file |
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserServiceImpl.java
| 1 | package com.zteits.urbanops.module.garden.service.deviceuser; | 1 | package com.zteits.urbanops.module.garden.service.deviceuser; |
| 2 | 2 | ||
| 3 | import cn.hutool.core.collection.CollUtil; | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; | ||
| 4 | import org.springframework.stereotype.Service; | 5 | import org.springframework.stereotype.Service; |
| 5 | import jakarta.annotation.Resource; | 6 | import jakarta.annotation.Resource; |
| 6 | import org.springframework.validation.annotation.Validated; | 7 | import org.springframework.validation.annotation.Validated; |
| 7 | import org.springframework.transaction.annotation.Transactional; | 8 | import org.springframework.transaction.annotation.Transactional; |
| 8 | 9 | ||
| 10 | +import java.time.LocalDateTime; | ||
| 9 | import java.util.*; | 11 | import java.util.*; |
| 10 | import com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo.*; | 12 | import com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo.*; |
| 11 | import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO; | 13 | import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO; |
| @@ -34,18 +36,35 @@ public class DeviceUserServiceImpl implements DeviceUserService { | @@ -34,18 +36,35 @@ public class DeviceUserServiceImpl implements DeviceUserService { | ||
| 34 | 36 | ||
| 35 | @Override | 37 | @Override |
| 36 | public Long createDeviceUser(DeviceUserSaveReqVO createReqVO) { | 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 | @Override | 64 | @Override |
| 46 | public void updateDeviceUser(DeviceUserSaveReqVO updateReqVO) { | 65 | public void updateDeviceUser(DeviceUserSaveReqVO updateReqVO) { |
| 47 | // 校验存在 | 66 | // 校验存在 |
| 48 | - validateDeviceUserExists(updateReqVO.getId()); | 67 | + //validateDeviceUserExists(updateReqVO.getId()); |
| 49 | // 更新 | 68 | // 更新 |
| 50 | DeviceUserDO updateObj = BeanUtils.toBean(updateReqVO, DeviceUserDO.class); | 69 | DeviceUserDO updateObj = BeanUtils.toBean(updateReqVO, DeviceUserDO.class); |
| 51 | deviceUserMapper.updateById(updateObj); | 70 | deviceUserMapper.updateById(updateObj); |
| @@ -82,4 +101,9 @@ public class DeviceUserServiceImpl implements DeviceUserService { | @@ -82,4 +101,9 @@ public class DeviceUserServiceImpl implements DeviceUserService { | ||
| 82 | return deviceUserMapper.selectPage(pageReqVO); | 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 | \ No newline at end of file | 110 | \ No newline at end of file |
urbanops-module-garden/src/main/resources/mapper/deviceuser/DeviceUserMapper.xml
| @@ -9,4 +9,10 @@ | @@ -9,4 +9,10 @@ | ||
| 9 | 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ | 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 | </mapper> | 18 | </mapper> |
| 13 | \ No newline at end of file | 19 | \ No newline at end of file |