From 9b30b1337f831ba8ea7d3c1afc10fb5a5934840a Mon Sep 17 00:00:00 2001 From: dzc <2388224167@qq.com> Date: Fri, 18 Apr 2025 17:39:05 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=88=A4=E6=96=AD=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E7=A7=BB=E5=8A=A8=E7=AB=AF=E8=A7=92=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/constant/CommonRoleConstant.java | 3 +++ .../controller/HardDoorFlowController.java | 4 +++ .../manager/HardDoorManagerServiceImpl.java | 3 +++ .../admin/api/vo/RoleAppUserRoleVo.java | 18 +++++++++++++ .../admin/controller/SysRoleController.java | 26 +++++++++++++++++++ 5 files changed, 54 insertions(+) create mode 100644 pjcloud-upms/pjcloud-upms-api/src/main/java/com/bsd/pjcloud/admin/api/vo/RoleAppUserRoleVo.java diff --git a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java index e7277790c..56ab8e244 100644 --- a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java +++ b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/CommonRoleConstant.java @@ -32,4 +32,7 @@ public interface CommonRoleConstant { // 商户角色 String MCH_USER = "MCH_USER"; + // 智能柜管理员 + String HARD_DOOR_ADMIN_USER = "HARD_DOOR_ADMIN"; + } diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardDoorFlowController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardDoorFlowController.java index 4af5e79ca..2322b0291 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardDoorFlowController.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardDoorFlowController.java @@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.bsd.pjcloud.common.core.util.R; import com.bsd.pjcloud.common.data.datascope.DataScope; +import com.bsd.pjcloud.common.idempotent.annotation.Idempotent; import com.bsd.pjcloud.common.log.annotation.SysLog; import com.bsd.pjcloud.common.security.annotation.Inner; import com.bsd.pjcloud.common.security.service.PjcloudUser; @@ -90,6 +91,7 @@ public class HardDoorFlowController { @Operation(summary = "上架开门", description = "上架开门") @PostMapping("/app/open-repertory") + @Idempotent(expireTime = 5, info = "正在开门中,请勿重复操作") public R openRepertory(@Validated @RequestBody HardDoorFlowOpenDto dto) { PjcloudUser user = SecurityUtils.getUser(); dto.setFlowType(HardDoorFlowBizEnum.REPERTORY_OPEN); @@ -102,6 +104,7 @@ public class HardDoorFlowController { @Operation(summary = "检修开门", description = "检修开门") @PostMapping("/open-access") + @Idempotent(expireTime = 5, info = "正在开门中,请勿重复操作") public R openAccess(@Validated @RequestBody HardDoorFlowOpenDto dto) { PjcloudUser user = SecurityUtils.getUser(); dto.setFlowType(HardDoorFlowBizEnum.ACCESS_OPEN); @@ -113,6 +116,7 @@ public class HardDoorFlowController { @Operation(summary = "检修关门", description = "检修关门") @PostMapping("/close-access") + @Idempotent(expireTime = 5, info = "正在关门中,请勿重复操作") public R closeAccess(@Validated @RequestBody HardDoorFlowOpenDto dto) { PjcloudUser user = SecurityUtils.getUser(); dto.setFlowType(HardDoorFlowBizEnum.ACCESS_OPEN); diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorManagerServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorManagerServiceImpl.java index 297fba204..a4e93d30e 100644 --- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorManagerServiceImpl.java +++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/manager/HardDoorManagerServiceImpl.java @@ -145,6 +145,9 @@ public class HardDoorManagerServiceImpl extends ServiceImpl userRole() { + PjcloudUser user = SecurityUtils.getUser(); + RoleAppUserRoleVo result = new RoleAppUserRoleVo(); + List roleList = sysRoleService.findRolesByUserId(user.getId()); + if (ObjectUtil.isEmpty(roleList)) { + R.ok(result); + } + for (SysRole v : roleList) { + if (ObjectUtil.equals(v.getRoleCode(), CommonRoleConstant.MCH_USER)) { + result.setIsMch(true); + } + if (ObjectUtil.equals(v.getRoleCode(), CommonRoleConstant.HARD_DOOR_ADMIN_USER)) { + result.setIsHardDoorAdmin(true); + } + } + return R.ok(result); + } + /* ************************************* end 数据同步 end ************************************* */