Java生鲜电商平台-生鲜电商中配送订单解决方案(…
2020-05-31 16:03:23来源:博客园 阅读 ()
Java生鲜电商平台-生鲜电商中配送订单解决方案(小程序/APP)
Java生鲜电商平台-生鲜电商中配送订单解决方案(小程序/APP)
说明:在日常的生鲜电商平台中,生鲜配送是一个不可获取的环节,根据实际的业务场景,生鲜配送有两个维度需要考虑
1. 时间维度。
说明:时间维度是指客户一般什么时候要,就是什么时候配送的问题,如果是前置仓模式,那么就需要29分必送达,如果是今天买,明天送的模式,那么就需要设置
时间统一送达。
2. 线路维度
说明:理论上对于今天买,明天统一配送的业务场景而言,需要考虑线路以及车辆的配送量,理论上一个车的负载是有限的,在车负载足够的情况下,把商家的线路规划到最近是
最好的,尤其是这个疫情期间,一定是以小区为维度进行配送,就需要进行配送订单的组装,线路分配以及人员安排等。
3. 基础业务模型
说明:
业务订单存在两个分支,一个是系统分配,一个是人工分配
实际业务场景中,我们发现,
1.1. 如果这个人场景买过,而且地址都没有变化的话,就默认选中固定的线路以及配送人员(一个配送人员可以选择多个线路)
1.2 . 如果这个人没有买过,那么这个时候根据实际的情况,系统无法识别到底是属于哪个线路是比较合理的,所以需要人工指派.
4. 系统数据库设计层面
1.
CREATE TABLE `driver_line` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT 'ID', `line_name` varchar(255) DEFAULT NULL COMMENT '线路名称', `line_driver` int(11) DEFAULT NULL COMMENT '线路司机', `add_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '修改时间', `is_deleted` tinyint(1) DEFAULT '0' COMMENT '默认0 0为启用,1删除', PRIMARY KEY (`id`), UNIQUE KEY `t_line_id_uindex` (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COMMENT='配送线路';
CREATE TABLE `driver` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '自动增加ID', `user_name` varchar(50) DEFAULT NULL COMMENT '用户名 ', `pwd` varchar(50) DEFAULT NULL COMMENT '密码', `driver_name` varchar(100) DEFAULT NULL COMMENT '司机名称', `driver_telephone` varchar(64) DEFAULT NULL COMMENT '手机号', `remarks` varchar(255) DEFAULT NULL COMMENT '备注', `type` int(11) DEFAULT '0' COMMENT '类型:0:全职 1:兼职 ', `add_time` datetime DEFAULT NULL COMMENT '添加时间', `update_time` datetime DEFAULT NULL COMMENT '修改时间', `is_deleted` int(11) DEFAULT '0' COMMENT '删除标识: 0为可用 默认 1删除', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COMMENT='司机';
CREATE TABLE `sorter_deliver_order` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT, `sorter_order_id` varchar(32) DEFAULT NULL COMMENT '分拣ID', `order_sn` varchar(32) DEFAULT NULL COMMENT '订单号', `user_id` int(11) DEFAULT NULL COMMENT '客户ID', `storehouse_id` int(11) DEFAULT NULL COMMENT '仓库ID', `total_price` decimal(10,2) DEFAULT '0.00' COMMENT '发货总金额', `status` int(11) DEFAULT '0' COMMENT '发货状态,0为未发货,1为已发货', `operator_user_id` int(11) DEFAULT NULL COMMENT '操作人', `create_time` datetime DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=30 DEFAULT CHARSET=utf8mb4 COMMENT='客户订单发货出库';
CREATE TABLE `sorter_deliver_order_item` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'ID', `sorter_deliver_order` int(11) DEFAULT NULL COMMENT '主表ID', `goods_id` int(11) DEFAULT NULL COMMENT '商品ID', `goods_name` varchar(255) DEFAULT NULL COMMENT '商品名称', `goods_unit` varchar(20) DEFAULT NULL COMMENT '单位', `goods_number` int(11) DEFAULT NULL COMMENT '商品数量(预定量)', `actual_number` int(11) DEFAULT NULL COMMENT '实际数量', `order_price` decimal(10,2) DEFAULT NULL COMMENT '下单单价', `deliver_price` decimal(10,2) DEFAULT NULL COMMENT '发货价格', `create_time` datetime DEFAULT NULL COMMENT '创建时间', PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=126 DEFAULT CHARSET=utf8mb4 COMMENT='发货出库';
4. 代码与架构如何编写呢?
说明:配送可以单独出来一个微服务,由于生鲜电商可能会设计到多个模块的分割,根据我自己的经验,我建议采购单独作为一个服务进行处理,方便业务的扩展。
5. 复盘与总结.
总结:做互联网应用,无论是生鲜小程序还是APP,目的是为了留住与激活用户,形成用户购买力,提高满意度,最终达成交易的,当然本文只是抛砖引玉,希望本文可以给大家一点思考与建议。
QQ:137071249
共同学习QQ群:793305035
原文链接:https://www.cnblogs.com/jurendage/p/13020441.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash