Commit 9f4d4d8c by 王德峰

codeCheck

parent c3714b1c
......@@ -8,6 +8,7 @@ package com.abssqr.plat.biz.api.ast;
import com.abssqr.plat.biz.support.ServiceSupport;
import com.abssqr.plat.common.dal.mysql.auto.paging.AstPackPagePage;
import com.abssqr.plat.common.dal.mysql.auto.resultmap.AstPackItem;
import com.abssqr.plat.common.facade.enums.AstScreenRuleTypeEnum;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.facade.result.BasePage;
......@@ -20,6 +21,7 @@ import com.abssqr.plat.common.model.domain.ast.AstPack;
import com.abssqr.plat.common.model.exception.AbssqrBizException;
import com.abssqr.plat.common.model.repo.ast.AstPackRepo;
import com.abssqr.plat.core.service.ast.AstPackManager;
import com.general.system.common.util.VarChecker;
import com.google.common.collect.Lists;
import org.apache.commons.collections.CollectionUtils;
......@@ -41,6 +43,19 @@ public class AstPackServiceImpl extends ServiceSupport implements AstPackService
@Override
public String edit(@Valid AstPackOprParam param) {
VarChecker.checkNotNull(param);
if (CollectionUtils.isNotEmpty(param.getScreenRuleList())) {
param.getScreenRuleList().forEach(astScreenRuleParam -> {
if (astScreenRuleParam.getLeftCondition() != null) {
VarChecker.checkNotEmpty(astScreenRuleParam.getLeftValue(), "{0}左条件存在,必须填值",
AstScreenRuleTypeEnum.getByCode(astScreenRuleParam.getRuleType()).getDesc());
}
if (astScreenRuleParam.getRightCondition() != null) {
VarChecker.checkNotEmpty(astScreenRuleParam.getRightValue(), "{0}右条件存在,必须填值",
AstScreenRuleTypeEnum.getByCode(astScreenRuleParam.getRuleType()).getDesc());
}
});
}
return this.doOpr(param, () -> astPackManager.add(param));
}
......
......@@ -5,29 +5,26 @@
package com.abssqr.plat.common.facade.enums;
import com.general.system.common.model.IEnum;
import java.util.HashMap;
import java.util.Map;
import com.general.system.common.model.IEnum;
/**
*筛选规则条件
* @author xiachenxiang
* @version com.abssqr.plat.common.facade.enums: AstScreenRuleConditionEnum.java, v 0.1 2020-04-18 6:30 PM xiachenxiang Exp $
*/
public enum AstScreenRuleConditionEnum implements IEnum {
public enum AstScRuleLeftCondEnum implements IEnum {
GT("gt",">"),
ge("ge",">="),
lt("lt","<"),
le("le","<="),
eq("eq","="),
;
private static final Map<String, AstScreenRuleConditionEnum> codeMap = new HashMap<String, AstScreenRuleConditionEnum>();
private static final Map<String, AstScRuleLeftCondEnum> codeMap = new HashMap<String, AstScRuleLeftCondEnum>();
static {
for (AstScreenRuleConditionEnum item : AstScreenRuleConditionEnum.values()) {
for (AstScRuleLeftCondEnum item : AstScRuleLeftCondEnum.values()) {
codeMap.put(item.getCode(), item);
}
}
......@@ -35,12 +32,12 @@ public enum AstScreenRuleConditionEnum implements IEnum {
private String code;
private String desc;
private AstScreenRuleConditionEnum(String code, String desc) {
private AstScRuleLeftCondEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public static AstScreenRuleConditionEnum getByCode(String code) {
public static AstScRuleLeftCondEnum getByCode(String code) {
return codeMap.get(code);
}
......
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.facade.enums;
import java.util.HashMap;
import java.util.Map;
import com.general.system.common.model.IEnum;
/**
*筛选规则条件
* @author xiachenxiang
* @version com.abssqr.plat.common.facade.enums: AstScreenRuleConditionEnum.java, v 0.1 2020-04-18 6:30 PM xiachenxiang Exp $
*/
public enum AstScRuleRightCondEnum implements IEnum {
lt("lt","<"),
le("le","<="),
eq("eq","="),
in("in","in"),
;
private static final Map<String, AstScRuleRightCondEnum> codeMap = new HashMap<String, AstScRuleRightCondEnum>();
static {
for (AstScRuleRightCondEnum item : AstScRuleRightCondEnum.values()) {
codeMap.put(item.getCode(), item);
}
}
private String code;
private String desc;
private AstScRuleRightCondEnum(String code, String desc) {
this.code = code;
this.desc = desc;
}
public static AstScRuleRightCondEnum getByCode(String code) {
return codeMap.get(code);
}
@Override
public String getCode() {
return this.code;
}
@Override
public String getDesc() {
return this.desc;
}
}
\ No newline at end of file
......@@ -17,7 +17,12 @@ import java.util.Map;
public enum AstTypeEnum implements IEnum {
LOAN("loan", "贷款"),
QCDK("QCDK","汽车贷款"),RZZL("RZZL","融资租赁"),BL("BL","保理"),DGDK("DGDK","对公贷款");
// TODO 待确认 to 朝阳
QCDK("QCDK","汽车贷款"),
RZZL("RZZL","融资租赁"),
BL("BL","保理"),
DGDK("DGDK","对公贷款")
;
private static final Map<String, AstTypeEnum> codeMap = new HashMap<String, AstTypeEnum>();
......
......@@ -5,16 +5,12 @@
package com.abssqr.plat.common.facade.model.rule;
import com.abssqr.plat.common.facade.enums.*;
import com.abssqr.plat.common.facade.param.ast.astScreenRuleArea.RuleArea;
import com.general.system.bpm.enums.ApproveStatusEnum;
import com.general.system.common.model.BaseEntity;
import com.general.system.common.model.Money;
import com.abssqr.plat.common.facade.enums.AstScRuleLeftCondEnum;
import com.abssqr.plat.common.facade.enums.AstScRuleRightCondEnum;
import com.abssqr.plat.common.facade.enums.AstScreenRelTypeEnum;
import com.abssqr.plat.common.facade.enums.AstScreenRuleTypeEnum;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import com.general.system.common.model.BaseEntity;
/**
* @author bangis.wangdf
......@@ -25,31 +21,31 @@ public class AstScreenRule extends BaseEntity {
/**
* relNo 关联编号.
*/
private String relNo;
private String relNo;
/**
* relType 关联类型 1.资产打包 PACK.
*/
private AstScreenRelTypeEnum relType;
private AstScreenRelTypeEnum relType;
/**
* ruleType 规则类型.
*/
private AstScreenRuleTypeEnum ruleType;
private AstScreenRuleTypeEnum ruleType;
/**
* leftValue 左值.
*/
private String leftValue;
private String leftValue;
/**
* rightValue 右值.
*/
private String rightValue;
private String rightValue;
/**
* leftCondition 左条件: 1.大于 GT 2.大于等于 GE.
*/
private AstScreenRuleConditionEnum leftCondition;
private AstScRuleLeftCondEnum leftCondition;
/**
* rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN.
*/
private AstScreenRuleConditionEnum rightCondition;
private AstScRuleRightCondEnum rightCondition;
public String getRelNo() {
return relNo;
......@@ -91,19 +87,19 @@ public class AstScreenRule extends BaseEntity {
this.rightValue = rightValue;
}
public AstScreenRuleConditionEnum getLeftCondition() {
public AstScRuleLeftCondEnum getLeftCondition() {
return leftCondition;
}
public void setLeftCondition(AstScreenRuleConditionEnum leftCondition) {
public void setLeftCondition(AstScRuleLeftCondEnum leftCondition) {
this.leftCondition = leftCondition;
}
public AstScreenRuleConditionEnum getRightCondition() {
public AstScRuleRightCondEnum getRightCondition() {
return rightCondition;
}
public void setRightCondition(AstScreenRuleConditionEnum rightCondition) {
public void setRightCondition(AstScRuleRightCondEnum rightCondition) {
this.rightCondition = rightCondition;
}
}
......@@ -9,6 +9,7 @@ import com.abssqr.plat.common.facade.base.BaseOprParam;
import com.abssqr.plat.common.facade.enums.AstTypeEnum;
import com.abssqr.plat.common.facade.enums.EventCodeEnum;
import com.abssqr.plat.common.facade.param.ast.sub.AstScreenRuleParam;
import com.abssqr.plat.common.facade.validation.VldCollection;
import com.abssqr.plat.common.facade.validation.VldEnums;
import com.abssqr.plat.common.facade.validation.VldMoney;
import com.abssqr.plat.common.facade.validation.VldString;
......@@ -43,6 +44,7 @@ public class AstPackOprParam extends BaseOprParam {
/**
* 筛选规则
*/
@VldCollection(nullable = true)
private List<AstScreenRuleParam> screenRuleList = new ArrayList<>();
/**
......
......@@ -5,14 +5,13 @@
package com.abssqr.plat.common.facade.param.ast.sub;
import com.abssqr.plat.common.facade.enums.AstScreenRelTypeEnum;
import com.abssqr.plat.common.facade.enums.AstScreenRuleConditionEnum;
import com.abssqr.plat.common.facade.enums.AstScRuleLeftCondEnum;
import com.abssqr.plat.common.facade.enums.AstScRuleRightCondEnum;
import com.abssqr.plat.common.facade.enums.AstScreenRuleTypeEnum;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.abssqr.plat.common.facade.validation.VldEnums;
import com.general.system.common.model.BaseEntity;
import com.abssqr.plat.common.facade.validation.VldString;
import java.io.Serializable;
import com.general.system.common.model.BaseEntity;
/**
* @author xiachenxiang
......@@ -22,7 +21,7 @@ public class AstScreenRuleParam extends BaseEntity {
/**
* ruleType 规则类型.
*/
@VldEnums(enumClass = AstScreenRuleTypeEnum.class, message = "不支持的规则类型")
@VldEnums(enumClass = AstScreenRuleTypeEnum.class, nullable = true,message = "不支持的规则类型")
private String ruleType;
/**
* leftValue 左值.
......@@ -35,12 +34,12 @@ public class AstScreenRuleParam extends BaseEntity {
/**
* leftCondition 左条件: 1.大于 GT 2.大于等于 GE.
*/
@VldEnums(enumClass = AstScreenRuleConditionEnum.class, message = "不支持的条件类型")
@VldEnums(enumClass = AstScRuleLeftCondEnum.class,nullable = true, message = "不支持的条件类型")
private String leftCondition;
/**
* rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN.
*/
@VldEnums(enumClass = AstScreenRuleConditionEnum.class, message = "不支持的条件类型")
@VldEnums(enumClass = AstScRuleRightCondEnum.class,nullable = true, message = "不支持的条件类型")
private String rightCondition;
public String getRuleType() {
......
/**
* abssqr.com Inc.
* Copyright (c) 2017-2020 All Rights Reserved.
*/
package com.abssqr.plat.common.model.convertor.web;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.abssqr.plat.common.facade.enums.AstPackTypeEnum;
import com.abssqr.plat.common.facade.enums.AstScRuleLeftCondEnum;
import com.abssqr.plat.common.facade.enums.AstScRuleRightCondEnum;
import com.abssqr.plat.common.facade.enums.AstScreenRelTypeEnum;
import com.abssqr.plat.common.facade.enums.AstScreenRuleTypeEnum;
import com.abssqr.plat.common.facade.enums.AstTypeEnum;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.model.domain.ast.AstPack;
import org.activiti.editor.language.json.converter.util.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
/**
*
* @author bangis.wangdf
* @version com.abssqr.plat.common.model.convertor.web: AstPackParamConvert.java, v 0.1 2020-04-21 11:27 bangis.wangdf Exp $
*/
public class AstPackParamConvert {
public static AstPack param2Model(AstPackOprParam param){
AstPack result = new AstPack();
result.setPackNo(param.getPackNo());
result.setPackName(param.getPackName());
result.setAvalAmt(param.getAvalAmtMoney());
result.setAstPoolNo(param.getAstPoolNo());
result.setPackType(AstPackTypeEnum.NORMAL);
result.setStatus(AstPackStatusEnum.INIT);
result.setAstType(AstTypeEnum.getByCode(param.getAstType()));
if (CollectionUtils.isNotEmpty(param.getScreenRuleList())) {
param.getScreenRuleList().forEach(item -> {
if (StringUtils.isNotEmpty(item.getLeftValue()) || StringUtils.isNotEmpty(item.getRightValue())) {
AstScreenRule rule = new AstScreenRule();
result.getScreenRuleList().add(rule);
//relNo 关联编号
rule.setRelNo(param.getPackNo());
//relType 关联类型 1.资产打包 PACK
rule.setRelType(AstScreenRelTypeEnum.PACK);
//ruleType 规则类型
rule.setRuleType(AstScreenRuleTypeEnum.getByCode(item.getRuleType()));
//leftValue 左值
rule.setLeftValue(item.getLeftValue());
//rightValue 右值
rule.setRightValue(item.getRightValue());
//leftCondition 左条件: 1.大于 GT 2.大于等于 GE
rule.setLeftCondition(AstScRuleLeftCondEnum.getByCode(item.getLeftCondition()));
//rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN
rule.setRightCondition(AstScRuleRightCondEnum.getByCode(item.getRightCondition()));
}
});
}
return result;
}
}
......@@ -5,22 +5,21 @@
package com.abssqr.plat.common.model.repo.ast.impl;
import java.util.List;
import com.abssqr.plat.common.dal.mysql.auto.dao.AstPackDAO;
import com.abssqr.plat.common.dal.mysql.auto.paging.AstPackPagePage;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.abssqr.plat.common.facade.param.ast.AstPackQryParam;
import com.abssqr.plat.common.model.convertor.AstPackConvert;
import com.abssqr.plat.common.model.domain.ast.AstPack;
import com.abssqr.plat.common.model.domain.ast.Pack;
import com.abssqr.plat.common.model.repo.ast.AstPackRepo;
import com.google.common.collect.Lists;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* @author xiachenxiang
* @version com.abssqr.plat.common.model.repo.ast.impl: AstPackRepositoryImpl.java, v 0.1 2020-04-18 3:16 PM xiachenxiang Exp $
......@@ -51,7 +50,7 @@ public class AstPackRepoImpl implements AstPackRepo {
AstPackPagePage page = new AstPackPagePage();
page.setPackNo(param.getPackNo());
page.setPackName(param.getPackName());
ArrayList<String > status = Lists.newArrayList();
List<String > status = Lists.newArrayList();
if (StringUtils.isNotEmpty(param.getStatus())){
status.add(param.getStatus());
// init 在前端也显示为筛选中
......
......@@ -5,20 +5,19 @@
package com.abssqr.plat.core.service.ast;
import com.abssqr.plat.common.facade.enums.*;
import com.abssqr.plat.common.facade.model.rule.AstScreenRule;
import com.abssqr.plat.common.facade.enums.AstPackStatusEnum;
import com.abssqr.plat.common.facade.enums.AstPackTypeEnum;
import com.abssqr.plat.common.facade.enums.CommonTaskTypeEnum;
import com.abssqr.plat.common.facade.param.ast.AstPackOprParam;
import com.abssqr.plat.common.model.convertor.web.AstPackParamConvert;
import com.abssqr.plat.common.model.domain.ast.AstPack;
import com.abssqr.plat.common.model.domain.task.CommonTask;
import com.abssqr.plat.common.model.enums.IdTypeEnum;
import com.abssqr.plat.common.model.repo.ast.AstPackRepo;
import com.abssqr.plat.common.model.repo.rule.AstScreenRuleRepo;
import com.abssqr.plat.common.model.repo.task.CommonTaskRepository;
import com.abssqr.plat.common.model.seq.SequenceUtil;
import com.abssqr.plat.common.util.base.autoconfig.AbsConfig;
import com.abssqr.plat.core.service.util.CommonTaskUtil;
import com.general.system.common.util.VarChecker;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
......@@ -29,13 +28,11 @@ import org.springframework.stereotype.Component;
@Component
public class AstPackManager {
@Autowired
private AstPackRepo astPackRepository;
@Autowired
private AstScreenRuleRepo astScreenRuleRepo;
AstPackRepo astPackRepository;
@Autowired
private CommonTaskRepository commonTaskRepository;
AstScreenRuleRepo astScreenRuleRepo;
@Autowired
private AbsConfig absConfig;
CommonTaskRepository commonTaskRepository;
/**
* 新增资产包
......@@ -46,76 +43,27 @@ public class AstPackManager {
public String add(AstPackOprParam param) {
// 1. 校验重复
AstPack astPack = astPackRepository.getByAbsPackPackNo(param.getPackNo());
VarChecker.checkArgument(astPack == null, "资产包已存在");
VarChecker.checkArgument(astPack == null, "资产包已存在{0}", param.getPackNo());
Long cnt = astPackRepository.cntByPackName(param.getPackName());
VarChecker.checkEquals(cnt, 0L, "资产包名重复");
// 2. 保存资产包
astPack = buildPack(param);
astPack = AstPackParamConvert.param2Model(param);
astPackRepository.insert(astPack);
// 3. 保存筛选规则
astScreenRuleRepo.insertBatch(astPack.getScreenRuleList());
// 4. 插入资产筛选任务
CommonTask commonTask = buildBasicCommonTask(param.getPackNo(), param.getAstPoolNo());
CommonTask commonTask = CommonTaskUtil.buildCommonTaskWithContext(param.getPackNo(),CommonTaskTypeEnum.PACK_MATCH,param.getAstPoolNo());
commonTaskRepository.create(commonTask);
return param.getPackNo();
}
private AstPack buildPack(AstPackOprParam param) {
AstPack result = new AstPack();
result.setPackNo(param.getPackNo());
result.setPackName(param.getPackName());
result.setAvalAmt(param.getAvalAmtMoney());
result.setAstPoolNo(param.getAstPoolNo());
result.setPackType(AstPackTypeEnum.NORMAL);
result.setStatus(AstPackStatusEnum.INIT);
result.setAstType(AstTypeEnum.getByCode(param.getAstType()));
if (CollectionUtils.isNotEmpty(param.getScreenRuleList())) {
param.getScreenRuleList().forEach(item -> {
if (StringUtils.isNotEmpty(item.getLeftValue()) || StringUtils.isNotEmpty(item.getRightValue())) {
AstScreenRule rule = new AstScreenRule();
result.getScreenRuleList().add(rule);
//relNo 关联编号
rule.setRelNo(param.getPackNo());
//relType 关联类型 1.资产打包 PACK
rule.setRelType(AstScreenRelTypeEnum.PACK);
//ruleType 规则类型
rule.setRuleType(AstScreenRuleTypeEnum.getByCode(item.getRuleType()));
//leftValue 左值
rule.setLeftValue(item.getLeftValue());
//rightValue 右值
rule.setRightValue(item.getRightValue());
//leftCondition 左条件: 1.大于 GT 2.大于等于 GE
rule.setLeftCondition(AstScreenRuleConditionEnum.getByCode(item.getLeftCondition()));
//rightCondition 右条件: 1.小于 LT 2.小于等于 LE 3.等于 EQ 4.包含 IN
rule.setRightCondition(AstScreenRuleConditionEnum.getByCode(item.getRightCondition()));
}
});
}
return result;
}
public CommonTask buildBasicCommonTask(String packNo, String astPoolNo) {
CommonTask commonTask = new CommonTask();
commonTask.setBizNo(packNo);
commonTask.setContext(astPoolNo);
commonTask.setTaskType(CommonTaskTypeEnum.PACK_MATCH);
commonTask.setTaskStatus(TaskStatusEnum.INIT);
commonTask.setEnv(absConfig.getEnv());
commonTask.setExecTimes(0L);
return commonTask;
}
public void craeteDefaultPack(String astPoolNo, AstTypeEnum astTypeEnum){
AstPack astPack=new AstPack();
public void craeteDefaultPack(String astPoolNo) {
AstPack astPack = new AstPack();
astPack.setAstPoolNo(astPoolNo);
//astPack.setAstTypeCode();
astPack.setPackNo(SequenceUtil.genId(IdTypeEnum.AST_PACK_CODE));
astPack.setAstType(astTypeEnum);
astPack.setPackNo(astPoolNo);
astPack.setPackType(AstPackTypeEnum.DEFAULT);
astPack.setStatus(AstPackStatusEnum.INIT);
astPackRepository.insert(astPack);
}
......
#Generated by Apache Maven
#Mon Apr 13 14:12:08 CST 2020
version=1.0
groupId=com.abssqr.bbplat
artifactId=test
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