Browse Source

feat:支付条件添加支持支付次数逻辑;opt:活动发布和支付条件发布取消先后顺序

muti_db
Yen 12 months ago
parent
commit
b4c2eead57
  1. 8
      src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityPayConditionController.java
  2. 3
      src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityPayConditionBo.java
  3. 13
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java
  4. 2
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbFundFlowServiceImpl.java
  5. 19
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

8
src/main/java/com/qs/serve/modules/tbs/controller/TbsActivityPayConditionController.java

@ -121,11 +121,13 @@ public class TbsActivityPayConditionController {
} }
TbsActivityPayCondition entity = CopierUtil.copy(param,new TbsActivityPayCondition()); TbsActivityPayCondition entity = CopierUtil.copy(param,new TbsActivityPayCondition());
List<TbsActivity> activityList = tbsActivityService.listByCostApplyId(param.getCostApplyId()); List<TbsActivity> activityList = tbsActivityService.listByCostApplyId(param.getCostApplyId());
if(activityList.size()<1){ if(activityList.size()>0){
Assert.throwEx("未存在有效活动");
}
Long actId = activityList.get(0).getId(); Long actId = activityList.get(0).getId();
entity.setActivityId(actId); entity.setActivityId(actId);
}else {
// 临时状态
entity.setActivityId(0L);
}
entity.setPreNotifyStatus(param.getPreNotifyTime()==null?0:1); entity.setPreNotifyStatus(param.getPreNotifyTime()==null?0:1);
entity.setCode(CodeGenUtil.getDataCode(CodeGenUtil.SourceDataKey.ActivityPayCondition)); entity.setCode(CodeGenUtil.getDataCode(CodeGenUtil.SourceDataKey.ActivityPayCondition));
boolean result = tbsActivityPayConditionService.save(entity); boolean result = tbsActivityPayConditionService.save(entity);

3
src/main/java/com/qs/serve/modules/tbs/entity/bo/TbsActivityPayConditionBo.java

