Browse Source

核销超支异常修复;模板可见范围查询修复

contract
Yen 2 years ago
parent
commit
54cb0705cb
  1. 26
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java
  2. 12
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

26
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityTemplateController.java

@ -234,19 +234,21 @@ public class TbsActivityTemplateController {
.map(TbsActivityTemplateRegion::getTemplateId).distinct().collect(Collectors.toList());
LambdaQueryWrapper<TbsActivityTemplate> tmpLqw = new LambdaQueryWrapper<>();
tmpLqw.eq(TbsActivityTemplate::getTemplateState,1);
if(CollectionUtil.isNotEmpty(saleRegion)||CollectionUtil.isNotEmpty(bizRegion)||CollectionUtil.isNotEmpty(templateRegions)){
tmpLqw.and(a->{
if(CollectionUtil.isNotEmpty(saleRegion)){
a.or(b->b.eq(TbsActivityTemplate::getSaleRegionFlag,0));
}
if(CollectionUtil.isNotEmpty(bizRegion)){
a.or(b->b.eq(TbsActivityTemplate::getBizRegionFlag,0));
}
if(CollectionUtil.isNotEmpty(templateRegions)){
a.or(b->b.in(TbsActivityTemplate::getId,templateIds));
}
tmpLqw.and(a->{
if(CollectionUtil.isNotEmpty(saleRegion)){
a.or(b->b.eq(TbsActivityTemplate::getSaleRegionFlag,0));
}
if(CollectionUtil.isNotEmpty(bizRegion)){
a.or(b->b.eq(TbsActivityTemplate::getBizRegionFlag,0));
}
if(CollectionUtil.isNotEmpty(templateRegions)){
a.or(b->b.in(TbsActivityTemplate::getId,templateIds));
}
a.or(b->{
b.eq(TbsActivityTemplate::getSaleRegionFlag,0);
b.eq(TbsActivityTemplate::getBizRegionFlag,0);
});
}
});
if(StringUtils.hasText(templateName)){
tmpLqw.like(TbsActivityTemplate::getTemplateName,templateName);
}

12
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

@ -214,6 +214,18 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
if(payCondition.getPaymentPrice().compareTo(totalSubjectAmt)>1){
Assert.throwEx("核销金额超过支付条件金额");
}
LambdaQueryWrapper<VtbVerification> vtbVerificationLqw = new LambdaQueryWrapper<>();
vtbVerificationLqw.eq(VtbVerification::getPayConditionId,verificationBo.getPayConditionId());
vtbVerificationLqw.eq(VtbVerification::getVerificationState,VtbVerificationState.Finished.getCode());
List<VtbVerification> vtbVerificationList = this.list(vtbVerificationLqw);
BigDecimal totalCheck = BigDecimal.ZERO;
for (VtbVerification verification : vtbVerificationList) {
totalCheck = totalCheck.add(verification.getAmount());
}
BigDecimal totalCheckPl = payCondition.getPaymentPrice().subtract(totalCheck);
if(totalCheckPl.compareTo(totalSubjectAmt)>1){
Assert.throwEx("核销金额超过支付条件金额,剩余金额:"+totalCheckPl.doubleValue());
}
payCondition.setFinishedFlag(2);
activityPayConditionService.updateById(payCondition);
}

Loading…
Cancel
Save