isPending()) { $res = $order->where('updated_at', $order->updated_at)->update([ 'reduced_amount' => $order->total_amount - $reduceAmount + $order->reduced_amount, 'total_amount' => $reduceAmount, ]); if ($res === 0) { throw new BizException('订单已发生改变'); } OrderLog::create([ 'order_id'=>$order->id, 'content'=> '调整订单支付价格为:¥'.bcdiv($reduceAmount, 100, 2), ]); } } /** * 后台支付订单 * * @param Order $order * @return void */ public function adminPay(Order $order) { if ($order->isPending()) { //操作订单状态-需要调整为统一支付方法 $orderService = new EndpointOrderService(); $orderService->pay($order, PayWay::Offline); //注册支付成功事件 OrderPaid::dispatch($order); //记录操作日志 OrderLog::create([ 'order_id'=> $order->id, 'content'=> '修改订单状态为【已支付】', ]); } } /** * 添加后台备注 * * @param Order $order * @param string $remark * @return void */ public function adminRemark(Order $order, string $remark) { //操作订单状态-需要调整为统一支付方法 $order->update([ 'remark' => $remark, ]); OrderLog::create([ 'order_id'=>$order->id, 'content'=> '修改订单备注:'.$remark, ]); } /** * 修改订单收货信息 * * @param Order $order * @param array $params * @return void */ public function adminEditConsignee(Order $order, array $params) { $oldOrderConsignee = $order->consignee_name.','.$order->consignee_telephone.','.$order->consignee_zone.$order->consignee_address; $order->update($params); OrderLog::create([ 'order_id'=>$order->id, 'content'=> '修改订单收货信息原收货信息:'.$oldOrderConsignee, ]); } }