From 97af43782e02a01fa776e46d927d1cdbe63a6bad Mon Sep 17 00:00:00 2001 From: Yen Date: Fri, 18 Aug 2023 16:29:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B8=E9=94=80=E7=9A=84=E9=87=8A=E6=94=BE?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../common/framework/manager/AsyncFactory.java | 9 ++++++++- .../vtb/service/VtbVerificationApplication.java | 14 +++++++------- .../service/impl/VtbVerificationServiceImpl.java | 2 +- 3 files changed, 16 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java b/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java index 200986ec..58f617c6 100644 --- a/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java +++ b/src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java @@ -19,6 +19,7 @@ import com.qs.serve.modules.tbs.service.impl.TbsCostApplyOperationServiceImpl; import com.qs.serve.modules.tzc.service.impl.TzcPolicyOperationServiceImpl; import com.qs.serve.modules.vtb.entity.VtbVerification; import com.qs.serve.modules.vtb.service.VtbVerificationApplication; +import com.qs.serve.modules.vtb.service.VtbVerificationService; import com.qs.serve.modules.vtb.service.impl.VtbVerificationOperationServiceImpl; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeansException; @@ -187,7 +188,7 @@ public class AsyncFactory { * @param totalAmount * @return */ - public static TimerTask saveVtbSubmit(VtbVerification verification, BigDecimal totalAmount,Integer state) { + public static TimerTask saveVtbSubmit(VtbVerification verification, BigDecimal totalAmount,Integer state,boolean realaseFlag) { return new TimerTask() { @Override public void run() { @@ -199,6 +200,7 @@ public class AsyncFactory { String summeryResult = verificationOperationService.checkAffairSummery(verification.getId().toString()); if( summeryResult.equals(VtbVerificationOperationServiceImpl.SummeryState_Success)){ VtbVerificationApplication verificationApplication = SpringUtils.getBean(VtbVerificationApplication.class); + VtbVerificationService vtbVerificationService = SpringUtils.getBean(VtbVerificationService.class); if(state.equals(1)){ //调用成功回调方法 verificationApplication.finishCallBack(verification, totalAmount); @@ -206,6 +208,11 @@ public class AsyncFactory { verificationApplication.backCommitAndStop(verification,true); }else if(state.equals(0)){ verificationApplication.backCommitAndStop(verification,false); + }else { + return; + } + if(realaseFlag){ + vtbVerificationService.release(verification.getActivityId(),false); } } } catch (Exception e) { diff --git a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java index 28337ee4..207fede2 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java @@ -172,8 +172,13 @@ public class VtbVerificationApplication { boolean isFinish = "finish".equals(flag); boolean isNext = "next".equals(flag); boolean isStop = "stop".equals(flag); + //释放费用 + boolean isRelease = affairCommit.getReleaseFlag()!=null&&affairCommit.getReleaseFlag().equals(1); if (isStop){ backCommitAndStop(verification, isBackCommit); + if(isRelease){ + vtbVerificationService.release(verification.getActivityId(),false); + } }else if (!isFinish && !isNext){ return R.error("远程调用返回,非指定状态"); } @@ -268,6 +273,7 @@ public class VtbVerificationApplication { //重新计算合计 if(isFinish){ finishCallBack(verification, totalAmount); + vtbVerificationService.release(verification.getActivityId(),false); }else { //更新金额 VtbVerification vtbVer = new VtbVerification(); @@ -276,15 +282,9 @@ public class VtbVerificationApplication { vtbVerificationService.updateById(vtbVer); } } - - //释放费用 - boolean isRelease = affairCommit.getReleaseFlag()!=null&&affairCommit.getReleaseFlag().equals(1); - if( isRelease &&(isFinish||isStop)){ - this.vtbVerificationService.release(verification.getActivityId(),false); - } if(isNext){ //判断是否直接跳过审批的申请 - AsyncManager.me().execute(AsyncFactory.saveVtbSubmit(verification, totalAmount,affairCommit.getState())); + AsyncManager.me().execute(AsyncFactory.saveVtbSubmit(verification, totalAmount,affairCommit.getState(),isRelease)); } return R.ok(); } diff --git a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java index a1237607..998be3d9 100644 --- a/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java @@ -696,7 +696,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl