当前位置: 首页 > news >正文

电商系统设计:运费

注:此设计将运费和服务捆绑在一起,但实际上,运费和服务并无关系,故此设计方案作废!


前言

最近在使用研发一套电商系统(技术栈为SpringBoot3、MySQL、Spring Security、Vue3、Uniapp),研发完成后会发布到GoldPanKit中售卖。研发过程中也参考了目前主流的一些电商系统的设计,发现有些设计思想过于老旧甚至呆板,导致一些核心部分不够灵活。所以我打算对这些不足的地方进行“重构”,在此记录一下重构的想法。想法中并不包含代码实现,只是产品设计和实现思路。

当前主流开源或商业设计的弊端

我们并不了解代码层面他们对运费类型,如满N件免邮,以及在提供商品服务(如礼盒包装、上门安装等)时好不好扩展,但通过研究主流商城系统的后台部分,可以看到很多都没有考虑到商品服务的提供,这样一来,无法满足诸如电视机、空调、定制柜、甚至礼品小物件等需要额外商品服务的商品。而一套商城系统无法支持售卖某些商品,这就是一套商城系统的不足之处!

产品设计

运费的本质是用户购买商品时用户承担的费用,而对于整个商品购买和使用商品的过程中,用户承担的费用不仅仅是运费。还包含诸如上门安装、1年只退不换、3年保修等商品服务的费用。从研发角度来看,运费模块的重点就是对用户承担费用的各种类型的可扩展性。我们可以大致列举几个场景:

  • 全国包邮
  • 按照地区和件数设定首件和续件的运费价格
  • 按照地区和重量设定首重和续重的运费价格
  • 按照地区和体积设定首体积和续体积的运费价格
  • 满N件包邮
  • 额外的服务费用,例如“上门安装”
  • 等其它运费模式

以下列举几种商品的运费模式

  • 对于生鲜产品(如葡萄),可以使用按照地区和重量设定首件和续件的运费价格。则有:
    • 产品产地所在省或临省,首重价格为0,续重5为元;
    • 新疆、西藏等偏远地区,首重价格为20元,续重为8元;
    • 其它地区,首重价格为5元,续重为5元;
  • 对于衣物商品,可以使用全国包邮
  • 对于电视机,可以额外配置“上门安装”服务
  • 对于礼品物件,可以额外配置“礼盒包装”服务
  • 对于电子产品,可以额外配置“1年只退不换”、”3年保修“等服务
  • 对于袜子等低利润商品,可以使用满N件包邮

因此,目前主流的“物流设置”或“运费设置”,应该调整为“运费及服务设置”!而运费及服务的设置UI大致如下:

关于自提配送方式的兼容

为了进一步分析自提的处理,我们列举几个场景

  • 奶茶店,支持自提和配送
  • 超市,支持自提和配送
  • 衣物,大部分情况下仅支持配送

可以看出,商家的配送方式基本是一致的,也因此,支持多门店的商城系统的配送方式应该和“运费及服务”一同进行设置。并且自提和配送是允许同时存在的,但这在主流开源和售卖商品中,大都都是二选一。

实现思路

对于后端,运费的计算应该创建一个父类,每种运费类型继承该父类并完成运费的计算逻辑。运费设置和商品服务的存储可以采用一个字段,其结构为JSON。并且为每一种JSON提供对应的BO类,这样可以方便的扩展其它计费方式,如果还需要扩展用户承担的某层面费用,可以继续扩展JSON结构即可。

对于前端,每种计费方式应该单独做成组件或复用组件,然后根据计费类型通过v-if或component动态切换配置组件。

数据库设计如下,其中表名中的 fas 表示 Freight and Service的缩写:

CREATE TABLE `mall_goods_fas` (`id` int NOT NULL AUTO_INCREMENT COMMENT '主键',`name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '名称',`content` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '内容',`created_by` int NOT NULL COMMENT '创建人',`created_at` datetime NOT NULL COMMENT '创建时间',`updated_by` int DEFAULT NULL COMMENT '更新人',`updated_at` datetime DEFAULT NULL COMMENT '更新时间',`deleted` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已删除',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='运费及服务';

http://www.dtcms.com/a/532859.html

相关文章:

  • Ceph分布式存储
  • 网站建设销售职责网站开发与运维收费明细
  • 破解空间网站十堰网站建设怎么做
  • 网站价值评估 php东莞住房和建设局网站
  • 11-14强制类型转换
  • redis中的数据类型
  • 2025年10月25日(星期六)骑行哈马者游记
  • 数据结构 —— 堆
  • 基于阿里云SDK的DDNS系统:架构设计与性能优化实战
  • 有哪些做调查问卷赚钱的网站自行创建网站的平台
  • 丰南建设网站wordpress网站前台打开慢
  • C4D域力场的修改层及遮罩详解
  • SAP SD交货单过账冲销接口分享
  • 如何在 Java 程序中检查是否可以连接到某个网站
  • 做网站市场报价步登顶wordpress小程序百家号
  • C语言复习笔记(一)
  • (10)shell 编程入门
  • 深入剖析C++文件操作的底层机制
  • 高端网站价格网架球加工厂家
  • 响应式网站文章网站建设字体变色代码
  • python+vue图书在线阅读推荐平台设计(源码+文档+调试+基础修改+答疑)
  • git仓库基本使用
  • 网站维护需要多久时间上海做网站建设公司排名
  • 在婚恋网站上做红娘怎么样什么都可以看的浏览器
  • 做平台网站要什么条件重庆网站建设重庆网站设计
  • 江苏系统建站怎么用咖啡网页设计素材
  • 网站建设软件免费使用密码访问wordpress文章
  • 物联网设备通信协议参数的能耗自适应调整机制
  • PySide6 win10 记事本从零到一——前言
  • win7 iis网站无法显示石家庄尚武科技