This commit is contained in:
2025-10-23 23:28:16 +08:00
parent c358ab2fd3
commit 47c9e49212
4 changed files with 19 additions and 5 deletions

View File

@@ -74,6 +74,10 @@ public class JDOrder extends BaseEntity {
@Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date finishTime;
/** 是否参与统计0否 1是 */
@Excel(name = "参与统计")
private Integer isCountEnabled;
}

View File

@@ -218,7 +218,8 @@ public class InstructionServiceImpl implements IInstructionService {
if (list == null) list = Collections.emptyList();
// 统一截取分销标记
list.forEach(order -> order.setDistributionMark(truncateDistributionMark(order.getDistributionMark())));
List<JDOrder> filtered = list.stream().filter(o -> o.getOrderTime() != null && !o.getOrderTime().before(start) && !o.getOrderTime().after(end)).collect(Collectors.toList());
// 过滤条件:时间范围 + 参与统计标记isCountEnabled为null或1表示参与统计
List<JDOrder> filtered = list.stream().filter(o -> o.getOrderTime() != null && !o.getOrderTime().before(start) && !o.getOrderTime().after(end) && (o.getIsCountEnabled() == null || o.getIsCountEnabled() == 1)).collect(Collectors.toList());
if (filtered.isEmpty()) return Collections.singletonList("今天没有订单。");
// 按 remark 排序
List<JDOrder> sorted = filtered.stream().sorted(Comparator.comparing(JDOrder::getRemark, Comparator.nullsFirst(String::compareTo))).collect(Collectors.toList());
@@ -241,7 +242,8 @@ public class InstructionServiceImpl implements IInstructionService {
if (list == null) list = Collections.emptyList();
// 统一截取分销标记
list.forEach(order -> order.setDistributionMark(truncateDistributionMark(order.getDistributionMark())));
List<JDOrder> filtered = list.stream().filter(o -> o.getOrderTime() != null && !o.getOrderTime().before(start) && !o.getOrderTime().after(end)).collect(Collectors.toList());
// 过滤条件:时间范围 + 参与统计标记isCountEnabled为null或1表示参与统计
List<JDOrder> filtered = list.stream().filter(o -> o.getOrderTime() != null && !o.getOrderTime().before(start) && !o.getOrderTime().after(end) && (o.getIsCountEnabled() == null || o.getIsCountEnabled() == 1)).collect(Collectors.toList());
if (filtered.isEmpty()) return Collections.singletonList("今天没有订单。");
Map<String, List<JDOrder>> byDM = filtered.stream().filter(o -> o.getStatus() == null || !"拍错退款".equals(o.getStatus())).collect(Collectors.groupingBy(JDOrder::getDistributionMark));

View File

@@ -18,11 +18,12 @@
<result property="createTime" column="create_time"/>
<result property="updateTime" column="update_time"/>
<result property="status" column="status"/>
<result property="isCountEnabled" column="is_count_enabled"/>
</resultMap>
<sql id="selectJDOrderBase">
select id, remark, distribution_mark, model_number, link, payment_amount, rebate_amount,
address, logistics_link, order_id, buyer, order_time, create_time, update_time, status
address, logistics_link, order_id, buyer, order_time, create_time, update_time, status, is_count_enabled
from jd_order
</sql>
@@ -94,11 +95,11 @@
insert into jd_order (
remark, distribution_mark, model_number, link,
payment_amount, rebate_amount, address, logistics_link,
order_id, buyer, order_time, create_time, update_time, status
order_id, buyer, order_time, create_time, update_time, status, is_count_enabled
) values (
#{remark}, #{distributionMark}, #{modelNumber}, #{link},
#{paymentAmount}, #{rebateAmount}, #{address}, #{logisticsLink},
#{orderId}, #{buyer}, #{orderTime}, now(), now(), #{status}
#{orderId}, #{buyer}, #{orderTime}, now(), now(), #{status}, #{isCountEnabled}
)
</insert>
@@ -117,6 +118,7 @@
<if test="buyer != null"> buyer = #{buyer},</if>
<if test="orderTime != null"> order_time = #{orderTime},</if>
<if test="status != null"> status = #{status},</if>
<if test="isCountEnabled != null"> is_count_enabled = #{isCountEnabled},</if>
update_time = now()
</set>
where id = #{id}

View File

@@ -0,0 +1,6 @@
-- 为京东订单表添加统计控制字段
-- 字段说明is_count_enabled 控制是否参与统计0=不参与统计1=参与统计默认为1
ALTER TABLE jd_order ADD COLUMN is_count_enabled TINYINT(1) DEFAULT 1 COMMENT '是否参与统计0否 1是';
-- 为现有数据设置默认值
UPDATE jd_order SET is_count_enabled = 1 WHERE is_count_enabled IS NULL;