id; if (empty($user_id)) { return $this->failed('用户未登录', 401); } $condition['uid'] = $user_id; $conditionIn= $this->statusConfig[$request->input('status', 0)]; $orders_info = Order::getOrderAndOrderGoodsList($condition,$conditionIn); $out_info = []; foreach ($orders_info as $k => &$order) { $out_info['logisticsMap'][$order->id] = [ "address" => $order->addr_detail, "cityId" => $order->aid_c, "dateUpdate" => $order->updated_at->format('Y-m-d H:i:s'), "districtId" => $order->aid_a, "id" => $order->id, "linkMan" => $order->user_name, "mobile" => $order->user_mobile, "provinceId" => $order->aid_p, "status" => $order->status, "type" => 0 ]; $out_info['orderList'][] = [ "amount" => $order->total_price, "amountLogistics" => 0.00, "amountReal" => $order->pay_price, "dateAdd" => $order->created_at->format('Y-m-d H:i:s'), "dateClose" => $order->pay_date, "goodsNumber" => $order->orderGoods->sum('num'), "hasRefund" => false, "id" => $order->id, "isPay" => false, "orderNumber" => $order->order_sn, "remark" => $order->remark, "status" => $order->status, "statusStr" => Order::getStatusDisplayMap()[$order->status], "type" => 0, "uid" => $order->uid, ]; $order_goods = []; foreach ($order->orderGoods as $goods_k => $goods) { $order_goods[] = [ "amount" => $goods->goods_price, "goodsId" => $goods->goods_id, "goodsName" => $goods->goods_name, "id" => $goods->id, "number" => $goods->num, "orderId" => $order->id, "pic" => config('filesystems.disks.oss.url') . '/' . $goods->goods_image, "uid" => $order->uid, ]; } $out_info['goodsMap'][$order->id] = $order_goods; } if ($out_info) { // 返回订单信息 return $this->success($out_info); } // 没有查到订单信息 返回空数据错误 //add_my_log('Orderinfo','用户(id:'.\Auth::user()->id.')没有符合条件的订单',1,'订单内容:没有符合条件的订单','OrderinfoController@list'); return $this->failed('没有符合条件的订单', 401); } /** * 取消订单 * @param Request $request */ public function cancelOrder(Request $request) { // 验证规则 $validator = Validator::make($request->all(), [ 'orderId' => 'required' ], [ 'orderId.required' => '订单号缺失' ] ); if ($validator->fails()) { // add_my_log('Orderinfo','用户(id:'.\Auth::user()->id.')操作订单不存在',1,'订单号:'.$order_id,'OrderinfoController@cancelOrder'); return $this->failed($validator->errors(), 401); } $condition['id'] = $request->orderId; $condition['uid'] = \Auth::user()->id; $order_info = Order::where($condition)->first(); $order_info_arr = $order_info->toArray(); if (empty($order_info_arr)) { // add_my_log('Orderinfo','用户(id:'.\Auth::user()->id.')操作订单不存在',1,'订单内容:空','OrderinfoController@cancelOrder'); return $this->failed('订单不存在', 401); } $order_info->status = Order::STATUS_INVALID; $order_info->save(); return $this->message('取消成功'); } /** * 我的订单统计 * @param Request $request */ public function getMyOrderStatistics(Request $request) { // 先获取当前登录的用户信息 $user_id = \Auth::user()->id; if (empty($user_id)) { return $this->failed('用户未登录', 401); } $statistics = [ "count_id_no_transfer" => Order::countOrder(['uid' => $user_id, 'status' => Order::STATUS_ALREADY_PAID]), "count_id_close" => Order::countOrder(['uid' => $user_id, 'status' => Order::STATUS_INVALID]), "count_id_no_pay" => Order::countOrder(['uid' => $user_id, 'status' => Order::STATUS_WAIT_PAY]), "count_id_no_confirm" => Order::countOrder(['uid' => $user_id, 'status' => Order::STATUS_DELIVERING]), "count_id_success" => Order::countOrder(['uid' => $user_id, 'status' => Order::STATUS_COMPLETED]) ]; return $this->success($statistics); } }