当前位置:网站首页>第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(业务逻辑之订单、支付实体定义)。
边栏推荐
- In the background of the GBase 8c database, what command is used to perform the master-slave switchover operation for the gtm and dn nodes?
- 常用命令备查
- MySQL开发技巧——并发控制
- Mobile Zero of Likou Brush Questions
- Win11校园网无法连接怎么办?Win11连接不到校园网的解决方法
- 【服务器数据恢复】服务器Raid5阵列mdisk组中多块磁盘离线的数据恢复案例
- mysql解压版简洁式本地配置方式
- 对于web性能优化我有话说!
- 【webrtc】sigslot : 继承has_slot 及相关流程和逻辑
- 10 个 PHP 代码安全漏洞扫描程序
猜你喜欢

网站建设流程

密码学的基础:X.690和对应的BER CER DER编码

Ha ha!A print function, quite good at playing!

PHP 安全最佳实践

Keras deep learning practice - traffic sign recognition

SENSORO成长伙伴计划 x 怀柔黑马科技加速实验室丨以品牌力打造To B企业影响力

XSS range intermediate bypass

分享一个适用于MCU项目的代码框架

Gradle系列——Gradle文件操作,Gradle依赖(基于Gradle文档7.5)day3-1

Win11如何删除升级包?Win11删除升级包的方法
随机推荐
kubernetes - deploy nfs storage class
57:第五章:开发admin管理服务:10:开发【从MongoDB的GridFS中,获取文件,接口】;(从GridFS中,获取文件的SOP)(不使用MongoDB的服务,可以排除其自动加载类)
Pytorch模型训练实用教程学习笔记:四、优化器与学习率调整
30天刷题计划(五)
[Server data recovery] Data recovery case of offline multiple disks in mdisk group of server Raid5 array
随时随地写代码--基于Code-server部署自己的云开发环境
OSPO 五阶段成熟度模型解析
kingbaseV8R3和postgreSQL哪个版本最接近?
智能硬件开发怎么做?机智云全套自助式开发工具助力高效开发
PanGu-Coder:函数级的代码生成模型
Keras deep learning practice - traffic sign recognition
mysql解压版简洁式本地配置方式
Win11如何开启剪贴板自动复制?Win11开启剪贴板自动复制的方法
Intranet penetration lanproxy deployment
Ha ha!A print function, quite good at playing!
使用常见问题解答软件的好处有哪些?
网络不通?服务丢包?这篇 TCP 连接状态详解及故障排查,收好了~
驱动上下游高效协同,跨境B2B电商平台如何释放LED产业供应链核心价值?
{ValueError}Number of classes, 1, does not match size of target_names, 2. Tr
在全志V853开发板试编译QT测试