Explorar o código

wesmiler 报恩寺项目提交

wesmiler %!s(int64=4) %!d(string=hai) anos
pai
achega
491770f080

+ 42 - 0
app/Http/Controllers/Api/v1/TradeController.php

@@ -0,0 +1,42 @@
+<?php
+
+namespace App\Http\Controllers\Api\v1;
+
+use App\Http\Controllers\Api\BaseController;
+use App\Services\TradeService;
+use Illuminate\Http\Request;
+
+/**
+ * 账户控制器类
+ * @author wesmiler
+ * @since 2020/11/10
+ * Class TradeController
+ * @package App\Http\Controllers
+ */
+class TradeController extends BaseController
+{
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * TradeController constructor.
+     */
+    public function __construct()
+    {
+        parent::__construct();
+
+        $this->service = new TradeService();
+    }
+
+    /**
+     * 列表
+     * @return array
+     */
+    public function index(){
+        $params = request()->all();
+        $params['user_id'] = $this->userId;
+        return $this->service->getDataList($params);
+    }
+
+
+}

+ 81 - 0
app/Services/TradeService.php

@@ -124,6 +124,87 @@ class TradeService extends BaseService
     }
 
     /**
+     * 获取列表
+     * @return array
+     * @since 2020/11/11
+     * @author wesmiler
+     */
+    public function getDataList($params)
+    {
+        $page = isset($params['pageSize']) ? intval($params['pageSize']) : PAGE;
+        $pageSize = isset($params['pageSize']) ? intval($params['pageSize']) : PERPAGE;
+
+        $dataList = $this->model::from('account_logs as a')
+            ->leftJoin('member as m', 'm.id', '=', 'a.user_id')
+            ->where(function ($query) use ($params) {
+                $query->where(['a.mark'=>1,'a.status'=> 1]);
+
+                $type = isset($params['type']) ? $params['type'] : 0;
+                if ($type > 0) {
+                    $query->where('a.type', $type);
+                }
+
+                $payType = isset($params['pay_type']) ? $params['pay_type'] : 0;
+                if ($payType > 0) {
+                    $query->where('a.pay_type', $payType);
+                }
+
+                $coinType = isset($params['coin_type']) ? $params['coin_type'] : 0;
+                if ($coinType > 0) {
+                    $query->where('a.coin_type', $coinType);
+                }
+
+                $changeType = isset($params['change_type']) ? $params['change_type'] : 0;
+                if ($changeType > 0) {
+                    $query->where('a.change_type', $changeType);
+                }
+
+                $userId = isset($params['user_id']) ? $params['user_id'] : 0;
+                if ($userId > 0) {
+                    $query->where('a.user_id', $userId);
+                }
+
+                $datetime = isset($params['datetime'])? $params['datetime'] : [];
+                $dateStart = $datetime && isset($datetime[0])? $datetime[0] : '';
+                $dateEnd = isset($datetime[1])? $datetime[1] : '';
+                if($dateStart && $dateEnd && $dateEnd> $dateStart){
+                    $query->where('a.create_time', '>', strtotime($dateStart))->where('a.create_time','<=', strtotime($dateEnd)+86399);
+                }else if($dateStart && $dateStart == $dateEnd){
+                    $query->where('a.create_time', '>=', strtotime($dateStart))->where('a.create_time','<=', strtotime($dateStart)+86399);
+                }else if ($dateStart){
+                    $query->where('a.create_time', '<=', strtotime($dateStart)+86399);
+                }
+
+            })
+            ->where(function ($query) use ($params) {
+                $keyword = isset($params['keyword']) ? trim($params['keyword']) : '';
+                if (!empty($keyword)) {
+                    $query->where('m.nickname','like',"%{$keyword}%");
+                }
+            })
+            ->select(['a.id', 'a.user_id', 'm.nickname','a.type','a.pay_type','a.change_type','a.coin_type','a.money', 'a.balance', 'a.status', 'a.create_time', 'a.update_time','a.remark'])
+            ->orderBy('a.create_time', 'desc')
+            ->paginate($pageSize);
+
+        $dataList = $dataList ? $dataList->toArray() : [];
+        if ($dataList) {
+            foreach ($dataList['data'] as &$item) {
+                $item['create_time'] = $item['create_time'] ? datetime($item['create_time'],'Y-m-d H:i:s') : '';
+            }
+            unset($item);
+        }
+
+        return [
+            'code' => 0,
+            'success'=> true,
+            'msg' => '操作成功',
+            'count' => isset($dataList['total']) ? $dataList['total'] : 0,
+            'data' => isset($dataList['data']) ? $dataList['data'] : 0,
+        ];
+    }
+
+
+    /**
      * 添加或编辑
      * @return array
      * @since 2020/11/11

+ 5 - 1
routes/api.php

@@ -96,4 +96,8 @@ Route::post('/work/books', [\App\Http\Controllers\Api\v1\ArticleController::clas
 Route::post('/address/list', [\App\Http\Controllers\Api\v1\AddressController::class, 'index']);
 Route::post('/address/info', [\App\Http\Controllers\Api\v1\AddressController::class, 'info']);
 Route::post('/address/save', [\App\Http\Controllers\Api\v1\AddressController::class, 'save']);
-Route::post('/address/default', [\App\Http\Controllers\Api\v1\AddressController::class, 'getDefault']);
+Route::post('/address/default', [\App\Http\Controllers\Api\v1\AddressController::class, 'getDefault']);
+
+// 交易账户
+Route::post('/trades/list', [\App\Http\Controllers\Api\v1\TradeController::class, 'index']);
+Route::post('/trades/info', [\App\Http\Controllers\Api\v1\TradeController::class, 'info']);