request = $request; $this->orderService = $orderService; $this->account = $request->user('company'); } /** * 订单列表 */ public function paginate(Dicts $dicts) { $conditions = $this->request->all(); $conditions['company_id'] = $this->account->company_id; $res = $this->orderService->paginate($conditions); $carrierOperators = $dicts->get('carrier_operator'); $orderStatues = $dicts->get('order_status'); $transactionStatuses = $dicts->get('transaction_status'); $list = $res->map(function ($item) use ($carrierOperators, $orderStatues, $transactionStatuses) { return [ 'id' => $item->id, 'sn' => $item->sn, 'package_name' => $item->package->name, 'pay_channel' => CommonService::namePayChannel($item->pay_channel), 'carrier_operator' => $carrierOperators[$item->package->carrier_operator], 'unit_price' => $item->unit_price, 'counts' => $item->counts, 'total_price' => $item->total_price, 'custom_price' => $item->custom_price, 'order_status' => $orderStatues[$item->order_status], 'transaction_status' => $transactionStatuses[$item->transaction_status], 'order_at' => $item->order_at, ]; }); if (empty($list)) { return err('没有更多数据'); } $order_at = Carbon::parse($list->last()->order_at); $conditions['starttime'] = $order_at->copy()->startOfMonth()->startOfDay()->format('Y-m-d H:i:s'); $conditions['endtime'] = $order_at->copy()->endOfMonth()->endOfDay()->format('Y-m-d H:i:s'); $count = $this->orderService->count($conditions); $count['starttime'] = $conditions['starttime']; $count['endtime'] = $conditions['endtime']; return res(['count' => $count, 'orders' => $list], '订单列表', 201); } /** * 下单 */ public function store() { $attributes = $this->request->all(); $attributes['company_id'] = $this->account->company_id; $res = $this->orderService->store($attributes); return res($res, '下单成功'); } }