在PC上用户购买完毕之后,去后台填写快递信息。
后台填写完快递信息,发现填错快递信息想要再修改快递信息时,报"order {订单号} ship fail",此时该订单状态为“dispatched”
发现是addons/fecmall/fecyo/services/order/Info.php这里有问题:
77 $this->orderStatusCanDispatchArr = [
78 Yii::$service->order->status_processing,
79 ];
这意味着物流信息只能填一次,后面就不能修改物流信息了。或者用户需要先手动修改订单状态为processing,然后才能改物流信息。
临时将addons/fecmall/fecyo/services/Order.php中,trackingShip()函数下的363行注释掉,可以解决该问题
360 $condition = [
361 'and',
362 ['order_id' => $orderId],
363 /* ['in', 'order_status', Yii::$service->order->info->orderStatusCanDispatchArr] */
364 ];
注释只是治标,具体这种解决方法是否合理还要麻烦作者确认一下。