添加权限
This commit is contained in:
parent
e3baeb8c0c
commit
26cb8ea28d
@ -1,5 +1,6 @@
|
|||||||
package com.jsl.oa.controllers;
|
package com.jsl.oa.controllers;
|
||||||
|
|
||||||
|
import com.jsl.oa.model.voData.RoleAddVo;
|
||||||
import com.jsl.oa.model.voData.RoleEditVO;
|
import com.jsl.oa.model.voData.RoleEditVO;
|
||||||
import com.jsl.oa.services.RoleService;
|
import com.jsl.oa.services.RoleService;
|
||||||
import com.jsl.oa.utils.BaseResponse;
|
import com.jsl.oa.utils.BaseResponse;
|
||||||
@ -121,4 +122,21 @@ public class RoleController {
|
|||||||
}
|
}
|
||||||
return roleService.roleRemoveUser(request, uid);
|
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();
|
return roleMapper.getRole();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void roleAdd(RoleDO roleDO) { roleMapper.roleAdd(roleDO);}
|
||||||
|
|
||||||
public boolean roleEdit(RoleDO getRole) {
|
public boolean roleEdit(RoleDO getRole) {
|
||||||
return roleMapper.roleEdit(getRole);
|
return roleMapper.roleEdit(getRole);
|
||||||
}
|
}
|
||||||
@ -42,4 +44,14 @@ public class RoleDAO {
|
|||||||
public boolean roleDelete(Long id) {
|
public boolean roleDelete(Long id) {
|
||||||
return roleMapper.roleDelete(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})")
|
@Insert("insert into organize_oa.oa_role_user (uid, rid) VALUE (#{uid},#{rid})")
|
||||||
void roleAddUser(Long uid, Long 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}")
|
@Delete("delete from organize_oa.oa_role_user where uid=#{uid}")
|
||||||
void roleRemoveUser(Long uid);
|
void roleRemoveUser(Long uid);
|
||||||
|
|
||||||
@ -32,4 +35,6 @@ public interface RoleMapper {
|
|||||||
|
|
||||||
@Delete("DELETE FROM organize_oa.oa_role WHERE id=#{id}")
|
@Delete("DELETE FROM organize_oa.oa_role WHERE id=#{id}")
|
||||||
boolean roleDelete(Long 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;
|
package com.jsl.oa.services;
|
||||||
|
|
||||||
|
import com.jsl.oa.model.voData.RoleAddVo;
|
||||||
import com.jsl.oa.model.voData.RoleEditVO;
|
import com.jsl.oa.model.voData.RoleEditVO;
|
||||||
import com.jsl.oa.utils.BaseResponse;
|
import com.jsl.oa.utils.BaseResponse;
|
||||||
|
|
||||||
@ -23,4 +24,6 @@ public interface RoleService {
|
|||||||
BaseResponse roleEdit(HttpServletRequest request, RoleEditVO roleEditVO);
|
BaseResponse roleEdit(HttpServletRequest request, RoleEditVO roleEditVO);
|
||||||
|
|
||||||
BaseResponse roleDelete(HttpServletRequest request, Long id);
|
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.dao.RoleDAO;
|
||||||
import com.jsl.oa.model.doData.RoleDO;
|
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.model.voData.RoleEditVO;
|
||||||
import com.jsl.oa.services.RoleService;
|
import com.jsl.oa.services.RoleService;
|
||||||
import com.jsl.oa.utils.BaseResponse;
|
import com.jsl.oa.utils.BaseResponse;
|
||||||
@ -22,16 +23,16 @@ public class RoleServiceImpl implements RoleService {
|
|||||||
private final RoleDAO roleDAO;
|
private final RoleDAO roleDAO;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BaseResponse roleAddUser(HttpServletRequest request,Long uid, Long rid) {
|
public BaseResponse roleAddUser(HttpServletRequest request, Long uid, Long rid) {
|
||||||
if (Processing.checkUserIsAdmin(request,roleDAO.roleMapper)) {
|
if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||||
roleDAO.roleAddUser(uid, rid);
|
roleDAO.roleAddUser(uid, rid);
|
||||||
return ResultUtil.success();
|
return ResultUtil.success();
|
||||||
} else return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
} else return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BaseResponse roleRemoveUser(HttpServletRequest request,Long uid) {
|
public BaseResponse roleRemoveUser(HttpServletRequest request, Long uid) {
|
||||||
if (Processing.checkUserIsAdmin(request,roleDAO.roleMapper)) {
|
if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||||
roleDAO.roleRemoveUser(uid);
|
roleDAO.roleRemoveUser(uid);
|
||||||
return ResultUtil.success();
|
return ResultUtil.success();
|
||||||
} else return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
} 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 {
|
try {
|
||||||
Processing.copyProperties(userEditVo, userDO);
|
Processing.copyProperties(userEditVo, userDO);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException(e);
|
return ResultUtil.error(ErrorCode.CLASS_COPY_EXCEPTION);
|
||||||
}
|
}
|
||||||
|
|
||||||
//向数据库中修改属性
|
//向数据库中修改属性
|
||||||
@ -199,7 +199,7 @@ public class UserServiceImpl implements UserService {
|
|||||||
try {
|
try {
|
||||||
Processing.copyProperties(userDO, userProfile);
|
Processing.copyProperties(userDO, userProfile);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new RuntimeException(e);
|
return ResultUtil.error(ErrorCode.CLASS_COPY_EXCEPTION);
|
||||||
}
|
}
|
||||||
userProfile.setSex(Processing.getSex(userDO.getSex()));
|
userProfile.setSex(Processing.getSex(userDO.getSex()));
|
||||||
return ResultUtil.success(userProfile);
|
return ResultUtil.success(userProfile);
|
||||||
|
@ -16,12 +16,14 @@ public enum ErrorCode {
|
|||||||
TOKEN_EXPIRED("TokenExpired", 40101, "Token已过期"),
|
TOKEN_EXPIRED("TokenExpired", 40101, "Token已过期"),
|
||||||
VERIFICATION_INVALID("VerificationInvalid", 40102, "验证码无效"),
|
VERIFICATION_INVALID("VerificationInvalid", 40102, "验证码无效"),
|
||||||
TOKEN_NOT_EXIST("TokenNotExist", 40103, "Token不存在"),
|
TOKEN_NOT_EXIST("TokenNotExist", 40103, "Token不存在"),
|
||||||
|
CLASS_COPY_EXCEPTION("ClassCopyException",40104,"实体类拷贝异常"),
|
||||||
USER_IS_LOCKED("UserIsLocked", 40300, "用户已被锁定"),
|
USER_IS_LOCKED("UserIsLocked", 40300, "用户已被锁定"),
|
||||||
USER_IS_DEACTIVATED("UserIsDeactivated", 40300, "用户已被禁用"),
|
USER_IS_DEACTIVATED("UserIsDeactivated", 40300, "用户已被禁用"),
|
||||||
NOT_ADMIN("NotAdmin", 40300, "不是管理员"),
|
NOT_ADMIN("NotAdmin", 40300, "不是管理员"),
|
||||||
EMAIL_LOGIN_NOT_SUPPORT("EmailLoginNotSupport", 40300, "请使用邮箱登陆"),
|
EMAIL_LOGIN_NOT_SUPPORT("EmailLoginNotSupport", 40300, "请使用邮箱登陆"),
|
||||||
PASSWORD_NOT_SAME("PasswordNotSame", 40301, "两次密码不一致"),
|
PASSWORD_NOT_SAME("PasswordNotSame", 40301, "两次密码不一致"),
|
||||||
ROLE_NOT_FOUNDED("RoleNotFounded", 40400, "角色不存在"),
|
ROLE_NOT_FOUNDED("RoleNotFounded", 40400, "角色不存在"),
|
||||||
|
ROLE_NAME_REPEAT("RoleNameRepeat", 40401, "权限名称重复"),
|
||||||
DATABASE_INSERT_ERROR("DatabaseInsertError", 50010, "数据库插入错误"),
|
DATABASE_INSERT_ERROR("DatabaseInsertError", 50010, "数据库插入错误"),
|
||||||
DATABASE_UPDATE_ERROR("DatabaseUpdateError", 50011, "数据库更新错误"),
|
DATABASE_UPDATE_ERROR("DatabaseUpdateError", 50011, "数据库更新错误"),
|
||||||
DATABASE_DELETE_ERROR("DatabaseDeleteError", 50012, "数据库删除错误"),
|
DATABASE_DELETE_ERROR("DatabaseDeleteError", 50012, "数据库删除错误"),
|
||||||
|
@ -1,17 +1,36 @@
|
|||||||
server:
|
server:
|
||||||
port: 8080
|
port: 8155
|
||||||
|
max-http-header-size: 102400
|
||||||
spring:
|
spring:
|
||||||
datasource:
|
datasource:
|
||||||
url: jdbc:mysql://localhost:3306
|
url: jdbc:mysql://localhost:3306?organize_oa
|
||||||
username: root
|
username: root
|
||||||
password: 123456
|
password: Zrx@20041009
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
redis:
|
redis:
|
||||||
database: 0
|
database: 0
|
||||||
host: localhost
|
host: localhost
|
||||||
port: 6379
|
port: 6379
|
||||||
profiles:
|
password: Zrx@20041009
|
||||||
active: dev
|
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:
|
mybatis:
|
||||||
configuration:
|
configuration:
|
||||||
map-underscore-to-camel-case: true
|
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