From 470f3589d484d09cdc4d0f60a4516476846cff59 Mon Sep 17 00:00:00 2001 From: wangfs <15029758498@163.com> Date: Wed, 7 Jan 2026 22:46:57 +0800 Subject: [PATCH] 用户设备关系 --- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/DeviceUserController.java | 7 ++++--- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserPageReqVO.java | 4 ++-- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserRespVO.java | 6 +++--- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserSaveReqVO.java | 50 +++++++++++++++++++++++++------------------------- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/deviceuser/DeviceUserDO.java | 4 ++-- urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/deviceuser/DeviceUserMapper.java | 3 +++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserService.java | 10 ++++++++++ urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserServiceImpl.java | 36 ++++++++++++++++++++++++++++++------ urbanops-module-garden/src/main/resources/mapper/deviceuser/DeviceUserMapper.xml | 6 ++++++ 9 files changed, 85 insertions(+), 41 deletions(-) diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/DeviceUserController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/DeviceUserController.java index 33d5018..c20e690 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/DeviceUserController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/DeviceUserController.java @@ -57,8 +57,9 @@ public class DeviceUserController { @Operation(summary = "删除设备用户关系") @Parameter(name = "id", description = "编号", required = true) @PreAuthorize("@ss.hasPermission('garden:device-user:delete')") - public CommonResult deleteDeviceUser(@RequestParam("id") Long id) { - deviceUserService.deleteDeviceUser(id); + public CommonResult deleteDeviceUser(@RequestParam("user_id") @NotNull Long userId, + @RequestParam("device_no") @NotBlank String deviceNo) { + deviceUserService.deleteDeviceUser(userId, deviceNo); return success(true); } @@ -82,7 +83,7 @@ public class DeviceUserController { @GetMapping("/page") @Operation(summary = "获得设备用户关系分页") - @PreAuthorize("@ss.hasPermission('garden:device-user:query')") + //@PreAuthorize("@ss.hasPermission('garden:device-user:query')") public CommonResult> getDeviceUserPage(@Valid DeviceUserPageReqVO pageReqVO) { PageResult pageResult = deviceUserService.getDeviceUserPage(pageReqVO); return success(BeanUtils.toBean(pageResult, DeviceUserRespVO.class)); diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserPageReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserPageReqVO.java index 3b4dd1c..4633568 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserPageReqVO.java +++ b/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 { @Schema(description = "设备名称", example = "张三") private String deviceName; - @Schema(description = "设备状态") - private Integer deviceState; + @Schema(description = "连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT") + private String deviceState; } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserRespVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserRespVO.java index e452d75..86689c8 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserRespVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserRespVO.java @@ -44,9 +44,9 @@ public class DeviceUserRespVO { @ExcelProperty("设备名称") private String deviceName; - @Schema(description = "设备状态 1:在线;2:离线;3:未知", requiredMode = Schema.RequiredMode.REQUIRED) - @ExcelProperty("设备状态 1:在线;2:离线;3:未知") - private Integer deviceState; + @Schema(description = "连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT", requiredMode = Schema.RequiredMode.REQUIRED) + @ExcelProperty("连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT") + private String deviceState; @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") @ExcelProperty("创建人") diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserSaveReqVO.java index bf70fbc..dc6b20e 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/deviceuser/vo/DeviceUserSaveReqVO.java @@ -1,6 +1,7 @@ package com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.Valid; import lombok.*; import java.util.*; import jakarta.validation.constraints.*; @@ -9,8 +10,6 @@ import jakarta.validation.constraints.*; @Data public class DeviceUserSaveReqVO { - @Schema(description = "ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "12043") - private Long id; @Schema(description = "归属(一级部门id)", requiredMode = Schema.RequiredMode.REQUIRED, example = "22641") @NotNull(message = "归属(一级部门id)不能为空") @@ -28,28 +27,29 @@ public class DeviceUserSaveReqVO { @NotEmpty(message = "提交人用户不能为空") private String userName; - @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") - @NotEmpty(message = "产品名称不能为空") - private String productName; - - @Schema(description = "设备标识", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "设备标识不能为空") - private String deviceNo; - - @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") - @NotEmpty(message = "设备名称不能为空") - private String deviceName; - - @Schema(description = "设备状态 1:在线;2:离线;3:未知", requiredMode = Schema.RequiredMode.REQUIRED) - @NotEmpty(message = "设备状态不能为空") - private Integer deviceState; - - @Schema(description = "创建人", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") - @NotEmpty(message = "创建人不能为空") - private String creatorName; - - @Schema(description = "更新者", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六") - @NotEmpty(message = "更新者不能为空") - private String updaterName; + @Schema(description = "设备信息") + @NotNull + @Size(min = 1, message = "道路信息不能为空") + @Valid + private List deviceInfoList; + + @Data + public static class DeviceInfoDO { + @Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @NotEmpty(message = "产品名称不能为空") + private String productName; + + @Schema(description = "设备标识", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "设备标识不能为空") + private String deviceNo; + + @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "张三") + @NotEmpty(message = "设备名称不能为空") + private String deviceName; + + @Schema(description = "连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT", requiredMode = Schema.RequiredMode.REQUIRED) + @NotEmpty(message = "连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT") + private String deviceState; + } } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/deviceuser/DeviceUserDO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/deviceuser/DeviceUserDO.java index 85a6466..5abf0bb 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/dataobject/deviceuser/DeviceUserDO.java +++ b/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 { */ private String deviceName; /** - * 设备状态 1:在线;2:离线;3:未知 + * 连接状态 : 在线:ONLINE || 离线:OFFLINE || 未连接:INIT */ - private Integer deviceState; + private String deviceState; /** * 创建人 */ diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/deviceuser/DeviceUserMapper.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/deviceuser/DeviceUserMapper.java index 71f12db..e1ccf58 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/dal/mysql/deviceuser/DeviceUserMapper.java +++ b/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; import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO; import org.apache.ibatis.annotations.Mapper; import com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo.*; +import org.apache.ibatis.annotations.Param; /** * 设备用户关系 Mapper @@ -29,4 +30,6 @@ public interface DeviceUserMapper extends BaseMapperX { .orderByDesc(DeviceUserDO::getId)); } + int deleteDeviceUser(@Param("userId") Long userId, @Param("deviceNo") String deviceNo); + } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserService.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserService.java index 241b3f9..6cdb73c 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserService.java +++ b/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.*; import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO; import com.zteits.urbanops.framework.common.pojo.PageResult; import com.zteits.urbanops.framework.common.pojo.PageParam; +import jakarta.validation.constraints.NotNull; +import org.springframework.web.bind.annotation.RequestParam; /** * 设备用户关系 Service 接口 @@ -59,4 +61,12 @@ public interface DeviceUserService { */ PageResult getDeviceUserPage(DeviceUserPageReqVO pageReqVO); + + /** + * 删除设备用户关系 + * + * @param userId 编号 + */ + Integer deleteDeviceUser(Long userId, String deviceNo); + } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserServiceImpl.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserServiceImpl.java index b019ed1..c4b62ec 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserServiceImpl.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/service/deviceuser/DeviceUserServiceImpl.java @@ -1,11 +1,13 @@ package com.zteits.urbanops.module.garden.service.deviceuser; import cn.hutool.core.collection.CollUtil; +import com.zteits.urbanops.framework.security.core.util.SecurityFrameworkUtils; import org.springframework.stereotype.Service; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; +import java.time.LocalDateTime; import java.util.*; import com.zteits.urbanops.module.garden.controller.admin.deviceuser.vo.*; import com.zteits.urbanops.module.garden.dal.dataobject.deviceuser.DeviceUserDO; @@ -34,18 +36,35 @@ public class DeviceUserServiceImpl implements DeviceUserService { @Override public Long createDeviceUser(DeviceUserSaveReqVO createReqVO) { + LocalDateTime now = LocalDateTime.now(); + String userId = SecurityFrameworkUtils.getLoginUserId() + ""; + String userName = SecurityFrameworkUtils.getLoginUserNickname(); + List list = new ArrayList<>(); + createReqVO.getDeviceInfoList().forEach(deviceInfo -> { + DeviceUserDO deviceUser = new DeviceUserDO(); + deviceUser.setDeviceNo(deviceInfo.getDeviceNo()); + deviceUser.setDeviceName(deviceInfo.getDeviceName()); + deviceUser.setProductName(deviceInfo.getProductName()); + deviceUser.setCompanyId(createReqVO.getCompanyId()); + deviceUser.setDeptId(createReqVO.getDeptId()); + deviceUser.setUserId(Long.parseLong(userId)); + deviceUser.setUserName(userName); + deviceUser.setCreateTime( now); + deviceUser.setCreator(userId); + deviceUser.setCreatorName(userName); + deviceUser.setUpdater(userId); + deviceUser.setUpdateTime( now); + list.add(deviceUser); + }); // 插入 - DeviceUserDO deviceUser = BeanUtils.toBean(createReqVO, DeviceUserDO.class); - deviceUserMapper.insert(deviceUser); - - // 返回 - return deviceUser.getId(); + deviceUserMapper.insert( list); + return 1L; } @Override public void updateDeviceUser(DeviceUserSaveReqVO updateReqVO) { // 校验存在 - validateDeviceUserExists(updateReqVO.getId()); + //validateDeviceUserExists(updateReqVO.getId()); // 更新 DeviceUserDO updateObj = BeanUtils.toBean(updateReqVO, DeviceUserDO.class); deviceUserMapper.updateById(updateObj); @@ -82,4 +101,9 @@ public class DeviceUserServiceImpl implements DeviceUserService { return deviceUserMapper.selectPage(pageReqVO); } + @Override + public Integer deleteDeviceUser(Long userId, String deviceNo) { + return deviceUserMapper.deleteDeviceUser(userId, deviceNo); + } + } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/resources/mapper/deviceuser/DeviceUserMapper.xml b/urbanops-module-garden/src/main/resources/mapper/deviceuser/DeviceUserMapper.xml index 6e30d3a..e1feedd 100644 --- a/urbanops-module-garden/src/main/resources/mapper/deviceuser/DeviceUserMapper.xml +++ b/urbanops-module-garden/src/main/resources/mapper/deviceuser/DeviceUserMapper.xml @@ -9,4 +9,10 @@ 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> + + DELETE FROM garden_device_user + WHERE user_id = #{userId} + AND device_no = #{deviceNo} + + \ No newline at end of file -- libgit2 0.21.4