validate()) { return [ 'code' => 1, 'msg' => $this->getErrorSummary(false)[0], ]; } $order = Order::findOne([ 'id' => $this->order_id, 'is_delete' => Order::IS_DELETE_FALSE, 'is_pay' => Order::IS_PAY_FALSE, 'mch_id' => 0]); if (!$order) { return [ 'code' => 1, 'msg' => '订单错误' ]; } $money = doubleval($order->pay_price); $express = doubleval($order->express_price); if ($this->express_price || $this->express_price == 0) { if ($this->express_price < 0) { return [ 'code' => 1, 'msg' => '运费不能小于0' ]; } if ($order->before_update_express) { } else { $order->before_update_express = $express; } $order->express_price = $this->express_price ?? $order->express_price; } if ($this->pay_price || $this->pay_price == 0) { if ($this->pay_price < 0) { return [ 'code' => 1, 'msg' => '支付价格不能小于0' ]; } if ($order->before_update_price) { } else { $order->before_update_price = $money; } $order->pay_price = $this->pay_price; } if ($order->save()) { $orderDetailList = OrderDetail::findAll(['order_id' => $order->id, 'is_delete' => 0]); $goodsTotalPrice = 0.00; $goodsTotalPayPrice = $order->pay_price - $order->express_price; foreach ($orderDetailList as $goods) { $goodsTotalPrice += $goods->total_price; } foreach ($orderDetailList as $goods) { if (in_array(get_plugin_type(), [0,2])) { $goods->total_price = doubleval(sprintf('%.2f', $goodsTotalPayPrice * $goods->total_price / $goodsTotalPrice)); } $goods->save(); } // TODO: 重新设置分销等 // $this->setReturnData($order); return [ 'code' => 0, 'msg' => '成功' ]; } else { return [ 'code' => 1, 'msg' => $this->getErrorSummary(false)[0], ]; } } // /** // * 设置佣金 // */ // private function setReturnData($order) // { // $form = new ShareMoneyForm(); // $form->order = $order; // if ($this->order_type == 'ms') { // $form->order_type = 1; // } else { // $form->order_type = 0; // } // return $form->setData(); // } }