diff --git a/src/main/java/com/ycwl/basic/controller/pc/PermissionController.java b/src/main/java/com/ycwl/basic/controller/pc/PermissionController.java index c353762..82ee731 100644 --- a/src/main/java/com/ycwl/basic/controller/pc/PermissionController.java +++ b/src/main/java/com/ycwl/basic/controller/pc/PermissionController.java @@ -20,6 +20,8 @@ import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.Arrays; +import static com.ycwl.basic.constant.JwtRoleConstant.MERCHANT; + @RestController @RequestMapping("/api/permission/v1") @Api(tags = "权限管理接口") @@ -32,9 +34,9 @@ public class PermissionController { String userId = BaseContextHandler.getUserId(); PermissionEntity permission = permissionService.getPermissionByUserId(Long.parseLong(userId)); if (permission == null || StringUtils.isEmpty(permission.getPermString())) { - return ApiResponse.success(new PermissionResp(new ArrayList<>())); + return ApiResponse.success(new PermissionResp(new ArrayList<>(), new ArrayList<>())); } - return ApiResponse.success(new PermissionResp(Arrays.asList(StringUtils.split(permission.getPermString(), ",")))); + return ApiResponse.success(new PermissionResp(Arrays.asList(StringUtils.split(permission.getPermString(), ",")), Arrays.asList(StringUtils.split(permission.getMenuString(), ",")))); } @ApiOperation("根据用户ID查询权限信息") @@ -42,15 +44,15 @@ public class PermissionController { public ApiResponse getPermissionByUser(@PathVariable Long userId) { PermissionEntity permission = permissionService.getPermissionByUserId(userId); if (permission == null || StringUtils.isEmpty(permission.getPermString())) { - return ApiResponse.success(new PermissionResp(new ArrayList<>())); + return ApiResponse.success(new PermissionResp(new ArrayList<>(), new ArrayList<>())); } - return ApiResponse.success(new PermissionResp(Arrays.asList(StringUtils.split(permission.getPermString(), ",")))); + return ApiResponse.success(new PermissionResp(Arrays.asList(StringUtils.split(permission.getPermString(), ",")), Arrays.asList(StringUtils.split(permission.getMenuString(), ",")))); } @ApiOperation("保存或更新权限信息") @PostMapping("/save/{userId}") public ApiResponse saveOrUpdate(@PathVariable Long userId, @RequestBody PermissionSaveReq req) { - permissionService.saveOrUpdate(userId, StringUtils.join(req.getPermissions(), ",")); + permissionService.saveOrUpdate(userId, StringUtils.join(req.getPermissions(), ","), StringUtils.join(req.getMenus(), ",")); return ApiResponse.success(true); } } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/model/pc/permission/entity/PermissionEntity.java b/src/main/java/com/ycwl/basic/model/pc/permission/entity/PermissionEntity.java index 08be766..890f64f 100644 --- a/src/main/java/com/ycwl/basic/model/pc/permission/entity/PermissionEntity.java +++ b/src/main/java/com/ycwl/basic/model/pc/permission/entity/PermissionEntity.java @@ -20,10 +20,12 @@ public class PermissionEntity implements Serializable { private Integer id; @TableField("user_id") - private Long userId; // 确保字段映射 + private Long userId; @TableField("perm_str") private String permString; + @TableField("menu_str") + private String menuString; @TableField("create_time") private Date createTime; diff --git a/src/main/java/com/ycwl/basic/model/pc/permission/req/PermissionSaveReq.java b/src/main/java/com/ycwl/basic/model/pc/permission/req/PermissionSaveReq.java index f8cbe77..b18a812 100644 --- a/src/main/java/com/ycwl/basic/model/pc/permission/req/PermissionSaveReq.java +++ b/src/main/java/com/ycwl/basic/model/pc/permission/req/PermissionSaveReq.java @@ -7,4 +7,5 @@ import java.util.List; @Data public class PermissionSaveReq { private List permissions; + private List menus; } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/model/pc/permission/resp/PermissionResp.java b/src/main/java/com/ycwl/basic/model/pc/permission/resp/PermissionResp.java index cde7837..1149a56 100644 --- a/src/main/java/com/ycwl/basic/model/pc/permission/resp/PermissionResp.java +++ b/src/main/java/com/ycwl/basic/model/pc/permission/resp/PermissionResp.java @@ -9,4 +9,5 @@ import java.util.List; @AllArgsConstructor public class PermissionResp { private List permissions; + private List menus; } diff --git a/src/main/java/com/ycwl/basic/service/pc/PermissionService.java b/src/main/java/com/ycwl/basic/service/pc/PermissionService.java index b539031..1a727c9 100644 --- a/src/main/java/com/ycwl/basic/service/pc/PermissionService.java +++ b/src/main/java/com/ycwl/basic/service/pc/PermissionService.java @@ -6,5 +6,5 @@ public interface PermissionService { // 新增权限查询接口 PermissionEntity getPermissionByUserId(Long userId); - boolean saveOrUpdate(Long userId, String permStr); + boolean saveOrUpdate(Long userId, String permStr, String menuStr); } \ No newline at end of file diff --git a/src/main/java/com/ycwl/basic/service/pc/impl/PermissionServiceImpl.java b/src/main/java/com/ycwl/basic/service/pc/impl/PermissionServiceImpl.java index 045ede1..89f0f89 100644 --- a/src/main/java/com/ycwl/basic/service/pc/impl/PermissionServiceImpl.java +++ b/src/main/java/com/ycwl/basic/service/pc/impl/PermissionServiceImpl.java @@ -17,10 +17,11 @@ public class PermissionServiceImpl implements PermissionService { } @Override - public boolean saveOrUpdate(Long userId, String permStr) { + public boolean saveOrUpdate(Long userId, String permStr, String menuStr) { PermissionEntity entity = new PermissionEntity(); entity.setUserId(userId); entity.setPermString(permStr); + entity.setMenuString(menuStr); if (permissionMapper.selectByUserId(userId) == null) { permissionMapper.insertPermission(entity); } else { diff --git a/src/main/resources/mapper/PermissionMapper.xml b/src/main/resources/mapper/PermissionMapper.xml index f1112e3..efa3ab3 100644 --- a/src/main/resources/mapper/PermissionMapper.xml +++ b/src/main/resources/mapper/PermissionMapper.xml @@ -3,18 +3,18 @@ - INSERT INTO account_permission (user_id, perm_str, create_time, update_time) - VALUES (#{userId}, #{permString}, NOW(), NOW()) + INSERT INTO account_permission (user_id, perm_str, menu_str, create_time, update_time) + VALUES (#{userId}, #{permString}, #{menuString}, NOW(), NOW()) UPDATE account_permission - SET perm_str = #{permString}, update_time = NOW() + SET perm_str = #{permString}, menu_str = #{menuString}, update_time = NOW() WHERE user_id = #{userId}