hasMany(OrderGoods::class, 'order_id', 'id'); } //订单用户 public function user() { return $this->hasOne('user', 'id', 'user_id') ->field('id,sn,nickname,avatar,mobile,create_time'); } //收货地址 public function getDeliveryAddressAttr($value, $data) { $region = Db::name('dev_region') ->where('id', 'IN', [$data['province'], $data['city'], $data['district']]) ->order('level asc') ->column('name'); $region_desc = implode('', $region); return $region_desc . $data['address']; } /** * Notes: 发货操作 * @param $data */ public static function delivery_handle($data) { $order_id = $data['order_id']; $order = Order::get(['id' => $order_id], ['order_goods']); if ($order['invoice_no']){ return true; } //更新订单下商品的发货状态 $order->update_time = time(); $order->shipping_time = time(); $order->order_status = 2; $order->invoice_name = $data['invoice_name']; $order->invoice_no = $data['invoice_no']; $order->save(); $data_info=[ 'user_id' => $order['user_id'], 'order_id' => $order['id'], 'scene' =>101, 'shipping_name' => $data['invoice_name'], 'invoice_no' => $data['invoice_no'], 'time' => date('Y-m-d H:i:s') ]; Notice::noticeByScene($order['user_id'],$data_info); } }