diff --git a/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java b/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java index dba062c7..6c6addf0 100644 --- a/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java +++ b/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java @@ -60,7 +60,7 @@ public class PortalOfCostController { return R.error(e.getMessage()); } sysSyncLogService.save(syncLog); - return R.ok(); + return R.error("支付异常"); } /** diff --git a/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java b/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java index 110ccf76..2fec3247 100644 --- a/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java +++ b/src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java @@ -732,14 +732,14 @@ public class PortalOfCostApplication { if(unMatchBudgetItem.size()>0){ Assert.throwEx("未能匹配到预算"); } - List costUnItemList = new ArrayList<>(); - if(CollectionUtil.isNotEmpty(unMatchBudgetItem)){ - for (TbsBudgetCostItem budgetCostItem : unMatchBudgetItem) { - TbsCostUnItem costUnItem = budgetCostItem.toTbsCostUnItem(activity); - costUnItemList.add(costUnItem); - } - } - costUnItemService.saveBatch(costUnItemList); +// List costUnItemList = new ArrayList<>(); +// if(CollectionUtil.isNotEmpty(unMatchBudgetItem)){ +// for (TbsBudgetCostItem budgetCostItem : unMatchBudgetItem) { +// TbsCostUnItem costUnItem = budgetCostItem.toTbsCostUnItem(activity); +// costUnItemList.add(costUnItem); +// } +// } +// costUnItemService.saveBatch(costUnItemList); //匹配的商品,生成预算日志 List matchBudgetItem = budgetCostResult.getBudgetMatchList(); @@ -761,7 +761,8 @@ public class PortalOfCostApplication { //保存核销申请 VtbVerification verification = new VtbVerification(); - verification.setVerificationCode("HX"+ IdUtil.timeStampId()); + verification.setVerificationCode("HX"+ CodeGenUtil.generate(CodeGenUtil.SourceKey.Verification)); + verification.setCostApplyId(costApply.getId()); verification.setFinishedTime(nowTime); verification.setVerificationState(VtbVerificationState.Finished.getCode()); verification.setActivityId(activity.getId()); @@ -799,9 +800,10 @@ public class PortalOfCostApplication { String timeString = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); ThirtyVerification tv = new ThirtyVerification(); + tv.setId(IdUtil.getSnowFlakeId()+""); tv.setVerificationCode(verificationSubject.getVerificationSubCode()); tv.setActivityTitle(activityTitle); - tv.setActivityCode(activityCode); + //tv.setActivityCode(activityCode); tv.setCreateDate(timeString); tv.setStartDate(timeString); tv.setEndDate(timeString); @@ -819,6 +821,29 @@ public class PortalOfCostApplication { String json = JsonUtil.objectToJson(tv); log.info("COST_TO_PAY_API 支付单信息:{} 数据:{}",verificationSubject.getVerificationSubCode(),json); String rs = HttpUtil.doPost(COST_TO_PAY_API,json,null); + if(rs==null||!rs.contains("200")){ + log.error("COST_TO_PAY_API \n请求参数:{},\n支付单信息:{},\n结果:{}",json,verificationSubject.getVerificationSubCode(),rs); + //核销调度接口事务补偿 + costApplyService.removeById(costApply.getId()); + activityService.removeById(activity.getId()); + activitySubjectService.removeById(activitySubject.getId()); + activityCenterService.removeById(activityCenter.getId()); + List goodIds = activityGoodsList.stream().map(TbsActivityGoods::getId).collect(Collectors.toList()); + if(goodIds.size()>0){ + activityGoodsService.removeBatchByIds(goodIds); + } + List good2Ids = activityCenterGoodsList.stream().map(TbsActivityCenterGoods::getId).collect(Collectors.toList()); + if(good2Ids.size()>0){ + activityCenterGoodsService.removeBatchByIds(good2Ids); + } + List logIds = budgetLogList.stream().map(TbsBudgetLog::getId).collect(Collectors.toList()); + if(logIds.size()>0){ + budgetLogService.removeBatchByIds(logIds); + } + verificationService.removeById(verification.getId()); + verificationSubjectService.removeById(verificationSubject.getId()); + Assert.throwEx("连接支付接口异常"); + } log.info("COST_TO_PAY_API 支付单信息:{},结果:{}",verificationSubject.getVerificationSubCode(),rs); //保存支付 // PayPayment payPayment = new PayPayment();