diff --git a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java index 13229c1b4..2fbc5a424 100644 --- a/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java +++ b/coolstore-partner-dao/src/main/java/com/cool/store/mapper/FranchiseFeeMapper.java @@ -1,5 +1,6 @@ package com.cool.store.mapper; +import com.cool.store.dto.FranchiseFeeDTO; import com.cool.store.entity.FranchiseFeeDO; import org.apache.ibatis.annotations.MapKey; import org.apache.ibatis.annotations.Param; @@ -11,6 +12,6 @@ import java.util.Map; public interface FranchiseFeeMapper extends Mapper { FranchiseFeeDO selectByShopId(@Param("shopId") Long shopId); - @MapKey("shopId") - Map getPayTimeByShopIds(@Param("shopIds") List shopIds); + + List getPayTimeByShopIds(@Param("shopIds") List shopIds); } diff --git a/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml b/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml index e6af0d5f1..bfd01f793 100644 --- a/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml +++ b/coolstore-partner-dao/src/main/resources/mapper/FranchiseFeeMapper.xml @@ -9,14 +9,15 @@ order by create_time desc limit 1 - select a.shop_id AS shopId , b.pay_time as payTime from xfsg_franchise_fee a - LEFT JOIN xfsg_line_pay b ON b.id = a.pay_id; + LEFT JOIN xfsg_line_pay b ON b.id = a.pay_id where a.shop_id in #{shopId} + \ No newline at end of file diff --git a/coolstore-partner-model/src/main/java/com/cool/store/dto/FranchiseFeeDTO.java b/coolstore-partner-model/src/main/java/com/cool/store/dto/FranchiseFeeDTO.java new file mode 100644 index 000000000..e74b5a50a --- /dev/null +++ b/coolstore-partner-model/src/main/java/com/cool/store/dto/FranchiseFeeDTO.java @@ -0,0 +1,19 @@ +package com.cool.store.dto; + +import lombok.Data; + +import java.util.Date; + +/** + * @Author: WangShuo + * @Date: 2025/02/07/14:34 + * @Version 1.0 + * @注释: + * + */ +@Data +public class FranchiseFeeDTO { + private Long shopId; + + private Date payTime; +} diff --git a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java index 7e33a0d83..2a921c927 100644 --- a/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java +++ b/coolstore-partner-service/src/main/java/com/cool/store/service/impl/ExportRealizeServiceImpl.java @@ -6,6 +6,7 @@ import com.cool.store.constants.CommonConstants; import com.cool.store.dao.*; import com.cool.store.dto.ExportBranchShopDTO; +import com.cool.store.dto.FranchiseFeeDTO; import com.cool.store.dto.Preparation.PreparationDTO; import com.cool.store.dto.Preparation.ScheduleDTO; import com.cool.store.dto.PreparationScheduleDTO; @@ -101,7 +102,10 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { List exportList = new ArrayList<>(); List shopIds = list.stream().map(BranchShopResponse::getShopId).collect(Collectors.toList()); List signFranchises = signFranchiseMapper.selectByShopIds(shopIds); - Map payTimeByShopIds = franchiseFeeMapper.getPayTimeByShopIds(shopIds); + List payTimeByShopIds = franchiseFeeMapper.getPayTimeByShopIds(shopIds); + Map payTimeMap = payTimeByShopIds.stream().filter(o -> o.getPayTime() != null) + .filter(o -> o.getShopId() != null) + .collect(Collectors.toMap(FranchiseFeeDTO::getShopId, FranchiseFeeDTO::getPayTime)); Map signFranchiseMap = new HashMap<>(); if (signFranchises != null) { signFranchiseMap = signFranchises.stream().collect(Collectors.toMap(SignFranchiseDO::getShopId, Function.identity())); @@ -127,8 +131,11 @@ public class ExportRealizeServiceImpl implements ExportRealizeService { dto.setContractStartTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, signFranchiseDO.getContractStartTime())); dto.setContractEndTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, signFranchiseDO.getContractEndTime())); } - dto.setPayTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1, payTimeByShopIds.get(response.getShopId()))); - InvoicingDO invoicingDO = InvoicingMap.get(response.getShopId()); + Date payTime = payTimeMap.get(response.getShopId()); + if (Objects.nonNull(payTime)){ + dto.setPayTime(DateUtils.parseDateToStr(SPECIAL_DATE_START_1,payTime)); + } + InvoicingDO invoicingDO = InvoicingMap.get(response.getShopId()); if (invoicingDO != null) { dto.setInvoicingTime(invoicingDO.getInvoiceDate()); dto.setManagementFeeTax(invoicingDO.getManagementFeeTax().toString());