结算界面切换邮寄方式时邮费的计算问题

bug问题 · xuby0615 · 于 4年前 发布 · 1685 次阅读

当前使用版本为2.5.0 在结算界面 checkout/onepage 中,当切换邮寄方式时: (这是正确的运费信息) (这是错误的运费信息)

对应block中变量$product_weight使用的是管理后台手动输入的重量$quoteItem['product_weight'],而非是依据长宽高以及比例系数(默认5000)计算出的重量值$quoteItem['product_volume_weight']与输入值$quoteItem['product_weight']相比较比较的最大值。

从而导致运费计算错误。

本文由 xuby0615 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。

共收到 13 条回复 fecshop 问题提问
Fecmall#14年前 0 个赞

fecmall关于重量由Kg改成了g,后台按照g填写产品重量,那么运费公式里面,也得用g的计算公式,而不能用kg的计算公式

Fecmall#24年前 0 个赞

fecmall货运方式文档:http://www.fecmall.com/doc/fecshop-guide/instructions/cn-2.0/guide-fecmall_shipping_method.html

您需要修改参数,按照g的值进行设置系数配置参数

xuby0615#34年前 0 个赞

@Fecmall #2楼 体积重公式计算出来的重量单位是kg还是g?

xuby0615#54年前 0 个赞

那就不对,后台已经按照g的单位设置:

但是dump出来的结果,变成了:

Fecmall#64年前 0 个赞

用这个产品测试:http://fecshop.appfront.fancyecommerce.com/test-2222-77352613

1.先看产品编辑部分

体积重公式:http://www.fecmall.com/topic/659

112233/5000 = 1.5972kg = 1597.20g

产品编辑部分的计算没有问题。

2.设置运费计算,关于运费的文档,上面已经给与

'middle_shipping'=> [  // xxx shipping
                'label'=> 'middle shipping( 6-15 work days)',
                'name' => 'HKBRAM',
                'formula' => '[weight] * 0.0005',  // 这里填写公式
                // 对于国家和重量限制,如果没有,则不用填写,如果有,参考上面的样式填写
            ],

1597.20g * 0.0005 = 0.7982 , 因为是2个产品,因此运费为:1.5964

值也是对的

3.猜测你的问题,是你的运费配置部分,公式是按照kg的公式,而不是按照g

当时进行改动,就是因为某些轻产品不好处理,譬如几g的。

Fecmall#74年前 0 个赞

关于后台编辑体积重kg文字修改,已经提交:https://github.com/fecshop/yii2_fecshop/commit/aee3e7fda98ae4dd9c420b2e2bcffb66e2e15902

xuby0615#84年前 0 个赞

@Fecmall #6楼 对,是没错,但是当你切换选择shipping方式时,你会发现控制器应该使用的是1597.20g,但实际控制器使用的是22.00这个值,您可以看下

xuby0615#94年前 0 个赞

如果这里有新的shipping method的话,切换的时候,运费的计算就会出错,我的问题是这个。

xuby0615#104年前 0 个赞

@Fecmall #6楼 因为控制器使用的不是计算出的重量,而是用户后台手动输入的变量,您可以看下

Fecmall#114年前 0 个赞

请写出来论据证明你的论点,写清楚代码,以及整体逻辑。

不然,本人帮不上忙。

github都有代码:https://github.com/fecshop/yii2_fecshop/blob/master/app/appfront/modules/Checkout/block/onepage/Index.php#L534

show code

xuby0615#124年前 0 个赞

@Fecmall #11楼

2.5.0更新出来后,按照

升级教程

修改composer.json中版本信息后,对应产品文件: vendor\fancyecommerce\fecshop\app\appfront\modules\Catalog\block\product\Index.php 中的重量相关代码,并没有改变。

Fecmall#134年前 0 个赞

@xuby0615 #12楼

1.上面回复的提交代码,并没有发版,先自行修改代码,等2.5.1发版

https://github.com/fecshop/yii2_fecshop/blob/master/app/appfront/modules/Catalog/block/product/Index.php#L133

2.该说的都说了,自行解决吧。

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics