This commit is contained in:
parent
b994aeefd8
commit
5f0e58ab06
@ -39,7 +39,7 @@ public class JslOrganizeInternalOaRunnerApplication implements SmartInitializing
|
||||
public void afterSingletonsInstantiated() {
|
||||
// 获取数据库中的 SecurityKey
|
||||
try {
|
||||
SafeConstants.SECRET_KEY = infoMapper.getSecurityKey().getData();
|
||||
SafeConstants.setSecretKey(infoMapper.getSecurityKey().getData());
|
||||
} catch (NullPointerException exception) {
|
||||
// 生成密钥
|
||||
String key = Processing.generateKey(System.currentTimeMillis());
|
||||
@ -53,7 +53,7 @@ public class JslOrganizeInternalOaRunnerApplication implements SmartInitializing
|
||||
.setData(json)
|
||||
.setCreatedAt(new Timestamp(System.currentTimeMillis()));
|
||||
infoMapper.insertSecurityKey(configDO);
|
||||
SafeConstants.SECRET_KEY = key;
|
||||
SafeConstants.setSecretKey(key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -91,12 +91,12 @@ public class AnnotationsAspect {
|
||||
} else {
|
||||
log.info("\t> 用户权限不足,检查是否是管理员");
|
||||
// 检查用户是管理员
|
||||
RoleUserDO roleUserDO = roleDAO.roleMapper
|
||||
RoleUserDO roleUserDO = roleDAO
|
||||
.getRoleUserByUid(Processing.getAuthHeaderToUserId(request));
|
||||
if (roleUserDO == null) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
RoleDO roleDO = roleDAO.roleMapper.getRoleByRoleName("admin");
|
||||
RoleDO roleDO = roleDAO.getRoleByRoleName("admin");
|
||||
if (roleUserDO.getRid().equals(roleDO.getId())) {
|
||||
return pjp.proceed();
|
||||
} else {
|
||||
|
@ -1,5 +1,12 @@
|
||||
package com.jsl.oa.common.constant;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
public class SafeConstants {
|
||||
public static String SECRET_KEY;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
private static String secretKey;
|
||||
|
||||
}
|
||||
|
@ -1,4 +1,5 @@
|
||||
package com.jsl.oa.controllers;
|
||||
|
||||
import com.jsl.oa.services.MessageService;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
import com.jsl.oa.utils.ErrorCode;
|
||||
@ -7,7 +8,10 @@ import com.jsl.oa.utils.ResultUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.time.LocalDateTime;
|
||||
@ -70,6 +74,5 @@ public class MessageController {
|
||||
return messageService.messageGet(begin, end, page, pageSize, uid);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -88,7 +88,11 @@ public class PermissionController {
|
||||
* @return {@link BaseResponse} 对象,包含操作结果。
|
||||
*/
|
||||
@PutMapping("/permission/edit")
|
||||
public BaseResponse permissionEdit(@RequestBody @Validated PermissionEditVO permissionEditVo, BindingResult bindingResult, HttpServletRequest request) {
|
||||
public BaseResponse permissionEdit(
|
||||
@RequestBody @Validated PermissionEditVO permissionEditVo,
|
||||
BindingResult bindingResult,
|
||||
HttpServletRequest request
|
||||
) {
|
||||
log.info("请求接口[PUT]: /permission/edit");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
|
@ -58,7 +58,11 @@ public class RoleController {
|
||||
* @return {@link BaseResponse}
|
||||
*/
|
||||
@PutMapping("/role/edit")
|
||||
public BaseResponse roleEdit(HttpServletRequest request, @RequestBody @Validated RoleEditVO roleEditVO, @NotNull BindingResult bindingResult) {
|
||||
public BaseResponse roleEdit(
|
||||
@RequestBody @Validated RoleEditVO roleEditVO,
|
||||
@NotNull BindingResult bindingResult,
|
||||
HttpServletRequest request
|
||||
) {
|
||||
log.info("请求接口[PUT]: /role/edit");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
@ -89,7 +93,7 @@ public class RoleController {
|
||||
/**
|
||||
* 用户权限授予
|
||||
*
|
||||
* @return
|
||||
* @return baseResponse
|
||||
*/
|
||||
@PostMapping("role/user/add")
|
||||
public BaseResponse roleAddUser(HttpServletRequest request, @RequestParam Long uid, @RequestParam Long rid) {
|
||||
@ -104,7 +108,7 @@ public class RoleController {
|
||||
/**
|
||||
* 用户权限删除
|
||||
*
|
||||
* @return
|
||||
* @return baseResponse
|
||||
*/
|
||||
@DeleteMapping("role/user/remove")
|
||||
public BaseResponse roleRemoveUser(HttpServletRequest request, @RequestParam Long uid) {
|
||||
@ -116,15 +120,17 @@ public class RoleController {
|
||||
return roleService.roleRemoveUser(request, uid);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 添加用户权限
|
||||
* @Date: 2024/1/19
|
||||
* @Param request:
|
||||
* @Param uid:
|
||||
**/
|
||||
* <h2>角色添加</h2>
|
||||
* <hr/>
|
||||
* 角色添加接口
|
||||
*/
|
||||
@PostMapping("role/add")
|
||||
public BaseResponse addRole(HttpServletRequest request, @RequestBody @Validated RoleAddVo roleAddVO, @NotNull BindingResult bindingResult) throws ClassCopyException {
|
||||
public BaseResponse addRole(
|
||||
@RequestBody @Validated RoleAddVo roleAddVO,
|
||||
@NotNull BindingResult bindingResult,
|
||||
HttpServletRequest request
|
||||
) throws ClassCopyException {
|
||||
log.info("请求接口[POST]: /role/add");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
@ -133,14 +139,11 @@ public class RoleController {
|
||||
return roleService.addRole(request, roleAddVO);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 改变用户角色权限信息
|
||||
* @Date: 2024/1/20
|
||||
* @Param request:
|
||||
* @Param uid: 用户id
|
||||
* @Param rid: 角色id
|
||||
**/
|
||||
* <h2>角色用户修改</h2>
|
||||
* <hr/>
|
||||
* 角色用户修改接口
|
||||
*/
|
||||
@PutMapping("role/user/change")
|
||||
public BaseResponse roleChangeUser(HttpServletRequest request, @RequestParam Long uid, @RequestParam Long rid) {
|
||||
log.info("请求接口[POST]: /role/user/change");
|
||||
|
@ -77,7 +77,10 @@ public class UserController {
|
||||
* @return {@link BaseResponse}
|
||||
*/
|
||||
@PutMapping("/user/profile/edit")
|
||||
public BaseResponse userEditProfile(@RequestBody @Validated UserEditProfileVO userEditProfileVO, BindingResult bindingResult) {
|
||||
public BaseResponse userEditProfile(
|
||||
@RequestBody @Validated UserEditProfileVO userEditProfileVO,
|
||||
BindingResult bindingResult
|
||||
) {
|
||||
log.info("请求接口[PUT]: /user/profile/edit");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
@ -100,7 +103,13 @@ public class UserController {
|
||||
* @return {@link BaseResponse}
|
||||
*/
|
||||
@GetMapping("/user/current")
|
||||
public BaseResponse userCurrent(HttpServletRequest request, @RequestParam @Nullable String id, @RequestParam @Nullable String username, @RequestParam @Nullable String email, @RequestParam @Nullable String phone) {
|
||||
public BaseResponse userCurrent(
|
||||
@RequestParam @Nullable String id,
|
||||
@RequestParam @Nullable String username,
|
||||
@RequestParam @Nullable String email,
|
||||
@RequestParam @Nullable String phone,
|
||||
@NotNull HttpServletRequest request
|
||||
) {
|
||||
log.info("请求接口[GET]: /user/current");
|
||||
// 检查数据是否有问题
|
||||
if (id != null && !id.isEmpty()) {
|
||||
@ -119,7 +128,10 @@ public class UserController {
|
||||
}
|
||||
}
|
||||
if (phone != null && !phone.isEmpty()) {
|
||||
if (!Pattern.matches("^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$", phone)) {
|
||||
if (!Pattern.matches(
|
||||
"^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$",
|
||||
phone
|
||||
)) {
|
||||
return ResultUtil.error(ErrorCode.PARAMETER_ERROR, "手机格式不正确");
|
||||
}
|
||||
}
|
||||
@ -136,8 +148,11 @@ public class UserController {
|
||||
* @return {@link BaseResponse}
|
||||
*/
|
||||
@PostMapping("/user/current/all")
|
||||
public BaseResponse userCurrentAll(@RequestBody @Validated UserAllCurrentVO userAllCurrentVO,
|
||||
HttpServletRequest request, @NotNull BindingResult bindingResult) {
|
||||
public BaseResponse userCurrentAll(
|
||||
@RequestBody @Validated UserAllCurrentVO userAllCurrentVO,
|
||||
@NotNull BindingResult bindingResult,
|
||||
HttpServletRequest request
|
||||
) {
|
||||
log.info("请求接口[POST]: /user/current/all");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
@ -154,7 +169,11 @@ public class UserController {
|
||||
* @Param bindingResult:
|
||||
**/
|
||||
@PostMapping("/user/add")
|
||||
public BaseResponse userAdd(@RequestBody @Validated UserAddVO userAddVo, BindingResult bindingResult, HttpServletRequest request) {
|
||||
public BaseResponse userAdd(
|
||||
@RequestBody @Validated UserAddVO userAddVo,
|
||||
BindingResult bindingResult,
|
||||
HttpServletRequest request
|
||||
) {
|
||||
log.info("请求接口[POST]: /user/add");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
@ -170,7 +189,11 @@ public class UserController {
|
||||
* @Param bindingResult:
|
||||
**/
|
||||
@PutMapping("/user/edit")
|
||||
public BaseResponse userEdit(@RequestBody @Validated UserEditVO userEditVO, BindingResult bindingResult, HttpServletRequest request) {
|
||||
public BaseResponse userEdit(
|
||||
@RequestBody @Validated UserEditVO userEditVO,
|
||||
BindingResult bindingResult,
|
||||
HttpServletRequest request
|
||||
) {
|
||||
log.info("请求接口[PUT]: /user/edit");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
|
@ -18,7 +18,7 @@ import java.util.List;
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class RoleDAO {
|
||||
public final RoleMapper roleMapper;
|
||||
private final RoleMapper roleMapper;
|
||||
private final Gson gson;
|
||||
private final RoleRedisUtil<String> roleRedisUtil;
|
||||
|
||||
@ -26,7 +26,12 @@ public class RoleDAO {
|
||||
log.info("\t> 执行 DAO 层 RoleDAO.addRoleUser 方法");
|
||||
log.info("\t\t> 从 MySQL 获取数据");
|
||||
roleMapper.roleAddUser(uid, rid);
|
||||
roleRedisUtil.setData(BusinessConstants.USER, uid.toString(), gson.toJson(roleMapper.getRoleUserByUid(uid)), 120);
|
||||
roleRedisUtil.setData(
|
||||
BusinessConstants.USER,
|
||||
uid.toString(),
|
||||
gson.toJson(roleMapper.getRoleUserByUid(uid)),
|
||||
120
|
||||
);
|
||||
}
|
||||
|
||||
public void delRoleUser(Long uid) {
|
||||
@ -82,8 +87,7 @@ public class RoleDAO {
|
||||
public RoleDO getRoleNameByUid(Long uid) {
|
||||
log.info("\t> 执行 DAO 层 RoleDAO.getRoleNameByUid 方法");
|
||||
log.info("\t\t> 从 MySQL 获取数据");
|
||||
RoleDO roleDO = roleMapper.getRoleById(getRoleUserByUid(uid).getRid());
|
||||
return roleDO;
|
||||
return roleMapper.getRoleById(getRoleUserByUid(uid).getRid());
|
||||
}
|
||||
|
||||
|
||||
@ -122,7 +126,12 @@ public class RoleDAO {
|
||||
log.info("\t> 执行 DAO 层 RoleDAO.roleChangeUser 方法");
|
||||
log.info("\t\t> 从 MySQL 获取数据");
|
||||
if (roleMapper.roleChangeUser(uid, rid)) {
|
||||
roleRedisUtil.setData(BusinessConstants.USER, uid.toString(), gson.toJson(roleMapper.getRoleUserByUid(uid)), 120);
|
||||
roleRedisUtil.setData(
|
||||
BusinessConstants.USER,
|
||||
uid.toString(),
|
||||
gson.toJson(roleMapper.getRoleUserByUid(uid)),
|
||||
120
|
||||
);
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
@ -140,4 +149,14 @@ public class RoleDAO {
|
||||
return gson.fromJson(getRedisData, RoleUserDO.class);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据角色名获取角色信息
|
||||
*
|
||||
* @param roleName 角色名
|
||||
* @return 角色信息
|
||||
*/
|
||||
public RoleDO getRoleByRoleName(String roleName) {
|
||||
return roleMapper.getRoleByRoleName(roleName);
|
||||
}
|
||||
}
|
||||
|
@ -133,7 +133,8 @@ public class UserDAO {
|
||||
UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO();
|
||||
userCurrentBackVO.setUsers(new ArrayList<>())
|
||||
.setCount(userMapper.getUsersCount());
|
||||
userCurrentDO.forEach(it -> userCurrentBackVO.getUsers().add(Processing.returnUserInfo(it, roleDAO, permissionDAO)));
|
||||
userCurrentDO.forEach(it -> userCurrentBackVO.getUsers()
|
||||
.add(Processing.returnUserInfo(it, roleDAO, permissionDAO)));
|
||||
return userCurrentBackVO;
|
||||
|
||||
}
|
||||
@ -145,7 +146,8 @@ public class UserDAO {
|
||||
UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO();
|
||||
userCurrentBackVO.setUsers(new ArrayList<>())
|
||||
.setCount(userMapper.getUsersCount());
|
||||
userCurrentDO.forEach(it -> userCurrentBackVO.getUsers().add(Processing.returnUserInfo(it, roleDAO, permissionDAO)));
|
||||
userCurrentDO.forEach(it -> userCurrentBackVO.getUsers()
|
||||
.add(Processing.returnUserInfo(it, roleDAO, permissionDAO)));
|
||||
return userCurrentBackVO;
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,8 @@ public interface RoleMapper {
|
||||
@Select("SELECT * FROM organize_oa.oa_role ORDER BY id DESC")
|
||||
List<RoleDO> getRole();
|
||||
|
||||
@Update("UPDATE organize_oa.oa_role SET role_name=#{roleName},display_name=#{displayName},updated_at=CURRENT_TIMESTAMP WHERE id=#{id}")
|
||||
@Update("UPDATE organize_oa.oa_role "
|
||||
+ "SET role_name=#{roleName},display_name=#{displayName},updated_at=CURRENT_TIMESTAMP WHERE id=#{id}")
|
||||
boolean roleEdit(RoleDO getRole);
|
||||
|
||||
@Update("UPDATE organize_oa.oa_role_user SET rid = #{rid},updated_at = current_timestamp WHERE uid = #{uid}")
|
||||
|
@ -37,7 +37,8 @@ public interface UserMapper {
|
||||
@Update("UPDATE organize_oa.oa_user SET is_delete = true ,updated_at = CURRENT_TIMESTAMP WHERE id = #{id}")
|
||||
void userDelete(Long id);
|
||||
|
||||
@Update("UPDATE organize_oa.oa_user SET account_no_locked = #{isLock} ,updated_at = CURRENT_TIMESTAMP WHERE id = #{id} ")
|
||||
@Update("UPDATE organize_oa.oa_user "
|
||||
+ "SET account_no_locked = #{isLock} ,updated_at = CURRENT_TIMESTAMP WHERE id = #{id}")
|
||||
void userLock(Long id, Long isLock);
|
||||
|
||||
@Select("SELECT * FROM organize_oa.oa_user WHERE id = #{id}")
|
||||
@ -77,11 +78,11 @@ public interface UserMapper {
|
||||
List<UserDO> getRecommendUser();
|
||||
|
||||
|
||||
@Update("UPDATE organize_oa.oa_user " +
|
||||
"SET address = #{address}, phone = #{phone}, email = #{email}, age = #{age}, " +
|
||||
"signature = #{signature}, sex = #{sex}, avatar = #{avatar}, nickname = #{nickname}, " +
|
||||
"description = #{description} ,updated_at = current_timestamp " +
|
||||
"WHERE id = #{id}")
|
||||
@Update("UPDATE organize_oa.oa_user "
|
||||
+ "SET address = #{address}, phone = #{phone}, email = #{email}, age = #{age}, "
|
||||
+ "signature = #{signature}, sex = #{sex}, avatar = #{avatar}, nickname = #{nickname}, "
|
||||
+ "description = #{description} ,updated_at = current_timestamp "
|
||||
+ "WHERE id = #{id}")
|
||||
void updateUser(UserDO userDO);
|
||||
|
||||
@Select("SELECT * FROM organize_oa.oa_user WHERE email = #{email}")
|
||||
@ -96,7 +97,8 @@ public interface UserMapper {
|
||||
@Select("SELECT COUNT(*) FROM organize_oa.oa_user")
|
||||
Long getUsersCount();
|
||||
|
||||
@Select("select oa_user.id,oa_user.username,oa_role.role_name from organize_oa.oa_user join organize_oa.oa_role_user " +
|
||||
"on oa_user.id = oa_role_user.uid join organize_oa.oa_role on oa_role_user.rid = oa_role.id")
|
||||
@Select("select oa_user.id,oa_user.username,oa_role.role_name "
|
||||
+ "from organize_oa.oa_user join organize_oa.oa_role_user "
|
||||
+ "on oa_user.id = oa_role_user.uid join organize_oa.oa_role on oa_role_user.rid = oa_role.id")
|
||||
List<PrincipalSelectVO> getPrincipal();
|
||||
}
|
||||
|
@ -27,8 +27,8 @@ public class ProjectCuttingDO {
|
||||
private Long cycle;
|
||||
private String name;
|
||||
private String description;
|
||||
private Integer is_delete;
|
||||
private Integer is_finish;
|
||||
private Integer isDelete;
|
||||
private Integer isFinish;
|
||||
private Integer status;
|
||||
private boolean type;
|
||||
private Timestamp beginTime;
|
||||
|
@ -1,12 +1,12 @@
|
||||
package com.jsl.oa.model.vodata;
|
||||
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.*;
|
||||
|
||||
|
||||
@Getter
|
||||
@Data
|
||||
public class UserAddVO {
|
||||
|
||||
@NotBlank(message = "用户名不能为空")
|
||||
@ -20,7 +20,8 @@ public class UserAddVO {
|
||||
private String address;
|
||||
|
||||
@NotBlank(message = "电话不能为空")
|
||||
@Pattern(regexp = "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$", message = "电话格式错误")
|
||||
@Pattern(regexp = "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$",
|
||||
message = "电话格式错误")
|
||||
private String phone;
|
||||
|
||||
@NotBlank(message = "邮箱不能为空")
|
||||
|
@ -21,7 +21,8 @@ public class UserEditVO {
|
||||
|
||||
private String address;
|
||||
|
||||
@Pattern(regexp = "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$", message = "电话格式错误")
|
||||
@Pattern(regexp = "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$",
|
||||
message = "电话格式错误")
|
||||
private String phone;
|
||||
|
||||
@Pattern(regexp = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$", message = "邮箱格式错误")
|
||||
|
@ -16,9 +16,9 @@ import javax.servlet.http.HttpServletRequest;
|
||||
* @since v1.1.0
|
||||
*/
|
||||
public interface RoleService {
|
||||
BaseResponse roleAddUser(HttpServletRequest request,Long uid, Long rid);
|
||||
BaseResponse roleAddUser(HttpServletRequest request, Long uid, Long rid);
|
||||
|
||||
BaseResponse roleRemoveUser(HttpServletRequest request,Long uid);
|
||||
BaseResponse roleRemoveUser(HttpServletRequest request, Long uid);
|
||||
|
||||
BaseResponse roleGet(HttpServletRequest request, String id);
|
||||
|
||||
|
@ -273,7 +273,7 @@ public class AuthServiceImpl implements AuthService {
|
||||
getPermissionForString = permissionDAO.getPermission(userDO.getId());
|
||||
}
|
||||
// 获取用户角色
|
||||
RoleUserDO getUserRole = roleDAO.roleMapper.getRoleUserByUid(userDO.getId());
|
||||
RoleUserDO getUserRole = roleDAO.getRoleUserByUid(userDO.getId());
|
||||
if (getUserRole == null) {
|
||||
getUserRole = new RoleUserDO();
|
||||
getUserRole.setRid(0L)
|
||||
|
@ -2,8 +2,8 @@ package com.jsl.oa.services.impl;
|
||||
|
||||
import com.jsl.oa.annotations.CheckUserHasPermission;
|
||||
import com.jsl.oa.dao.InfoDAO;
|
||||
import com.jsl.oa.dao.RoleDAO;
|
||||
import com.jsl.oa.dao.UserDAO;
|
||||
import com.jsl.oa.mapper.RoleMapper;
|
||||
import com.jsl.oa.model.dodata.UserDO;
|
||||
import com.jsl.oa.model.dodata.info.CarouselDO;
|
||||
import com.jsl.oa.model.vodata.UserProfileVo;
|
||||
@ -36,9 +36,9 @@ import java.util.List;
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class InfoServiceImpl implements InfoService {
|
||||
private final RoleMapper roleMapper;
|
||||
private final InfoDAO infoDAO;
|
||||
private final UserDAO userDAO;
|
||||
private final RoleDAO roleDAO;
|
||||
|
||||
@Override
|
||||
@CheckUserHasPermission("info.image.add")
|
||||
@ -131,7 +131,7 @@ public class InfoServiceImpl implements InfoService {
|
||||
public BaseResponse delHeaderImage(HttpServletRequest request, Integer id) {
|
||||
log.info("\t> 执行 Service 层 InfoService.delHeaderImage 方法");
|
||||
// 用户权限校验
|
||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
// 获取轮播图信息
|
||||
@ -154,7 +154,7 @@ public class InfoServiceImpl implements InfoService {
|
||||
public BaseResponse editSettingHeaderImage(HttpServletRequest request, Boolean showType) {
|
||||
log.info("\t> 执行 Service 层 InfoService.editSettingHeaderImage 方法");
|
||||
// 用户权限校验
|
||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
// 获取轮播图信息
|
||||
|
@ -1,10 +1,9 @@
|
||||
package com.jsl.oa.services.impl;
|
||||
|
||||
import com.jsl.oa.dao.ModuleDAO;
|
||||
import com.jsl.oa.dao.ProjectDAO;
|
||||
import com.jsl.oa.dao.RoleDAO;
|
||||
import com.jsl.oa.dao.UserDAO;
|
||||
import com.jsl.oa.mapper.ModuleMapper;
|
||||
import com.jsl.oa.mapper.RoleMapper;
|
||||
import com.jsl.oa.model.dodata.ProjectWorkDO;
|
||||
import com.jsl.oa.model.vodata.ProjectWorkAndNameVO;
|
||||
import com.jsl.oa.services.ModuleService;
|
||||
@ -24,11 +23,10 @@ import java.util.List;
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class ModuleServiceImpl implements ModuleService {
|
||||
private final RoleMapper roleMapper;
|
||||
private final ModuleDAO moduleDAO;
|
||||
private final ProjectDAO projectDAO;
|
||||
private final ModuleMapper moduleMapper;
|
||||
private final UserDAO userDAO;
|
||||
private final RoleDAO roleDAO;
|
||||
|
||||
@Override
|
||||
public BaseResponse getByProjectId(Integer projectId, HttpServletRequest request) {
|
||||
@ -84,7 +82,7 @@ public class ModuleServiceImpl implements ModuleService {
|
||||
@Override
|
||||
public BaseResponse deleteById(HttpServletRequest request, Long id) {
|
||||
// 检测是否为管理员
|
||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
}
|
||||
|
||||
|
@ -4,9 +4,9 @@ import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.jsl.oa.annotations.CheckUserHasPermission;
|
||||
import com.jsl.oa.dao.ProjectDAO;
|
||||
import com.jsl.oa.dao.RoleDAO;
|
||||
import com.jsl.oa.dao.UserDAO;
|
||||
import com.jsl.oa.mapper.ProjectMapper;
|
||||
import com.jsl.oa.mapper.RoleMapper;
|
||||
import com.jsl.oa.mapper.UserMapper;
|
||||
import com.jsl.oa.model.dodata.ProjectDO;
|
||||
import com.jsl.oa.model.dodata.UserDO;
|
||||
@ -46,10 +46,10 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
|
||||
private final UserMapper userMapper;
|
||||
private final ProjectMapper projectMapper;
|
||||
private final RoleMapper roleMapper;
|
||||
private final ProjectDAO projectDAO;
|
||||
private final UserDAO userDAO;
|
||||
private final ObjectMapper objectMapper;
|
||||
private final RoleDAO roleDAO;
|
||||
|
||||
@Override
|
||||
public BaseResponse projectAdd(HttpServletRequest request, ProjectInfoVO projectAdd) {
|
||||
@ -86,7 +86,7 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
//是否是增加子系统
|
||||
if (projectWorkVO.getType() == 0) {
|
||||
//是否是老师
|
||||
if (Processing.checkUserIsTeacher(request, roleMapper)) {
|
||||
if (Processing.checkUserIsTeacher(request, roleDAO)) {
|
||||
projectDAO.projectWorkAdd(projectWorkVO);
|
||||
} else {
|
||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
@ -230,7 +230,7 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
|
||||
|
||||
//判断用户是否为老师 或者 项目负责人
|
||||
if (!Processing.checkUserIsTeacher(request, roleMapper)
|
||||
if (!Processing.checkUserIsTeacher(request, roleDAO)
|
||||
|| !projectDAO.isPrincipalUser(Processing.getAuthHeaderToUserId(request), projectId)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
}
|
||||
@ -379,7 +379,7 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
|
||||
|
||||
//判断是否是老师(项目负责人)
|
||||
if (listAll != null && Processing.checkUserIsTeacher(request, roleMapper)) {
|
||||
if (listAll != null && Processing.checkUserIsTeacher(request, roleDAO)) {
|
||||
List<ProjectDO> projectDOList = projectDAO.get(userId, listAll, tags, isFinish);
|
||||
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
|
||||
for (ProjectDO projectDO : projectDOList) {
|
||||
@ -457,7 +457,7 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
|
||||
|
||||
//判断是否是老师(项目负责人)
|
||||
if (listAll != null && Processing.checkUserIsTeacher(request, roleMapper)) {
|
||||
if (listAll != null && Processing.checkUserIsTeacher(request, roleDAO)) {
|
||||
List<ProjectDO> projectDOList = projectDAO.workget(userId, listAll, tags, isFinish, is);
|
||||
List<ProjectSimpleVO> projectSimpleVOList = new ArrayList<>();
|
||||
for (ProjectDO projectDO : projectDOList) {
|
||||
@ -505,7 +505,7 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
log.info("\t> 执行 Service 层 ProjectService.projectDelete 方法");
|
||||
|
||||
//判断用户是否为老师 或者 项目负责人
|
||||
if (!Processing.checkUserIsTeacher(request, roleMapper)) {
|
||||
if (!Processing.checkUserIsTeacher(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
}
|
||||
|
||||
|
@ -45,7 +45,7 @@ public class RoleServiceImpl implements RoleService {
|
||||
@CheckUserHasPermission("role.add")
|
||||
public BaseResponse roleAddUser(HttpServletRequest request, Long uid, Long rid) {
|
||||
log.info("\t> 执行 Service 层 RoleService.addRoleUser 方法");
|
||||
if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
roleDAO.addRoleUser(uid, rid);
|
||||
return ResultUtil.success();
|
||||
} else {
|
||||
@ -57,7 +57,7 @@ public class RoleServiceImpl implements RoleService {
|
||||
|
||||
public BaseResponse roleRemoveUser(HttpServletRequest request, Long uid) {
|
||||
log.info("\t> 执行 Service 层 RoleService.delRoleUser 方法");
|
||||
if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
roleDAO.delRoleUser(uid);
|
||||
return ResultUtil.success();
|
||||
} else {
|
||||
@ -77,7 +77,7 @@ public class RoleServiceImpl implements RoleService {
|
||||
return ResultUtil.error(ErrorCode.USER_NOT_CHANGE_TO_THEMSELVES);
|
||||
}
|
||||
//检测用户权限是否为管理员
|
||||
if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
if (roleDAO.roleChangeUser(uid, rid)) {
|
||||
return ResultUtil.success();
|
||||
} else {
|
||||
@ -92,7 +92,7 @@ public class RoleServiceImpl implements RoleService {
|
||||
public BaseResponse roleGet(HttpServletRequest request, String id) {
|
||||
log.info("\t> 执行 Service 层 RoleService.roleGet 方法");
|
||||
// 检查用户权限
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
// 获取 Role 权限组
|
||||
@ -119,7 +119,7 @@ public class RoleServiceImpl implements RoleService {
|
||||
public BaseResponse roleEdit(HttpServletRequest request, RoleEditVO roleEditVO) {
|
||||
log.info("\t> 执行 Service 层 RoleService.roleEdit 方法");
|
||||
// 检查用户权限
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
// 获取 Role 相关信息
|
||||
@ -143,7 +143,7 @@ public class RoleServiceImpl implements RoleService {
|
||||
public BaseResponse roleDelete(HttpServletRequest request, Long id) {
|
||||
log.info("\t> 执行 Service 层 RoleService.roleDelete 方法");
|
||||
// 检查用户权限
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
// 获取 Role 相关信息
|
||||
@ -165,7 +165,7 @@ public class RoleServiceImpl implements RoleService {
|
||||
public BaseResponse addRole(HttpServletRequest request, RoleAddVo roleAddVO) throws ClassCopyException {
|
||||
log.info("\t> 执行 Service 层 RoleService.addRole 方法");
|
||||
// 检查用户权限
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
// 检查权限名称是否重复
|
||||
|
@ -51,7 +51,7 @@ public class UserServiceImpl implements UserService {
|
||||
log.info("\t> 执行 Service 层 UserService.userDelete 方法");
|
||||
//判断用户是否存在
|
||||
if (userDAO.isExistUser(id)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
// 用户是否已删除
|
||||
@ -69,7 +69,7 @@ public class UserServiceImpl implements UserService {
|
||||
@Override
|
||||
public BaseResponse userLock(HttpServletRequest request, Long id, Long isLock) {
|
||||
log.info("\t> 执行 Service 层 UserService.userLock 方法");
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
//判断用户是否存在
|
||||
@ -159,7 +159,7 @@ public class UserServiceImpl implements UserService {
|
||||
if (roleUserDO == null) {
|
||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
}
|
||||
RoleDO roleDO = roleDAO.roleMapper.getRoleByRoleName("admin");
|
||||
RoleDO roleDO = roleDAO.getRoleByRoleName("admin");
|
||||
if (!roleUserDO.getRid().equals(roleDO.getId())) {
|
||||
return ResultUtil.error(ErrorCode.NOT_PERMISSION);
|
||||
}
|
||||
@ -192,7 +192,7 @@ public class UserServiceImpl implements UserService {
|
||||
public BaseResponse userAdd(UserAddVO userAddVo, HttpServletRequest request) {
|
||||
log.info("\t> 执行 Service 层 UserService.userAdd 方法");
|
||||
// 检测用户是否为管理员
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
//如果用户不重复,添加用户
|
||||
@ -230,7 +230,7 @@ public class UserServiceImpl implements UserService {
|
||||
public BaseResponse userEdit(UserEditVO userEditVO, HttpServletRequest request) {
|
||||
log.info("\t> 执行 Service 层 userEdit 方法");
|
||||
// 检测用户是否为管理员
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (!Processing.checkUserIsAdmin(request, roleDAO)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
//根据id获取用户信息
|
||||
|
@ -34,7 +34,7 @@ public class JwtUtil {
|
||||
* @return 返回生成的Token
|
||||
*/
|
||||
public static String generateToken(@NotNull Long userId) {
|
||||
Key key = Keys.hmacShaKeyFor(SafeConstants.SECRET_KEY.getBytes());
|
||||
Key key = Keys.hmacShaKeyFor(SafeConstants.getSecretKey().getBytes());
|
||||
return Jwts.builder()
|
||||
.setSubject(userId.toString())
|
||||
.setExpiration(new java.util.Date(System.currentTimeMillis() + EXPIRATION_TIME))
|
||||
@ -71,7 +71,7 @@ public class JwtUtil {
|
||||
* @return 返回获取到的用户名
|
||||
*/
|
||||
public static Long getUserId(String token) {
|
||||
Key key = Keys.hmacShaKeyFor(SafeConstants.SECRET_KEY.getBytes());
|
||||
Key key = Keys.hmacShaKeyFor(SafeConstants.getSecretKey().getBytes());
|
||||
Jws<Claims> claimsJws = Jwts.parserBuilder()
|
||||
.setSigningKey(key)
|
||||
.build()
|
||||
|
@ -7,7 +7,6 @@ import com.jsl.oa.dao.PermissionDAO;
|
||||
import com.jsl.oa.dao.RoleDAO;
|
||||
import com.jsl.oa.dao.UserDAO;
|
||||
import com.jsl.oa.exception.ClassCopyException;
|
||||
import com.jsl.oa.mapper.RoleMapper;
|
||||
import com.jsl.oa.model.dodata.*;
|
||||
import com.jsl.oa.model.vodata.PermissionContentVo;
|
||||
import com.jsl.oa.model.vodata.ProjectSimpleVO;
|
||||
@ -166,13 +165,12 @@ public class Processing {
|
||||
* 该方法用于检查用户是否是管理员,类型封装后字节返回结果
|
||||
*
|
||||
* @param request 请求
|
||||
* @param roleMapper RoleMapper
|
||||
* @return 如果为 true 是管理员,false 不是管理员
|
||||
*/
|
||||
public static @NotNull Boolean checkUserIsAdmin(HttpServletRequest request, @NotNull RoleMapper roleMapper) {
|
||||
RoleUserDO roleUserDO = roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request));
|
||||
public static @NotNull Boolean checkUserIsAdmin(HttpServletRequest request, @NotNull RoleDAO roleDAO) {
|
||||
RoleUserDO roleUserDO = roleDAO.getRoleUserByUid(Processing.getAuthHeaderToUserId(request));
|
||||
if (roleUserDO != null) {
|
||||
RoleDO roleDO = roleMapper.getRoleByRoleName("admin");
|
||||
RoleDO roleDO = roleDAO.getRoleByRoleName("admin");
|
||||
return roleUserDO.getRid().equals(roleDO.getId());
|
||||
} else {
|
||||
return false;
|
||||
@ -183,13 +181,12 @@ public class Processing {
|
||||
* 检查用户是否是老师
|
||||
*
|
||||
* @param request 请求
|
||||
* @param roleMapper RoleMapper
|
||||
* @return 如果为 true 是老师,false 不是老师
|
||||
*/
|
||||
public static @NotNull Boolean checkUserIsTeacher(HttpServletRequest request, @NotNull RoleMapper roleMapper) {
|
||||
RoleUserDO roleUserDO = roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request));
|
||||
public static @NotNull Boolean checkUserIsTeacher(HttpServletRequest request, @NotNull RoleDAO roleDAO) {
|
||||
RoleUserDO roleUserDO = roleDAO.getRoleUserByUid(Processing.getAuthHeaderToUserId(request));
|
||||
if (roleUserDO != null) {
|
||||
RoleDO roleDO = roleMapper.getRoleByRoleName("teacher");
|
||||
RoleDO roleDO = roleDAO.getRoleByRoleName("teacher");
|
||||
return roleUserDO.getRid().equals(roleDO.getId());
|
||||
} else {
|
||||
return false;
|
||||
@ -211,11 +208,10 @@ public class Processing {
|
||||
* @param <S> 源对象的类型。
|
||||
* @param source 从中复制属性的源对象。
|
||||
* @param target 属性将复制到的目标对象。
|
||||
* @return 复制属性后的目标对象。
|
||||
* @throws ClassCopyException 如果在复制过程中出现错误。
|
||||
*/
|
||||
@Contract(pure = true)
|
||||
public static <T, S> T copyProperties(@NotNull S source, @NotNull T target) throws ClassCopyException {
|
||||
public static <T, S> void copyProperties(@NotNull S source, @NotNull T target) throws ClassCopyException {
|
||||
Class<?> sourceClass = source.getClass();
|
||||
Class<?> targetClass = target.getClass();
|
||||
|
||||
@ -254,26 +250,23 @@ public class Processing {
|
||||
} catch (IllegalAccessException ignored) {
|
||||
throw new ClassCopyException();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 将性别转为字符形式
|
||||
* @Date: 2024/1/18
|
||||
**/
|
||||
* <h2>获取性别</h2>
|
||||
* <hr/>
|
||||
* 用于获取性别
|
||||
*
|
||||
* @param sex 性别ID
|
||||
* @return 返回中文性别
|
||||
*/
|
||||
@Contract(pure = true)
|
||||
public static @NotNull String getSex(short sex) {
|
||||
if (sex == 0) {
|
||||
return "保密";
|
||||
switch (sex) {
|
||||
case 1: return "男";
|
||||
case 2: return "女";
|
||||
default: return "保密";
|
||||
}
|
||||
if (sex == 1) {
|
||||
return "男";
|
||||
}
|
||||
if (sex == 2) {
|
||||
return "女";
|
||||
}
|
||||
return " ";
|
||||
}
|
||||
|
||||
/**
|
||||
@ -356,8 +349,12 @@ public class Processing {
|
||||
return userDOS;
|
||||
}
|
||||
|
||||
public static void projectTosimply(ProjectSimpleVO projectSimpleVO, ProjectDO projectDO, UserDAO userDAO, ObjectMapper objectMapper) {
|
||||
|
||||
public static void projectTosimply(
|
||||
ProjectSimpleVO projectSimpleVO,
|
||||
ProjectDO projectDO,
|
||||
UserDAO userDAO,
|
||||
ObjectMapper objectMapper
|
||||
) {
|
||||
projectSimpleVO.setId(projectDO.getId());
|
||||
projectSimpleVO.setName(projectDO.getName());
|
||||
projectSimpleVO.setTags(projectDO.getTags());
|
||||
|
@ -22,6 +22,7 @@ import java.util.concurrent.TimeUnit;
|
||||
* @see com.jsl.oa.common.constant.BusinessConstants
|
||||
* @see com.jsl.oa.config.redis.RedisOperating
|
||||
* @author xiao_lfeng
|
||||
* @param <R> 泛型
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
@ -59,4 +60,4 @@ public class RoleRedisUtil<R> extends RedisOperating<R> {
|
||||
redisTemplate.expire(key, time, TimeUnit.MINUTES);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user