Browse Source

核销的释放异常修复

v1.0
Yen 2 years ago
parent
commit
bc3a9c3daf
  1. 11
      src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java
  2. 2
      src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java
  3. 6
      src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java
  4. 2
      src/main/java/com/qs/serve/modules/vtb/service/impl/VtbVerificationServiceImpl.java

11
src/main/java/com/qs/serve/common/framework/manager/AsyncFactory.java

@ -17,6 +17,7 @@ import com.qs.serve.modules.tbs.entity.bo.TbsAffairCommitBo;
import com.qs.serve.modules.tbs.service.impl.TbsBudgetApplyOperationServiceImpl; import com.qs.serve.modules.tbs.service.impl.TbsBudgetApplyOperationServiceImpl;
import com.qs.serve.modules.tbs.service.impl.TbsCostApplyOperationServiceImpl; import com.qs.serve.modules.tbs.service.impl.TbsCostApplyOperationServiceImpl;
import com.qs.serve.modules.tzc.service.impl.TzcPolicyOperationServiceImpl; import com.qs.serve.modules.tzc.service.impl.TzcPolicyOperationServiceImpl;
import com.qs.serve.modules.vtb.common.VtbVerificationState;
import com.qs.serve.modules.vtb.entity.VtbVerification; import com.qs.serve.modules.vtb.entity.VtbVerification;
import com.qs.serve.modules.vtb.service.VtbVerificationApplication; import com.qs.serve.modules.vtb.service.VtbVerificationApplication;
import com.qs.serve.modules.vtb.service.VtbVerificationService; import com.qs.serve.modules.vtb.service.VtbVerificationService;
@ -184,11 +185,11 @@ public class AsyncFactory {
/** /**
* 异步保存核销状态 * 异步保存核销状态
* @param verification * @param verificationId
* @param totalAmount * @param totalAmount
* @return * @return
*/ */
public static TimerTask saveVtbSubmit(VtbVerification verification, BigDecimal totalAmount,Integer state,boolean realaseFlag) { public static TimerTask saveVtbSubmit(Long verificationId, BigDecimal totalAmount,Integer state,boolean realaseFlag) {
return new TimerTask() { return new TimerTask() {
@Override @Override
public void run() { public void run() {
@ -196,11 +197,15 @@ public class AsyncFactory {
AuthContextUtils.setTenant("001"); AuthContextUtils.setTenant("001");
Thread.sleep(20*1000); Thread.sleep(20*1000);
log.debug("saveVtbSubmit"); log.debug("saveVtbSubmit");
VtbVerificationService vtbVerificationService = SpringUtils.getBean(VtbVerificationService.class);
VtbVerification verification = vtbVerificationService.getById(verificationId);
if(!verification.getVerificationState().equals(VtbVerificationState.Commiting.getCode())){
return;
}
VtbVerificationOperationServiceImpl verificationOperationService = SpringUtils.getBean(VtbVerificationOperationServiceImpl.class); VtbVerificationOperationServiceImpl verificationOperationService = SpringUtils.getBean(VtbVerificationOperationServiceImpl.class);
String summeryResult = verificationOperationService.checkAffairSummery(verification.getId().toString()); String summeryResult = verificationOperationService.checkAffairSummery(verification.getId().toString());
if( summeryResult.equals(VtbVerificationOperationServiceImpl.SummeryState_Success)){ if( summeryResult.equals(VtbVerificationOperationServiceImpl.SummeryState_Success)){
VtbVerificationApplication verificationApplication = SpringUtils.getBean(VtbVerificationApplication.class); VtbVerificationApplication verificationApplication = SpringUtils.getBean(VtbVerificationApplication.class);
VtbVerificationService vtbVerificationService = SpringUtils.getBean(VtbVerificationService.class);
if(state.equals(1)){ if(state.equals(1)){
//调用成功回调方法 //调用成功回调方法
verificationApplication.finishCallBack(verification, totalAmount); verificationApplication.finishCallBack(verification, totalAmount);

2
src/main/java/com/qs/serve/modules/oms/controller/api/OmsShoppingCartApi.java

@ -100,7 +100,7 @@ public class OmsShoppingCartApi {
shoppingCart.setPicUrl(goodsSku.getPicUrl()); shoppingCart.setPicUrl(goodsSku.getPicUrl());
shoppingCart.setSpuId(goodsSku.getSpuId()); shoppingCart.setSpuId(goodsSku.getSpuId());
GoodsSpu goodsSpu = goodsSpuService.getById(shoppingCart.getSpuId()); GoodsSpu goodsSpu = goodsSpuService.getById(shoppingCart.getSpuId());
if(!goodsSpu.getShelf().equals("1")){ if(!goodsSpu.getShelf().equals(1)){
return R.error("商品已下架"); return R.error("商品已下架");
} }
shoppingCart.setSpuName(goodsSpu.getName()); shoppingCart.setSpuName(goodsSpu.getName());

6
src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java

@ -273,7 +273,9 @@ public class VtbVerificationApplication {
//重新计算合计 //重新计算合计
if(isFinish){ if(isFinish){
finishCallBack(verification, totalAmount); finishCallBack(verification, totalAmount);
vtbVerificationService.release(verification.getActivityId(),false); if(isRelease){
vtbVerificationService.release(verification.getActivityId(),false);
}
}else { }else {
//更新金额 //更新金额
VtbVerification vtbVer = new VtbVerification(); VtbVerification vtbVer = new VtbVerification();
@ -284,7 +286,7 @@ public class VtbVerificationApplication {
} }
if(isNext){ if(isNext){
//判断是否直接跳过审批的申请 //判断是否直接跳过审批的申请
AsyncManager.me().execute(AsyncFactory.saveVtbSubmit(verification, totalAmount,affairCommit.getState(),isRelease)); AsyncManager.me().execute(AsyncFactory.saveVtbSubmit(verification.getId(), totalAmount,affairCommit.getState(),isRelease));
} }
return R.ok(); return R.ok();
} }

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

@ -696,7 +696,7 @@ public class VtbVerificationServiceImpl extends ServiceImpl<VtbVerificationMappe
} }
//判断是否直接跳过审批的申请 //判断是否直接跳过审批的申请
AsyncManager.me().execute(AsyncFactory.saveVtbSubmit(verification, totalAmount,1,false)); AsyncManager.me().execute(AsyncFactory.saveVtbSubmit(verification.getId(), totalAmount,1,false));
} }

Loading…
Cancel
Save