diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java index 59bb55bf..668a2729 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsCostApplyCheckController.java @@ -146,6 +146,14 @@ public class TbsCostApplyCheckController { return tbsCostApplyOperationServiceImpl.getUnfinished(); } - + /** + * 更新核销状态 + * @return + */ + @GetMapping("updateCheckState") + public R updateCheckState(){ + tbsCostApplyService.updateCheckState(); + return R.ok(); + } } diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostCheckStateMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostCheckStateMapper.java new file mode 100644 index 00000000..b9ae74df --- /dev/null +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostCheckStateMapper.java @@ -0,0 +1,49 @@ +package com.qs.serve.modules.tbs.mapper; + +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Select; +import org.apache.ibatis.annotations.Update; +import java.util.List; + +/** + * 维护拓展状态Mapper + * @author YenHex + * @since 2023/11/24 + * -- * 不参与业务流程,核销状态: + * -- * 有这四个状态: + * -- * 0-未核销:代表这案子里面的所有活动都还未开始核销; + * -- * 1-已通过:代表这个案子的所有活动都已经核销完成; + * -- * 2-核销中:代表这个案子的某些活动在核销中; + * -- * 3-被拒绝;代表这个案子里面的所有活动金额都被释放了 + * -- * 4-部分核销,部分已核销,还有未完成部分 + */ +public interface TbsCostCheckStateMapper { + + @Update("update tbs_cost_apply set check_state = 0 where charge_state is null ") + int updateCheckState0(); + + @Update("update tbs_cost_apply set check_state = 1 where charge_state = 3 ") + int updateCheckState1(); + + @Update("update tbs_cost_apply set check_state = 2 where id in ( " + + " SELECT cost_apply_id from vtb_verification where verification_state = 0 and del_flag = 0 " + + ")") + int updateCheckState2(); + + @Select("select cost_apply_id " + + " from tbs_activity " + + " group by cost_apply_id " + + " HAVING count(total_amount) = sum(release_amount) ") + List selectCheckState3(); + + @Update("") + int updateCheckState3(@Param("costIds") List costIds); + + @Update("update tbs_cost_apply set check_state = 4 where charge_state = 2 and total_activity_used_amount > 0") + int updateCheckState4(); +} diff --git a/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java b/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java index 673df602..0e1da3c4 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/TbsCostApplyService.java @@ -18,6 +18,7 @@ import java.util.Map; */ public interface TbsCostApplyService extends IService { + void updateCheckState(); TbsCostApply getByCode(String code); diff --git a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java index 871a2822..10319c86 100644 --- a/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java @@ -123,6 +123,20 @@ public class TbsCostApplyServiceImpl extends ServiceImpl costIds = costCheckStateMapper.selectCheckState3(); + if(costIds.size()>0){ + costCheckStateMapper.updateCheckState3(costIds); + } + costCheckStateMapper.updateCheckState4(); + } + @Override public TbsCostApply getByCode(String code) { LambdaQueryWrapper lqw = new LambdaQueryWrapper<>(); diff --git a/src/main/java/com/qs/serve/task/TbsTask.java b/src/main/java/com/qs/serve/task/TbsTask.java index e32a8b8e..350971dc 100644 --- a/src/main/java/com/qs/serve/task/TbsTask.java +++ b/src/main/java/com/qs/serve/task/TbsTask.java @@ -3,6 +3,7 @@ package com.qs.serve.task; import java.time.LocalDate; import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.model.dto.R; import com.qs.serve.common.util.AuthContextUtils; import com.qs.serve.common.util.CollectionUtil; import com.qs.serve.modules.tbs.common.TbsActivityState; @@ -107,7 +108,13 @@ public class TbsTask { } - + /** + * 每半小时执行一次 + */ + @Scheduled(cron="0 0/30 * * * ?") + public void updateCheckState(){ + tbsCostApplyService.updateCheckState(); + } }