diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/home/UserContractAmountInfo.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/home/UserContractAmountInfo.java index 8b950b8..2249d92 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/home/UserContractAmountInfo.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/domain/vo/home/UserContractAmountInfo.java @@ -43,6 +43,10 @@ public class UserContractAmountInfo { * 合同价格 */ private BigDecimal contractAmount; + /** + * payId + */ + private Long payId; /** * 已付款金额 */ diff --git a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/HomeServiceImpl.java b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/HomeServiceImpl.java index 708aa74..693bec5 100644 --- a/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/HomeServiceImpl.java +++ b/pusong-modules/pusong-business/src/main/java/com/pusong/business/service/impl/HomeServiceImpl.java @@ -335,12 +335,13 @@ public class HomeServiceImpl implements HomeService { // BigDecimal sumPayAmount = new BigDecimal(0); //记录合同编码,防止重复 Map repeatContractCode = new HashMap<>(); + Set payIdSet = new HashSet<>(); UserContractAmountVo daPan = new UserContractAmountVo(); BigDecimal all = new BigDecimal(0); for(UserContractAmountInfo obj : list){ UserContractAmountVo vo = res.get(obj.getUserId()); - if(vo==null){ + if(vo == null){ vo=new UserContractAmountVo(); vo.setUserId(obj.getUserId()); vo.setNickName(obj.getNickName()); @@ -364,15 +365,19 @@ public class HomeServiceImpl implements HomeService { } all = all.add(obj.getContractAmount()); } - //判断是否为转介绍合同 - if(contractSource.equals(obj.getCustomSource())){ - daPan.addJsPayedSumAmount(obj.getPayedMoney()); - vo.addJsPayedSumAmount(obj.getPayedMoney()); - }else { - daPan.addOtherPayedSumAmount(obj.getPayedMoney()); - vo.addOtherPayedSumAmount(obj.getPayedMoney()); + if (!payIdSet.contains(obj.getPayId())){ + //判断是否为转介绍合同 + if(contractSource.equals(obj.getCustomSource())){ + daPan.addJsPayedSumAmount(obj.getPayedMoney()); + vo.addJsPayedSumAmount(obj.getPayedMoney()); + }else { + daPan.addOtherPayedSumAmount(obj.getPayedMoney()); + vo.addOtherPayedSumAmount(obj.getPayedMoney()); + } + payIdSet.add(obj.getPayId()); } + } //计算未付款金额 res.values().forEach(v->{ @@ -499,7 +504,7 @@ public class HomeServiceImpl implements HomeService { * @param type * @return */ -// @Cacheable(cacheNames = CacheNames.HOME_F, key = "#type + '_' + #tabType") + @Cacheable(cacheNames = CacheNames.HOME_F, key = "#type + '_' + #tabType") public UserAmountVo getUserContractAndPayInfo(Integer type, int tabType){ Map mapParam = this.getDate(type); LocalDate startDate = (LocalDate)mapParam.get("startDate"); diff --git a/pusong-modules/pusong-business/src/main/resources/mapper/business/PsContractInfoMapper.xml b/pusong-modules/pusong-business/src/main/resources/mapper/business/PsContractInfoMapper.xml index 9899da7..d9fe379 100644 --- a/pusong-modules/pusong-business/src/main/resources/mapper/business/PsContractInfoMapper.xml +++ b/pusong-modules/pusong-business/src/main/resources/mapper/business/PsContractInfoMapper.xml @@ -161,6 +161,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" info.is_due as isDue, info.contract_code as contractCode, cus.custom_source as customSource, + pay.id as payId, pay.money as payedMoney FROM sys_user u inner join sys_user_role ur on ur.user_id = u.user_id