From 801b0267e6910a6bb3b76b5cd5d6a4babbac182d Mon Sep 17 00:00:00 2001 From: chenyouting <514333061@qq.com> Date: Tue, 9 Sep 2025 17:01:51 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=BE=E5=A4=87=E5=88=86=E4=BA=AB3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../device/DeviceShareController.java | 2 +- .../web/service/DeviceShareService.java | 40 +++++++++++++++++++ .../app/domain/bo/AppDeviceShareBo.java | 4 +- .../app/domain/vo/AppDeviceShareVo.java | 5 +++ .../mapper/app/AppDeviceShareMapper.xml | 7 +++- 5 files changed, 53 insertions(+), 5 deletions(-) diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/DeviceShareController.java b/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/DeviceShareController.java index ce2cc2be..83eb7509 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/DeviceShareController.java +++ b/fys-admin/src/main/java/com/fuyuanshen/web/controller/device/DeviceShareController.java @@ -67,7 +67,7 @@ public class DeviceShareController extends BaseController { @RepeatSubmit() @PostMapping("/permission") public R permission(@Validated(AddGroup.class) @RequestBody AppDeviceShareBo bo) { - return toAjax(deviceShareService.deviceShare(bo)); + return toAjax(deviceShareService.permission(bo)); } /** diff --git a/fys-admin/src/main/java/com/fuyuanshen/web/service/DeviceShareService.java b/fys-admin/src/main/java/com/fuyuanshen/web/service/DeviceShareService.java index 42204bb7..e295d796 100644 --- a/fys-admin/src/main/java/com/fuyuanshen/web/service/DeviceShareService.java +++ b/fys-admin/src/main/java/com/fuyuanshen/web/service/DeviceShareService.java @@ -212,6 +212,46 @@ public class DeviceShareService { LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); qw.eq(AppDeviceBindRecord::getDeviceId, bo.getDeviceId()); AppDeviceBindRecord bindRecord = appDeviceBindRecordMapper.selectOne(qw); + if (bindRecord == null) { + throw new ServiceException("设备未绑定"); + } + Long userId = bindRecord.getBindingUserId(); + + LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); + lqw.eq(AppDeviceShare::getDeviceId, bo.getDeviceId()); + lqw.eq(AppDeviceShare::getPhonenumber, bo.getPhonenumber()); + Long count = appDeviceShareMapper.selectCount(lqw); + if (count > 0) { + + UpdateWrapper uw = new UpdateWrapper<>(); + uw.eq("device_id", bo.getDeviceId()); + uw.eq("phonenumber", bo.getPhonenumber()); + uw.set("permission", bo.getPermission()); + uw.set("update_by", userId); + uw.set("update_time", new Date()); + + return appDeviceShareMapper.update(uw); + } else { + AppDeviceShare appDeviceShare = new AppDeviceShare(); + appDeviceShare.setDeviceId(bo.getDeviceId()); + appDeviceShare.setPhonenumber(bo.getPhonenumber()); + appDeviceShare.setPermission(bo.getPermission()); + appDeviceShare.setCreateBy(userId); + return appDeviceShareMapper.insert(appDeviceShare); + } + } + + public int permission(AppDeviceShareBo bo) { + Device device = deviceMapper.selectById(bo.getDeviceId()); + if (device == null) { + throw new ServiceException("设备不存在"); + } + LambdaQueryWrapper qw = new LambdaQueryWrapper<>(); + qw.eq(AppDeviceBindRecord::getDeviceId, bo.getDeviceId()); + AppDeviceBindRecord bindRecord = appDeviceBindRecordMapper.selectOne(qw); + if (bindRecord == null) { + throw new ServiceException("设备未绑定"); + } Long userId = bindRecord.getBindingUserId(); LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); diff --git a/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/bo/AppDeviceShareBo.java b/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/bo/AppDeviceShareBo.java index 0262567c..38530d48 100644 --- a/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/bo/AppDeviceShareBo.java +++ b/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/bo/AppDeviceShareBo.java @@ -60,7 +60,7 @@ public class AppDeviceShareBo extends BaseEntity { /** * 分享时间 */ - private Date shareStartTime; - private Date shareEndTime; + private String shareStartTime; + private String shareEndTime; } diff --git a/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/vo/AppDeviceShareVo.java b/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/vo/AppDeviceShareVo.java index 224ca8ce..3e1d6179 100644 --- a/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/vo/AppDeviceShareVo.java +++ b/fys-modules/fys-app/src/main/java/com/fuyuanshen/app/domain/vo/AppDeviceShareVo.java @@ -109,4 +109,9 @@ public class AppDeviceShareVo implements Serializable { * 告警状态(0解除告警,1告警) */ private String alarmStatus; + + /** + * 创建时间 + */ + private String createTime; } diff --git a/fys-modules/fys-app/src/main/resources/mapper/app/AppDeviceShareMapper.xml b/fys-modules/fys-app/src/main/resources/mapper/app/AppDeviceShareMapper.xml index 8b77aecb..ce0ffbcf 100644 --- a/fys-modules/fys-app/src/main/resources/mapper/app/AppDeviceShareMapper.xml +++ b/fys-modules/fys-app/src/main/resources/mapper/app/AppDeviceShareMapper.xml @@ -72,9 +72,12 @@ and ad.device_id = #{bo.deviceId} - and u.user_name = #{bo.shareUser} + and ad.phonenumber like concat('%',#{bo.shareUser},'%') - + + and ad.phonenumber like concat('%',#{bo.phonenumber},'%') + + and ad.create_time between #{bo.shareStartTime} and #{bo.shareEndTime}