提交 c488464e 作者: 方治民

feat: 统一采用抛出异常的方式来处理业务异常返回

上级 1f2a6b07
......@@ -94,7 +94,7 @@ public class ExampleController {
User user = auths.getLoginUser();
Optional<UserExtension> optional = userExtensionRepository.findOne(Example.of(new UserExtension(user)));
if (optional.isEmpty()) {
return Result.no(Status.NOT_FOUND);
throw Status.NOT_FOUND.exception();
}
UserExtension ext = optional.get();
......
......@@ -3,6 +3,8 @@
example.hello=\uD83D\uDE0E Hello World
# \u4E1A\u52A1\u72B6\u6001\u7801\u9519\u8BEF\u6D88\u606F
Code.0=OK
Code.1001=\u6743\u9650\u6807\u8BC6\u91CD\u590D
Code.1002=\u89D2\u8272\u6807\u8BC6\u91CD\u590D
Code.100000=\u7528\u6237\u540D\u5DF2\u5B58\u5728
Code.100001=\u624B\u673A\u53F7\u5DF2\u5B58\u5728
Code.100002=\u90AE\u7BB1\u5DF2\u5B58\u5728
......
......@@ -3,6 +3,8 @@
example.hello=\uD83D\uDE0E Hello World
# \u4E1A\u52A1\u72B6\u6001\u7801\u9519\u8BEF\u6D88\u606F
Code.0=OK
Code.1001=\u6743\u9650\u6807\u8BC6\u91CD\u590D
Code.1002=\u89D2\u8272\u6807\u8BC6\u91CD\u590D
Code.100000=\u7528\u6237\u540D\u5DF2\u5B58\u5728
Code.100001=\u624B\u673A\u53F7\u5DF2\u5B58\u5728
Code.100002=\u90AE\u7BB1\u5DF2\u5B58\u5728
......
......@@ -11,7 +11,7 @@ import com.yiring.auth.param.auth.LoginParam;
import com.yiring.auth.param.auth.RegisterParam;
import com.yiring.auth.vo.auth.LoginVo;
import com.yiring.common.core.Result;
import com.yiring.common.core.Status;
import com.yiring.common.exception.BusinessException;
import com.yiring.common.util.Commons;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
......@@ -53,20 +53,20 @@ public class AuthController {
// 检查用户名是否存在
long count = userRepository.count(Example.of(User.builder().username(param.getUsername()).build()));
if (count > 0) {
throw Status.BAD_REQUEST.exception("Code.100000");
throw BusinessException.i18n("Code.100000");
}
// 检查手机号是否存在
count = userRepository.count(Example.of(User.builder().mobile(param.getMobile()).build()));
if (count > 0) {
throw Status.BAD_REQUEST.exception("Code.100001");
throw BusinessException.i18n("Code.100001");
}
// 检查邮箱是否存在
if (StrUtil.isNotBlank(param.getEmail())) {
count = userRepository.count(Example.of(User.builder().email(param.getEmail()).build()));
if (count > 0) {
throw Status.BAD_REQUEST.exception("Code.100002");
throw BusinessException.i18n("Code.100002");
}
}
......@@ -91,23 +91,23 @@ public class AuthController {
// 查询用户信息是否匹配
User user = userRepository.findByAccount(param.getAccount());
if (user == null) {
throw Status.BAD_REQUEST.exception("Code.100003");
throw BusinessException.i18n("Code.100003");
}
// 检查密码
String cps = SaSecureUtil.sha256(param.getPassword());
if (!cps.equals(user.getPassword())) {
throw Status.BAD_REQUEST.exception("Code.100003");
throw BusinessException.i18n("Code.100003");
}
// 检查用户是否已被删除
if (user.getDeleteTime() != null) {
throw Status.BAD_REQUEST.exception("Code.100004");
throw BusinessException.i18n("Code.100004");
}
// 检查用户是否被允许登录
if (!Boolean.TRUE.equals(user.getEnabled())) {
throw Status.BAD_REQUEST.exception("Code.100005");
throw BusinessException.i18n("Code.100005");
}
// 更新用户信息
......
......@@ -12,6 +12,7 @@ import com.yiring.auth.util.Permissions;
import com.yiring.auth.vo.permission.PermissionVo;
import com.yiring.common.core.Result;
import com.yiring.common.core.Status;
import com.yiring.common.exception.BusinessException;
import com.yiring.common.param.IdParam;
import com.yiring.common.param.OptionalPidParam;
import com.yiring.common.param.PageParam;
......@@ -57,7 +58,7 @@ public class PermissionController {
@PostMapping("add")
public Result<String> add(@Valid PermissionParam param) {
if (has(param.getUid())) {
return Result.no(Status.BAD_REQUEST, "权限标识重复");
throw BusinessException.i18n("Code.1001");
}
Permission entity = new Permission();
......@@ -77,7 +78,7 @@ public class PermissionController {
if (!entity.getUid().equals(param.getUid())) {
// 仅当修改了角色标识时才检查重复
if (has(param.getUid())) {
return Result.no(Status.BAD_REQUEST, "权限标识重复");
throw BusinessException.i18n("Code.1001");
}
}
......@@ -135,6 +136,7 @@ public class PermissionController {
/**
* 根据父级 ID 获取当前树节点标识
*
* @param pid 父级 ID
* @return 树节点标识
*/
......@@ -149,6 +151,7 @@ public class PermissionController {
/**
* 检查是否存在已有相同标识的权限
*
* @param uid 权限标识
* @return 是否存在
*/
......
......@@ -11,6 +11,7 @@ import com.yiring.auth.util.Permissions;
import com.yiring.auth.vo.role.RoleVo;
import com.yiring.common.core.Result;
import com.yiring.common.core.Status;
import com.yiring.common.exception.BusinessException;
import com.yiring.common.param.IdParam;
import com.yiring.common.param.IdsParam;
import com.yiring.common.param.PageParam;
......@@ -56,7 +57,7 @@ public class RoleController {
@PostMapping("add")
public Result<String> add(@Valid RoleParam param) {
if (has(param.getUid())) {
return Result.no(Status.BAD_REQUEST, "角色标识重复");
throw BusinessException.i18n("Code.1002");
}
Role entity = new Role();
......@@ -70,14 +71,14 @@ public class RoleController {
public Result<String> modify(@Valid RoleParam param, @Valid IdParam idParam) {
Optional<Role> optional = roleRepository.findById(idParam.getId());
if (optional.isEmpty()) {
return Result.no(Status.NOT_FOUND);
throw Status.NOT_FOUND.exception();
}
Role entity = optional.get();
if (!entity.getUid().equals(param.getUid())) {
// 仅当修改了角色标识时才检查重复
if (has(param.getUid())) {
return Result.no(Status.BAD_REQUEST, "角色标识重复");
throw BusinessException.i18n("Code.1002");
}
}
......@@ -91,7 +92,7 @@ public class RoleController {
public Result<String> assign(@Valid IdParam idParam, @Valid IdsParam idsParam) {
Optional<Role> optional = roleRepository.findById(idParam.getId());
if (optional.isEmpty()) {
return Result.no(Status.NOT_FOUND);
throw Status.NOT_FOUND.exception();
}
// 查询权限集合
......@@ -117,7 +118,7 @@ public class RoleController {
public Result<RoleVo> find(@Valid IdParam param) {
Optional<Role> optional = roleRepository.findById(param.getId());
if (optional.isEmpty()) {
return Result.no(Status.NOT_FOUND);
throw Status.NOT_FOUND.exception();
}
Role entity = optional.get();
......@@ -146,6 +147,7 @@ public class RoleController {
/**
* 检查是否存在已有相同标识的角色
*
* @param uid 角色标识
* @return 是否存在
*/
......
Code.1001=\u6743\u9650\u6807\u8BC6\u91CD\u590D
Code.1002=\u89D2\u8272\u6807\u8BC6\u91CD\u590D
Code.1001=\u6743\u9650\u6807\u8BC6\u91CD\u590D
Code.1002=\u89D2\u8272\u6807\u8BC6\u91CD\u590D
Status.OK=OK
Status.NON_AUTHORITATIVE_INFORMATION=Non-Authoritative Information
Status.BAD_REQUEST=Bad Request
Status.UNAUTHORIZED=Unauthorized
Status.FORBIDDEN=Forbidden
Status.NOT_FOUND=Not Found
Status.METHOD_NOT_ALLOWED=Method Not Allowed
Status.EXPECTATION_FAILED=Expectation Failed
Status.INTERNAL_SERVER_ERROR=Internal Server Error
Status.UNKNOWN_ERROR=Unknown Error
Status.NOT_IMPLEMENTED=Not Implemented
Status.BAD_GATEWAY=Bad Gateway
Status.SERVICE_UNAVAILABLE=Service Unavailable
Status.OK=OK
Status.NON_AUTHORITATIVE_INFORMATION=\u8BA4\u8BC1\u5931\u8D25
Status.BAD_REQUEST=\u8BF7\u6C42\u5931\u8D25
Status.UNAUTHORIZED=\u51ED\u8BC1\u8FC7\u671F
Status.FORBIDDEN=\u7981\u6B62\u8BBF\u95EE
Status.NOT_FOUND=\u627E\u4E0D\u5230\u8D44\u6E90
Status.METHOD_NOT_ALLOWED=\u4E0D\u652F\u6301\u7684\u8BF7\u6C42\u7C7B\u578B
Status.EXPECTATION_FAILED=\u65E0\u6548\u53C2\u6570
Status.INTERNAL_SERVER_ERROR=\u670D\u52A1\u5668\u9519\u8BEF
Status.UNKNOWN_ERROR=\u672A\u77E5\u9519\u8BEF
Status.NOT_IMPLEMENTED=API \u672A\u5B9E\u73B0
Status.BAD_GATEWAY=\u670D\u52A1\u5F02\u5E38
Status.SERVICE_UNAVAILABLE=\u670D\u52A1\u6682\u505C
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论