当前位置:网站首页>第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(业务逻辑之订单、支付实体定义)。
边栏推荐
- SENSORO成长伙伴计划 x 怀柔黑马科技加速实验室丨以品牌力打造To B企业影响力
- Gradle系列——Gradle文件操作,Gradle依赖(基于Gradle文档7.5)day3-1
- Ha ha!A print function, quite good at playing!
- 短视频软件开发,Android开发,使用Kotlin实现WebView
- Write code anytime, anywhere -- deploy your own cloud development environment based on Code-server
- 【周赛复盘】LeetCode第304场单周赛
- datax - 艰难debug路
- TestNG multiple xml for automated testing
- modbus总线模块DAM-8082
- Website construction process
猜你喜欢

DAO开发教程【WEB3.0】
![58: Chapter 5: Develop admin management services: 11: Develop [admin face login, interface]; (not measured) (using Ali AI face recognition) (demonstrated, using RestTemplate to implement interface cal](/img/ab/1c0adeb344329e28010b6ffda5389d.png)
58: Chapter 5: Develop admin management services: 11: Develop [admin face login, interface]; (not measured) (using Ali AI face recognition) (demonstrated, using RestTemplate to implement interface cal

Greenplum Database Source Code Analysis - Analysis of Standby Master Operation Tools

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

Try compiling QT test on Allwinner V853 development board

XSS靶场中级绕过

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

工作5年,测试用例都设计不好?来看看大神的用例设计总结

#yyds干货盘点# 面试必刷TOP101: 链表中倒数最后k个结点

文库网站建设源码分享
随机推荐
工作5年,测试用例都设计不好?来看看大神的用例设计总结
GZIPOutputStream 类源码分析
如何记录分析你的炼丹流程—可视化神器Wandb使用笔记【1】
ssh & scp
通配符 SSL/TLS 证书
Every calculation, & say what mean
cf:D. Magical Array【数学直觉 + 前缀和的和】
Pytorch模型训练实用教程学习笔记:四、优化器与学习率调整
【1374. 生成每种字符都是奇数个的字符串】
【webrtc】sigslot : 继承has_slot 及相关流程和逻辑
力扣刷题之移动零
PanGu-Coder:函数级的代码生成模型
TestNG multiple xml for automated testing
分享一个适用于MCU项目的代码框架
MySQL开发技巧——存储过程
【木棉花】#夏日挑战赛# 鸿蒙小游戏项目——数独Sudoku(3)
MySQL你到底都加了什么锁?
安装GBase 8c数据库的时候,报错显示“Resource:gbase8c already in use”,这怎么处理呢?
百度无人驾驶商业化已“上路”
Find the sum of two numbers