|
|
|
@ -0,0 +1,62 @@
|
|
|
|
|
/*
|
|
|
|
|
* Copyright (c) 2018-2999 广州市蓝海创新科技有限公司 All rights reserved.
|
|
|
|
|
*
|
|
|
|
|
* https://www.mall4j.com/
|
|
|
|
|
*
|
|
|
|
|
* 未经允许,不可做商业用途!
|
|
|
|
|
*
|
|
|
|
|
* 版权所有,侵权必究!
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
package com.yami.shop.bean.event;
|
|
|
|
|
|
|
|
|
|
import com.yami.shop.bean.app.dto.ShopCartDto;
|
|
|
|
|
import com.yami.shop.bean.app.dto.ShopCartItemDto;
|
|
|
|
|
import com.yami.shop.bean.app.dto.ShopCartOrderDto;
|
|
|
|
|
import com.yami.shop.bean.app.dto.ShopCartOrderMergerDto;
|
|
|
|
|
import com.yami.shop.bean.app.param.OrderParam;
|
|
|
|
|
import lombok.AllArgsConstructor;
|
|
|
|
|
import lombok.Data;
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `ConfirmOrderEvent`类是一个用于封装确认订单相关业务信息的事件类,它遵循领域驱动设计(DDD)中领域事件的概念,
|
|
|
|
|
* 在电商系统等涉及订单处理的业务场景中发挥着重要作用。当用户进行确认订单操作时,会触发该事件,
|
|
|
|
|
* 该类的实例对象会承载确认订单这一时刻所涉及的关键数据信息,并在不同的业务组件或模块之间传递,
|
|
|
|
|
* 使得其他关注确认订单事件的部分能够基于这些数据进行相应的业务逻辑处理,比如订单金额计算、库存扣减、
|
|
|
|
|
* 订单记录保存等后续操作,确保整个订单确认流程的准确与完整。
|
|
|
|
|
|
|
|
|
|
* @author LGH
|
|
|
|
|
*/
|
|
|
|
|
@Data
|
|
|
|
|
@AllArgsConstructor
|
|
|
|
|
public class ConfirmOrderEvent {
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `shopCartOrderDto`属性用于存放购物车已经组装好的店铺订单信息。
|
|
|
|
|
* 在电商购物流程中,用户将商品加入购物车后,当准备确认订单时,系统会根据购物车中的商品、店铺等信息,
|
|
|
|
|
* 按照一定规则(例如按照不同店铺进行订单拆分、合并等)组装出每个店铺对应的订单信息,
|
|
|
|
|
* 这个 `ShopCartOrderDto` 对象就包含了诸如店铺的基本信息(店铺名称、店铺ID等)、
|
|
|
|
|
* 该店铺下所有商品的汇总信息(商品总价、商品总数量等)以及其他与店铺订单相关的必要数据,
|
|
|
|
|
* 方便后续在确认订单阶段基于店铺维度进行进一步的业务处理,比如计算店铺优惠、生成店铺订单详情等操作。
|
|
|
|
|
*/
|
|
|
|
|
private ShopCartOrderDto shopCartOrderDto;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `orderParam`属性承载了下单请求的各项参数信息。
|
|
|
|
|
* 这些参数通常是由用户在前端界面填写或者系统根据默认规则生成的,例如用户的收货地址、联系人姓名、
|
|
|
|
|
* 联系电话、选择的支付方式等关键信息,它们对于生成完整准确的订单记录至关重要,
|
|
|
|
|
* 后续的订单创建、保存以及与第三方支付平台交互(如果涉及)等业务逻辑都会依赖这些参数进行相应操作,
|
|
|
|
|
* 确保订单能够按照用户期望的方式被处理和执行。
|
|
|
|
|
*/
|
|
|
|
|
private OrderParam orderParam;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* `shopCartItems`属性是一个列表,用于存储店铺中的所有商品项信息,每个元素是 `ShopCartItemDto` 类型。
|
|
|
|
|
* 在确认订单阶段,需要详细了解购物车中每个具体商品的详细情况,包括商品的具体规格(通过对应的SKU信息体现)、
|
|
|
|
|
* 商品单价、购买数量以及商品在购物车中的唯一标识等信息,这个列表就完整地记录了这些商品项的详细数据,
|
|
|
|
|
* 方便在后续业务逻辑中,例如计算每个商品的实际金额、更新商品库存、生成订单商品明细等操作时使用,
|
|
|
|
|
* 确保订单中商品相关信息的准确性和完整性。
|
|
|
|
|
*/
|
|
|
|
|
private List<ShopCartItemDto> shopCartItems;
|
|
|
|
|
}
|