@ -14,6 +14,7 @@ import lombok.Data;
import org.hibernate.validator.constraints.Length; import org.hibernate.validator.constraints.Length;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotBlank;
@ -52,7 +53,7 @@ public class TbsActivityPayConditionBo implements Serializable {
* 支付次数 * 支付次数
*/ */
@Min(value = 1,message = "支付最少1次数") @Min(value = 1,message = "支付最少1次数")
@Min(value = 30,message = "支付最多30次数") @Max(value = 30,message = "支付最多30次数")
private Integer payTimes; private Integer payTimes;
/** 付款时间 */ /** 付款时间 */

13
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsActivityServiceImpl.java

@ -52,6 +52,7 @@ import java.util.stream.Collectors;
@AllArgsConstructor @AllArgsConstructor
public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsActivity> implements TbsActivityService { public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsActivity> implements TbsActivityService {
private final TbsActivityPayConditionMapper activityPayConditionMapper;
private final TbsActivityGoodsService activityGoodsService; private final TbsActivityGoodsService activityGoodsService;
private final TbsActivitySubjectService activitySubjectService; private final TbsActivitySubjectService activitySubjectService;
private final TbsActivityCenterService activityCenterService; private final TbsActivityCenterService activityCenterService;
@ -196,6 +197,18 @@ public class TbsActivityServiceImpl extends ServiceImpl<TbsActivityMapper,TbsAct
// activity.setPreCheckDate(preDay); // activity.setPreCheckDate(preDay);
this.saveOrUpdate(activity); this.saveOrUpdate(activity);
//协议类更新付款条件绑定活动ID
if(costApply.getContractFlag().equals(1)){
List<TbsActivityPayCondition> conditions = activityPayConditionMapper.selectList(
new LambdaQueryWrapper<TbsActivityPayCondition>()
.eq(TbsActivityPayCondition::getCostApplyId,activity.getCostApplyId())
);
for (TbsActivityPayCondition condition : conditions) {
condition.setActivityId(activity.getId());
activityPayConditionMapper.updateById(condition);
}
}
//统计费用信息 //统计费用信息
this.updateCostTotal(costApply.getId()); this.updateCostTotal(costApply.getId());
if(isUpdate){ if(isUpdate){

2
src/main/java/com/qs/serve/modules/vtb/service/impl/VtbFundFlowServiceImpl.java

@ -180,7 +180,7 @@ public class VtbFundFlowServiceImpl extends ServiceImpl<VtbFundFlowMapper,VtbFun
log.warn("错误数据,支付条件统计异常 actId:{}",activity.getId()); log.warn("错误数据,支付条件统计异常 actId:{}",activity.getId());
countPayTimes = 0L; countPayTimes = 0L;
} }
if(countPayTimes <= countCheckItems){ if(countPayTimes>1L && countPayTimes <= countCheckItems){
activity.setActivityState(TbsActivityState.STATE_1_Finished); activity.setActivityState(TbsActivityState.STATE_1_Finished);
} }
} }

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

@ -46,6 +46,7 @@ import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil;
import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.bo.TbsActivityReopenBo; import com.qs.serve.modules.tbs.entity.bo.TbsActivityReopenBo;
import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem; import com.qs.serve.modules.tbs.entity.dto.TbsCostSubItem;
import com.qs.serve.modules.tbs.mapper.TbsActivityPayConditionMapper;
import com.qs.serve.modules.tbs.mapper.TbsCostPercentMapper; import com.qs.serve.modules.tbs.mapper.TbsCostPercentMapper;
import com.qs.serve.modules.tbs.service.*; import com.qs.serve.modules.tbs.service.*;
import com.qs.serve.modules.third.util.ThirtyVerificationUtil; import com.qs.serve.modules.third.util.ThirtyVerificationUtil;
@ -96,6 +97,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
private final TbsActivityCenterGoodsService activityCenterGoodsService; private final TbsActivityCenterGoodsService activityCenterGoodsService;
private final TbsActivityCenterService activityCenterService; private final TbsActivityCenterService activityCenterService;
private final TbsActivityPayConditionService activityPayConditionService; private final TbsActivityPayConditionService activityPayConditionService;
private final TbsActivityPayConditionMapper activityPayConditionMapper;
private final VtbVerificationSubjectCenterService vtbVerificationSubjectCenterService; private final VtbVerificationSubjectCenterService vtbVerificationSubjectCenterService;
private final VtbFundFlowService vtbFundFlowService; private final VtbFundFlowService vtbFundFlowService;
private final TbsBudgetCostItemService budgetCostItemService; private final TbsBudgetCostItemService budgetCostItemService;
@ -1529,12 +1531,17 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
updCost.setChargeState(TbsCostApplyState.State_3_finished.getCode()); updCost.setChargeState(TbsCostApplyState.State_3_finished.getCode());
updCost.setPassTime(LocalDateTime.now()); updCost.setPassTime(LocalDateTime.now());
}else if (costApply.getContractFlag()!=null&&costApply.getContractFlag().equals(1)){ }else if (costApply.getContractFlag()!=null&&costApply.getContractFlag().equals(1)){
//协议类 //判断是否满足所有协议
LambdaQueryWrapper<TbsActivityPayCondition> lambdaQueryWrapper = new LambdaQueryWrapper<>(); Long countPayTimes = activityPayConditionMapper.sumActivityPayTimes(activity.getId());
lambdaQueryWrapper.eq(TbsActivityPayCondition::getCostApplyId,costApply.getId()); Long countCheckItems = activityPayConditionMapper.sumFinishedCheck(activity.getId());
lambdaQueryWrapper.ne(TbsActivityPayCondition::getFinishedFlag,1); if(countCheckItems==null){
long count = activityPayConditionService.count(lambdaQueryWrapper); countCheckItems = 0L;
if(count<1){ }
if(countPayTimes==null){
log.warn("错误数据,支付条件统计异常 actId:{}",activity.getId());
countPayTimes = 0L;
}
if(countPayTimes>1L && countPayTimes <= countCheckItems){
log.info("费用申请完成:{} , 所有协议类完成",costApply.getCode()); log.info("费用申请完成:{} , 所有协议类完成",costApply.getCode());
updCost.setChargeState(TbsCostApplyState.State_3_finished.getCode()); updCost.setChargeState(TbsCostApplyState.State_3_finished.getCode());
updCost.setPassTime(LocalDateTime.now()); updCost.setPassTime(LocalDateTime.now());

Loading…
Cancel
Save