Commit 552affa0 authored by suntao's avatar suntao

sonar

parent bc96f8c3
...@@ -102,27 +102,25 @@ public class ChannelConfUtil { ...@@ -102,27 +102,25 @@ public class ChannelConfUtil {
public static List<ClfOrderCallBack> convert2ClfOrderCallback(Long channelId, ChannelConfAddModel addModel) { public static List<ClfOrderCallBack> convert2ClfOrderCallback(Long channelId, ChannelConfAddModel addModel) {
List<ClfOrderCallBack> list = new ArrayList<>(); List<ClfOrderCallBack> list = new ArrayList<>();
if (StringUtils.isNotEmpty(addModel.getApproveCallBackUrl())) { approveCallbackUrl(channelId, addModel, list);
//审批
ClfOrderCallBack clfOrderCallBack1 = new ClfOrderCallBack();
clfOrderCallBack1.setCallbackStatus(KANoticeType.FUAD_ASSIFN_SUCC);
clfOrderCallBack1.setRegisteredFrom(channelId);
clfOrderCallBack1.setCallbackUrl(addModel.getApproveCallBackUrl());
clfOrderCallBack1.setIsActive(true);
clfOrderCallBack1.setCreatedAt(new Timestamp(System.currentTimeMillis()));
list.add(clfOrderCallBack1);
ClfOrderCallBack clfOrderCallBack2 = new ClfOrderCallBack(); orderStatusOrderCallback(channelId, addModel, list);
clfOrderCallBack2.setCallbackStatus(KANoticeType.REJECT);
clfOrderCallBack2.setRegisteredFrom(channelId); if (StringUtils.isNotEmpty(addModel.getRepaymentPlanCallBackUrl())) {
clfOrderCallBack2.setCallbackUrl(addModel.getApproveCallBackUrl()); ClfOrderCallBack clfOrderCallBack10 = new ClfOrderCallBack();
clfOrderCallBack2.setIsActive(true); clfOrderCallBack10.setCallbackStatus(KANoticeType.REPAYMENT);
clfOrderCallBack2.setCreatedAt(new Timestamp(System.currentTimeMillis())); clfOrderCallBack10.setRegisteredFrom(channelId);
list.add(clfOrderCallBack2); clfOrderCallBack10.setCallbackUrl(addModel.getRepaymentPlanCallBackUrl());
clfOrderCallBack10.setIsActive(true);
clfOrderCallBack10.setCreatedAt(new Timestamp(System.currentTimeMillis()));
list.add(clfOrderCallBack10);
} }
if (StringUtils.isNotEmpty(addModel.getOrderStatusCallBackUrl())) { return list;
}
private static void orderStatusOrderCallback(Long channelId, ChannelConfAddModel addModel, List<ClfOrderCallBack> list) {
if (StringUtils.isNotEmpty(addModel.getOrderStatusCallBackUrl())) {
// 状态 // 状态
ClfOrderCallBack clfOrderCallBack0 = new ClfOrderCallBack(); ClfOrderCallBack clfOrderCallBack0 = new ClfOrderCallBack();
clfOrderCallBack0.setCallbackStatus(KANoticeType.CREDIT_SUCC); clfOrderCallBack0.setCallbackStatus(KANoticeType.CREDIT_SUCC);
...@@ -188,18 +186,27 @@ public class ChannelConfUtil { ...@@ -188,18 +186,27 @@ public class ChannelConfUtil {
clfOrderCallBack9.setCreatedAt(new Timestamp(System.currentTimeMillis())); clfOrderCallBack9.setCreatedAt(new Timestamp(System.currentTimeMillis()));
list.add(clfOrderCallBack9); list.add(clfOrderCallBack9);
} }
}
if (StringUtils.isNotEmpty(addModel.getRepaymentPlanCallBackUrl())) { private static void approveCallbackUrl(Long channelId, ChannelConfAddModel addModel, List<ClfOrderCallBack> list) {
ClfOrderCallBack clfOrderCallBack10 = new ClfOrderCallBack(); if (StringUtils.isNotEmpty(addModel.getApproveCallBackUrl())) {
clfOrderCallBack10.setCallbackStatus(KANoticeType.REPAYMENT); //审批
clfOrderCallBack10.setRegisteredFrom(channelId); ClfOrderCallBack clfOrderCallBack1 = new ClfOrderCallBack();
clfOrderCallBack10.setCallbackUrl(addModel.getRepaymentPlanCallBackUrl()); clfOrderCallBack1.setCallbackStatus(KANoticeType.FUAD_ASSIFN_SUCC);
clfOrderCallBack10.setIsActive(true); clfOrderCallBack1.setRegisteredFrom(channelId);
clfOrderCallBack10.setCreatedAt(new Timestamp(System.currentTimeMillis())); clfOrderCallBack1.setCallbackUrl(addModel.getApproveCallBackUrl());
list.add(clfOrderCallBack10); clfOrderCallBack1.setIsActive(true);
} clfOrderCallBack1.setCreatedAt(new Timestamp(System.currentTimeMillis()));
list.add(clfOrderCallBack1);
return list; ClfOrderCallBack clfOrderCallBack2 = new ClfOrderCallBack();
clfOrderCallBack2.setCallbackStatus(KANoticeType.REJECT);
clfOrderCallBack2.setRegisteredFrom(channelId);
clfOrderCallBack2.setCallbackUrl(addModel.getApproveCallBackUrl());
clfOrderCallBack2.setIsActive(true);
clfOrderCallBack2.setCreatedAt(new Timestamp(System.currentTimeMillis()));
list.add(clfOrderCallBack2);
}
} }
public static Integer getFundIdByType(Integer fundType, ChannelConf channelConf) { public static Integer getFundIdByType(Integer fundType, ChannelConf channelConf) {
......
...@@ -33,10 +33,10 @@ public interface OrderService { ...@@ -33,10 +33,10 @@ public interface OrderService {
* @param channelOrderNumber * @param channelOrderNumber
* @return 《是否成功 , msg》 * @return 《是否成功 , msg》
*/ */
@Transactional @Transactional(rollbackFor = Exception.class)
Tuple<Boolean, String> secondAudit(String channelOrderNumber); Tuple<Boolean, String> secondAudit(String channelOrderNumber);
@Transactional @Transactional(rollbackFor = Exception.class)
Tuple<Boolean, String> lending(LendingFormModel lendingFormModel); Tuple<Boolean, String> lending(LendingFormModel lendingFormModel);
HistoryOrderStatusVoModel getOrderHistoryStatus(String channelOrderNumber); HistoryOrderStatusVoModel getOrderHistoryStatus(String channelOrderNumber);
......
...@@ -2,7 +2,6 @@ package cn.quantgroup.cashloanflowboss.api.user.model; ...@@ -2,7 +2,6 @@ package cn.quantgroup.cashloanflowboss.api.user.model;
import cn.quantgroup.cashloanflowboss.api.login.model.Principal; import cn.quantgroup.cashloanflowboss.api.login.model.Principal;
import cn.quantgroup.cashloanflowboss.api.role.entity.Role; import cn.quantgroup.cashloanflowboss.api.role.entity.Role;
import cn.quantgroup.cashloanflowboss.api.user.entity.User;
import cn.quantgroup.cashloanflowboss.core.asserts.Assert; import cn.quantgroup.cashloanflowboss.core.asserts.Assert;
import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus; import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
...@@ -20,10 +19,10 @@ public class UserDetailInfo { ...@@ -20,10 +19,10 @@ public class UserDetailInfo {
@Data @Data
static class RoleInfo { static class RoleInfo {
List<roleView> roleInfos; List<RoleView> roleInfos;
@Data @Data
static class roleView { static class RoleView {
private Long roleId; private Long roleId;
private String roleName; private String roleName;
} }
...@@ -40,9 +39,9 @@ public class UserDetailInfo { ...@@ -40,9 +39,9 @@ public class UserDetailInfo {
if (null != roles && roles.size() > 0) { if (null != roles && roles.size() > 0) {
RoleInfo roleInfo = new RoleInfo(); RoleInfo roleInfo = new RoleInfo();
List<RoleInfo.roleView> roleInfos = Lists.newArrayList(); List<RoleInfo.RoleView> roleInfos = Lists.newArrayList();
roles.forEach(role -> { roles.forEach(role -> {
RoleInfo.roleView roleView = new RoleInfo.roleView(); RoleInfo.RoleView roleView = new RoleInfo.RoleView();
roleView.setRoleId(role.getId()); roleView.setRoleId(role.getId());
roleView.setRoleName(role.getName()); roleView.setRoleName(role.getName());
roleInfos.add(roleView); roleInfos.add(roleView);
......
...@@ -23,6 +23,9 @@ import java.util.regex.Pattern; ...@@ -23,6 +23,9 @@ import java.util.regex.Pattern;
*/ */
public class IDValidator { public class IDValidator {
private static final int int17 = 17;
private static final String s19 = "19";
/** /**
* 校验码 * 校验码
*/ */
...@@ -96,11 +99,11 @@ public class IDValidator { ...@@ -96,11 +99,11 @@ public class IDValidator {
return false; return false;
} }
if (Pattern.matches("^[\\d]{15}$", idNumber)) { if (Pattern.matches(getRegex(), idNumber)) {
return this.validate15(idNumber); return this.validate15(idNumber);
} else if (Pattern.matches("^([\\d]{17}((?i)X))|([\\d]{18})$", idNumber)) { } else if (Pattern.matches(getRegex2(), idNumber)) {
return this.validate18(idNumber); return this.validate18(idNumber);
...@@ -110,6 +113,14 @@ public class IDValidator { ...@@ -110,6 +113,14 @@ public class IDValidator {
} }
private String getRegex2() {
return "^([\\d]{17}((?i)X))|([\\d]{18})$";
}
private String getRegex() {
return "^[\\d]{15}$";
}
/** /**
* 验证15位身份证号 * 验证15位身份证号
* *
...@@ -137,12 +148,12 @@ public class IDValidator { ...@@ -137,12 +148,12 @@ public class IDValidator {
*/ */
private String convert(String idNumber) { private String convert(String idNumber) {
String newIdNumber = idNumber.substring(0, 6) + "19" + idNumber.substring(6); String newIdNumber = idNumber.substring(0, 6) + s19 + idNumber.substring(6);
// 校验码 // 校验码
int sum = 0; int sum = 0;
for (int i = 0; i < 17; i++) { for (int i = 0; i < int17; i++) {
int ai = Integer.parseInt(String.valueOf(newIdNumber.charAt(i))); int ai = Integer.parseInt(String.valueOf(newIdNumber.charAt(i)));
sum = sum + ai * weights[i]; sum = sum + ai * weights[i];
} }
...@@ -219,7 +230,7 @@ public class IDValidator { ...@@ -219,7 +230,7 @@ public class IDValidator {
int sum = 0; int sum = 0;
for (int i = 0; i < 17; i++) { for (int i = 0; i < int17; i++) {
sum = sum + Integer.parseInt(String.valueOf(idNumber.charAt(i))) * weights[i]; sum = sum + Integer.parseInt(String.valueOf(idNumber.charAt(i))) * weights[i];
} }
......
...@@ -4,6 +4,7 @@ import cn.quantgroup.cashloanflowboss.api.login.model.Principal; ...@@ -4,6 +4,7 @@ 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.CheckChannelRole; import cn.quantgroup.cashloanflowboss.core.annotation.channelrole.CheckChannelRole;
import cn.quantgroup.cashloanflowboss.core.base.Result; import cn.quantgroup.cashloanflowboss.core.base.Result;
import cn.quantgroup.cashloanflowboss.core.constants.Constants;
import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus; import cn.quantgroup.cashloanflowboss.core.dictionary.ApplicationStatus;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping; import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping;
import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfOrderMappingRepository; import cn.quantgroup.cashloanflowboss.spi.clf.repository.ClfOrderMappingRepository;
...@@ -75,7 +76,7 @@ public class ChannelRoleCheckAspect { ...@@ -75,7 +76,7 @@ public class ChannelRoleCheckAspect {
if (StringUtils.isNotEmpty(channelIdSPEL)) { if (StringUtils.isNotEmpty(channelIdSPEL)) {
// 通过channelId 判断 // 通过channelId 判断
try { try {
if (channelIdSPEL.startsWith("#this")) { if (channelIdSPEL.startsWith(Constants.START_THIS)) {
Expression expression = new SpelExpressionParser().parseExpression(channelIdSPEL); Expression expression = new SpelExpressionParser().parseExpression(channelIdSPEL);
if (!Application.getPrincipal().getChannelId().equals(expression.getValue(args, Long.class))) { if (!Application.getPrincipal().getChannelId().equals(expression.getValue(args, Long.class))) {
...@@ -92,7 +93,7 @@ public class ChannelRoleCheckAspect { ...@@ -92,7 +93,7 @@ public class ChannelRoleCheckAspect {
} else if (StringUtils.isNotEmpty(channelOrderNumberSPEL)){ } else if (StringUtils.isNotEmpty(channelOrderNumberSPEL)){
// 通过channelOrderNumber 判断 // 通过channelOrderNumber 判断
String channelOrderNumber = ""; String channelOrderNumber = "";
if (channelOrderNumberSPEL.startsWith("#this")) { if (channelOrderNumberSPEL.startsWith(Constants.START_THIS)) {
Expression expression = new SpelExpressionParser().parseExpression(channelOrderNumberSPEL); Expression expression = new SpelExpressionParser().parseExpression(channelOrderNumberSPEL);
channelOrderNumber = expression.getValue(args, String.class); channelOrderNumber = expression.getValue(args, String.class);
} else { } else {
......
...@@ -4,6 +4,7 @@ import cn.quantgroup.cashloanflowboss.api.login.model.Principal; ...@@ -4,6 +4,7 @@ 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.core.constants.Constants;
import cn.quantgroup.cashloanflowboss.core.exception.ApplicationException; 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;
...@@ -59,7 +60,7 @@ public class ChannelRoleLoadAspect { ...@@ -59,7 +60,7 @@ public class ChannelRoleLoadAspect {
if (principal.isChannel()) { if (principal.isChannel()) {
if (StringUtils.isNotEmpty(channelIdSPEL)) { if (StringUtils.isNotEmpty(channelIdSPEL)) {
try { try {
if (channelIdSPEL.startsWith("#this")) {//判断是否是spel表达式 if (channelIdSPEL.startsWith(Constants.START_THIS)) {//判断是否是spel表达式
Expression expression = new SpelExpressionParser().parseExpression(channelIdSPEL); Expression expression = new SpelExpressionParser().parseExpression(channelIdSPEL);
expression.setValue(args, principal.getChannelId()); expression.setValue(args, principal.getChannelId());
} else { } else {
......
...@@ -6,6 +6,7 @@ import cn.quantgroup.cashloanflowboss.api.optlog.model.OptEnumName; ...@@ -6,6 +6,7 @@ import cn.quantgroup.cashloanflowboss.api.optlog.model.OptEnumName;
import cn.quantgroup.cashloanflowboss.api.optlog.service.OptHistoryLogServiceImpl; import cn.quantgroup.cashloanflowboss.api.optlog.service.OptHistoryLogServiceImpl;
import cn.quantgroup.cashloanflowboss.core.Application; import cn.quantgroup.cashloanflowboss.core.Application;
import cn.quantgroup.cashloanflowboss.core.annotation.opt.OperationAnno; import cn.quantgroup.cashloanflowboss.core.annotation.opt.OperationAnno;
import cn.quantgroup.cashloanflowboss.core.constants.Constants;
import cn.quantgroup.cashloanflowboss.spi.clf.entity.ClfOrderMapping; 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;
...@@ -52,23 +53,19 @@ public class OperationAspect { ...@@ -52,23 +53,19 @@ public class OperationAspect {
*/ */
@Around("operationAnno()") @Around("operationAnno()")
private Object operationAnnoAndSave(ProceedingJoinPoint pjp) throws Throwable { private Object operationAnnoAndSave(ProceedingJoinPoint pjp) throws Throwable {
try { 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);
Object[] args = pjp.getArgs(); Object[] args = pjp.getArgs();
OptEnumName opt = annotation.opt(); OptEnumName opt = annotation.opt();
String succSPEL = annotation.succSPEL(); String succSPEL = annotation.succSPEL();
String optDetailSPEL = annotation.optDetailSPEL(); String optDetailSPEL = annotation.optDetailSPEL();
String channelOrderNumber = ""; String channelOrderNumber = "";
if (StringUtils.isNotBlank(annotation.channelNo())) { if (StringUtils.isNotBlank(annotation.channelNo())) {
String keySPEL = annotation.channelNo(); String keySPEL = annotation.channelNo();
try { try {
if (keySPEL.startsWith("#this")) {//判断是否是spel表达式 if (keySPEL.startsWith(Constants.START_THIS)) {//判断是否是spel表达式
Expression expression = new SpelExpressionParser().parseExpression(keySPEL); Expression expression = new SpelExpressionParser().parseExpression(keySPEL);
String value = expression.getValue(args, String.class); String value = expression.getValue(args, String.class);
channelOrderNumber = value; channelOrderNumber = value;
...@@ -85,14 +82,7 @@ public class OperationAspect { ...@@ -85,14 +82,7 @@ public class OperationAspect {
ClfOrderMapping orderMapping = clfCenterService.findOrderMappingByChannelOrderNo(channelOrderNumber); ClfOrderMapping orderMapping = clfCenterService.findOrderMappingByChannelOrderNo(channelOrderNumber);
if (orderMapping != null) { if (orderMapping != null) {
// do some // do some
optHistoryLog.setChannelOrderNumber(channelOrderNumber); getOptHistoryLogBean(opt, channelOrderNumber, optHistoryLog, orderMapping);
optHistoryLog.setCreditNumber(orderMapping.getApplyNo());
optHistoryLog.setLoanId(orderMapping.getLoanId());
optHistoryLog.setChannelId(orderMapping.getRegisteredFrom());
optHistoryLog.setOptEnumName(opt);
optHistoryLog.setOptName(opt.getDesc());
optHistoryLog.setOptUser(Application.getPrincipal().getUserInfo().getNickname() + "_" + Application.getPrincipal().getUserInfo().getUsername());
optHistoryLog.setCreateTime(new Date());
} else { } else {
log.warn("[operationAnnoAnnSave]orderMapping is null, channelOrderNumber={}" , channelOrderNumber ); log.warn("[operationAnnoAnnSave]orderMapping is null, channelOrderNumber={}" , channelOrderNumber );
return pjp.proceed(); return pjp.proceed();
...@@ -101,36 +91,8 @@ public class OperationAspect { ...@@ -101,36 +91,8 @@ 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();
} }
Expression expressionsuccSPEL = getIsSuccExpressionSPEL(succSPEL);
// 是否成功SPEL 表达式解析 Expression expressionMsgSPEL = getMegExpression(optDetailSPEL);
Expression expressionsuccSPEL = null;
if (StringUtils.isNotEmpty(succSPEL)) {
try {
if (succSPEL.startsWith("#this")) {//判断是否是spel表达式
expressionsuccSPEL = new SpelExpressionParser().parseExpression(succSPEL);
} else {
log.warn("[operationAnnoAnnSave]optResult获取失败");
}
} catch (ExpressionException e) {
log.error("[operationAnnoAnnSave]key表达式“" + succSPEL + "”错误:{}", e);
throw e;
}
}
Expression expressionMsgSPEL = null;
if (StringUtils.isNotEmpty(optDetailSPEL)) {
try {
if (optDetailSPEL.startsWith("#this")) {//判断是否是spel表达式
expressionMsgSPEL = new SpelExpressionParser().parseExpression(optDetailSPEL);
} else {
log.warn("[operationAnnoAnnSave]optDetail获取失败");
}
} catch (ExpressionException e) {
log.error("[operationAnnoAnnSave]key表达式“" + optDetailSPEL + "”错误:{}", e);
throw e;
}
}
if (StringUtils.isNotEmpty(channelOrderNumber)) { if (StringUtils.isNotEmpty(channelOrderNumber)) {
// 判断是否 已经请求成功过 // 判断是否 已经请求成功过
OptHistoryLog optHistoryLogSuccess = optHistoryLogService.findByChannelOrderNumberAndOptNameAndSuccess(channelOrderNumber, opt); OptHistoryLog optHistoryLogSuccess = optHistoryLogService.findByChannelOrderNumberAndOptNameAndSuccess(channelOrderNumber, opt);
...@@ -148,23 +110,17 @@ public class OperationAspect { ...@@ -148,23 +110,17 @@ public class OperationAspect {
log.info("[operationAnnoAnnSave]该操作已经操作成功,无须重复操作,切面返回"); log.info("[operationAnnoAnnSave]该操作已经操作成功,无须重复操作,切面返回");
return ret; return ret;
} }
} }
} }
// 代理执行方法
Object proceed = pjp.proceed(); Object proceed = pjp.proceed();
// 获取方法返回 是否成功 // 获取方法返回 是否成功
if (expressionsuccSPEL != null) { if (expressionsuccSPEL != null) {
optHistoryLog.setOptResult(expressionsuccSPEL.getValue(proceed, Boolean.class)); optHistoryLog.setOptResult(expressionsuccSPEL.getValue(proceed, Boolean.class));
} }
// 获取方法详细信息 // 获取方法详细信息
if (expressionMsgSPEL != null) { if (expressionMsgSPEL != null) {
optHistoryLog.setOptLogDetail(expressionMsgSPEL.getValue(proceed, String.class)); optHistoryLog.setOptLogDetail(expressionMsgSPEL.getValue(proceed, String.class));
} }
optHistoryLogService.save(optHistoryLog); optHistoryLogService.save(optHistoryLog);
return proceed; return proceed;
} catch (Throwable throwable) { } catch (Throwable throwable) {
...@@ -172,4 +128,50 @@ public class OperationAspect { ...@@ -172,4 +128,50 @@ public class OperationAspect {
return pjp.proceed(); return pjp.proceed();
} }
} }
private void getOptHistoryLogBean(OptEnumName opt, String channelOrderNumber, OptHistoryLog optHistoryLog, ClfOrderMapping orderMapping) {
optHistoryLog.setChannelOrderNumber(channelOrderNumber);
optHistoryLog.setCreditNumber(orderMapping.getApplyNo());
optHistoryLog.setLoanId(orderMapping.getLoanId());
optHistoryLog.setChannelId(orderMapping.getRegisteredFrom());
optHistoryLog.setOptEnumName(opt);
optHistoryLog.setOptName(opt.getDesc());
optHistoryLog.setOptUser(Application.getPrincipal().getUserInfo().getNickname() + "_" + Application.getPrincipal().getUserInfo().getUsername());
optHistoryLog.setCreateTime(new Date());
}
private Expression getMegExpression(String optDetailSPEL) {
Expression expressionMsgSPEL = null;
if (StringUtils.isNotEmpty(optDetailSPEL)) {
try {
if (optDetailSPEL.startsWith(Constants.START_THIS)) {//判断是否是spel表达式
expressionMsgSPEL = new SpelExpressionParser().parseExpression(optDetailSPEL);
} else {
log.warn("[operationAnnoAnnSave]optDetail获取失败");
}
} catch (ExpressionException e) {
log.error("[operationAnnoAnnSave]key表达式“" + optDetailSPEL + "”错误:{}", e);
throw e;
}
}
return expressionMsgSPEL;
}
private Expression getIsSuccExpressionSPEL(String succSPEL) {
// 是否成功SPEL 表达式解析
Expression expressionsuccSPEL = null;
if (StringUtils.isNotEmpty(succSPEL)) {
try {
if (succSPEL.startsWith(Constants.START_THIS)) {//判断是否是spel表达式
expressionsuccSPEL = new SpelExpressionParser().parseExpression(succSPEL);
} else {
log.warn("[operationAnnoAnnSave]optResult获取失败");
}
} catch (ExpressionException e) {
log.error("[operationAnnoAnnSave]key表达式“" + succSPEL + "”错误:{}", e);
throw e;
}
}
return expressionsuccSPEL;
}
} }
package cn.quantgroup.cashloanflowboss.core.constants;
/**
* @description:
* @author:tao
* @create: 2019-12-26 14:35
*/
public interface Constants {
String SUCCESS = "success";
String TOTAL_COUNT = "totalCount";
String TOTAL_AMOUNT = "totalAmount";
String DATA = "data";
String TOKEN = "token";
String TRUE = "true";
String START_THIS = "#this";
}
...@@ -12,7 +12,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -12,7 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
@Repository @Repository
public interface UserDetailRepository extends JpaRepository<UserDetail,Long>{ public interface UserDetailRepository extends JpaRepository<UserDetail,Long>{
@Transactional @Transactional(rollbackFor = Exception.class)
@Modifying @Modifying
@Query(value = "delete from user_detail where user_id = ?1", nativeQuery = true) @Query(value = "delete from user_detail where user_id = ?1", nativeQuery = true)
int deleteByUserId(Long userId); int deleteByUserId(Long userId);
......
...@@ -12,7 +12,7 @@ import org.springframework.transaction.annotation.Transactional; ...@@ -12,7 +12,7 @@ import org.springframework.transaction.annotation.Transactional;
@Repository @Repository
public interface UserExtInfoRepository extends JpaRepository<UserExtInfo,Long>{ public interface UserExtInfoRepository extends JpaRepository<UserExtInfo,Long>{
@Transactional @Transactional(rollbackFor = Exception.class)
@Modifying @Modifying
@Query(value = "delete from user_ext_info where user_id = ?1", nativeQuery = true) @Query(value = "delete from user_ext_info where user_id = ?1", nativeQuery = true)
void deleteByUserId(Long userId); void deleteByUserId(Long userId);
......
...@@ -30,7 +30,7 @@ public interface XYQBCenterService { ...@@ -30,7 +30,7 @@ public interface XYQBCenterService {
WaitingFundingCorpOperatePeople findWaitingFundingCorpOperatePeopleByLoanId(Long loanId); WaitingFundingCorpOperatePeople findWaitingFundingCorpOperatePeopleByLoanId(Long loanId);
@Transactional @Transactional(rollbackOn = Exception.class)
void saveWaitingFundingCorpOperatePeople(WaitingFundingCorpOperatePeople waitingFundingCorpOperatePeople); void saveWaitingFundingCorpOperatePeople(WaitingFundingCorpOperatePeople waitingFundingCorpOperatePeople);
FundingCorpPolicy findFundingCorpPolicyByCorpPolicyId(Long corpPolicyId); FundingCorpPolicy findFundingCorpPolicyByCorpPolicyId(Long corpPolicyId);
......
CREATE DATABASE IF NOT EXISTS cash_loan_flow_boss CHARACTER SET utf8 COLLATE utf8_general_ci;
use cash_loan_flow_boss; use cash_loan_flow_boss;
CREATE TABLE IF NOT EXISTS `channel_conf` ( CREATE TABLE IF NOT EXISTS `channel_conf` (
......
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