Browse Source

已解冻的费用限制在三天内可核销,逾期自动

冻结
v1.0
Yen 2 years ago
parent
commit
d380a79a3e
  1. 5
      src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java
  2. 7
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java
  3. 14
      src/main/java/com/qs/serve/task/TbsTask.java

5
src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java

@ -185,6 +185,11 @@ public class TbsActivity implements Serializable {
/** 重新打开标识(可重新打开过期活动进行核销) */
private Integer reopenFlag;
/** 重新打开时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@TableField(fill = FieldFill.UPDATE)
private LocalDateTime reopenTime;
/** 释放金额 */
private BigDecimal releaseAmount;

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

@ -560,6 +560,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
}else {
//解冻
activity.setReopenFlag(1);
activity.setReopenTime(LocalDateTime.now());
if(this.checkCommitting(dbAct.getId())){
activity.setActivityState(TbsActivityState.STATE_1_Checking);
}else {
@ -908,10 +909,12 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
*/
private BigDecimal validActivity(boolean cotractFlag,TbsActivity activity,boolean filterActTime,boolean isCurrentCommit){
LocalDate nowDate = LocalDate.now();
boolean isOverTime =
(nowDate.isAfter(activity.getPreCheckDate())&&activity.getPreEndDateBack()==null)
||nowDate.isAfter(activity.getPreEndDateBack());
if(!cotractFlag && activity.getReopenFlag().equals(0)
&& filterActTime
//&& nowDate.isAfter(activity.getActEndDate())
&& nowDate.isAfter(activity.getPreCheckDate())){
&& isOverTime){
Assert.throwEx("活动已结束");
}
if(activity.getActivityState().equals(TbsActivityState.STATE_1_Baning)){

14
src/main/java/com/qs/serve/task/TbsTask.java

@ -39,13 +39,25 @@ public class TbsTask {
@Scheduled(cron="0 0 1 * * ?")
public void task1(){
AuthContextUtils.setTenant("001");
LocalDate now = LocalDate.now();
//拓展已解冻的费用限制在三天内可核销,逾期自动冻结
LocalDate closeDay = now.plusDays(3);
LambdaQueryWrapper<TbsActivity> updReopen = new LambdaQueryWrapper<>();
updReopen.eq(TbsActivity::getReopenFlag,1)
.lt(TbsActivity::getReopenTime, closeDay)
.eq(TbsActivity::getActivityState,0)
.eq(TbsActivity::getCostPassFlag,1);
TbsActivity updReopenParam = new TbsActivity();
updReopenParam.setReopenFlag(0);
activityService.update(updReopenParam,updReopen);
LambdaQueryWrapper<TbsCostApply> lqwApply = new LambdaQueryWrapper<>();
lqwApply.select(TbsCostApply::getId);
lqwApply.eq(TbsCostApply::getChargeState, TbsCostApplyState.State_2_actioning.getCode());
List<TbsCostApply> costApplyList = tbsCostApplyService.list(lqwApply);
List<Long> costApplyIds = costApplyList.stream().map(a->a.getId()).collect(Collectors.toList());
//只更新审批完成的申请活动状态
LocalDate now = LocalDate.now();
LocalDate lastDay = now.plusDays(-1);
LambdaQueryWrapper<TbsActivity> lqw = new LambdaQueryWrapper<>();
lqw.in(TbsActivity::getCostApplyId,costApplyIds);

Loading…
Cancel
Save