运费计算流程
2018-05-17 15:01:33 0 举报
运费计算
作者其他创作
大纲/内容
不包邮
通过收货地址的省份匹配运费模板的区域资费信息
小于,返回运费的首费。
循环计算其他商品的续费
计算公式:首件首费、续件续费
判断购买商品是否是多件不同商品
未匹配
重量
根据商品基础信息、运费计价方式、运费区域资费信息、购买数量
提示校验失败
大于等于首件
包邮规则(1价格、2、件数 、3、重量、4、体积)
获取失败,返回 运费0
价格
直接按照计价方式,商品属性、购买数量计算
运费模板id!=0
判断商品收货地址所在的运费区域是否包邮
多种商品计算规则
根据运费模板的计价方式匹配包邮规则
计价方式(1件数,2重量,3体积)
包邮
返回对应收货地址的区域资费信息
计算公式:最大首费+(N-1)*其他商品的续费
运费0
结束
运费模板id是0,代表包邮商品,直接返回运费0
单种商品计算规则:按照资费计算【 首件首费、续件续费、不足整件按整件计算】。首要条件:首件、首重、首体积、首价格
默认的的区域资费信息(中国地区)
解析参数,校验参数
单种商品计算规则
获取商品运费模板id
校验商品对象
取出最大首费
体积
通过缓存获取商品列表
计算运费
通过运费模板id获取运费模板对应区域资列表以及运费模板的计价类型
非包邮
匹配
包邮条件判断
运费计算
多件商品对应的运费模板区域资费首费排序
件数:首件资费+续件资费重量:首重资费+续重资费体积:首体积资费+续体积资费
判断是否大于等于所在区域的首要条件
获取商品的重量、体积、单价、运费模板ID等基础信息
1、购买数量大于等于条件2、购买数量*商品重量大于等于条件3、购买数量*商品体积大于等于条件4、购买数量*商品单价大于等于条件
根据商品id、收货地址获取商品对应的运费
商品维护的有运费模板id属性,没有则表示包邮
商品对象为空,返回运费0
运费
件数
0 条评论
回复 删除
下一页