Commit 49ff472e authored by 王俊权's avatar 王俊权

Merge remote-tracking branch 'origin/v1' into v1

parents 81b95099 5634c66d
...@@ -41,7 +41,7 @@ public class ChannelConfController { ...@@ -41,7 +41,7 @@ public class ChannelConfController {
@PostMapping("/info") @PostMapping("/info")
public Result channelList(Long channelId, String channelName, Integer pageNumber, Integer pageSize) { public Result channelList(Long channelId, String channelName, Integer pageNumber, Integer pageSize) {
if (pageNumber == null || pageSize == null) { if (pageNumber == null || pageSize == null) {
return Result.buildFial("page信息不对"); return Result.buildFail("page信息不对");
} }
return Result.buildSuccess(channelConfService.getChannelInfo(pageNumber, pageSize, channelId, channelName)); return Result.buildSuccess(channelConfService.getChannelInfo(pageNumber, pageSize, channelId, channelName));
} }
......
...@@ -45,7 +45,7 @@ public class OrderController { ...@@ -45,7 +45,7 @@ public class OrderController {
@GetMapping("/list") @GetMapping("/list")
public Result orderList(Long channelId, String channelOrderNumber, String applyNo, Long loanId, Integer pageNumber, Integer pageSize) { public Result orderList(Long channelId, String channelOrderNumber, String applyNo, Long loanId, Integer pageNumber, Integer pageSize) {
if (pageNumber == null || pageSize == null) { if (pageNumber == null || pageSize == null) {
return Result.buildFial("page信息不对"); return Result.buildFail("page信息不对");
} }
return Result.buildSuccess(orderService.orderList(channelId, channelOrderNumber, applyNo, loanId, pageNumber, pageSize)); return Result.buildSuccess(orderService.orderList(channelId, channelOrderNumber, applyNo, loanId, pageNumber, pageSize));
} }
......
...@@ -309,12 +309,6 @@ public class OrderServiceImpl implements OrderService{ ...@@ -309,12 +309,6 @@ public class OrderServiceImpl implements OrderService{
return new Tuple<>(false, "orderMapping为空或者loanId为空"); return new Tuple<>(false, "orderMapping为空或者loanId为空");
} }
OptHistoryLog optHistoryLogExsit = optHistoryLogService.findByChannelOrderNumberAndOptNameAndSuccess(channelOrderNumber, secondAudit);
if (optHistoryLogExsit != null) {
log.info("secondAudit,已经操作成功,channelOrderNumber=".concat(channelOrderNumber));
return new Tuple<>(true, "已经操作成功. 重复操作");
}
// 更新合同状态 // 更新合同状态
Contract conscont= xyqbCenterService.findContractByUserId(orderMapping.getQgUserId()); Contract conscont= xyqbCenterService.findContractByUserId(orderMapping.getQgUserId());
if (conscont != null) { if (conscont != null) {
...@@ -403,14 +397,21 @@ public class OrderServiceImpl implements OrderService{ ...@@ -403,14 +397,21 @@ public class OrderServiceImpl implements OrderService{
} else { } else {
// p2p // p2p
Map data = this.xyqbCenterService.queryLendingRecordCount(Long.valueOf(orderApprove.getFundId())); Map data = null;
try {
data = this.xyqbCenterService.queryLendingRecordCount(Long.valueOf(orderApprove.getFundId()));
} catch (Exception e) {
log.error("[order_lending][queryLendingRecordCount]查询待打款数量 失败,channelOrderNumber={}, data={}", lendingFormModel.getChannelOrderNumber(), data);
}
log.info("[order_lending][queryLendingRecordCount]查询待打款数量,channelOrderNumber={}, data={}", lendingFormModel.getChannelOrderNumber(), data); log.info("[order_lending][queryLendingRecordCount]查询待打款数量,channelOrderNumber={}, data={}", lendingFormModel.getChannelOrderNumber(), data);
if (data.size() > 0) { if (data !=null && data.size() > 0) {
if (Objects.nonNull(data.get("totalAmount")) && Objects.nonNull(data.get("totalCount"))) { if (Objects.nonNull(data.get("totalAmount")) && Objects.nonNull(data.get("totalCount"))) {
result = this.clothoCenterService.lending(orderApprove.getFundId(), new BigDecimal(String.valueOf(data.get("totalAmount"))), Integer.valueOf(String.valueOf(data.get("totalCount")))); result = this.clothoCenterService.lending(orderApprove.getFundId(), new BigDecimal(String.valueOf(data.get("totalAmount"))), Integer.valueOf(String.valueOf(data.get("totalCount"))));
log.info("[order_lending]直投打款,channelOrderNumber={}, result={}", lendingFormModel.getChannelOrderNumber(), result); log.info("[order_lending]直投打款,channelOrderNumber={}, result={}", lendingFormModel.getChannelOrderNumber(), result);
} }
} }
result = true;
} }
if (result) { if (result) {
......
...@@ -3,7 +3,6 @@ package cn.quantgroup.cashloanflowboss.component.security; ...@@ -3,7 +3,6 @@ package cn.quantgroup.cashloanflowboss.component.security;
import cn.quantgroup.cashloanflowboss.component.security.annotiation.Security; import cn.quantgroup.cashloanflowboss.component.security.annotiation.Security;
import cn.quantgroup.cashloanflowboss.core.base.Result; import cn.quantgroup.cashloanflowboss.core.base.Result;
import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus; import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus;
import cn.quantgroup.cashloanflowboss.core.exception.ApplicationException;
import org.aopalliance.intercept.MethodInterceptor; import org.aopalliance.intercept.MethodInterceptor;
import org.aopalliance.intercept.MethodInvocation; import org.aopalliance.intercept.MethodInvocation;
import org.springframework.context.support.ApplicationObjectSupport; import org.springframework.context.support.ApplicationObjectSupport;
...@@ -21,7 +20,7 @@ public class SecurityInterceptor extends ApplicationObjectSupport implements Met ...@@ -21,7 +20,7 @@ public class SecurityInterceptor extends ApplicationObjectSupport implements Met
Security security = invocation.getMethod().getAnnotation(Security.class); Security security = invocation.getMethod().getAnnotation(Security.class);
if (!this.getApplicationContext().getBean(SecurityHandler.class).doAuthentication(invocation, security.authorityId(), security.authorities())) { if (!this.getApplicationContext().getBean(SecurityHandler.class).doAuthentication(invocation, security.authorityId(), security.authorities())) {
return Result.buildFial(ApplicationStatus.INVALID_AUTHORITY); return Result.buildFail(ApplicationStatus.INVALID_AUTHORITY);
} }
return invocation.proceed(); return invocation.proceed();
......
...@@ -9,7 +9,6 @@ import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping; ...@@ -9,7 +9,6 @@ import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfOrderMappingRepository; import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfOrderMappingRepository;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Aspect;
...@@ -33,7 +32,7 @@ import java.lang.reflect.Method; ...@@ -33,7 +32,7 @@ import java.lang.reflect.Method;
@Slf4j @Slf4j
@Component @Component
@Aspect @Aspect
@Order(2) @Order(4)
public class ChannelRoleCheckAspect { public class ChannelRoleCheckAspect {
...@@ -50,19 +49,14 @@ public class ChannelRoleCheckAspect { ...@@ -50,19 +49,14 @@ public class ChannelRoleCheckAspect {
* @param pjp * @param pjp
*/ */
@Around(value = "checkRole()") @Around(value = "checkRole()")
public Object checkRoleBefore(ProceedingJoinPoint pjp) { public Object checkRoleBefore(ProceedingJoinPoint pjp) throws Throwable {
Object[] args = pjp.getArgs(); Object[] args = pjp.getArgs();
MethodSignature methodSignature = (MethodSignature) pjp.getSignature(); MethodSignature methodSignature = (MethodSignature) pjp.getSignature();
Method method = methodSignature.getMethod(); Method method = methodSignature.getMethod();
Principal principal = Application.getPrincipal(); Principal principal = Application.getPrincipal();
if (principal == null) { if (principal == null) {
try {
return pjp.proceed(args); return pjp.proceed(args);
} catch (Throwable throwable) {
log.error("请求失败,e={}", ExceptionUtils.getStackTrace(throwable));
return Result.buildFial();
}
} }
// 如果是渠道用户登陆,参数中channelId 不是登陆用户channelId,返回 拒绝请求 // 如果是渠道用户登陆,参数中channelId 不是登陆用户channelId,返回 拒绝请求
...@@ -74,7 +68,7 @@ public class ChannelRoleCheckAspect { ...@@ -74,7 +68,7 @@ public class ChannelRoleCheckAspect {
if (StringUtils.isAllEmpty(channelIdSPEL, channelOrderNumberSPEL)) { if (StringUtils.isAllEmpty(channelIdSPEL, channelOrderNumberSPEL)) {
log.error("[CheckChannelRole]channelIdSPEL, channelOrderNumberSPEL 不能都为空"); log.error("[CheckChannelRole]channelIdSPEL, channelOrderNumberSPEL 不能都为空");
return Result.buildFial(ApplicationStatus.ARGUMENT_VALID_EXCEPTION); return Result.buildFail(ApplicationStatus.ARGUMENT_VALID_EXCEPTION);
} }
if (principal.isChannel()) { if (principal.isChannel()) {
...@@ -86,7 +80,7 @@ public class ChannelRoleCheckAspect { ...@@ -86,7 +80,7 @@ public class ChannelRoleCheckAspect {
if (!Application.getPrincipal().getChannelId().equals(expression.getValue(args, Long.class))) { if (!Application.getPrincipal().getChannelId().equals(expression.getValue(args, Long.class))) {
log.info("[CheckChannelRole]渠道用户,登陆channelId与查询channelId不是同一个"); log.info("[CheckChannelRole]渠道用户,登陆channelId与查询channelId不是同一个");
return Result.buildFial(ApplicationStatus.INVALID_AUTHORITY); return Result.buildFail(ApplicationStatus.INVALID_AUTHORITY);
} }
} else { } else {
log.warn("[CheckChannelRole]channelIdSPEL取值失败"); log.warn("[CheckChannelRole]channelIdSPEL取值失败");
...@@ -109,11 +103,11 @@ public class ChannelRoleCheckAspect { ...@@ -109,11 +103,11 @@ public class ChannelRoleCheckAspect {
ClfOrderMapping clfOrderMapping = clfOrderMappingRepository.findByChannelOrderNoLastOne(channelOrderNumber); ClfOrderMapping clfOrderMapping = clfOrderMappingRepository.findByChannelOrderNoLastOne(channelOrderNumber);
if (clfOrderMapping == null) { if (clfOrderMapping == null) {
log.info("[CheckChannelRoleByChannelOrderNumber]无channelOrderNumber数据,channelOrderNumber={}",channelOrderNumber); log.info("[CheckChannelRoleByChannelOrderNumber]无channelOrderNumber数据,channelOrderNumber={}",channelOrderNumber);
return Result.buildFial(ApplicationStatus.ARGUMENT_VALID_EXCEPTION, "未找到该订单"); return Result.buildFail(ApplicationStatus.ARGUMENT_VALID_EXCEPTION, "未找到该订单");
} }
if (!clfOrderMapping.getRegisteredFrom().equals(principal.getChannelId())) { if (!clfOrderMapping.getRegisteredFrom().equals(principal.getChannelId())) {
log.info("[CheckChannelRoleByChannelOrderNumber]不是该渠道的订单,channelOrderNumber={}",channelOrderNumber); log.info("[CheckChannelRoleByChannelOrderNumber]不是该渠道的订单,channelOrderNumber={}",channelOrderNumber);
return Result.buildFial(ApplicationStatus.INVALID_AUTHORITY); return Result.buildFail(ApplicationStatus.INVALID_AUTHORITY);
} }
} }
} }
...@@ -122,12 +116,7 @@ public class ChannelRoleCheckAspect { ...@@ -122,12 +116,7 @@ public class ChannelRoleCheckAspect {
} }
try {
return pjp.proceed(args); return pjp.proceed(args);
} catch (Throwable throwable) {
log.error("请求失败,e={}", ExceptionUtils.getStackTrace(throwable));
return Result.buildFial();
}
} }
......
package cn.quantgroup.cashloanflowboss.core.aspect; package cn.quantgroup.cashloanflowboss.core.aspect;
import cn.quantgroup.cashloanflowboss.api.channel.util.ChannelConfUtil;
import cn.quantgroup.cashloanflowboss.api.login.model.Principal; import cn.quantgroup.cashloanflowboss.api.login.model.Principal;
import cn.quantgroup.cashloanflowboss.core.Application; import cn.quantgroup.cashloanflowboss.core.Application;
import cn.quantgroup.cashloanflowboss.core.annotation.channelrole.ChannelIdInit; import cn.quantgroup.cashloanflowboss.core.annotation.channelrole.ChannelIdInit;
import cn.quantgroup.cashloanflowboss.core.base.Result; import cn.quantgroup.cashloanflowboss.core.base.Result;
import cn.quantgroup.cashloanflowboss.utils.JSONTools; import cn.quantgroup.cashloanflowboss.core.exception.ApplicationException;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils; import org.apache.commons.lang3.exception.ExceptionUtils;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Aspect;
...@@ -33,7 +31,7 @@ import java.lang.reflect.Method; ...@@ -33,7 +31,7 @@ import java.lang.reflect.Method;
@Slf4j @Slf4j
@Component @Component
@Aspect @Aspect
@Order(1) @Order(3)
public class ChannelRoleLoadAspect { public class ChannelRoleLoadAspect {
@Pointcut("@annotation(cn.quantgroup.cashloanflowboss.core.annotation.channelrole.ChannelIdInit)") @Pointcut("@annotation(cn.quantgroup.cashloanflowboss.core.annotation.channelrole.ChannelIdInit)")
...@@ -41,19 +39,14 @@ public class ChannelRoleLoadAspect { ...@@ -41,19 +39,14 @@ public class ChannelRoleLoadAspect {
@Around(value = "channelIdInit()") @Around(value = "channelIdInit()")
public Object channelIdInitBefore(ProceedingJoinPoint pjp) { public Object channelIdInitBefore(ProceedingJoinPoint pjp) throws Throwable {
Object[] args = pjp.getArgs(); Object[] args = pjp.getArgs();
MethodSignature methodSignature = (MethodSignature) pjp.getSignature(); MethodSignature methodSignature = (MethodSignature) pjp.getSignature();
Method method = methodSignature.getMethod(); Method method = methodSignature.getMethod();
Principal principal = Application.getPrincipal(); Principal principal = Application.getPrincipal();
if (principal == null) { if (principal == null) {
try {
return pjp.proceed(args); return pjp.proceed(args);
} catch (Throwable throwable) {
log.error("请求失败,e={}", ExceptionUtils.getStackTrace(throwable));
return Result.buildFial();
}
} }
// 如果是渠道用户登陆 默认加载channelId // 如果是渠道用户登陆 默认加载channelId
...@@ -80,12 +73,7 @@ public class ChannelRoleLoadAspect { ...@@ -80,12 +73,7 @@ public class ChannelRoleLoadAspect {
} }
} }
try {
return pjp.proceed(args); return pjp.proceed(args);
} catch (Throwable throwable) {
log.error("请求失败,e={}", ExceptionUtils.getStackTrace(throwable));
return Result.buildFial();
}
} }
} }
...@@ -10,6 +10,7 @@ import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping; ...@@ -10,6 +10,7 @@ import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping;
import cn.quantgroup.cashloanflowboss.spi.clf.service.CLFCenterService; import cn.quantgroup.cashloanflowboss.spi.clf.service.CLFCenterService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Aspect;
...@@ -51,6 +52,8 @@ public class OperationAspect { ...@@ -51,6 +52,8 @@ public class OperationAspect {
*/ */
@Around("operationAnno()") @Around("operationAnno()")
private Object operationAnnoAndSave(ProceedingJoinPoint pjp) throws Throwable { private Object operationAnnoAndSave(ProceedingJoinPoint pjp) throws Throwable {
try {
MethodSignature methodSignature = (MethodSignature) pjp.getSignature(); MethodSignature methodSignature = (MethodSignature) pjp.getSignature();
Method method = methodSignature.getMethod(); Method method = methodSignature.getMethod();
OperationAnno annotation = method.getAnnotation(OperationAnno.class); OperationAnno annotation = method.getAnnotation(OperationAnno.class);
...@@ -98,14 +101,13 @@ public class OperationAspect { ...@@ -98,14 +101,13 @@ public class OperationAspect {
log.warn("[operationAnnoAnnSave]channelOrderNumber is empty, channelOrderNumber={}" , channelOrderNumber ); log.warn("[operationAnnoAnnSave]channelOrderNumber is empty, channelOrderNumber={}" , channelOrderNumber );
return pjp.proceed(); return pjp.proceed();
} }
Object proceed = pjp.proceed();
// 是否成功SPEL 表达式解析
Expression expressionsuccSPEL = null;
if (StringUtils.isNotEmpty(succSPEL)) { if (StringUtils.isNotEmpty(succSPEL)) {
try { try {
if (succSPEL.startsWith("#this")) {//判断是否是spel表达式 if (succSPEL.startsWith("#this")) {//判断是否是spel表达式
Expression expression = new SpelExpressionParser().parseExpression(succSPEL); expressionsuccSPEL = new SpelExpressionParser().parseExpression(succSPEL);
Boolean isSuccess = expression.getValue(proceed, Boolean.class);
optHistoryLog.setOptResult(isSuccess);
} else { } else {
log.warn("[operationAnnoAnnSave]optResult获取失败"); log.warn("[operationAnnoAnnSave]optResult获取失败");
} }
...@@ -115,12 +117,11 @@ public class OperationAspect { ...@@ -115,12 +117,11 @@ public class OperationAspect {
} }
} }
Expression expressionMsgSPEL = null;
if (StringUtils.isNotEmpty(optDetailSPEL)) { if (StringUtils.isNotEmpty(optDetailSPEL)) {
try { try {
if (optDetailSPEL.startsWith("#this")) {//判断是否是spel表达式 if (optDetailSPEL.startsWith("#this")) {//判断是否是spel表达式
Expression expression = new SpelExpressionParser().parseExpression(optDetailSPEL); expressionMsgSPEL = new SpelExpressionParser().parseExpression(optDetailSPEL);
String optDetail = expression.getValue(proceed, String.class);
optHistoryLog.setOptLogDetail(optDetail);
} else { } else {
log.warn("[operationAnnoAnnSave]optDetail获取失败"); log.warn("[operationAnnoAnnSave]optDetail获取失败");
} }
...@@ -130,8 +131,45 @@ public class OperationAspect { ...@@ -130,8 +131,45 @@ public class OperationAspect {
} }
} }
optHistoryLogService.save(optHistoryLog); if (StringUtils.isNotEmpty(channelOrderNumber)) {
// 判断是否 已经请求成功过
OptHistoryLog optHistoryLogSuccess = optHistoryLogService.findByChannelOrderNumberAndOptNameAndSuccess(channelOrderNumber, opt);
if (optHistoryLogSuccess != null) {
Class returnType = ((MethodSignature) pjp.getSignature()).getReturnType();
if (returnType != null) {
Object ret = returnType.newInstance();
if (expressionsuccSPEL != null) {
expressionsuccSPEL.setValue(ret, true);
}
if (expressionMsgSPEL != null) {
expressionMsgSPEL.setValue(ret, "该操作已经操作成功,无须重复操作!");
}
// 直接返回 重复操作结果
log.info("[operationAnnoAnnSave]该操作已经操作成功,无须重复操作,切面返回");
return ret;
}
}
}
// 代理执行方法
Object proceed = pjp.proceed();
// 获取方法返回 是否成功
if (expressionsuccSPEL != null) {
optHistoryLog.setOptResult(expressionsuccSPEL.getValue(proceed, Boolean.class));
}
// 获取方法详细信息
if (expressionMsgSPEL != null) {
optHistoryLog.setOptLogDetail(expressionMsgSPEL.getValue(proceed, String.class));
}
optHistoryLogService.save(optHistoryLog);
return proceed; return proceed;
} catch (Throwable throwable) {
log.error("[operationAnnoAnnSave]异常,直接跳过,e={}", ExceptionUtils.getStackTrace(throwable));
return pjp.proceed();
}
} }
} }
...@@ -62,27 +62,32 @@ public class Result<T> { ...@@ -62,27 +62,32 @@ public class Result<T> {
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static <T> Result<T> buildFial(T data) { public static <T> Result<T> buildFail(T data) {
return new Result(ApplicationStatus.FAILURE, data); return new Result(ApplicationStatus.FAILURE, data);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static <T> Result<T> buildFial(String message) { public static <T> Result<T> buildApplicationException(T data) {
return new Result(ApplicationStatus.FAILURE, data);
}
@SuppressWarnings("unchecked")
public static <T> Result<T> buildFail(String message) {
return new Result(ApplicationStatus.FAILURE, null, message); return new Result(ApplicationStatus.FAILURE, null, message);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static <T> Result<T> buildFial() { public static <T> Result<T> buildFail() {
return new Result(ApplicationStatus.FAILURE, null, null); return new Result(ApplicationStatus.FAILURE, null, null);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static <T> Result<T> buildFial(ApplicationStatus applicationStatus) { public static <T> Result<T> buildFail(ApplicationStatus applicationStatus) {
return new Result(applicationStatus, null, null); return new Result(applicationStatus, null, null);
} }
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
public static <T> Result<T> buildFial(T data, String message) { public static <T> Result<T> buildFail(T data, String message) {
return new Result(ApplicationStatus.FAILURE, data, message); return new Result(ApplicationStatus.FAILURE, data, message);
} }
......
...@@ -29,7 +29,7 @@ public class ApplicationSecurityHandler implements SecurityHandler { ...@@ -29,7 +29,7 @@ public class ApplicationSecurityHandler implements SecurityHandler {
Principal principal = Application.getPrincipal(); Principal principal = Application.getPrincipal();
// 检查是否已登录 // 检查是否已登录
Assert.isNull(principal, ApplicationStatus.AUTHENTICATION_FAILURE); Assert.isNull(principal, ApplicationStatus.AUTHENTICATION_LOGIN);
// 如果是超级管理员跳过权限验证 // 如果是超级管理员跳过权限验证
......
...@@ -25,6 +25,8 @@ public enum ApplicationStatus implements Status<ApplicationStatus> { ...@@ -25,6 +25,8 @@ public enum ApplicationStatus implements Status<ApplicationStatus> {
JSON_DATA_EXCEPTION(500005, "无效的JSON数据"), JSON_DATA_EXCEPTION(500005, "无效的JSON数据"),
AUTHENTICATION_LOGIN(500006, "请登录..."),
INVALID_AUTHORITY(501001, "无效的授权"), INVALID_AUTHORITY(501001, "无效的授权"),
INVALID_USER(501002, "无效的用户"), INVALID_USER(501002, "无效的用户"),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment