Java生鲜电商平台-生鲜电商中配送订单解决方案(…

2020-05-31 16:03:23来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:常用API - Scanner、Random、ArrayList

下一篇:Java动态代理与静态代理以及它能为我们做什么