Browse Source

feat:支付条件添加支持支付次数逻辑

muti_db
Yen 12 months ago
parent
commit
dd92e5f816
  1. 15
      src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityPayConditionMapper.java
  2. 15
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbFundFlowServiceImpl.java

15
src/main/java/com/qs/serve/modules/tbs/mapper/TbsActivityPayConditionMapper.java

@ -16,6 +16,21 @@ import java.util.List;
*/
public interface TbsActivityPayConditionMapper extends BaseMapper<TbsActivityPayCondition> {
/**
* 统计所有的支付次数
* @param activityId
* @return
*/
@Select("select sum(pay_times) from tbs_activity_pay_condition where del_flag = 0 and activity_id = #{activityId}")
Long sumActivityPayTimes(@Param("activityId") Long activityId);
/**
* 统计完成的核销数量
* @param activityId
* @return
*/
@Select("select sum(id) from vtb_verification where del_flag = 0 and activity_id = #{activityId} and verification_state = '1' ")
Long sumFinishedCheck(@Param("activityId") Long activityId);
@InterceptorIgnore(tenantLine = "1")
@Select("select " +

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

@ -171,11 +171,16 @@ public class VtbFundFlowServiceImpl extends ServiceImpl<VtbFundFlowMapper,VtbFun
if(costApply!=null){
if(costApply.getContractFlag()!=null&&costApply.getContractFlag().equals(1)){
//判断是否满足所有协议
LambdaQueryWrapper<TbsActivityPayCondition> conLqw = new LambdaQueryWrapper<>();
conLqw.eq(TbsActivityPayCondition::getActivityId,activity.getId());
conLqw.eq(TbsActivityPayCondition::getFinishedFlag,0);
long count = activityPayConditionMapper.selectCount(conLqw);
if(count<1){
Long countPayTimes = activityPayConditionMapper.sumActivityPayTimes(activity.getId());
Long countCheckItems = activityPayConditionMapper.sumFinishedCheck(activity.getId());
if(countCheckItems==null){
countCheckItems = 0L;
}
if(countPayTimes==null){
log.warn("错误数据,支付条件统计异常 actId:{}",activity.getId());
countPayTimes = 0L;
}
if(countPayTimes <= countCheckItems){
activity.setActivityState(TbsActivityState.STATE_1_Finished);
}
}

Loading…
Cancel
Save