添加权限
This commit is contained in:
parent
e3baeb8c0c
commit
26cb8ea28d
@ -1,5 +1,6 @@
|
||||
package com.jsl.oa.controllers;
|
||||
|
||||
import com.jsl.oa.model.voData.RoleAddVo;
|
||||
import com.jsl.oa.model.voData.RoleEditVO;
|
||||
import com.jsl.oa.services.RoleService;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
@ -121,4 +122,21 @@ public class RoleController {
|
||||
}
|
||||
return roleService.roleRemoveUser(request, uid);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description: TODO 添加用户权限
|
||||
* @Date: 2024/1/19
|
||||
* @Param request:
|
||||
* @Param uid:
|
||||
**/
|
||||
@PostMapping("role/add")
|
||||
public BaseResponse addRole(HttpServletRequest request, @RequestBody @Validated RoleAddVo roleAddVO, @NotNull BindingResult bindingResult ) {
|
||||
log.info("请求接口[POST]: /role/add");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
|
||||
}
|
||||
return roleService.addRole(request, roleAddVO);
|
||||
}
|
||||
}
|
||||
|
@ -35,6 +35,8 @@ public class RoleDAO {
|
||||
return roleMapper.getRole();
|
||||
}
|
||||
|
||||
public void roleAdd(RoleDO roleDO) { roleMapper.roleAdd(roleDO);}
|
||||
|
||||
public boolean roleEdit(RoleDO getRole) {
|
||||
return roleMapper.roleEdit(getRole);
|
||||
}
|
||||
@ -42,4 +44,14 @@ public class RoleDAO {
|
||||
public boolean roleDelete(Long id) {
|
||||
return roleMapper.roleDelete(id);
|
||||
}
|
||||
|
||||
public boolean isExistRoleByRoleName(String roleName){
|
||||
RoleDO roleDO = roleMapper.getRoleByRoleName(roleName);
|
||||
if(roleDO == null){
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -12,6 +12,9 @@ public interface RoleMapper {
|
||||
@Insert("insert into organize_oa.oa_role_user (uid, rid) VALUE (#{uid},#{rid})")
|
||||
void roleAddUser(Long uid, Long rid);
|
||||
|
||||
@Select("INSERT INTO organize_oa.oa_role (role_name, display_name) VALUES (#{roleName}, #{displayName})")
|
||||
void roleAdd(RoleDO roleDO);
|
||||
|
||||
@Delete("delete from organize_oa.oa_role_user where uid=#{uid}")
|
||||
void roleRemoveUser(Long uid);
|
||||
|
||||
@ -32,4 +35,6 @@ public interface RoleMapper {
|
||||
|
||||
@Delete("DELETE FROM organize_oa.oa_role WHERE id=#{id}")
|
||||
boolean roleDelete(Long id);
|
||||
|
||||
|
||||
}
|
||||
|
20
src/main/java/com/jsl/oa/model/voData/RoleAddVo.java
Normal file
20
src/main/java/com/jsl/oa/model/voData/RoleAddVo.java
Normal file
@ -0,0 +1,20 @@
|
||||
package com.jsl.oa.model.voData;
|
||||
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
import javax.validation.constraints.Pattern;
|
||||
|
||||
@Data
|
||||
public class RoleAddVo {
|
||||
|
||||
@NotBlank
|
||||
@Pattern(regexp = "^[a-zA-Z0-9_]{3,20}$", message = "角色名只能为3-16位的字母、数字、下划线组成")
|
||||
private String name;
|
||||
@NotBlank
|
||||
private String displayName;
|
||||
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.jsl.oa.services;
|
||||
|
||||
import com.jsl.oa.model.voData.RoleAddVo;
|
||||
import com.jsl.oa.model.voData.RoleEditVO;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
|
||||
@ -23,4 +24,6 @@ public interface RoleService {
|
||||
BaseResponse roleEdit(HttpServletRequest request, RoleEditVO roleEditVO);
|
||||
|
||||
BaseResponse roleDelete(HttpServletRequest request, Long id);
|
||||
|
||||
BaseResponse addRole(HttpServletRequest request, RoleAddVo roleAddVO);
|
||||
}
|
||||
|
@ -2,6 +2,7 @@ package com.jsl.oa.services.impl;
|
||||
|
||||
import com.jsl.oa.dao.RoleDAO;
|
||||
import com.jsl.oa.model.doData.RoleDO;
|
||||
import com.jsl.oa.model.voData.RoleAddVo;
|
||||
import com.jsl.oa.model.voData.RoleEditVO;
|
||||
import com.jsl.oa.services.RoleService;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
@ -22,16 +23,16 @@ public class RoleServiceImpl implements RoleService {
|
||||
private final RoleDAO roleDAO;
|
||||
|
||||
@Override
|
||||
public BaseResponse roleAddUser(HttpServletRequest request,Long uid, Long rid) {
|
||||
if (Processing.checkUserIsAdmin(request,roleDAO.roleMapper)) {
|
||||
public BaseResponse roleAddUser(HttpServletRequest request, Long uid, Long rid) {
|
||||
if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
roleDAO.roleAddUser(uid, rid);
|
||||
return ResultUtil.success();
|
||||
} else return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse roleRemoveUser(HttpServletRequest request,Long uid) {
|
||||
if (Processing.checkUserIsAdmin(request,roleDAO.roleMapper)) {
|
||||
public BaseResponse roleRemoveUser(HttpServletRequest request, Long uid) {
|
||||
if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
roleDAO.roleRemoveUser(uid);
|
||||
return ResultUtil.success();
|
||||
} else return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
@ -106,4 +107,29 @@ public class RoleServiceImpl implements RoleService {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse addRole(HttpServletRequest request, RoleAddVo roleAddVO) {
|
||||
// 检查用户权限
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
// 检查权限名称是否重复
|
||||
String roleName = roleAddVO.getName();
|
||||
RoleDO roleDO = new RoleDO();
|
||||
if (!roleDAO.isExistRoleByRoleName(roleName)) {
|
||||
try {
|
||||
Processing.copyProperties(roleAddVO, roleDO);
|
||||
roleDO.setRoleName(roleAddVO.getName());
|
||||
} catch (Exception e) {
|
||||
return ResultUtil.error(ErrorCode.CLASS_COPY_EXCEPTION);
|
||||
}
|
||||
} else {
|
||||
return ResultUtil.error(ErrorCode.ROLE_NAME_REPEAT);
|
||||
}
|
||||
//向数据库中插入数据
|
||||
roleDAO.roleAdd(roleDO);
|
||||
|
||||
return ResultUtil.success();
|
||||
}
|
||||
}
|
||||
|
@ -182,7 +182,7 @@ public class UserServiceImpl implements UserService {
|
||||
try {
|
||||
Processing.copyProperties(userEditVo, userDO);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
return ResultUtil.error(ErrorCode.CLASS_COPY_EXCEPTION);
|
||||
}
|
||||
|
||||
//向数据库中修改属性
|
||||
@ -199,7 +199,7 @@ public class UserServiceImpl implements UserService {
|
||||
try {
|
||||
Processing.copyProperties(userDO, userProfile);
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
return ResultUtil.error(ErrorCode.CLASS_COPY_EXCEPTION);
|
||||
}
|
||||
userProfile.setSex(Processing.getSex(userDO.getSex()));
|
||||
return ResultUtil.success(userProfile);
|
||||
|
@ -16,12 +16,14 @@ public enum ErrorCode {
|
||||
TOKEN_EXPIRED("TokenExpired", 40101, "Token已过期"),
|
||||
VERIFICATION_INVALID("VerificationInvalid", 40102, "验证码无效"),
|
||||
TOKEN_NOT_EXIST("TokenNotExist", 40103, "Token不存在"),
|
||||
CLASS_COPY_EXCEPTION("ClassCopyException",40104,"实体类拷贝异常"),
|
||||
USER_IS_LOCKED("UserIsLocked", 40300, "用户已被锁定"),
|
||||
USER_IS_DEACTIVATED("UserIsDeactivated", 40300, "用户已被禁用"),
|
||||
NOT_ADMIN("NotAdmin", 40300, "不是管理员"),
|
||||
EMAIL_LOGIN_NOT_SUPPORT("EmailLoginNotSupport", 40300, "请使用邮箱登陆"),
|
||||
PASSWORD_NOT_SAME("PasswordNotSame", 40301, "两次密码不一致"),
|
||||
ROLE_NOT_FOUNDED("RoleNotFounded", 40400, "角色不存在"),
|
||||
ROLE_NAME_REPEAT("RoleNameRepeat", 40401, "权限名称重复"),
|
||||
DATABASE_INSERT_ERROR("DatabaseInsertError", 50010, "数据库插入错误"),
|
||||
DATABASE_UPDATE_ERROR("DatabaseUpdateError", 50011, "数据库更新错误"),
|
||||
DATABASE_DELETE_ERROR("DatabaseDeleteError", 50012, "数据库删除错误"),
|
||||
|
@ -1,17 +1,36 @@
|
||||
server:
|
||||
port: 8080
|
||||
port: 8155
|
||||
max-http-header-size: 102400
|
||||
spring:
|
||||
datasource:
|
||||
url: jdbc:mysql://localhost:3306
|
||||
url: jdbc:mysql://localhost:3306?organize_oa
|
||||
username: root
|
||||
password: 123456
|
||||
password: Zrx@20041009
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
redis:
|
||||
database: 0
|
||||
host: localhost
|
||||
port: 6379
|
||||
profiles:
|
||||
active: dev
|
||||
password: Zrx@20041009
|
||||
mail:
|
||||
default-encoding: UTF-8
|
||||
host: smtp.qiye.aliyun.com
|
||||
username: wxxydeveloper@x-lf.cn
|
||||
password: 114477225588Zcw
|
||||
properties:
|
||||
form: wxxydeveloper@x-lf.cn
|
||||
mail:
|
||||
smtp:
|
||||
auth: true
|
||||
starttls:
|
||||
enable: true
|
||||
ssl:
|
||||
enable: true
|
||||
mybatis:
|
||||
configuration:
|
||||
map-underscore-to-camel-case: true
|
||||
logging:
|
||||
level:
|
||||
root: TRACE
|
||||
sun.rmi: OFF
|
||||
org.apache.tomcat: WARN
|
Loading…
x
Reference in New Issue
Block a user