当前位置:网站首页>第56章 业务逻辑之物流/配送实体定义
第56章 业务逻辑之物流/配送实体定义
2022-08-01 19:35:00 【zhoujian_911】

131 ShippingSettings、ShippingStatus、DeliveryDate、ShippingMethod、ShippingMethodCountryMapping、 ShippingOption、Warehouse、ProductAvailabilityRange、 PickupPoint、Shipment、ShipmentItem、ShipmentDeliveredEvent、 ShipmentSentEvent、PickupPointTypeConverter、ShippingOptionTypeConverter 、ShippingOptionListTypeConverter
ShippingSettings类,通过该类及其属性成员实例,设定与购物车相关的一些默认数据值,并把这些数据值持久化存储到数据库的设置表中,管理员可以修改这些数据值,使当前程序可以根据管理员的需求进行定制。
ShippingStatus枚举,指定客户的指定订单的中的所有商品的物流/配送状态,共有5种物流/配送状态:“不需要配送”、“未发货”、“部分配送”、“正在配送中”、“已交货”。
DeliveryDate类,通过该实体类及其属性成员,实现当前程序与数据库中(商品预计)交付日期表之间的数据交互操作:“1-2 days”、“3-5 days”、“1 week”。
ShippingMethod类,通过该实体类及其属性成员,实现当前程序与数据库中商品配送/物流方式表之间的数据交互操作。
ShippingMethodCountryMapping类,通过该实体类及其属性成员,实现当前程序与数据库中配送方式国家映射表之间的数据交互操作,该类主要用于配送方式与国家建立N:N映射关系,该实体在数据库中被映射为“ShippingMethodRestrictions”表。
ShippingOption类,通过该实体类及其属性成员,实现当前程序与数据库中配送操作表之间的数据交互操作。
Warehouse类,通过该实体类及其属性成员,实现当前程序与数据库中仓库表之间的数据交互操作。
ProductAvailabilityRange类,
通过该实体类及其属性成员,实现当前程序与数据库中商品可用范围表之间的数据交互操作,该表中用于存储可租赁商品的可租赁日期(可用范围),默认值:2-4 days、7-10 days、2 week。
PickupPoint类,通过该实体类及其属性成员,使当前程序支持提货点功能,该功能是被定义成插件后集成到nopCommerce程序中。
Shipment类,通过该实体类及其属性成员,实现当前程序与数据库中配送表之间的数据交互操作。
ShipmentItem类,通过该实体类及其属性成员,实现当前程序与数据库中配送子项表之间的数据交互操作。
ShipmentDeliveredEvent类,当网店执行配送交付事件时,“EventPublisher.PublishAsync”方法通过调用该类的实例,自动的从静态缓存数据库/分布式缓存数据库中,移除与配送实体相关的一些缓存实例(不管这些缓存实列是否已经达到相应的缓存时间)。
ShipmentSentEvent类,当网店执行配送发送事件时,“EventPublisher.PublishAsync”方法通过调用该类的实例,自动的从静态缓存数据库/分布式缓存数据库中,移除与配送实体相关的一些缓存实例(不管这些缓存实列是否已经达到相应的缓存时间)。
PickupPointTypeConverter类,该类定义实现了提货点实体的1个实例与XML格式数据数据值之间的相互转换操作。
ShippingOptionTypeConverter类,该类定义实现了配送/物流操作实体的1个实例与XML格式数据数据值之间的相互转换操作。
ShippingOptionListTypeConverter类,该类定义实现了配送/物流操作实体的1/多个实例与XML格式数据数据值之间的相互转换操作。
对以上功能更为具体实现和注释见:22-07-27-055_Nop_4.40.4(业务逻辑之物流配送实体定义)。
边栏推荐
- GZIPOutputStream 类源码分析
- Creo5.0 rough hexagon is how to draw
- Heavy cover special | build the first line of defense, cloud firewall offensive and defensive drills best practices
- 数据库系统原理与应用教程(070)—— MySQL 练习题:操作题 101-109(十四):查询条件练习
- 即时通讯开发移动端弱网络优化方法总结
- JS数组过滤
- TestNG多个xml进行自动化测试
- Win11如何删除升级包?Win11删除升级包的方法
- vtk体绘制代码报错的解决办法(代码在vtk7,8,9中都能运行),以及VTK数据集网站
- Shell script topic (07): file from cfs to bos
猜你喜欢

部署zabbix

Creo5.0草绘如何绘制正六边形

经验共享|在线文档协作:企业文档处理的最佳选择

MLX90640 Infrared Thermal Imager Temperature Measurement Module Development Notes (Complete)

有点奇怪!访问目的网址,主机能容器却不行
如何看待腾讯云数据库负责人林晓斌借了一个亿炒股?

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

Win11怎么安装语音包?Win11语音包安装教程

为你的“架构”安排定期体检吧!

哈哈!一个 print 函数,还挺会玩啊!
随机推荐
Compse编排微服务实战
MySQL开发技巧——存储过程
MLX90640 红外热成像仪测温模块开发笔记(完整篇)
SaaS管理系统的应用优势在哪里?如何高效提升食品制造业数智化发展水平?
网络不通?服务丢包?这篇 TCP 连接状态详解及故障排查,收好了~
ClassID的计算中,&表示啥意思
明日盛会|ApacheCon Asia 2022 Pulsar 技术议题一览
【木棉花】#夏日挑战赛# 鸿蒙小游戏项目——数独Sudoku(3)
TestNG multiple xml for automated testing
Pytorch模型训练实用教程学习笔记:三、损失函数汇总
重保特辑|拦截99%恶意流量,揭秘WAF攻防演练最佳实践
Become a Contributor in 30 minutes | How to participate in OpenHarmony's open source contributions in multiple ways?
百度无人驾驶商业化已“上路”
开源视界 | StreamNative 盛宇帆:和浪漫的人一起做最浪漫的事
从普通进阶成优秀的测试/开发程序员,一路过关斩将
在全志V853开发板试编译QT测试
MySQL开发技巧——并发控制
To drive efficient upstream and downstream collaboration, how can cross-border B2B e-commerce platforms release the core value of the LED industry supply chain?
kubernetes - deploy nfs storage class
Risc-v Process Attack