From 1d1009b121c6821f14f0ce48760f4eb88d4d4a6e Mon Sep 17 00:00:00 2001 From: Timi Date: Fri, 11 Sep 2026 23:52:43 +0800 Subject: [PATCH] add customer list for GaoCustomerDailyStateView --- .../modules/gao/mapper/GaoCustomerMapper.java | 9 +++++++++ .../GaoCustomerServiceImplement.java | 6 ++++++ .../vo/GaoCustomerDailyStateCustomerView.java | 20 +++++++++++++++++++ .../gao/vo/GaoCustomerDailyStateView.java | 5 +++++ .../api/modules/gao/vo/GaoCustomerPage.java | 6 ++++++ .../timi-server/gao/GaoCustomerMapper.xml | 19 ++++++++++++++++++ 6 files changed, 65 insertions(+) create mode 100644 src/main/java/com/imyeyu/api/modules/gao/vo/GaoCustomerDailyStateCustomerView.java diff --git a/src/main/java/com/imyeyu/api/modules/gao/mapper/GaoCustomerMapper.java b/src/main/java/com/imyeyu/api/modules/gao/mapper/GaoCustomerMapper.java index e0d1e35..c7b2f74 100644 --- a/src/main/java/com/imyeyu/api/modules/gao/mapper/GaoCustomerMapper.java +++ b/src/main/java/com/imyeyu/api/modules/gao/mapper/GaoCustomerMapper.java @@ -3,6 +3,7 @@ package com.imyeyu.api.modules.gao.mapper; import com.imyeyu.api.modules.gao.entity.GaoCustomer; import com.imyeyu.api.modules.gao.vo.GaoCustomerAgeStatView; import com.imyeyu.api.modules.gao.vo.GaoCustomerDailyStateView; +import com.imyeyu.api.modules.gao.vo.GaoCustomerDailyStateCustomerView; import com.imyeyu.api.modules.gao.vo.GaoCustomerDiseaseTextView; import com.imyeyu.api.modules.gao.vo.GaoCustomerGenderStatView; import com.imyeyu.api.modules.gao.vo.GaoCustomerPage; @@ -29,6 +30,14 @@ public interface GaoCustomerMapper extends BaseMapper { /// @return 每日新增客户数 List stateDailyNewCustomer(@Param("storeId") String storeId, @Param("beginCreatedAt") Long beginCreatedAt, @Param("endCreatedAt") Long endCreatedAt); + /// 查询每日新增客户摘要 + /// + /// @param storeId 门店 ID + /// @param beginCreatedAt 开始创建时间 + /// @param endCreatedAt 结束创建时间 + /// @return 每日新增客户摘要 + List selectDailyNewCustomer(@Param("storeId") String storeId, @Param("beginCreatedAt") Long beginCreatedAt, @Param("endCreatedAt") Long endCreatedAt); + /// 统计开始时间前客户总数 /// /// @param beginCreatedAt 开始创建时间 diff --git a/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoCustomerServiceImplement.java b/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoCustomerServiceImplement.java index e60a960..3634c13 100644 --- a/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoCustomerServiceImplement.java +++ b/src/main/java/com/imyeyu/api/modules/gao/service/implement/GaoCustomerServiceImplement.java @@ -16,6 +16,7 @@ import com.imyeyu.api.modules.gao.service.GaoPointAccountService; import com.imyeyu.api.modules.gao.util.CustomerXSSFBuilder; import com.imyeyu.api.modules.gao.vo.GaoCustomerAgeStatView; import com.imyeyu.api.modules.gao.vo.GaoCustomerDailyStateView; +import com.imyeyu.api.modules.gao.vo.GaoCustomerDailyStateCustomerView; import com.imyeyu.api.modules.gao.vo.GaoCustomerGenderStatView; import com.imyeyu.api.modules.gao.vo.GaoCustomerPage; import com.imyeyu.api.modules.gao.vo.GaoCustomerTrendStateReq; @@ -411,6 +412,10 @@ public class GaoCustomerServiceImplement extends AbstractEntityService> customerListMap = new HashMap<>(); + for (GaoCustomerDailyStateCustomerView customer : mapper.selectDailyNewCustomer(req.getStoreId(), beginCreatedAt, endCreatedAt)) { + customerListMap.computeIfAbsent(customer.getDateValue(), key -> new ArrayList<>()).add(customer); + } long totalCustomerCount = TimiJava.defaultIfNull(mapper.countCreatedBefore(req.getStoreId(), beginCreatedAt), 0L); List list = new ArrayList<>(); for (LocalDate date = beginDate; !date.isAfter(endDate); date = date.plusDays(1)) { @@ -421,6 +426,7 @@ public class GaoCustomerServiceImplement extends AbstractEntityService customerList; } diff --git a/src/main/java/com/imyeyu/api/modules/gao/vo/GaoCustomerPage.java b/src/main/java/com/imyeyu/api/modules/gao/vo/GaoCustomerPage.java index e904914..1aa3345 100644 --- a/src/main/java/com/imyeyu/api/modules/gao/vo/GaoCustomerPage.java +++ b/src/main/java/com/imyeyu/api/modules/gao/vo/GaoCustomerPage.java @@ -23,4 +23,10 @@ public class GaoCustomerPage extends Page { /// 标签 ID 列表,客户必须同时拥有列表内全部标签 private List tagIdList; + + /// 录入时间起始,包含,Unix 毫秒时间戳 + private Long beginCreatedAt; + + /// 录入时间结束,包含,Unix 毫秒时间戳 + private Long endCreatedAt; } diff --git a/src/main/resources/mapper/timi-server/gao/GaoCustomerMapper.xml b/src/main/resources/mapper/timi-server/gao/GaoCustomerMapper.xml index 67b701d..ebbd1cf 100644 --- a/src/main/resources/mapper/timi-server/gao/GaoCustomerMapper.xml +++ b/src/main/resources/mapper/timi-server/gao/GaoCustomerMapper.xml @@ -49,6 +49,12 @@ HAVING COUNT(DISTINCT `ta`.`tag_id`) = #{tagCount} ) + + AND `c`.`created_at` >= #{beginCreatedAt} + + + AND `c`.`created_at` <= #{endCreatedAt} + + +