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 5dba1ed8..b20be01e 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 @@ -118,22 +118,29 @@ public class AsyncFactory { return new TimerTask() { @Override public void run() { - try { - log.debug("--------------------------SubmitPolicy CallbackTimer Sleep Start------------------------------"); - AuthContextUtils.setTenant("001"); - Thread.sleep(7*1000); - TzcPolicyOperationServiceImpl operationService = SpringUtils.getBean(TzcPolicyOperationServiceImpl.class); - String summeryResult = operationService.checkAffairSummery(policyId.toString()); - if(summeryResult.equals(TzcPolicyOperationServiceImpl.SummeryState_Success)){ - //调用成功回调方法 - TbsAffairCommitBo finishedParam = new TbsAffairCommitBo(); - finishedParam.setPolicyId(policyId); - operationService.doFinished(finishedParam); + TzcPolicyOperationServiceImpl operationService = SpringUtils.getBean(TzcPolicyOperationServiceImpl.class); + RedisService redisService = SpringUtils.getBean(RedisService.class); + boolean createLock = redisService.tryToLock(operationService.getTemplateCode(),policyId+""); + if(createLock){ + try { + log.debug("--------------------------SubmitPolicy CallbackTimer Sleep Start------------------------------"); + AuthContextUtils.setTenant("001"); + Thread.sleep(3*1000); + String summeryResult = operationService.checkAffairSummery(policyId.toString()); + if(summeryResult.equals(TzcPolicyOperationServiceImpl.SummeryState_Success)){ + //调用成功回调方法 + TbsAffairCommitBo finishedParam = new TbsAffairCommitBo(); + finishedParam.setPolicyId(policyId); + operationService.doFinished(finishedParam); + } + log.debug("--------------------------SubmitPolicy CallbackTimer summeryResult:{}------------------------------",summeryResult); + } catch (Exception e) { + e.printStackTrace(); + }finally { + redisService.removeLock(operationService.getTemplateCode(),policyId+""); } - log.debug("--------------------------SubmitPolicy CallbackTimer summeryResult:{}------------------------------",summeryResult); - } catch (Exception e) { - e.printStackTrace(); } + } }; } diff --git a/src/main/java/com/qs/serve/common/framework/redis/RedisService.java b/src/main/java/com/qs/serve/common/framework/redis/RedisService.java index dfae685c..e054ec96 100644 --- a/src/main/java/com/qs/serve/common/framework/redis/RedisService.java +++ b/src/main/java/com/qs/serve/common/framework/redis/RedisService.java @@ -329,4 +329,32 @@ public class RedisService { ZSetOperations zset = redisTemplate.opsForZSet(); return zset.rangeByScore(key, scoure, scoure1); } + + /** + * 移除业务锁 + * @param code + * @param targetId + */ + public void removeLock(String code,String targetId){ + String key = "lock_commit:"+code+":"+targetId; + this.remove(key); + } + + /** + * 锁 + * @param code + * @param targetId + * @return true--新建锁成功,false反之 + */ + public boolean tryToLock(String code,String targetId){ + String key = "lock_commit:"+code+":"+targetId; + Integer existState = getInteger(key); + if(existState==null){ + this.set(key,1,20,TimeUnit.SECONDS); + return true; + }else { + return false; + } + } + } diff --git a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java index a79f2ef1..de71443e 100644 --- a/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java +++ b/src/main/java/com/qs/serve/modules/tbs/controller/TbsBudgetController.java @@ -16,6 +16,7 @@ import com.qs.serve.modules.tbs.common.util.TbsBudgetLogBuildUtil; import com.qs.serve.modules.tbs.entity.*; import com.qs.serve.modules.tbs.entity.bo.*; import com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogWithAmount; +import com.qs.serve.modules.tbs.entity.dto.TbsScheduleItemBudgetAmount; import com.qs.serve.modules.tbs.entity.vo.TbsBudgetVo; import com.qs.serve.modules.tbs.mapper.TbsBudgetMapper; import com.qs.serve.modules.tbs.mapper.TbsScheduleItemBudgetMapper; @@ -435,5 +436,25 @@ public class TbsBudgetController { tbsBudgetService.updateBudgetAfterStart(param); return R.ok(); } + + @GetMapping("/syncNotExitLog") + public R syncNotExitLog(){ + List items = tbsScheduleItemBudgetMapper.listNotCreateLogBudget(); + for (TbsScheduleItemBudget item : items) { + TbsBudget budget = tbsBudgetService.getById(item.getBudgetId()); + SysUser sysUser = sysUserService.getById(budget.getUserId()); + if(sysUser==null){ + sysUser = new SysUser(); + sysUser.setId("1"); + sysUser.setName("Admin"); + sysUser.setCode("Admin"); + } + TbsBudgetLog budgetLog = TbsBudgetLogBuildUtil.toTbsBudgetLog(sysUser,budget,item,BudgetLogOptFlag.State_0,item.getBudgetAmount()); + budgetLog.setRemark("sync"); + tbsBudgetLogService.save(budgetLog); + } + return R.ok(); + } + } diff --git a/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java b/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java index 831e0b28..4c23fede 100644 --- a/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java +++ b/src/main/java/com/qs/serve/modules/tbs/entity/TbsActivity.java @@ -207,6 +207,7 @@ public class TbsActivity implements Serializable { /** 模板id */ private Long templateId; + @TableField(condition = SqlCondition.LIKE) private String templateTitle; private String templateBudgetIds; diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java index 3b30d098..7a4c0e49 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsBudgetLogMapper.java @@ -37,5 +37,6 @@ public interface TbsBudgetLogMapper extends BaseMapper { @Update("update tbs_budget_log set del_flag = #{delState} WHERE cost_apply_id = #{costApplyId}") void updateLogDelFlagByCostApply(@Param("costApplyId")Long costApplyId,@Param("delState")Integer delState); + } diff --git a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java index 41155d0e..0b01c661 100644 --- a/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java +++ b/src/main/java/com/qs/serve/modules/tbs/mapper/TbsScheduleItemBudgetMapper.java @@ -1,5 +1,6 @@ package com.qs.serve.modules.tbs.mapper; +import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.qs.serve.modules.tbs.entity.TbsScheduleItemBudget; import com.qs.serve.modules.tbs.entity.dto.TbsBudgetLogPreAmount; @@ -152,5 +153,14 @@ public interface TbsScheduleItemBudgetMapper extends BaseMapper getAllByScheduleItemIdList(@Param("selectIds") List ids); + + @InterceptorIgnore(tenantLine = "true") + @Select(" SELECT tsib.* FROM `tbs_schedule_item_budget` tsib " + + " LEFT JOIN tbs_budget ON tsib.budget_id = tbs_budget.id " + + " LEFT JOIN tbs_budget_log ON (tsib.budget_id = tbs_budget_log.budget_id " + + " and tsib.schedule_item_id = tbs_budget_log.schedule_item_id and tbs_budget_log.opt_type = 0) " + + " where tbs_budget.del_flag = 0 and tbs_budget.budget_state = 1 and tbs_budget_log.id is null and budget_amount > 0") + List listNotCreateLogBudget(); + } 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 6adb119d..fe2b508b 100644 --- a/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java +++ b/src/main/java/com/qs/serve/modules/third/PortalOfCostController.java @@ -8,8 +8,10 @@ import com.qs.serve.common.util.JsonUtil; import com.qs.serve.modules.sys.entity.SysSyncLog; import com.qs.serve.modules.sys.service.SysSyncLogService; import com.qs.serve.modules.third.consts.ThirtyConst; +import com.qs.serve.modules.third.entity.ProcessCreateContractCheckBo; import com.qs.serve.modules.third.entity.ProcessCreateCostApplyBo; import com.qs.serve.modules.third.entity.ProcessCreatePolicyCostBo; +import com.qs.serve.modules.third.entity.ProcessReleaseContractBo; import com.qs.serve.modules.third.service.PortalOfCostApplication; import com.qs.serve.modules.tzc.service.TzcPolicyGoodsSyncService; import lombok.AllArgsConstructor; @@ -66,6 +68,63 @@ public class PortalOfCostController { return R.error("支付异常"); } + + /** + * 协议类费用 核销支付记录 + * @param createBo + * @return + */ + @PostMapping("createByContractCheck") + public R createByContractCheck(@Valid @RequestBody ProcessCreateContractCheckBo createBo, HttpServletRequest request){ + SysSyncLog syncLog = new SysSyncLog(); + syncLog.setFromPlat("协议类核销支付"); + syncLog.setUrl(request.getRequestURI()); + syncLog.setRequestJson(JsonUtil.objectToJson(createBo)); + syncLog.setEntityClass(ProcessCreateCostApplyBo.class.getName()); + try { + ThirdTokenUtil.checkToken(request); + portalOfCostApplication.createByContractCheck(createBo); + syncLog.setSuccessStatus(1); + } catch (Exception e) { + log.error("协议类核销支付(费用申请)===>{}", JsonUtil.objectToJson(createBo)); + syncLog.setFailReason(e.getMessage()); + return R.error(e.getMessage()); + } + sysSyncLogService.save(syncLog); + if(syncLog.getSuccessStatus()!=null&&syncLog.getSuccessStatus().equals(1)){ + return R.ok(); + } + return R.error("支付异常"); + } + + /** + * 协议类费用 释放接口,释放合同不再支付的金额; + * @param contractBo + * @return + */ + @PostMapping("releaseContractCost") + public R releaseContractCost(@Valid @RequestBody ProcessReleaseContractBo contractBo, HttpServletRequest request){ + SysSyncLog syncLog = new SysSyncLog(); + syncLog.setFromPlat("协议类释放"); + syncLog.setUrl(request.getRequestURI()); + syncLog.setRequestJson(JsonUtil.objectToJson(contractBo)); + syncLog.setEntityClass(ProcessCreateCostApplyBo.class.getName()); + try { + ThirdTokenUtil.checkToken(request); + portalOfCostApplication.releaseContractCost(contractBo); + syncLog.setSuccessStatus(1); + } catch (Exception e) { + log.error("协议类核销支付(费用申请)===>{}", JsonUtil.objectToJson(contractBo)); + syncLog.setFailReason(e.getMessage()); + return R.error(e.getMessage()); + } + sysSyncLogService.save(syncLog); + if(syncLog.getSuccessStatus()!=null&&syncLog.getSuccessStatus().equals(1)){ + return R.ok(); + } + return R.error("支付异常"); + } + /** * 一站式创建费用(政策) * @param createBo diff --git a/src/main/java/com/qs/serve/modules/third/entity/ProcessCreateContractCheckBo.java b/src/main/java/com/qs/serve/modules/third/entity/ProcessCreateContractCheckBo.java new file mode 100644 index 00000000..586ff930 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/third/entity/ProcessCreateContractCheckBo.java @@ -0,0 +1,32 @@ +package com.qs.serve.modules.third.entity; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author YenHex + * @since 2023/11/13 + */ +@Data +public class ProcessCreateContractCheckBo { + + /** 费用编码 */ + private String costCode; + + /** 核销与支付金额 */ + private BigDecimal amount; + + /** 发票号 */ + private String billNumber; + + /** 发货单号 */ + private String dispatchCode; + + /** 业务人员编码 */ + private String userCode; + + /** 核销与支付备注 */ + private String remark; + +} diff --git a/src/main/java/com/qs/serve/modules/third/entity/ProcessReleaseContractBo.java b/src/main/java/com/qs/serve/modules/third/entity/ProcessReleaseContractBo.java new file mode 100644 index 00000000..8490b159 --- /dev/null +++ b/src/main/java/com/qs/serve/modules/third/entity/ProcessReleaseContractBo.java @@ -0,0 +1,20 @@ +package com.qs.serve.modules.third.entity; + +import lombok.Data; + +import java.math.BigDecimal; + +/** + * @author YenHex + * @since 2023/11/13 + */ +@Data +public class ProcessReleaseContractBo { + + /** 费用编码 */ + private String costCode; + + /** 核销与支付备注 */ + private String remark; + +} 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 7b911e94..685065b4 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 @@ -933,8 +933,135 @@ public class PortalOfCostApplication { } + /** + * 协议类费用 核销支付记录 + * @param createBo + */ + @Transactional(rollbackFor = Exception.class) + public void createByContractCheck(ProcessCreateContractCheckBo createBo){ + TbsCostApply costApply = costApplyService.getByCode(createBo.getCostCode()); + TbsActivity activity = activityService.listByCostApplyId(costApply.getId()).get(0); + List subjectList = activitySubjectService.listByActivityId(activity.getId()); + BmsSupplier supplier = supplierService.getById(costApply.getSupplierId()); + BigDecimal totalAmount = createBo.getAmount(); + SysUser user = userService.getByAccount(createBo.getUserCode()); + LocalDateTime nowTime = LocalDateTime.now(); + //保存核销申请 + VtbVerification verification = new VtbVerification(); + verification.setDisCode(createBo.getDispatchCode()); + verification.setBillNumber(createBo.getBillNumber()); + verification.setVerificationCode("HXC"+ CodeGenUtil.generate(CodeGenUtil.SourceKey.Verification)); + verification.setVerificationMainCode(verification.getVerificationCode()); + verification.setCostApplyId(costApply.getId()); + verification.setFinishedTime(nowTime); + verification.setVerificationState(VtbVerificationState.Finished.getCode()); + verification.setActivityId(activity.getId()); + verification.setSupplierId(activity.getSupplierId()); + verification.setSupplierCode(activity.getSupplierCode()); + verification.setSupplierName(activity.getSupplierName()); + verification.setUserId(user.getId()); + verification.setUserCode(user.getCode()); + verification.setUserName(user.getName()); + verification.setAmount(totalAmount); + verification.setAmountRecord(totalAmount); + verification.setPaymentState(ResultFlag.OK); + verificationService.save(verification); + + //协议类的要直接支付 + PayPayment payPayment = new PayPayment(); + payPayment.setPayType(PaymentType.PAYMENT); + payPayment.setPayCode("PM" + StringUtils.genShortId()); + payPayment.setSupplierId(Long.parseLong(supplier.getId())); + payPayment.setSupplierCode(supplier.getCode()); + payPayment.setSupplierName(supplier.getName()); + payPayment.setPayAmount(totalAmount); + payPayment.setCostApplyId(costApply.getId()); + payPayment.setUserId(user.getId()); + payPayment.setUserCode(user.getCode()); + payPayment.setUserName(user.getName()); + payPayment.setPayTime(nowTime); + payPayment.setErpCode(createBo.getDispatchCode()); + payPayment.setBillNumber(createBo.getBillNumber()); + payPayment.setCreateBy(user.getName()); + payPayment.setCreateTime(LocalDateTime.now()); + paymentService.save(payPayment); + //保存核销费用结果 + BigDecimal subjectSurplus = createBo.getAmount(); + for (TbsActivitySubject subject : subjectList) { + if(subjectSurplus.compareTo(BigDecimal.ZERO)==0){ + break; + } + //当前项支付多少 + BigDecimal currItemAmount; + //科目还有多少金额未支付 + BigDecimal totalUnPay = subject.getUsedAmount()==null?subject.getAmount():subject.getAmount().subtract(subject.getUsedAmount()); + //节点金额>科目的剩余金额 + if(totalUnPay.compareTo(subjectSurplus)>=0){ + currItemAmount = subjectSurplus; + subjectSurplus = BigDecimal.ZERO; + }else { + subjectSurplus = subjectSurplus.subtract(totalUnPay); + currItemAmount = totalUnPay; + } + //科目总支付 + BigDecimal totalPay = subject.getUsedAmount().add(currItemAmount); + + VtbVerificationSubject verificationSubject = new VtbVerificationSubject(); + verificationSubject.setVerificationId(verification.getId()); + verificationSubject.setVerificationSubCode(verification.getVerificationCode()+"_1"); + verificationSubject.setCostApplyId(costApply.getId()); + verificationSubject.setActivityId(activity.getId()); + verificationSubject.setSubjectId(subject.getId()); + verificationSubject.setSubjectCode(subject.getSubjectCode()); + verificationSubject.setSubjectName(subject.getSubjectName()); + verificationSubject.setSupplierId(Long.parseLong(supplier.getId())); + verificationSubject.setSupplierCode(supplier.getCode()); + verificationSubject.setSupplierName(supplier.getName()); + verificationSubject.setPayFinishedFlag(ResultFlag.OK); + verificationSubject.setUsedAmount(currItemAmount); + verificationSubject.setUsedAmountRecord(currItemAmount); + verificationSubject.setCountPerson(0); + verificationSubject.setCountSession(0); + + PayPaymentItem paymentItem = new PayPaymentItem(); + paymentItem.setPaymentId(payPayment.getId()); + paymentItem.setPayType(PaymentType.PAYMENT); + paymentItem.setSupplierId(Long.parseLong(supplier.getId())); + paymentItem.setItemPayAmount(totalAmount); + paymentItem.setVerificationId(verification.getId()); + paymentItem.setVerificationCode(verification.getVerificationCode()); + paymentItem.setVerificationMainCode(verification.getVerificationCode()); + paymentItem.setVerificationSubjectId(verificationSubject.getId()); + paymentItem.setCostApplyId(costApply.getId()); + paymentItem.setActivityId(activity.getId()); + paymentItem.setActivityCode(activity.getActivityCode()); + paymentItem.setSubjectId(subject.getId()); + paymentItem.setSubjectCode(subject.getSubjectCode()); + paymentItem.setSubjectName(subject.getSubjectName()); + paymentItem.setCreateBy(user.getName()); + paymentItem.setCreateTime(LocalDateTime.now()); + + //保存和更新项 + TbsActivitySubject activitySubject = new TbsActivitySubject(); + activitySubject.setId(subject.getId()); + activitySubject.setUsedAmount(totalPay); + activitySubjectService.updateById(subject); + paymentItemService.save(paymentItem); + verificationSubjectService.save(verificationSubject); + + } + } + + /** + * 协议类费用 释放接口,释放合同不再支付的金额; + * @param contractBo + */ + public void releaseContractCost(ProcessReleaseContractBo contractBo){ + + } + /** * 创建流程中,初始化SKU列表 * @param invCodes diff --git a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyOperationServiceImpl.java b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyOperationServiceImpl.java index 98d9318e..581040d3 100644 --- a/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyOperationServiceImpl.java +++ b/src/main/java/com/qs/serve/modules/tzc/service/impl/TzcPolicyOperationServiceImpl.java @@ -1,6 +1,8 @@ package com.qs.serve.modules.tzc.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.qs.serve.common.framework.manager.AsyncFactory; +import com.qs.serve.common.framework.manager.AsyncManager; import com.qs.serve.common.model.consts.BudgetLogRollbackFlag; import com.qs.serve.common.model.dto.R; import com.qs.serve.common.model.enums.BudgetLogOptFlag; @@ -147,7 +149,7 @@ public class TzcPolicyOperationServiceImpl implements SeeYonOperationService { @Override public void doCommitBacked(String targetId) { - + AsyncManager.me().execute(AsyncFactory.submitPolicy(Long.parseLong(targetId))); } @Override diff --git a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java index b9a8fc53..9216c8ca 100644 --- a/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java +++ b/src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java @@ -137,6 +137,9 @@ public class VtbVerificationController { }else if(loadMy!=null&&loadMy.equals(1)){ lqw.eq(VtbVerification::getUserId,AuthContextUtils.getSysUserId()); } + if(StringUtils.hasText(param.getTemplateTitle())){ + lqw.like(VtbVerification::getTemplateTitle,param.getTemplateTitle()); + } lqw.orderByDesc(VtbVerification::getId); PageUtil.startPage(); List listObjectIds = vtbVerificationService.list(lqw); diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java b/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java index e812632b..25965e5b 100644 --- a/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java +++ b/src/main/java/com/qs/serve/modules/vtb/entity/VtbVerification.java @@ -183,6 +183,9 @@ public class VtbVerification implements Serializable { @TableField(condition = SqlCondition.LIKE) private String userName; + @TableField(condition = SqlCondition.LIKE) + private String templateTitle; + /** * 业务继承人 */ @@ -214,6 +217,5 @@ public class VtbVerification implements Serializable { @TableField(exist = false) private Object costApplyInfo; - } diff --git a/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationSo.java b/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationSo.java index eecb9fd8..6cbb908b 100644 --- a/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationSo.java +++ b/src/main/java/com/qs/serve/modules/vtb/entity/so/VtbVerificationSo.java @@ -71,5 +71,8 @@ public class VtbVerificationSo implements Serializable { @TableField(condition = SqlCondition.LIKE) private String supplierBizRegionThirdName; + /** 模板名称 */ + private String templateTitle; + } diff --git a/src/main/java/com/qs/serve/task/PayTask.java b/src/main/java/com/qs/serve/task/PayTask.java index 62373731..da2cfb55 100644 --- a/src/main/java/com/qs/serve/task/PayTask.java +++ b/src/main/java/com/qs/serve/task/PayTask.java @@ -11,6 +11,7 @@ import com.qs.serve.modules.tbs.entity.TbsCostApply; import com.qs.serve.modules.tbs.service.TbsCostApplyService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; @@ -26,6 +27,7 @@ import java.util.stream.Collectors; @Slf4j @Component @AllArgsConstructor +@ConditionalOnProperty(value = "project.task", havingValue = "true") public class PayTask { private final TbsCostApplyService costApplyService; @@ -74,7 +76,9 @@ public class PayTask { costApplyService.updateBatchById(updatePayStateList); //更新支付表记录,用于实现增量更新 List costIds4Update = updatePayStateList.stream().map(TbsCostApply::getId).collect(Collectors.toList()); - payPaymentItemMapper.updateSyncCostState(costIds4Update); + if(costIds4Update.size()>0){ + payPaymentItemMapper.updateSyncCostState(costIds4Update); + } } } diff --git a/src/main/java/com/qs/serve/task/controller/TaskActivityController.java b/src/main/java/com/qs/serve/task/controller/TaskActivityController.java index 4896fef4..72190d5e 100644 --- a/src/main/java/com/qs/serve/task/controller/TaskActivityController.java +++ b/src/main/java/com/qs/serve/task/controller/TaskActivityController.java @@ -34,7 +34,7 @@ import java.util.List; @AllArgsConstructor @RestController @RequestMapping("/task/activity") -//@ConditionalOnProperty(value = "project.task", havingValue = "true") +@ConditionalOnProperty(value = "project.task", havingValue = "true") public class TaskActivityController { private final TbsActivityService activityService; diff --git a/src/main/java/com/qs/serve/task/controller/TaskPayController.java b/src/main/java/com/qs/serve/task/controller/TaskPayController.java index a0b94775..31b60452 100644 --- a/src/main/java/com/qs/serve/task/controller/TaskPayController.java +++ b/src/main/java/com/qs/serve/task/controller/TaskPayController.java @@ -4,6 +4,7 @@ import com.qs.serve.common.model.dto.R; import com.qs.serve.modules.pay.service.impl.PayApplicationService; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @@ -15,6 +16,7 @@ import org.springframework.web.bind.annotation.RestController; @AllArgsConstructor @RestController @RequestMapping("/task/pay") +@ConditionalOnProperty(value = "project.task", havingValue = "true") public class TaskPayController { PayApplicationService applicationService;