feat:判断用户移动端角色

This commit is contained in:
dzc committed 2025-04-18 17:39:05 +08:00
1 parent 76ee59386a
commit 9b30b1337f
5 files changed
+54

No files matched your search

@@ -32,4 +32,7 @@ public interface CommonRoleConstant {
// 商户角色
String MCH_USER = "MCH_USER";
// 智能柜管理员
String HARD_DOOR_ADMIN_USER = "HARD_DOOR_ADMIN";
}
@@ -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<Long> 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);
@@ -145,6 +145,9 @@ public class HardDoorManagerServiceImpl extends ServiceImpl<HardDoorManagerMappe
if (!registerVo.isSuccess()) {
throw new RuntimeException(registerVo.getMessage());
}
if (ObjectUtil.isEmpty(registerVo.getDeviceCode())) {
throw new RuntimeException("设备注册失败");
}
// 设备绑定
DoorBindDto bindDto = new DoorBindDto();
bindDto.setImei(dto.getImei());
@@ -0,0 +1,18 @@
package com.bsd.pjcloud.admin.api.vo;
import lombok.Data;
@Data
public class RoleAppUserRoleVo {
/**
* 是否是商家
*/
private Boolean isMch = false;
/**
* 是否是智能柜管理员
*/
private Boolean isHardDoorAdmin = false;
}
@@ -20,22 +20,26 @@
package com.bsd.pjcloud.admin.controller;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.bsd.pjcloud.admin.api.entity.SysRole;
import com.bsd.pjcloud.admin.api.entity.SysUserRole;
import com.bsd.pjcloud.admin.api.vo.RoleAppUserRoleVo;
import com.bsd.pjcloud.admin.api.vo.RoleExcelVO;
import com.bsd.pjcloud.admin.api.vo.RoleMenuVO;
import com.bsd.pjcloud.admin.service.SysRoleService;
import com.bsd.pjcloud.admin.service.SysUserRoleService;
import com.bsd.pjcloud.common.core.constant.CacheConstants;
import com.bsd.pjcloud.common.core.constant.CommonRoleConstant;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.excel.annotation.RequestExcel;
import com.bsd.pjcloud.common.excel.annotation.ResponseExcel;
import com.bsd.pjcloud.common.log.annotation.SysLog;
import com.bsd.pjcloud.common.security.annotation.HasPermission;
import com.bsd.pjcloud.common.security.annotation.Inner;
import com.bsd.pjcloud.common.security.service.PjcloudUser;
import com.bsd.pjcloud.common.security.util.SecurityUtils;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -68,6 +72,28 @@ public class SysRoleController {
/* ************************************* start 数据同步 start ************************************* */
/**
* 判断用户移动端角色
*/
@GetMapping("/app/user-role")
public R<RoleAppUserRoleVo> userRole() {
PjcloudUser user = SecurityUtils.getUser();
RoleAppUserRoleVo result = new RoleAppUserRoleVo();
List<SysRole> 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 ************************************* */