fix: Auth信息规整修改,Current(All)信息返回修改,日志补丁
This commit is contained in:
parent
94e1fa4cb8
commit
fc51326449
@ -30,6 +30,7 @@ public class ShiroConfiguration {
|
||||
filterChainDefinitionMap.put("/unauthorized", "anon"); // 未授权接口允许匿名访问
|
||||
filterChainDefinitionMap.put("/", "anon"); // 首页允许匿名访问
|
||||
filterChainDefinitionMap.put("/info/header-image/get", "anon"); // 信息接口允许匿名访问
|
||||
filterChainDefinitionMap.put("/info/header-user/get", "anon"); // 信息接口允许匿名访问
|
||||
filterChainDefinitionMap.put("/**/**", "authc"); // 其他接口一律拦截(需要Token)
|
||||
|
||||
shiroFilterFactoryBean.setFilterChainDefinitionMap(filterChainDefinitionMap);
|
||||
|
@ -10,6 +10,7 @@ import com.jsl.oa.utils.ErrorCode;
|
||||
import com.jsl.oa.utils.Processing;
|
||||
import com.jsl.oa.utils.ResultUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
@ -33,6 +34,7 @@ import java.util.regex.Pattern;
|
||||
* @see ResultUtil
|
||||
* @since v1.0.0
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class AuthController {
|
||||
@ -49,6 +51,7 @@ public class AuthController {
|
||||
*/
|
||||
@PostMapping("/auth/register")
|
||||
public BaseResponse authRegister(@RequestBody @Validated UserRegisterVO userRegisterVO, @NotNull BindingResult bindingResult) {
|
||||
log.info("请求接口[POST]: /auth/register");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
|
||||
@ -69,6 +72,7 @@ public class AuthController {
|
||||
*/
|
||||
@PostMapping("/auth/login")
|
||||
public BaseResponse authLogin(@RequestBody @Validated UserLoginVO userLoginVO, @NotNull BindingResult bindingResult) {
|
||||
log.info("请求接口[POST]: /auth/login");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
|
||||
@ -88,6 +92,7 @@ public class AuthController {
|
||||
*/
|
||||
@GetMapping("/auth/email/code")
|
||||
public BaseResponse authSendEmailCode(@RequestParam String email) {
|
||||
log.info("请求接口[GET]: /auth/email/code");
|
||||
if (email != null) {
|
||||
if (Pattern.matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$", email)) {
|
||||
return authService.authLoginSendEmailCode(email);
|
||||
@ -101,6 +106,7 @@ public class AuthController {
|
||||
|
||||
@GetMapping("/auth/login/email")
|
||||
public BaseResponse authLoginByEmail(@RequestParam String email, @RequestParam String code) {
|
||||
log.info("请求接口[GET]: /auth/login/email");
|
||||
if (email != null && code != null && !email.isEmpty() && !code.isEmpty()) {
|
||||
System.out.println("测试");
|
||||
if (Pattern.matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$", email)) {
|
||||
@ -128,11 +134,14 @@ public class AuthController {
|
||||
*/
|
||||
@GetMapping("/auth/logout")
|
||||
public BaseResponse authLogout(HttpServletRequest request) {
|
||||
log.info("请求接口[GET]: /auth/logout");
|
||||
return authService.authLogout(request);
|
||||
}
|
||||
|
||||
@PutMapping("/auth/password")
|
||||
public BaseResponse authChangePassword(@RequestBody @Validated UserChangePasswordVO userChangePasswordVO, HttpServletRequest request, @NotNull BindingResult bindingResult) {
|
||||
log.info("请求接口[PUT]: /auth/password");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
|
||||
}
|
||||
@ -141,6 +150,8 @@ public class AuthController {
|
||||
|
||||
@PutMapping("auth/password/forget")
|
||||
public BaseResponse authForgetPassword(@RequestBody @Validated UserForgetPasswordVO userForgetPasswordVO, @NotNull BindingResult bindingResult) {
|
||||
log.info("请求接口[PUT]: /auth/password/forget");
|
||||
// 判断是否有参数错误
|
||||
if (bindingResult.hasErrors()) {
|
||||
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
|
||||
}
|
||||
|
@ -75,7 +75,7 @@ public class InfoController {
|
||||
}
|
||||
|
||||
@GetMapping("info/header-user/get")
|
||||
public BaseResponse infoGetHeaderUser(@RequestParam String order,@RequestParam String orderBy,HttpServletRequest request){
|
||||
public BaseResponse infoGetHeaderUser(@RequestParam(required = false) String order,@RequestParam(required = false) String orderBy,HttpServletRequest request){
|
||||
log.info("请求接口[GET]: /info/header-user/get");
|
||||
return infoService.getHeaderUser(request,order,orderBy);
|
||||
}
|
||||
|
@ -1,7 +1,6 @@
|
||||
package com.jsl.oa.controllers;
|
||||
|
||||
import com.jsl.oa.model.voData.PermissionEditVo;
|
||||
import com.jsl.oa.model.voData.UserEditVo;
|
||||
import com.jsl.oa.services.PermissionService;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
import com.jsl.oa.utils.ErrorCode;
|
||||
|
@ -11,7 +11,6 @@ import com.jsl.oa.utils.ResultUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.springframework.validation.BindingResult;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@ -44,7 +43,7 @@ public class RoleController {
|
||||
* @return {@link BaseResponse}
|
||||
*/
|
||||
@GetMapping("/role/get")
|
||||
public BaseResponse roleGet(HttpServletRequest request, @RequestParam @Nullable String id) {
|
||||
public BaseResponse roleGet(HttpServletRequest request, @RequestParam(required = false) String id) {
|
||||
log.info("请求接口[GET]: /role/get");
|
||||
return roleService.roleGet(request, id);
|
||||
}
|
||||
|
@ -3,13 +3,14 @@ package com.jsl.oa.controllers;
|
||||
import com.jsl.oa.model.voData.UserAddVo;
|
||||
import com.jsl.oa.model.voData.UserAllCurrentVO;
|
||||
import com.jsl.oa.model.voData.UserEditProfileVO;
|
||||
import com.jsl.oa.model.voData.UserEditVo;
|
||||
import com.jsl.oa.model.voData.UserEditVO;
|
||||
import com.jsl.oa.services.UserService;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
import com.jsl.oa.utils.ErrorCode;
|
||||
import com.jsl.oa.utils.Processing;
|
||||
import com.jsl.oa.utils.ResultUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.lang.Nullable;
|
||||
import org.springframework.validation.BindingResult;
|
||||
@ -30,6 +31,7 @@ import java.util.regex.Pattern;
|
||||
* @see UserEditProfileVO
|
||||
* @since v1.0.0
|
||||
*/
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class UserController {
|
||||
@ -95,10 +97,6 @@ public class UserController {
|
||||
*/
|
||||
@GetMapping("/user/current")
|
||||
public BaseResponse userCurrent(HttpServletRequest request, @RequestParam @Nullable String id, @RequestParam @Nullable String username, @RequestParam @Nullable String email, @RequestParam @Nullable String phone) {
|
||||
// 判断是否有参数错误
|
||||
if (id == null && username == null && email == null && phone == null) {
|
||||
return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
|
||||
}
|
||||
// 检查数据是否有问题
|
||||
ArrayList<String> arrayForError = new ArrayList<>();
|
||||
if (id != null && !id.isEmpty()) {
|
||||
@ -165,12 +163,13 @@ public class UserController {
|
||||
|
||||
|
||||
@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()) {
|
||||
return ResultUtil.error(ErrorCode.REQUEST_BODY_ERROR, Processing.getValidatedErrorList(bindingResult));
|
||||
}
|
||||
return userService.userEdit(userEditVo,request);
|
||||
return userService.userEdit(userEditVO,request);
|
||||
}
|
||||
|
||||
|
||||
|
@ -13,8 +13,8 @@ import java.util.List;
|
||||
public class RoleDAO {
|
||||
public final RoleMapper roleMapper;
|
||||
|
||||
public void roleAddUser(Long uid,Long rid) {
|
||||
roleMapper.roleAddUser(uid,rid);
|
||||
public void roleAddUser(Long uid, Long rid) {
|
||||
roleMapper.roleAddUser(uid, rid);
|
||||
}
|
||||
|
||||
public void roleRemoveUser(Long uid) {
|
||||
@ -35,7 +35,9 @@ public class RoleDAO {
|
||||
return roleMapper.getRole();
|
||||
}
|
||||
|
||||
public void roleAdd(RoleDO roleDO) { roleMapper.roleAdd(roleDO);}
|
||||
public void roleAdd(RoleDO roleDO) {
|
||||
roleMapper.roleAdd(roleDO);
|
||||
}
|
||||
|
||||
public boolean roleEdit(RoleDO getRole) {
|
||||
return roleMapper.roleEdit(getRole);
|
||||
@ -45,12 +47,12 @@ public class RoleDAO {
|
||||
return roleMapper.roleDelete(id);
|
||||
}
|
||||
|
||||
public boolean isExistRoleByRoleName(String roleName){
|
||||
public boolean isExistRoleByRoleName(String roleName) {
|
||||
RoleDO roleDO = roleMapper.getRoleByRoleName(roleName);
|
||||
return roleDO != null;
|
||||
}
|
||||
|
||||
public boolean roleChangeUser(Long uid, Long rid) {
|
||||
return roleMapper.roleChangeUser(uid,rid);
|
||||
return roleMapper.roleChangeUser(uid, rid);
|
||||
}
|
||||
}
|
||||
|
@ -7,15 +7,20 @@ import com.jsl.oa.model.doData.RoleUserDO;
|
||||
import com.jsl.oa.model.doData.UserCurrentDO;
|
||||
import com.jsl.oa.model.doData.UserDO;
|
||||
import com.jsl.oa.model.voData.UserAllCurrentVO;
|
||||
import com.jsl.oa.model.voData.UserCurrentBackVO;
|
||||
import com.jsl.oa.model.voData.UserEditProfileVO;
|
||||
import com.jsl.oa.utils.Processing;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@RequiredArgsConstructor
|
||||
public class UserDAO {
|
||||
@ -50,9 +55,7 @@ public class UserDAO {
|
||||
* @return
|
||||
*/
|
||||
public Boolean isExistUser(Long id) {
|
||||
if (userMapper.getUserById(id) == null) {
|
||||
return false;
|
||||
} else return true;
|
||||
return userMapper.getUserById(id) != null;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -77,15 +80,23 @@ public class UserDAO {
|
||||
userMapper.userEditProfile(userEditProfileVO);
|
||||
}
|
||||
|
||||
public List<UserCurrentDO> userCurrentAll(UserAllCurrentVO userAllCurrentVO) {
|
||||
List<UserCurrentDO> userCurrentDO = userMapper.getAllUser(userAllCurrentVO);
|
||||
return this.userCurrentAll(userCurrentDO);
|
||||
public List<UserCurrentBackVO> userCurrentAll(UserAllCurrentVO userAllCurrentVO) {
|
||||
List<UserDO> userCurrentDO = userMapper.getAllUser(userAllCurrentVO);
|
||||
List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>();
|
||||
userCurrentDO.forEach(it -> {
|
||||
userCurrentDOList.add(Processing.ReturnUserInfo(it, roleMapper));
|
||||
});
|
||||
return userCurrentDOList;
|
||||
|
||||
}
|
||||
|
||||
public List<UserCurrentDO> userCurrentAllLike(UserAllCurrentVO userAllCurrentVO) {
|
||||
List<UserCurrentDO> userCurrentDO = userMapper.getAllUserBySearch(userAllCurrentVO);
|
||||
return this.userCurrentAll(userCurrentDO);
|
||||
public List<UserCurrentBackVO> userCurrentAllLike(UserAllCurrentVO userAllCurrentVO) {
|
||||
List<UserDO> userCurrentDO = userMapper.getAllUserBySearch(userAllCurrentVO);
|
||||
List<UserCurrentBackVO> userCurrentDOList = new ArrayList<>();
|
||||
userCurrentDO.forEach(it -> {
|
||||
userCurrentDOList.add(Processing.ReturnUserInfo(it, roleMapper));
|
||||
});
|
||||
return userCurrentDOList;
|
||||
}
|
||||
|
||||
@Contract("_ -> param1")
|
||||
@ -172,6 +183,7 @@ public class UserDAO {
|
||||
}
|
||||
|
||||
public void userEdit(UserDO userDO) {
|
||||
log.info("> 执行 DAO 层 userEdit 方法");
|
||||
userMapper.updateUser(userDO);
|
||||
}
|
||||
|
||||
@ -207,6 +219,7 @@ public class UserDAO {
|
||||
* @Param userId
|
||||
**/
|
||||
public UserDO getUserById(Long userId) {
|
||||
log.info("> 执行 DAO 层 getUserById 方法");
|
||||
return userMapper.getUserById(userId);
|
||||
}
|
||||
|
||||
@ -241,4 +254,12 @@ public class UserDAO {
|
||||
public List<UserDO> getRecommendUser(){
|
||||
return userMapper.getRecommendUser();
|
||||
}
|
||||
|
||||
public UserDO getUserByEmail(String email) {
|
||||
return userMapper.getUserByEmail(email);
|
||||
}
|
||||
|
||||
public UserDO getUserByPhone(String phone) {
|
||||
return userMapper.getUserByPhone(phone);
|
||||
}
|
||||
}
|
||||
|
@ -1,6 +1,5 @@
|
||||
package com.jsl.oa.mapper;
|
||||
|
||||
import com.jsl.oa.dao.UserDAO;
|
||||
import com.jsl.oa.model.doData.RoleDO;
|
||||
import com.jsl.oa.model.doData.RoleUserDO;
|
||||
import com.jsl.oa.model.doData.UserCurrentDO;
|
||||
@ -52,14 +51,14 @@ public interface UserMapper {
|
||||
boolean updateUserPassword(Long id, String newPassword);
|
||||
|
||||
@Select("SELECT * FROM organize_oa.oa_user ORDER BY `id` DESC LIMIT #{page},#{limit}")
|
||||
List<UserCurrentDO> getAllUser(UserAllCurrentVO userAllCurrentVO);
|
||||
List<UserDO> getAllUser(UserAllCurrentVO userAllCurrentVO);
|
||||
|
||||
@Select("SELECT * FROM organize_oa.oa_user " +
|
||||
"WHERE username LIKE CONCAT('%',#{search},'%') " +
|
||||
"OR email LIKE CONCAT('%',#{search},'%') " +
|
||||
"OR phone LIKE CONCAT('%',#{search},'%') " +
|
||||
"ORDER BY `id` LIMIT #{page},#{limit}")
|
||||
List<UserCurrentDO> getAllUserBySearch(UserAllCurrentVO userAllCurrentVO);
|
||||
List<UserDO> getAllUserBySearch(UserAllCurrentVO userAllCurrentVO);
|
||||
|
||||
@Select("SELECT * FROM organize_oa.oa_user WHERE id = #{uid}")
|
||||
UserCurrentDO getUserCurrentById(Long uid);
|
||||
@ -92,4 +91,9 @@ public interface UserMapper {
|
||||
|
||||
void updateUser(UserDO userDO);
|
||||
|
||||
@Select("SELECT * FROM organize_oa.oa_user WHERE email = #{email}")
|
||||
UserDO getUserByEmail(String email);
|
||||
|
||||
@Select("SELECT * FROM organize_oa.oa_user WHERE phone = #{phone}")
|
||||
UserDO getUserByPhone(String phone);
|
||||
}
|
||||
|
54
src/main/java/com/jsl/oa/model/voData/UserCurrentBackVO.java
Executable file
54
src/main/java/com/jsl/oa/model/voData/UserCurrentBackVO.java
Executable file
@ -0,0 +1,54 @@
|
||||
package com.jsl.oa.model.voData;
|
||||
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.sql.Timestamp;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <h1>用户注册成功UserDO自定义实体类</h1>
|
||||
* <hr/>
|
||||
* 用于处理用户注册表单输出的数据
|
||||
*
|
||||
* @author 筱锋xiao_lfeng
|
||||
* @version v1.1.0
|
||||
* @since v1.1.0
|
||||
*/
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class UserCurrentBackVO {
|
||||
private ReturnUser user;
|
||||
private ReturnUserRole role;
|
||||
private List<String> permission;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public static class ReturnUserRole {
|
||||
private Long rid;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public static class ReturnUser {
|
||||
private Long id;
|
||||
private String jobId;
|
||||
private String username;
|
||||
private String address;
|
||||
private String phone;
|
||||
private String email;
|
||||
private Short age;
|
||||
private String signature;
|
||||
private String avatar;
|
||||
private String nickname;
|
||||
private Short sex;
|
||||
private Boolean enabled;
|
||||
private Boolean accountNoExpired;
|
||||
private Boolean credentialsNoExpired;
|
||||
private Boolean recommend;
|
||||
private Boolean accountNoLocked;
|
||||
private String description;
|
||||
private Timestamp createdAt;
|
||||
private Timestamp updatedAt;
|
||||
}
|
||||
}
|
@ -1,10 +1,10 @@
|
||||
package com.jsl.oa.model.voData;
|
||||
|
||||
import com.jsl.oa.model.doData.RoleUserDO;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import lombok.Data;
|
||||
import lombok.experimental.Accessors;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <h1>用户注册成功UserDO自定义实体类</h1>
|
||||
* <hr/>
|
||||
@ -14,17 +14,27 @@ import lombok.experimental.Accessors;
|
||||
* @version v1.1.0
|
||||
* @since v1.1.0
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public class UserReturnBackVO {
|
||||
private ReturnUser user;
|
||||
private ReturnUserRole role;
|
||||
private String token;
|
||||
private List<String> permission;
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public static class ReturnUserRole {
|
||||
private Long rid;
|
||||
}
|
||||
|
||||
@Data
|
||||
@Accessors(chain = true)
|
||||
public static class ReturnUser {
|
||||
private Long id;
|
||||
private String jobId;
|
||||
private String username;
|
||||
private String address;
|
||||
private String phone;
|
||||
private String email;
|
||||
private Short age;
|
||||
private Short sex;
|
||||
private String token;
|
||||
private RoleUserDO role;
|
||||
}
|
||||
}
|
||||
|
@ -4,7 +4,7 @@ import com.jsl.oa.model.doData.UserDO;
|
||||
import com.jsl.oa.model.voData.UserAddVo;
|
||||
import com.jsl.oa.model.voData.UserAllCurrentVO;
|
||||
import com.jsl.oa.model.voData.UserEditProfileVO;
|
||||
import com.jsl.oa.model.voData.UserEditVo;
|
||||
import com.jsl.oa.model.voData.UserEditVO;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
@ -86,7 +86,7 @@ public interface UserService {
|
||||
|
||||
BaseResponse userAdd(UserAddVo userAddVo, HttpServletRequest request);
|
||||
|
||||
BaseResponse userEdit(UserEditVo userEditVo, HttpServletRequest request);
|
||||
BaseResponse userEdit(UserEditVO userEditVo, HttpServletRequest request);
|
||||
|
||||
|
||||
BaseResponse userProfileGet(HttpServletRequest request);
|
||||
|
@ -12,12 +12,14 @@ import com.jsl.oa.utils.*;
|
||||
import com.jsl.oa.utils.redis.EmailRedisUtil;
|
||||
import com.jsl.oa.utils.redis.TokenRedisUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.mindrot.jbcrypt.BCrypt;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.ArrayList;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
/**
|
||||
@ -29,6 +31,7 @@ import java.util.regex.Pattern;
|
||||
* @see AuthService
|
||||
* @since v1.0.0
|
||||
*/
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class AuthServiceImpl implements AuthService {
|
||||
@ -78,15 +81,19 @@ public class AuthServiceImpl implements AuthService {
|
||||
UserDO userDO;
|
||||
if (Pattern.matches("^[0-9A-Za-z_]{3,40}$", userLoginVO.getUser())) {
|
||||
// 是否为用户名
|
||||
log.info("userLogin: 用户名登陆");
|
||||
userDO = userMapper.getUserInfoByUsername(userLoginVO.getUser());
|
||||
} else 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}$", userLoginVO.getUser())) {
|
||||
// 是否为手机号
|
||||
log.info("userLogin: 手机号登陆");
|
||||
userDO = userMapper.getUserInfoByPhone(userLoginVO.getUser());
|
||||
} else if (Pattern.matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$", userLoginVO.getUser())) {
|
||||
// 是否为邮箱
|
||||
log.info("userLogin: 邮箱登陆");
|
||||
return ResultUtil.error(ErrorCode.EMAIL_LOGIN_NOT_SUPPORT);
|
||||
} else {
|
||||
// 工号
|
||||
log.info("userLogin: 工号登陆");
|
||||
userDO = userMapper.getUserByJobId(userLoginVO.getUser());
|
||||
}
|
||||
if (userDO != null) {
|
||||
@ -236,15 +243,16 @@ public class AuthServiceImpl implements AuthService {
|
||||
} else {
|
||||
getUserRole.setUid(null);
|
||||
}
|
||||
userReturnBackVO.setAddress(userDO.getAddress())
|
||||
.setAge(userDO.getAge())
|
||||
.setEmail(userDO.getEmail())
|
||||
userReturnBackVO.setUser(new UserReturnBackVO.ReturnUser()
|
||||
.setId(userDO.getId())
|
||||
.setJobId(userDO.getJobId())
|
||||
.setPhone(userDO.getPhone())
|
||||
.setSex(userDO.getSex())
|
||||
.setUsername(userDO.getUsername())
|
||||
.setEmail(userDO.getEmail())
|
||||
.setPhone(userDO.getPhone()))
|
||||
.setRole(new UserReturnBackVO.ReturnUserRole()
|
||||
.setRid(getUserRole.getRid()))
|
||||
.setToken(token)
|
||||
.setRole(getUserRole);
|
||||
.setPermission(new ArrayList<>());
|
||||
return ResultUtil.success("登陆成功", userReturnBackVO);
|
||||
}
|
||||
}
|
||||
|
@ -3,7 +3,6 @@ package com.jsl.oa.services.impl;
|
||||
import com.jsl.oa.dao.InfoDAO;
|
||||
import com.jsl.oa.dao.UserDAO;
|
||||
import com.jsl.oa.mapper.RoleMapper;
|
||||
import com.jsl.oa.model.doData.UserCurrentDO;
|
||||
import com.jsl.oa.model.doData.UserDO;
|
||||
import com.jsl.oa.model.doData.info.CarouselDO;
|
||||
import com.jsl.oa.model.voData.UserProfileVo;
|
||||
@ -144,31 +143,31 @@ public class InfoServiceImpl implements InfoService {
|
||||
|
||||
@Override
|
||||
public BaseResponse getHeaderUser(HttpServletRequest request, String order, String orderBy) {
|
||||
// 用户权限校验
|
||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
// 默认无参数情况
|
||||
if (order == null) {
|
||||
order = "asc";
|
||||
}
|
||||
if (orderBy == null) {
|
||||
orderBy = "userId";
|
||||
}
|
||||
// 检查参数是否错误
|
||||
if( !(order.equals("asc")||order.equals("desc")) || !(orderBy.equals("userName")||orderBy.equals("userId")) ){
|
||||
if (!(order.equals("asc") || order.equals("desc")) || !(orderBy.equals("userName") || orderBy.equals("userId"))) {
|
||||
return ResultUtil.error(ErrorCode.PARAMETER_ERROR);
|
||||
}
|
||||
//获取用户信息
|
||||
List<UserDO> userDOS = userDAO.getRecommendUser();
|
||||
//进行排序
|
||||
userDOS = Processing.orderUser(userDOS,order,orderBy);
|
||||
Processing.orderUser(userDOS, order, orderBy);
|
||||
//封装VO类
|
||||
List<UserProfileVo> userProfileVos = new ArrayList<>();
|
||||
for(UserDO userDO :userDOS){
|
||||
for (UserDO userDO : userDOS) {
|
||||
UserProfileVo userProfileVo = new UserProfileVo();
|
||||
Processing.copyProperties(userDO,userProfileVo);
|
||||
Processing.copyProperties(userDO, userProfileVo);
|
||||
userProfileVo.setSex(Processing.getSex(userDO.getSex()));
|
||||
userProfileVos.add(userProfileVo);
|
||||
}
|
||||
|
||||
|
||||
return ResultUtil.success(userProfileVos);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -6,20 +6,17 @@ import com.jsl.oa.mapper.RoleMapper;
|
||||
import com.jsl.oa.model.doData.ProjectCuttingDO;
|
||||
import com.jsl.oa.model.doData.ProjectDO;
|
||||
import com.jsl.oa.model.doData.UserDO;
|
||||
import com.jsl.oa.model.doData.info.CarouselDO;
|
||||
import com.jsl.oa.model.doData.info.ProjectShowDO;
|
||||
import com.jsl.oa.model.voData.ProjectInfoVO;
|
||||
import com.jsl.oa.model.voData.business.info.ProjectShowVO;
|
||||
import com.jsl.oa.services.ProjectService;
|
||||
import com.jsl.oa.services.UserService;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
import com.jsl.oa.utils.ErrorCode;
|
||||
import com.jsl.oa.utils.Processing;
|
||||
import com.jsl.oa.utils.ResultUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.sql.Timestamp;
|
||||
@ -42,7 +39,7 @@ public class ProjectServiceImpl implements ProjectService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public BaseResponse projectEdit(ProjectInfoVO projectEdit) {
|
||||
public BaseResponse projectEdit(@NotNull ProjectInfoVO projectEdit) {
|
||||
//判断项目是否存在
|
||||
if(projectDAO.isExistProject(projectEdit.getId())) {
|
||||
projectDAO.projectEdit(projectEdit);
|
||||
|
@ -7,7 +7,10 @@ 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.*;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
import com.jsl.oa.utils.ErrorCode;
|
||||
import com.jsl.oa.utils.Processing;
|
||||
import com.jsl.oa.utils.ResultUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@ -40,22 +43,21 @@ public class RoleServiceImpl implements RoleService {
|
||||
|
||||
@Override
|
||||
public BaseResponse roleChangeUser(HttpServletRequest request, Long uid, Long rid) {
|
||||
|
||||
//检测用户是否存在
|
||||
if(!userDAO.isExistUser(uid)){
|
||||
if (!userDAO.isExistUser(uid)) {
|
||||
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
||||
}
|
||||
//检测要改变的用户权限是否为自己
|
||||
String token = request.getHeader("Authorization").replace("Bearer ", "");
|
||||
if(uid == JwtUtil.getUserId(token)){
|
||||
if (uid.equals(Processing.getAuthHeaderToUserId(request))) {
|
||||
return ResultUtil.error(ErrorCode.USER_NOT_CHANGE_TO_THEMSELVES);
|
||||
}
|
||||
//检测用户权限是否为管理员
|
||||
if (Processing.checkUserIsAdmin(request, roleDAO.roleMapper)) {
|
||||
if (!roleDAO.roleChangeUser(uid, rid)) {
|
||||
return ResultUtil.error(ErrorCode.DATABASE_UPDATE_ERROR);
|
||||
}
|
||||
if (roleDAO.roleChangeUser(uid, rid)) {
|
||||
return ResultUtil.success();
|
||||
} else {
|
||||
return ResultUtil.error(ErrorCode.PLEASE_ASSIGN_ROLE_TO_USER);
|
||||
}
|
||||
} else return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
|
||||
@ -125,7 +127,6 @@ public class RoleServiceImpl implements RoleService {
|
||||
} else {
|
||||
return ResultUtil.error(ErrorCode.ROLE_NOT_FOUNDED);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -145,9 +146,6 @@ public class RoleServiceImpl implements RoleService {
|
||||
}
|
||||
//向数据库中插入数据
|
||||
roleDAO.roleAdd(roleDO);
|
||||
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -2,13 +2,15 @@ package com.jsl.oa.services.impl;
|
||||
|
||||
import com.jsl.oa.dao.UserDAO;
|
||||
import com.jsl.oa.mapper.RoleMapper;
|
||||
import com.jsl.oa.model.doData.RoleUserDO;
|
||||
import com.jsl.oa.model.doData.UserCurrentDO;
|
||||
import com.jsl.oa.model.doData.UserDO;
|
||||
import com.jsl.oa.model.voData.*;
|
||||
import com.jsl.oa.services.UserService;
|
||||
import com.jsl.oa.utils.*;
|
||||
import com.jsl.oa.utils.BaseResponse;
|
||||
import com.jsl.oa.utils.ErrorCode;
|
||||
import com.jsl.oa.utils.Processing;
|
||||
import com.jsl.oa.utils.ResultUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.mindrot.jbcrypt.BCrypt;
|
||||
import org.springframework.stereotype.Service;
|
||||
@ -18,6 +20,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@Slf4j
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class UserServiceImpl implements UserService {
|
||||
@ -80,7 +83,7 @@ public class UserServiceImpl implements UserService {
|
||||
userAllCurrentVO.setPage((userAllCurrentVO.getPage() - 1) * userAllCurrentVO.getLimit());
|
||||
}
|
||||
// 检查是否处于模糊查询
|
||||
List<UserCurrentDO> userAllCurrentVOList;
|
||||
List<UserCurrentBackVO> userAllCurrentVOList;
|
||||
if (userAllCurrentVO.getSearch() != null && !userAllCurrentVO.getSearch().isEmpty()) {
|
||||
if (Pattern.matches("^[0-9A-Za-z_@]+$", userAllCurrentVO.getSearch())) {
|
||||
userAllCurrentVOList = userDAO.userCurrentAllLike(userAllCurrentVO);
|
||||
@ -101,39 +104,46 @@ public class UserServiceImpl implements UserService {
|
||||
|
||||
@Override
|
||||
public BaseResponse userCurrent(HttpServletRequest request, String id, String username, String email, String phone) {
|
||||
if (id == null && username == null && email == null && phone == null) {
|
||||
// Token获取信息
|
||||
UserDO userDO = userDAO.getUserById(Processing.getAuthHeaderToUserId(request));
|
||||
if (userDO != null) {
|
||||
return ResultUtil.success(Processing.ReturnUserInfo(userDO, roleMapper));
|
||||
} else {
|
||||
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
||||
}
|
||||
} else {
|
||||
// 检查是否是管理员用户
|
||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
// 根据顺序优先级进行用户信息获取
|
||||
UserCurrentDO userCurrentDO = null;
|
||||
UserDO userDO = null;
|
||||
if (id != null && !id.isEmpty()) {
|
||||
userCurrentDO = userDAO.userCurrentById(Long.valueOf(id));
|
||||
userDO = userDAO.getUserById(Long.valueOf(id));
|
||||
} else if (username != null && !username.isEmpty()) {
|
||||
userCurrentDO = userDAO.userCurrentByUsername(username);
|
||||
userDO = userDAO.getUserInfoByUsername(username);
|
||||
} else if (email != null && !email.isEmpty()) {
|
||||
userCurrentDO = userDAO.userCurrentByEmail(email);
|
||||
userDO = userDAO.getUserByEmail(email);
|
||||
} else if (phone != null && !phone.isEmpty()) {
|
||||
userCurrentDO = userDAO.userCurrentByPhone(phone);
|
||||
userDO = userDAO.getUserByPhone(phone);
|
||||
}
|
||||
// 返回结果
|
||||
if (userCurrentDO != null) {
|
||||
return ResultUtil.success(userCurrentDO);
|
||||
if (userDO != null) {
|
||||
return ResultUtil.success(Processing.ReturnUserInfo(userDO, roleMapper));
|
||||
} else {
|
||||
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public BaseResponse userAdd(UserAddVo userAddVo, HttpServletRequest request) {
|
||||
|
||||
//检测用户是否为管理员
|
||||
BaseResponse checkManagerResult = isManager(request);
|
||||
if (checkManagerResult.getCode() != 200) {
|
||||
return checkManagerResult;
|
||||
// 检测用户是否为管理员
|
||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
|
||||
//如果用户不重复,添加用户
|
||||
if (!userDAO.isRepeatUser(userAddVo.getUsername())) {
|
||||
// 生成工号
|
||||
@ -164,22 +174,32 @@ public class UserServiceImpl implements UserService {
|
||||
|
||||
|
||||
@Override
|
||||
public BaseResponse userEdit(UserEditVo userEditVo, HttpServletRequest request) {
|
||||
//检测用户是否为管理员
|
||||
BaseResponse checkManagerResult = isManager(request);
|
||||
if (checkManagerResult.getCode() != 200) {
|
||||
return checkManagerResult;
|
||||
public BaseResponse userEdit(UserEditVO userEditVO, HttpServletRequest request) {
|
||||
log.info("> 执行 Service 层 userEdit 方法");
|
||||
// 检测用户是否为管理员
|
||||
if (!Processing.checkUserIsAdmin(request, roleMapper)) {
|
||||
return ResultUtil.error(ErrorCode.NOT_ADMIN);
|
||||
}
|
||||
|
||||
//根据id获取用户信息
|
||||
UserDO userDO = userDAO.getUserById(userEditVo.getId());
|
||||
UserDO userDO = userDAO.getUserById(userEditVO.getId());
|
||||
if (userDO == null) {
|
||||
return ResultUtil.error(ErrorCode.USER_NOT_EXIST);
|
||||
}
|
||||
|
||||
//修改非空属性
|
||||
Processing.copyProperties(userEditVo, userDO);
|
||||
|
||||
userDO.setAddress(userEditVO.getAddress())
|
||||
.setPhone(userEditVO.getPhone())
|
||||
.setEmail(userEditVO.getEmail())
|
||||
.setAge(userEditVO.getAge())
|
||||
.setSex(userEditVO.getSex())
|
||||
.setSignature(userEditVO.getSignature())
|
||||
.setAvatar(userEditVO.getAvatar())
|
||||
.setNickname(userEditVO.getNickname())
|
||||
.setDescription(userEditVO.getDescription())
|
||||
.setEnabled(userEditVO.getEnabled())
|
||||
.setAccountNoExpired(userEditVO.getIsExpired())
|
||||
.setCredentialsNoExpired(userEditVO.getPasswordExpired())
|
||||
.setRecommend(userEditVO.getRecommend())
|
||||
.setAccountNoLocked(userEditVO.getIsLocked());
|
||||
//向数据库中修改属性
|
||||
userDAO.userEdit(userDO);
|
||||
|
||||
@ -195,29 +215,4 @@ public class UserServiceImpl implements UserService {
|
||||
userProfileVo.setSex(Processing.getSex(userDO.getSex()));
|
||||
return ResultUtil.success(userProfileVo);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Description: 判断用户是否为管理员
|
||||
* @Date: 2024/1/18
|
||||
* @Param request: 请求头
|
||||
**/
|
||||
public BaseResponse isManager(HttpServletRequest request) {
|
||||
//获取token
|
||||
String originalAuthorization = request.getHeader("Authorization");
|
||||
String token = originalAuthorization.replace("Bearer ", "");
|
||||
//获取操作用户的权限
|
||||
RoleUserDO roleUserDO = userDAO.getRoleFromUser(JwtUtil.getUserId(token));
|
||||
//用户权限不为空
|
||||
if (roleUserDO == null) {
|
||||
return ResultUtil.error(ErrorCode.USER_ROLE_NOT_EXIST);
|
||||
}
|
||||
//用户权限应为管理员
|
||||
if (!userDAO.isManagerByRoleId(roleUserDO.getRid())) {
|
||||
return ResultUtil.error(ErrorCode.USER_ROLE_NOT_MANAGER);
|
||||
}
|
||||
return ResultUtil.success();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -25,6 +25,7 @@ public enum ErrorCode {
|
||||
NOT_ADMIN("NotAdmin", 40302, "不是管理员"),
|
||||
EMAIL_LOGIN_NOT_SUPPORT("EmailLoginNotSupport", 40303, "请使用邮箱登陆"),
|
||||
PASSWORD_NOT_SAME("PasswordNotSame", 40304, "两次密码不一致"),
|
||||
PLEASE_ASSIGN_ROLE_TO_USER("PleaseAssignRoleToUser", 40305, "请为用户添加角色"),
|
||||
ID_NOT_EXIST("IdNotExist", 40400, "ID不存在"),
|
||||
ROLE_NOT_FOUNDED("RoleNotFounded", 40401, "角色不存在"),
|
||||
ROLE_NAME_REPEAT("RoleNameRepeat", 40402, "角色名称重复"),
|
||||
|
@ -7,7 +7,7 @@ import com.jsl.oa.model.doData.RoleDO;
|
||||
import com.jsl.oa.model.doData.RoleUserDO;
|
||||
import com.jsl.oa.model.doData.UserDO;
|
||||
import com.jsl.oa.model.voData.PermissionContentVo;
|
||||
import com.jsl.oa.model.voData.UserProfileVo;
|
||||
import com.jsl.oa.model.voData.UserCurrentBackVO;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
import org.springframework.validation.BindingResult;
|
||||
@ -15,6 +15,7 @@ import org.springframework.validation.ObjectError;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.lang.reflect.Field;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
@ -166,8 +167,7 @@ public class Processing {
|
||||
public static @NotNull Boolean checkUserIsAdmin(HttpServletRequest request, @NotNull RoleMapper roleMapper) {
|
||||
RoleUserDO roleUserDO = roleMapper.getRoleUserByUid(Processing.getAuthHeaderToUserId(request));
|
||||
if (roleUserDO != null) {
|
||||
//默认主键为1的用户为管理员
|
||||
RoleDO roleDO = roleMapper.getRoleById(Long.valueOf(1));
|
||||
RoleDO roleDO = roleMapper.getRoleByRoleName("admin");
|
||||
return roleUserDO.getRid().equals(roleDO.getId());
|
||||
} else {
|
||||
return false;
|
||||
@ -247,6 +247,50 @@ public class Processing {
|
||||
return " ";
|
||||
}
|
||||
|
||||
/**
|
||||
* <h2>封装返回内容</h2>
|
||||
* <hr/>
|
||||
* 封装返回内容
|
||||
*
|
||||
* @param userDO 用户信息
|
||||
* @return {@link BaseResponse}
|
||||
*/
|
||||
public static @NotNull UserCurrentBackVO ReturnUserInfo(@NotNull UserDO userDO, RoleMapper roleMapper) {
|
||||
UserCurrentBackVO userCurrentBackVO = new UserCurrentBackVO();
|
||||
// 获取用户角色
|
||||
RoleUserDO getUserRole = roleMapper.getRoleUserByUid(userDO.getId());
|
||||
if (getUserRole == null) {
|
||||
getUserRole = new RoleUserDO();
|
||||
getUserRole.setRid(0L)
|
||||
.setCreatedAt(new Timestamp(System.currentTimeMillis()));
|
||||
} else {
|
||||
getUserRole.setUid(null);
|
||||
}
|
||||
userCurrentBackVO.setUser(new UserCurrentBackVO.ReturnUser()
|
||||
.setId(userDO.getId())
|
||||
.setJobId(userDO.getJobId())
|
||||
.setUsername(userDO.getUsername())
|
||||
.setAddress(userDO.getAddress())
|
||||
.setPhone(userDO.getPhone())
|
||||
.setEmail(userDO.getEmail())
|
||||
.setAge(userDO.getAge())
|
||||
.setSignature(userDO.getSignature())
|
||||
.setAvatar(userDO.getAvatar())
|
||||
.setNickname(userDO.getNickname())
|
||||
.setSex(userDO.getSex())
|
||||
.setEnabled(userDO.getEnabled())
|
||||
.setAccountNoExpired(userDO.getAccountNoExpired())
|
||||
.setCredentialsNoExpired(userDO.getCredentialsNoExpired())
|
||||
.setRecommend(userDO.getRecommend())
|
||||
.setAccountNoLocked(userDO.getAccountNoLocked())
|
||||
.setDescription(userDO.getDescription())
|
||||
.setCreatedAt(userDO.getCreatedAt())
|
||||
.setUpdatedAt(userDO.getUpdatedAt()))
|
||||
.setRole(new UserCurrentBackVO.ReturnUserRole()
|
||||
.setRid(getUserRole.getRid()))
|
||||
.setPermission(new ArrayList<>());
|
||||
return userCurrentBackVO;
|
||||
}
|
||||
|
||||
public static List<UserDO> orderUser(List<UserDO> userDOS,String order,String orderBy){
|
||||
|
||||
|
@ -34,24 +34,24 @@ public class ResultUtil {
|
||||
|
||||
@Contract("_ -> new")
|
||||
public static @NotNull BaseResponse error(@NotNull ErrorCode errorCode) {
|
||||
log.warn("失败: 错误码[" + errorCode.getCode() + "]: {} - {}", errorCode.getOutput(), errorCode.getMessage());
|
||||
log.warn("失败: 错误码[" + errorCode.getCode() + "] {} - {}", errorCode.getOutput(), errorCode.getMessage());
|
||||
return new BaseResponse(errorCode.getOutput(), errorCode.getCode(), errorCode.getMessage());
|
||||
}
|
||||
|
||||
@Contract("_, _ -> new")
|
||||
public static @NotNull BaseResponse error(@NotNull ErrorCode errorCode, Object data) {
|
||||
log.warn("失败: 错误码[" + errorCode.getCode() + "]: {} - {}", errorCode.getOutput(), errorCode.getMessage());
|
||||
log.warn("失败: 错误码[" + errorCode.getCode() + "] {} - {}", errorCode.getOutput(), errorCode.getMessage());
|
||||
return new BaseResponse(errorCode.getOutput(), errorCode.getCode(), errorCode.getMessage(), data);
|
||||
}
|
||||
|
||||
@Contract(value = "_, _, _, _ -> new", pure = true)
|
||||
public static @NotNull BaseResponse error(String output, Integer code, String message, Object data) {
|
||||
log.warn("失败: 错误码[" + code + "]: {} - {}", output, message);
|
||||
log.warn("失败: 错误码[" + code + "] {} - {}", output, message);
|
||||
return new BaseResponse(output, code, message, data);
|
||||
}
|
||||
|
||||
public static @NotNull ResponseEntity<BaseResponse> error(String output, Integer code, String message) {
|
||||
log.warn("失败: 错误码[" + code + "]: {} - {}", output, message);
|
||||
log.warn("失败: 错误码[" + code + "] {} - {}", output, message);
|
||||
return ResponseEntity.status(code)
|
||||
.body(new BaseResponse(output, code, message));
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user