Kirin пре 3 година
родитељ
комит
3cafb4654c

+ 1 - 0
app/admin/controller/finance/Finance.php

@@ -141,6 +141,7 @@ class Finance extends AuthController
         $where = $where = UtilService::getMore([
             ['money_type', ''],
             ['trade_uid', ''],
+            ['order_id', ''],
             ['page', 1],
             ['limit', 10],
             ['status', ''],

+ 1 - 1
app/admin/controller/finance/UserRecharge.php

@@ -64,7 +64,7 @@ class UserRecharge extends AuthController
         if ($rechargInfo->paid == 1) return JsonService::fail('已支付的订单记录无法通过');
         BaseModel::beginTrans();
         try {
-            $res = UserMoney::incomeMoney($rechargInfo['uid'], $rechargInfo['recharge_type'], $rechargInfo['price'], 'recharge', '用户充币', '用户充币' . $rechargInfo['price'] . init_money_type()[$rechargInfo['recharge_type']]);
+            $res = UserMoney::incomeMoney($rechargInfo['uid'], $rechargInfo['recharge_type'], $rechargInfo['price'], 'recharge', '普通充值', '用户充币' . $rechargInfo['price'] . init_money_type()[$rechargInfo['recharge_type']]);
             if ($res) {
                 $rechargInfo->paid = 1;
                 $rechargInfo->pay_time = time();

+ 2 - 2
app/admin/controller/user/User.php

@@ -204,11 +204,11 @@ class User extends AuthController
         foreach ($money_type as $k => $v) {
             if ($other_money[$k . '_status'] && $other_money[$k]) {//积分增加或者减少
                 if ($other_money[$k . '_status'] == 1) {//增加
-                    $res_other = $res_other && UserMoney::incomeMoney($user['uid'], $k, $other_money[$k], 'system_add', '系统增加', '系统增加了' . floatval($other_money[$k]) . $v);
+                    $res_other = $res_other && UserMoney::incomeMoney($user['uid'], $k, $other_money[$k], 'system_add', '充值', '系统增加了' . floatval($other_money[$k]) . $v);
                 } else if ($other_money[$k . '_status'] == 2) {//减少
                     if (UserMoney::initialUserMoney($user['uid'], $k)['money'] < $other_money[$k])
                         $other_money[$k] = UserMoney::initialUserMoney($user['uid'], $k)['money'];
-                    $res_other = $res_other && UserMoney::expendMoney($user['uid'], $k, $other_money[$k], 'system_sub', '系统扣除', '系统扣除了' . floatval($other_money[$k]) . $v);
+                    $res_other = $res_other && UserMoney::expendMoney($user['uid'], $k, $other_money[$k], 'system_sub', '减少', '系统扣除了' . floatval($other_money[$k]) . $v);
                 }
             }
         }

+ 7 - 0
app/admin/view/finance/finance/cash_trade.php

@@ -17,6 +17,12 @@
                                     <input type="text" name="trade_uid" class="layui-input">
                                 </div>
                             </div>
+                            <div class="layui-inline">
+                                <label class="layui-form-label">订单号</label>
+                                <div class="layui-input-block">
+                                    <input type="text" name="order_id" class="layui-input">
+                                </div>
+                            </div>
                             <div class="layui-inline">
                                 <label class="layui-form-label">状态</label>
                                 <div class="layui-input-block">
@@ -118,6 +124,7 @@
     layList.tableList('List', "{:Url('cashTradeList')}", function () {
         return [
             {field: 'id', title: 'ID', width: '5%'},
+            {field: 'order_id', title: '订单号'},
             {field: '_user', title: '交易发起人'},
             {field: '_trade_user', title: '交易参与人'},
             {field: '_trade_type', title: '挂出类型'},

+ 5 - 0
app/api/controller/trade/CashTradeController.php

@@ -544,6 +544,11 @@ class CashTradeController
         return app('json')->success('ok', CashTradeOrder::getList($where));
     }
 
+    public function OrderDetail($id, Request $request)
+    {
+        return app('json')->success('ok', ['data' => CashTradeOrder::getInfo($id)]);
+    }
+
     public function uploadProof($id, Request $request)
     {
         $order = CashTradeOrder::get($id);

+ 1 - 1
app/api/controller/user/UserController.php

@@ -935,7 +935,7 @@ class UserController
         $page = $request->get('page', 1);
         $limit = $request->get('limit', 10);
         $count = UserBill::where('uid', $uid)->where('category', $money_type)->count();
-        $list = UserBill::where('uid', $uid)->where('category', $money_type)->page((int)$page, (int)$limit)->select()->each(function ($item) {
+        $list = UserBill::where('uid', $uid)->where('category', $money_type)->order('add_time', 'desc')->page((int)$page, (int)$limit)->select()->each(function ($item) {
             $item['add_time'] = time_format($item['add_time']);
         });
         return app('json')->success('ok', compact('count', 'list'));

+ 81 - 5
app/models/trade/CashTradeOrder.php

@@ -108,12 +108,15 @@ class CashTradeOrder extends BaseModel
         if (isset($where['money_type']) && $where['money_type'] != '') {
             $model = $model->where('money_type', $where['money_type']);
         }
+        if (isset($where['order_id']) && $where['order_id'] != '') {
+            $model = $model->where('order_id', $where['order_id']);
+        }
         if (isset($where['trade_uid']) && $where['trade_uid'] != '') {
             $model = $model->where('trade_uid', $where['trade_uid']);
         }
         $count = $model->count();
 //        var_dump(self::getLastSql());
-        $list = $model->order('add_time', 'desc')->page((int)$where['page'], (int)$where['limit'])->select()
+        $list = $model->order('trade_start_time desc,add_time desc')->page((int)$where['page'], (int)$where['limit'])->select()
 //        var_dump(self::getLastSql());
             ->each(function ($item) {
                 $item['user'] = User::getUserInfo($item['uid']);
@@ -186,6 +189,77 @@ class CashTradeOrder extends BaseModel
         return compact('count', 'list');
     }
 
+    public static function getInfo($id)
+    {
+        $item = self::get($id);
+        $item['user'] = User::getUserInfo($item['uid']);
+        $item['_trade_user'] = $item['trade_uid'] === 0 ? '系统/0' : ($item['trade_uid'] ? User::getUserInfo($item['trade_uid'])['nickname'] . '/' . $item['trade_uid'] : '--');
+        $item['trade_user'] = $item['trade_uid'] === 0 ? [] : User::getUserInfo($item['trade_uid']);
+//                $item['_add_time'] = time_format($item['add_time']);
+//                $item['_end_time'] = time_format($item['end_time']);
+//                $item['_trade_time'] = time_format($item['trade_time']);
+        $money_type = init_money_type();
+        $item['_user'] = User::getUserInfo($item['uid'])['nickname'] . '/' . $item['uid'];
+        $item['bank'] = json_decode($item['bank_info'], true);
+        $item['_name_text'] = '--';
+        $item['_account_text'] = '--';
+        $item['_code_text'] = '--';
+        $item['_name'] = '--';
+        $item['_account'] = '--';
+        $item['_code'] = '--';
+        if ($item['bank']) {
+            if ($item['bank']['type'] == 1) {
+                $item['_name_text'] = '支付宝用户';
+                $item['_account_text'] = '支付宝账号';
+                $item['_code_text'] = '支付宝二维码';
+                $item['_name'] = $item['bank']['name'];
+                $item['_account'] = $item['bank']['account'];
+                $item['_code'] = "<img src='" . $item['bank']['code'] . "'>";
+            } else if ($item['bank']['type'] == 2) {
+                $item['_name_text'] = '微信用户';
+                $item['_account_text'] = '微信账号';
+                $item['_code_text'] = '微信二维码';
+                $item['_name'] = $item['bank']['name'];
+                $item['_account'] = $item['bank']['account'];
+                $item['_code'] = "<img src='" . $item['bank']['code'] . "'>";
+            } else {
+                $item['_name_text'] = '开户人';
+                $item['_account_text'] = '银行卡号';
+                $item['_code_text'] = '开户行';
+                $item['_name'] = $item['bank']['name'];
+                $item['_account'] = $item['bank']['account'];
+                $item['_code'] = $item['bank']['code'];
+            }
+        }
+        $item['_add_time'] = time_format($item['add_time']);
+        $item['_end_time'] = $item['end_time'] ? time_format($item['end_time']) : '--';
+        $item['_trade_time'] = $item['trade_time'] ? time_format($item['trade_time']) : '--';
+        $item['_money_type'] = $money_type[$item['money_type']];
+        $item['_trade_type'] = $item['trade_type'] == 2 ? '挂买' : '挂卖';
+        $item['_proof'] = $item['proof'] ? "<img src='" . $item['proof'] . "'>" : '--';
+        switch ($item['status']) {
+            case -1:
+                $item['_status'] = '未支付';
+                break;
+            case 0:
+                $item['_status'] = '未完成';
+                break;
+            case 1:
+                $item['_status'] = '已完成';
+                break;
+            case 2:
+                $item['_status'] = '已收回';
+                break;
+            case 3:
+                $item['_status'] = '交易中【‘已提交交易凭证’】';
+                break;
+            default:
+                $item['_status'] = '未知';
+                break;
+        }
+        return $item;
+    }
+
     public static function getOneUserList($where)
     {
         $model = self::setStatus($where);
@@ -444,6 +518,7 @@ class CashTradeOrder extends BaseModel
                 'status' => 0,
                 'trade_uid' => $uid,
                 'bank_info' => json_encode($bank),
+                'trade_start_time' => time(),
                 //'trade_way' => $order['pay_type'],
 //                'trade_time' => time(),
             ]);
@@ -510,6 +585,7 @@ class CashTradeOrder extends BaseModel
                 'status' => -1,
                 'trade_uid' => $uid,
                 'close_time' => time() + 15 * 60,
+                'trade_start_time' => time(),
             ]);
             if ($res) {
                 BaseModel::commitTrans();
@@ -562,7 +638,7 @@ class CashTradeOrder extends BaseModel
                 case 1:
                     //退回币
 //                    $res = $res && UserMoney::incomeMoney($v['uid'], $v['money_type'], $v['money_num'], 'hang_sale_send_back', '挂卖退回', '挂卖时间结束,退回钱包');
-                    $res = $res && self::where('id', $v['id'])->update(['trade_uid' => null, 'status' => 0, 'close_time' => null]);
+                    $res = $res && self::where('id', $v['id'])->update(['trade_uid' => null, 'status' => 0, 'close_time' => null, 'trade_start_time' => null,]);
                     break;
                 case 2:
 //                    $userInfo = User::getUserInfo($v['uid']);
@@ -571,20 +647,20 @@ class CashTradeOrder extends BaseModel
 //                    $res = $res && self::where('id', $v['id'])->update(['status' => 2]);
                     if ($v['trade_uid'])
                         $res = $res && UserMoney::incomeMoney($v['trade_uid'], $v['money_type'], $v['money_num'], 'hang_sale_send_back', '挂卖退回', '挂卖时间结束,退回钱包');
-                    $res = $res && self::where('id', $v['id'])->update(['trade_uid' => null, 'status' => -1, 'close_time' => null]);
+                    $res = $res && self::where('id', $v['id'])->update(['trade_uid' => null, 'status' => -1, 'close_time' => null, 'trade_start_time' => null,]);
                     break;
                 default:
                     break;
             }
         }
-        BaseModel::checkTrans($res);
+        BaseModel::commitTrans();
         return $res;
     }
 
     public static function brokerage($id)
     {
         $info = self::get($id);
-        if ($info['trade_uid'] !== 0) return true;
+//        if ($info['trade_uid'] !== 0) return true;
         if ($info['trade_type'] == 2)
             $user = User::getUserInfo($info['trade_uid']);
         else

+ 1 - 0
route/api/route.php

@@ -85,6 +85,7 @@ Route::group(function () {
     Route::post('trade/fast', 'trade.CashTradeController/fast_sale')->name('fast_sale');//挂出
     Route::post('trade/trade', 'trade.CashTradeController/trade')->name('trade');//快捷卖币
     Route::get('trade/my', 'trade.CashTradeController/myOrder')->name('myOrder');//我的订单
+    Route::get('trade/my/:id', 'trade.CashTradeController/OrderDetail')->name('OrderDetail');//我的订单
     Route::post('trade/cancel/:id', 'trade.CashTradeController/cancel')->name('cancel');//取消订单
     Route::post('trade/upload/:id', 'trade.CashTradeController/uploadProof')->name('uploadProof');//上传凭证
     Route::post('trade/check/:id/:ok', 'trade.CashTradeController/check')->name('check');//审核