当前位置:网站首页>第55章 业务逻辑之订单、支付实体定义
第55章 业务逻辑之订单、支付实体定义
2022-08-01 19:35:00 【zhoujian_911】



126 OrderSettings、PaymentSettings、ShoppingCartType、ShoppingCartItem、ShoppingCartSettings
OrderSettings类,通过该类及其属性成员实例,设定与订单相关的一些默认数据值,并把这些数据值持久化存储到数据库的设置表中,管理员可以修改这些数据值,使当前程序可以根据管理员的需求进行定制。
PaymentSettings类,通过该类及其属性成员实例,设定与支付相关的一些默认数据值,并把这些数据值持久化存储到数据库的设置表中,管理员可以修改这些数据值,使当前程序可以根据管理员的需求进行定制。
ShoppingCartType枚举,想购买商品信息的存储方式,共有2种方式:存储到购物车实例中;存储到收藏夹实例中。
ShoppingCartItem类,通过该实体类及其属性成员,实现当前程序与数据库中购物车子项表之间的数据交互操作。
ShoppingCartSettings类,通过该类及其属性成员实例,设定与购物车相关的一些默认数据值,并把这些数据值持久化存储到数据库的设置表中,管理员可以修改这些数据值,使当前程序可以根据管理员的需求进行定制。
127 CheckoutAttribute、CheckoutAttributeValue、GiftCard、GiftCardUsageHistory
CheckoutAttribute类,通过该实体类及其属性成员,实现当前程序与数据库中结帐属性表之间的数据交互操作。
CheckoutAttributeValue类,通过该实体类及其属性成员,实现当前程序与数据库中结帐属性值表之间的数据交互操作。
GiftCard类,通过该实体类及其属性成员,实现当前程序与数据库中礼品卡表之间的数据交互操作。
GiftCardUsageHistory类,通过该实体类及其属性成员,实现当前程序与数据库中礼品卡使用历史(纪录)表之间的数据交互操作。
128 PaymentStatus、ShippingStatus、OrderStatus、OrderAverageReportLineSummary 、Affiliate、Order、BestsellersReportLine、OrderItem、ReturnRequestStatus、ReturnRequest、OrderNote、RecurringPayment、RecurringPaymentHistory
PaymentStatus枚举,指定客户的指定订单的支付状态,共有6种支付状态:“等待”、“授权”、“已付款”、“部分退款”、“(全额)退款”、“无效”。
ShippingStatus类,指定客户的指定订单的中的所有商品的物流/配送状态,共有5种物流/配送状态:“不需要配送”、“未发货”、“部分配送”、“正在配送中”、“已交货”。
OrderStatus枚举,指定客户对指定商品执行下订操作的状态,共有4种物下订操作状态:“等待”、“正在处理”、“已完成”、“取消”。
OrderAverageReportLineSummary类,通过该实体类及其属性成员,用于对1个指定网店中的订单金额和订单数汇总后,通过该实体类及其属性成员存储到内存中,为报表的渲染和呈现提供数据支撑。
Affiliate类,通过该实体类及其属性成员,实现当前程序与数据库中隶属表之间的数据交互操作(该实例主要针对指定用户所在的地址之间进行隶属关联)。
Order类,通过该实体类及其属性成员,实现当前程序与数据库中订单表之间的数据交互操作(该实例主要针对指定对1/多个指定种类的1/多商品)。
BestsellersReportLine类,通过该实体类及其属性成员,用于对1个指定所有订单中的指定畅销商品的订单金额和订单数汇总后,通过该实体类及其属性成员存储到内存中,为报表的渲染和呈现提供数据支撑。
OrderItem类,通过该实体类及其属性成员,实现当前程序与数据库中订单子项表之间的数据交互操作(该实例主要针对指定对1个指定种类的1/多个商品)。
ReturnRequestStatus枚举,指定客户对指定商品执行退货的状态,共有7种退货执行状态:“等待”、“已交货”、“授权退货”、“已更换”、“已退款”、“拒绝请”、“取消”。
ReturnRequest类,通过该实体类及其属性成员,实现当前程序与数据库中退货请求表之间的数据交互操作。
OrderNote类,通过该实体类及其属性成员,实现当前程序与数据库中订单备注表之间的数据交互操作。
RecurringPayment类,通过该实体类及其属性成员,实现当前程序与数据库中定期付款表之间的数据交互操作(该实体主要针对可租赁商品进行定义)。
RecurringPaymentHistory类,通过该实体类及其属性成员,实现当前程序与数据库中定期付款历史(纪录表之间的数据交互操作(该实体主要针对可租赁商品进行定义)。
129 OrderAuthorizedEvent、OrderCancelledEvent、OrderPaidEvent、OrderPlacedEvent 、OrderRefundedEvent、OrderVoidedEvent
OrderAuthorizedEvent类,当前客户执行授权下订事件时,“EventPublisher.PublishAsync”方法通过调用该类的实例,自动的从静态缓存数据库/分布式缓存数据库中,移除与订事实体相关的一些缓存实例(不管这些缓存实列是否已经达到相应的缓存时间)。
OrderCancelledEvent类,当前客户执行订单取消事件时,“EventPublisher.PublishAsync”方法通过调用该类的实例,自动的从静态缓存数据库/分布式缓存数据库中,移除与订事实体相关的一些缓存实例(不管这些缓存实列是否已经达到相应的缓存时间)。
OrderPaidEvent类,当前客户执行订单支付事件时,“EventPublisher.PublishAsync”方法通过调用该类的实例,自动的从静态缓存数据库/分布式缓存数据库中,移除与订事实体相关的一些缓存实例(不管这些缓存实列是否已经达到相应的缓存时间)。
OrderPlacedEvent类,当前客户执行下订事件时,“EventPublisher.PublishAsync”方法通过调用该类的实例,自动的从静态缓存数据库/分布式缓存数据库中,移除与订事实体相关的一些缓存实例(不管这些缓存实列是否已经达到相应的缓存时间)。
OrderRefundedEvent类,当前客户执行退订事件时,“EventPublisher.PublishAsync”方法通过调用该类的实例,自动的从静态缓存数据库/分布式缓存数据库中,移除与订事实体相关的一些缓存实例(不管这些缓存实列是否已经达到相应的缓存时间)。
OrderVoidedEvent类,当前客户下订操作无效执行事件时,“EventPublisher.PublishAsync”方法通过调用该类的实例,自动的从静态缓存数据库/分布式缓存数据库中,移除与订事实体相关的一些缓存实例(不管这些缓存实列是否已经达到相应的缓存时间)。
130 OrderByCountryReportLine、OrderAverageReportLine、ReturnRequestAction、ReturnRequestReason 、SalesSummaryReportLine
OrderByCountryReportLine类,通过该实体类及其属性成员,用于对1个指定国家所有订单中的订单金额和订单数汇总后,通过该实体类及其属性成员存储到内存中,为报表的渲染和呈现提供数据支撑。
OrderAverageReportLine类,通过该实体类及其属性成员,用于对所有订单金额和订单数汇总后,通过该实体类及其属性成员存储到内存中,为报表的渲染和呈现提供数据支撑。
ReturnRequestAction类,通过该实体类及其属性成员,实现当前程序与数据库中请求退货操作表之间的数据交互操作。
ReturnRequestReason类,通过该实体类及其属性成员,实现当前程序与数据库中请求退货原因表之间的数据交互操作。
SalesSummaryReportLine类,
通过该实体类及其属性成员,用于对订单表中的订单销售金额和订单数汇总后,通过该实体类及其属性成员存储到内存中,为报表的渲染和呈现提供数据支撑。
对以上功能更为具体实现和注释见:22-07-26-054_Nop_4.40.4(业务逻辑之订单、支付实体定义)。
边栏推荐
- Choosing the right DevOps tool starts with understanding DevOps
- SQL的 ISNULL 函数
- SaaS管理系统的应用优势在哪里?如何高效提升食品制造业数智化发展水平?
- nacos installation and configuration
- 安装GBase 8c数据库的时候,报错显示“Resource:gbase8c already in use”,这怎么处理呢?
- 从普通进阶成优秀的测试/开发程序员,一路过关斩将
- 如何写一个vim插件?
- 【webrtc】sigslot : 继承has_slot 及相关流程和逻辑
- Pytorch模型训练实用教程学习笔记:二、模型的构建
- How PROE/Croe edits a completed sketch and brings it back to sketching state
猜你喜欢

XSS range intermediate bypass

What should I do if the Win11 campus network cannot be connected?Win11 can't connect to campus network solution

有点奇怪!访问目的网址,主机能容器却不行

shell脚本专题(07):文件由cfs到bos

Greenplum数据库源码分析——Standby Master操作工具分析

突破边界,华为存储的破壁之旅

Pytorch模型训练实用教程学习笔记:三、损失函数汇总

开源视界 | StreamNative 盛宇帆:和浪漫的人一起做最浪漫的事

Win11如何删除升级包?Win11删除升级包的方法

Compse编排微服务实战
随机推荐
Win11如何开启剪贴板自动复制?Win11开启剪贴板自动复制的方法
Gradle系列——Gradle文件操作,Gradle依赖(基于Gradle文档7.5)day3-1
1个小时!从零制作一个! AI图片识别WEB应用!
17、负载均衡
小白系统初始化配置资源失败怎么办
对于web性能优化我有话说!
在GBase 8c数据库后台,使用什么样的命令来对gtm、dn节点进行主备切换的操作?
驱动上下游高效协同,跨境B2B电商平台如何释放LED产业供应链核心价值?
17. Load balancing
openresty 动态黑白名单
Mobile Zero of Likou Brush Questions
Win11校园网无法连接怎么办?Win11连接不到校园网的解决方法
Heavy cover special | build the first line of defense, cloud firewall offensive and defensive drills best practices
Choosing the right DevOps tool starts with understanding DevOps
如何写一个vim插件?
把 Oracle 数据库从 RAC 集群迁移到单机环境
Try compiling QT test on Allwinner V853 development board
常用命令备查
The solution to the vtk volume rendering code error (the code can run in vtk7, 8, 9), and the VTK dataset website
MLX90640 红外热成像仪测温模块开发笔记(完整篇)