input('date'); $date= $date??Carbon::now()->format('Y-m'); $lists = UserRechargeRecord::filterUser() ->when($date,function ($query,$date){ /* @var Builder $query*/ return $query->where('created_at', 'like', "$date%"); }) ->where('status', 1) ->orderByDesc('id') ->get(); return $this->success($lists); } public function createOrder() { try { /* @var Setting $setting*/ $setting = Setting::first(); if($setting->is_review) { throw new \Exception('暂不支持,请联系管理员'); } \DB::beginTransaction(); $comboId = \request()->input('id'); $app = $this->getUniFactory(\user()->info->platform); $combo = RechargeCombo::find($comboId); // 避免重复创建订单 $recharge = UserRechargeRecord::where('user_id', \user()->id) ->where('combo_id', $combo->id) ->where('status', 0) ->where('created_at','like', Carbon::now()->toDateString()."%") ->first(); if($recharge){ $pay = Pay::find($recharge->pay_id); $res = [ 'order_id' => $pay->prepay_id, 'order_token' => $pay->token, 'pay_id' => $pay->pay_id, ]; }else{ $res = app(Pay::class)->create($app, $combo->price, Pay::SOURCE_RECHARGE); $recharge = new UserRechargeRecord(); $recharge->user_id = \user()->id; $recharge->combo_id = $combo->id; $recharge->price = $combo->price; $recharge->gold = $combo->gold; $recharge->gift = $combo->gift; $recharge->pay_id = $res['pay_id']; $recharge->status = 0; $recharge->save(); } \DB::commit(); return $this->success($res); }catch (QueryException $e){ \DB::rollBack(); return $this->error('下单失败'); }catch (\Exception $e){ \DB::rollBack(); return $this->error($e->getMessage()); } } }