| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- namespace App\Http\Controllers\admin;
- use App\Constants\HttpStatus;
- use App\Http\Controllers\Controller;
- use App\Models\BalanceLog;
- use App\Services\BalanceLogService;
- use Illuminate\Validation\ValidationException;
- use Exception;
- class Balance extends Controller
- {
- /**
- * @api {get} /admin/balance/log 钱包记录
- * @apiGroup 钱包相关
- *
- * @apiUse result
- * @apiUse header
- * @apiVersion 1.0.0
- *
- * @apiParam {int} [page=1]
- * @apiParam {int} [limit=10]
- * @apiParam {string} [member_id] tg会员ID
- *
- *
- * @apiSuccess (data) {Object} data
- * @apiSuccess (data) {int} data.total 数量
- * @apiSuccess (data) {Object[]} data.data 列表
- * @apiSuccess (data) {int} data.data.id
- * @apiSuccess (data) {string} data.data.room_id 房间号,如果是结算
- * @apiSuccess (data) {string} data.data.member_id tg会员id
- * @apiSuccess (data) {string} data.data.amount 变动金额
- * @apiSuccess (data) {string} data.data.before_balance 变动前余额
- * @apiSuccess (data) {string} data.data.after_balance 变动后余额
- * @apiSuccess (data) {string} data.data.change_type 变动类型,如 "充值"、"提现"、"结算" 等
- * @apiSuccess (data) {int} data.data.related_id 相关ID
- * @apiSuccess (data) {string} data.data.updated_at
- * @apiSuccess (data) {string} data.data.created_at
- */
- public function log()
- {
- try {
- request()->validate([
- 'member_id' => ['nullable', 'string', 'min:1'],
- 'change_type' => ['nullable', 'string'],
- ]);
- $page = request()->input('page', 1);
- $limit = request()->input('limit', 10);
- $memberId = request()->input('member_id');
- $changeType= request()->input('change_type');
- $query = BalanceLog::query();
- if($changeType){
- $query->where('change_type', $changeType);
- }
- if ($memberId) {
- $query->where('member_id', $memberId);
- }
- $data['total'] = $query->count();
- $data['data'] = $query->orderByDesc('id')
- ->forPage($page, $limit)->with(['member'])
- ->get()->toArray();
- $data['change_types'] = BalanceLogService::$RW;
- } catch (ValidationException $e) {
- return $this->error(HttpStatus::CUSTOM_ERROR, $e->validator->errors()->first());
- } catch (Exception $e) {
- return $this->error(intval($e->getCode()));
- }
- return $this->success($data);
- }
- }
|