吴昊天 5defa5ef2e feat(订单): 下单未选券时自动领取并使用整单最优优惠券
新增 OrderComputedServices::autoMatchCoupon:候选=已持有未使用+可领取(领取窗口/
库存/限领/会员券身份与手动领取同口径),整单门槛按购物车适用子集价格计算,折扣相同
优先已持有;confirm 进入确认页、computed 价格重算、create 提交下单三处挂钩,预览即
真实领取,create 后走既有扣减与订单事务内核销链路,失败降级为无券不阻断下单。
顺带修复品类券分支引用不存在的 StoreCategoryServices(改用 StoreCategoryDao)。
2026-10-21 16:54:08 +08:00
..
2026-09-23 15:15:02 +08:00
2026-09-23 15:15:02 +08:00
2026-09-23 15:15:02 +08:00
2026-09-23 15:15:02 +08:00
2026-09-23 15:15:02 +08:00
2026-09-23 15:15:02 +08:00
2026-09-23 15:15:02 +08:00
2026-09-23 15:15:02 +08:00
2026-09-23 15:15:02 +08:00

crmeb/app/services目录用于定义项目的业务服务类。

服务类的主要特征和作用包括:

  1. 服务类封装具体的业务逻辑和规则。

  2. 完成功能模块的抽象,提供统一的业务接口。

  3. 解耦项目各部分,降低他们之间的耦合度。

  4. 提供给上下文的整个环境使用。

具体来说:

  • 每个服务类对应一个独立的业务功能或规则集合。

  • 类内部可以调用其它模块完成业务需求。

  • 对外提供简单的业务接口,隐藏内部实现细节。

  • 服务类存在依赖关系,可以互相调用实现聚合服务。

使用服务层设计可以:

  • 松耦合各个模块,提高扩展和重用能力。

  • 同一个业务规则在多个场景复用。

  • 加强项目的可测试性与维护性。

所以此目录定义了项目核心业务服务模块,对外提供可复用的核心能力。