当前位置:网站首页>第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(业务逻辑之物流配送实体定义)。
边栏推荐
- 哈哈!一个 print 函数,还挺会玩啊!
- Pytorch模型训练实用教程学习笔记:一、数据加载和transforms方法总结
- 内网穿透 lanproxy部署
- deploy zabbix
- Ruijie switch basic configuration
- Win11校园网无法连接怎么办?Win11连接不到校园网的解决方法
- 对于web性能优化我有话说!
- Heavy cover special | build the first line of defense, cloud firewall offensive and defensive drills best practices
- 百度无人驾驶商业化已“上路”
- 密码学的基础:X.690和对应的BER CER DER编码
猜你喜欢
From ordinary advanced to excellent test/development programmer, all the way through
MySQL开发技巧——并发控制
#yyds干货盘点# 面试必刷TOP101: 链表中倒数最后k个结点
即时通讯开发移动端弱网络优化方法总结
[Kapok] #Summer Challenge# Hongmeng mini game project - Sudoku (3)
力扣刷题之合并两个有序数组
Compse编排微服务实战
Library website construction source code sharing
Find the sum of two numbers
工作5年,测试用例都设计不好?来看看大神的用例设计总结
随机推荐
锐捷交换机基础配置
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
PROE/Croe如何编辑已完成的草图,让其再次进入草绘状态
MySQL开发技巧——并发控制
Compose实战-实现一个带下拉加载更多功能的LazyColumn
18. Distributed configuration center nacos
Try compiling QT test on Allwinner V853 development board
57:第五章:开发admin管理服务:10:开发【从MongoDB的GridFS中,获取文件,接口】;(从GridFS中,获取文件的SOP)(不使用MongoDB的服务,可以排除其自动加载类)
MySQL开发技巧——存储过程
modbus bus module DAM-8082
AcWing 797. 差分
17. Load balancing
选择合适的 DevOps 工具,从理解 DevOps 开始
【Redis】缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存击穿、缓存降级
【1374. 生成每种字符都是奇数个的字符串】
对于web性能优化我有话说!
CMake教程——Leeds_Garden
安全作业7.25
DAO开发教程【WEB3.0】
GBase 8c中怎么查询数据库配置参数,例如datestyle。使用什么函数或者语法呢?