From 7dd4beb0193b00bb8fdfc3a69bce01ecda6ee0de Mon Sep 17 00:00:00 2001 From: Yen Date: Fri, 24 Nov 2023 11:53:09 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E5=88=86=E6=A0=B8=E9=94=80=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E6=9F=A5=E8=AF=A2=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../TbsCostApplyCheckController.java | 10 +++- .../tbs/mapper/TbsCostCheckStateMapper.java | 49 +++++++++++++++++++ .../tbs/service/TbsCostApplyService.java | 1 + .../service/impl/TbsCostApplyServiceImpl.java | 14 ++++++ src/main/java/com/qs/serve/task/TbsTask.java | 9 +++- 5 files changed, 81 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/qs/serve/modules/tbs/mapper/TbsCostCheckStateMapper.java 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(); + } }