From c6337044ba0d20ab7a7827dce3ee8327ead2d233 Mon Sep 17 00:00:00 2001 From: 1073413548 <14628403+gjb0917@user.noreply.gitee.com> Date: Tue, 10 Sep 2024 16:47:26 +0800 Subject: [PATCH] bug --- .../controller/PsContractPayController.java | 4 ++- .../service/IPsContractInfoService.java | 5 +++ .../service/IPsContractPayService.java | 2 +- .../impl/ReturnApproverServiceImpl.java | 29 +--------------- .../impl/PsContractInfoServiceImpl.java | 33 ++++++++++++++++--- .../impl/PsContractPayServiceImpl.java | 10 +++--- .../service/impl/PsCustomInfoServiceImpl.java | 2 +- 7 files changed, 44 insertions(+), 41 deletions(-) diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractPayController.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractPayController.java index 6dc60a3..4b4d265 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractPayController.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/controller/PsContractPayController.java @@ -4,6 +4,7 @@ import java.util.List; import cn.dev33.satoken.annotation.SaIgnore; import com.pusong.business.domain.vo.PsRefundVo; +import com.pusong.business.service.IPsContractInfoService; import lombok.RequiredArgsConstructor; import jakarta.servlet.http.HttpServletResponse; import jakarta.validation.constraints.*; @@ -40,6 +41,7 @@ import org.springframework.web.multipart.MultipartFile; public class PsContractPayController extends BaseController { private final IPsContractPayService psContractPayService; + private final IPsContractInfoService contractInfoService; /** * 查询合同回款记录列表 @@ -87,7 +89,7 @@ public class PsContractPayController extends BaseController { @SaCheckPermission("business:contractPay:query") @PostMapping(value = "/refundFinish",consumes = MediaType.MULTIPART_FORM_DATA_VALUE) public R refundFinish(@RequestPart("files") List files, @NotNull Long id) { - psContractPayService.refundFinish(files,id); + contractInfoService.dealReturn(psContractPayService.refundFinish(files,id)); return R.ok(); } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsContractInfoService.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsContractInfoService.java index c944038..7c468f4 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsContractInfoService.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsContractInfoService.java @@ -126,6 +126,11 @@ public interface IPsContractInfoService { */ ServiceScheduleVo queryScheduleByCode(String contractCode); + /** + * 全部退款回退合同状态 + * @param contractCode + */ + void dealReturn(String contractCode); /** * 查询符合条件的合同基本信息列表 diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsContractPayService.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsContractPayService.java index 56d8fc5..c4e0bde 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsContractPayService.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/IPsContractPayService.java @@ -83,7 +83,7 @@ public interface IPsContractPayService { * @param id 任务id * @return */ - void refundFinish(List files, Long id); + String refundFinish(List files, Long id); /* *//** * 查询合同回款记录 diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/ReturnApproverServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/ReturnApproverServiceImpl.java index 54fc816..dc60077 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/ReturnApproverServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/approver/impl/ReturnApproverServiceImpl.java @@ -32,11 +32,8 @@ public class ReturnApproverServiceImpl extends ApproverAbstractServiceImpl { public String approverType() { return ApproverTypeEnum.RETURN.getCode(); } - private final PsApproverRecordMapper recordMapper; private final PsContractPayMapper baseMapper; - private final IPsContractInfoService contractInfoService; - private final PsTaskMainMapper taskMainMapper; - private final PsTaskAppointMapper taskAppointMapper; + /** * 1 审批成功 退款审批成功 @@ -45,30 +42,6 @@ public class ReturnApproverServiceImpl extends ApproverAbstractServiceImpl { @Override public void success(PsApproverRecord psApproverRecord) { PsContractPay info = baseMapper.selectById(psApproverRecord.getBusinessId()); - PsContractInfo contract = contractInfoService.queryByCode(null, info.getContractCode(), null).get(0); - //装填金额 - PsContractInfoVo vo = new PsContractInfoVo(); - vo.setContractCode(contract.getContractCode()); - vo.setContractAmount(contract.getContractAmount()); - contractInfoService.fillMoney(vo); - //退款后金额小于0的话合同状态变为带回款 - if(vo.getResidualMoney().compareTo(info.getMoney()) <= 0){ - //合同回退到待回款 - PsContractInfo con = new PsContractInfo(); - con.setContractCode(contract.getContractCode()); - con.setContractStatus(ContractStatusEnum.CREATE.getCode()); - contractInfoService.updateByCode(con); - //主任务作废 - taskMainMapper.update(Wrappers.lambdaUpdate().set(PsTaskMain::getTaskStatus,TaskStatusEnum.CANCEL.getCode()).eq(PsTaskMain::getContractCode, contract.getContractCode())); - //子任务作废 - List list = taskAppointMapper.selectList(Wrappers.lambdaQuery().select(PsTaskAppoint::getId).eq(PsTaskAppoint::getContractCode, contract.getContractCode())); - if(CollectionUtils.isNotEmpty(list)){ - List ids = list.stream().map(PsTaskAppoint::getId).map(Objects::toString).toList(); - taskAppointMapper.update(Wrappers.lambdaUpdate().set(PsTaskAppoint::getAppointStatus,TaskStatusEnum.AppointStatusEnum.CANCEL.getCode()).eq(PsTaskAppoint::getContractCode, contract.getContractCode())); - //子任务审批删除 - recordMapper.delete(Wrappers.lambdaQuery().in(PsApproverRecord::getBusinessId, ids)); - } - } info.setPayStatus(PayStatusEnum.PAYING.getCode()); baseMapper.updateById(info); } diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractInfoServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractInfoServiceImpl.java index 4159148..f890e4e 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractInfoServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractInfoServiceImpl.java @@ -9,9 +9,7 @@ import com.pusong.business.domain.bo.*; import com.pusong.business.domain.vo.*; import com.pusong.business.enums.*; import com.pusong.business.enums.TaskStatusEnum.*; -import com.pusong.business.mapper.PsContractBusinessMapper; -import com.pusong.business.mapper.PsTaskAppointMapper; -import com.pusong.business.mapper.PsTaskMainMapper; +import com.pusong.business.mapper.*; import com.pusong.business.service.*; import com.pusong.business.service.approver.ApproverContainer; import com.pusong.business.service.approver.ApproverService; @@ -38,7 +36,6 @@ import jodd.util.StringUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; -import com.pusong.business.mapper.PsContractInfoMapper; import org.springframework.transaction.annotation.Transactional; import java.io.File; @@ -77,6 +74,7 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService { private final IPsTaskService taskMainService; private final PsTaskMainMapper taskMainMapper; private final PsTaskAppointMapper taskAppointMapper; + private final PsApproverRecordMapper recordMapper; private final ISysDictDataService dictDataService; private final IPsApproverRecordService approverRecordService; @@ -750,7 +748,32 @@ public class PsContractInfoServiceImpl implements IPsContractInfoService { } - + public void dealReturn(String contractCode){ + PsContractInfo contract = this.queryByCode(null, contractCode, null).get(0); + //装填金额 + PsContractInfoVo vo = new PsContractInfoVo(); + vo.setContractCode(contract.getContractCode()); + vo.setContractAmount(contract.getContractAmount()); + this.fillMoney(vo); + //退款后金额小于0的话合同状态变为带回款 + if(vo.getPayMoney().compareTo(BigDecimal.ZERO) <= 0){ + //合同回退到待回款 + PsContractInfo con = new PsContractInfo(); + con.setContractCode(contract.getContractCode()); + con.setContractStatus(ContractStatusEnum.CREATE.getCode()); + this.updateByCode(con); + //主任务作废 + taskMainMapper.update(Wrappers.lambdaUpdate().set(PsTaskMain::getTaskStatus,TaskStatusEnum.CANCEL.getCode()).eq(PsTaskMain::getContractCode, contract.getContractCode())); + //子任务作废 + List list = taskAppointMapper.selectList(Wrappers.lambdaQuery().select(PsTaskAppoint::getId).eq(PsTaskAppoint::getContractCode, contract.getContractCode())); + if(CollectionUtils.isNotEmpty(list)){ + List ids = list.stream().map(PsTaskAppoint::getId).map(Objects::toString).toList(); + taskAppointMapper.update(Wrappers.lambdaUpdate().set(PsTaskAppoint::getAppointStatus,TaskStatusEnum.AppointStatusEnum.CANCEL.getCode()).eq(PsTaskAppoint::getContractCode, contract.getContractCode())); + //子任务审批删除 + recordMapper.delete(Wrappers.lambdaQuery().in(PsApproverRecord::getBusinessId, ids)); + } + } + } /** * 查询合同基本信息 diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractPayServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractPayServiceImpl.java index 8cd890d..141071e 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractPayServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsContractPayServiceImpl.java @@ -2,10 +2,10 @@ package com.pusong.business.service.impl; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; +import com.pusong.business.domain.*; +import com.pusong.business.domain.vo.PsContractInfoVo; import com.pusong.business.domain.vo.PsRefundVo; -import com.pusong.business.enums.ApproverTypeEnum; -import com.pusong.business.enums.PayBuinessStatusEnum; -import com.pusong.business.enums.PayStatusEnum; +import com.pusong.business.enums.*; import com.pusong.business.service.IPsApproverRecordService; import com.pusong.business.service.approver.ApproverContainer; import com.pusong.business.service.approver.ApproverService; @@ -24,7 +24,6 @@ import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; import com.pusong.business.domain.bo.PsContractPayBo; import com.pusong.business.domain.vo.PsContractPayVo; -import com.pusong.business.domain.PsContractPay; import com.pusong.business.mapper.PsContractPayMapper; import com.pusong.business.service.IPsContractPayService; import org.springframework.transaction.annotation.Transactional; @@ -199,7 +198,7 @@ public class PsContractPayServiceImpl implements IPsContractPayService { * @param id 任务id * @return */ - public void refundFinish(List files, Long id){ + public String refundFinish(List files, Long id){ PsContractPay info = baseMapper.selectById(id); List payCertifications = new ArrayList<>(); for(MultipartFile file : files){ @@ -210,6 +209,7 @@ public class PsContractPayServiceImpl implements IPsContractPayService { info.setPayCertification(StringUtils.join(payCertifications,",")); info.setPayStatus(PayStatusEnum.SUCCESS.getCode()); baseMapper.updateById(info); + return info.getContractCode(); } /* *//** diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCustomInfoServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCustomInfoServiceImpl.java index a2600fc..af45909 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCustomInfoServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/PsCustomInfoServiceImpl.java @@ -77,7 +77,7 @@ public class PsCustomInfoServiceImpl implements IPsCustomInfoService { public List> listByLoginUser() { //查询客户基本信息 List list = baseMapper.selectList(new QueryWrapper().select("id", "custom_name") - .lambda().eq(PsCustomInfo::getDelFlag, 0).isNotNull(PsCustomInfo::getCustomName)); + .lambda().eq(PsCustomInfo::getDelFlag, 0).isNotNull(PsCustomInfo::getCustomName).ne(PsCustomInfo::getCustomName,"").ne(PsCustomInfo::getCustomName,"无")); List> listmap = new ArrayList<>(); list.forEach(item->{ Map map = new HashMap<>();