| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160 |
- <?php
- namespace App\Http\Controllers\Game;
- use App\Facade\TableName;
- use App\Game\Services\OuroGameService;
- use App\Http\Controllers\Controller;
- use App\Http\helper\NumConfig;
- use App\Models\Order;
- use App\Services\OrderServices;
- use App\Utility\SetNXLock;
- use Illuminate\Http\Request;
- use Illuminate\Support\Facades\DB;
- use Illuminate\Support\Facades\Redis;
- class PayRechargeController extends Controller
- {
- // 充值记录
- public function orderList(Request $request)
- {
- $user_id = (int)$request->globalUser->UserID;//$request->get('user_id', 1);
- $page = $request->get('page', 1);
- $pageSize = $request->get('pageSize', 7);
- $redisKey = 'PayRecharge_orderList_'.$user_id;
- if (!SetNXLock::getExclusiveLock($redisKey)) {
- return apiReturnFail(['web.withdraw.try_again_later','Tente novamente mais tarde']);
- }
- $where[] = ['user_id', $user_id];
- $where[] = ['pay_status', 1];
- $cacheTime = 60 * rand(1, 2);
- // $list = cache()->remember($user_id . '_order_list', $cacheTime, function () use ($where, $pageSize) {
- //
- // return Order::where($where)
- // ->orderBy('finished_at', 'desc')
- // ->selectRaw('amount,payment_code,order_sn as payment_sn,finished_at,created_at,pay_status')
- // ->paginate(15,['*'],'page',1);
- // });
- $list = Order::query()->where($where)
- ->orderBy('finished_at', 'desc')
- ->selectRaw('amount,payment_code,order_sn as payment_sn,finished_at,created_at,pay_status')
- ->paginate($pageSize);
- // ->paginate(15,['*'],'page',1);
- foreach ($list as &$val) {
- $val->amount = number_format($val->amount, 2, '.', '');
- }
- SetNXLock::release($redisKey);
- return apiReturnSuc($list);
- }
- // 首充
- public function firstPay(Request $request)
- {
- $origin = $_SERVER['HTTP_ORIGIN'] ??$_SERVER['HTTP_REFERER']?? '*';
- if (strstr($origin, "52256") ) {
- return apiReturnSuc();
- }
- $user = LoginController::checkLogin($request);
- if($user){
- if(env('CONFIG_24680_NFTD_99',0)==0)if($user->Channel==99)return apiReturnSuc();
- $user_recharge = DB::table(TableName::QPAccountsDB() . 'YN_VIPAccount')
- ->where('UserID', $user->UserID)
- ->value('Recharge') ?: 0;
- if($user_recharge)return apiReturnSuc();
- }
- $OrderServices = new OrderServices();
- // 充值金额
- $price = $OrderServices->FirstCharge;
- $give = $OrderServices->FirstChargeGive;
- // 首充
- $firstCharge = DB::connection('write')->table('QPAccountsDB.dbo.SystemStatusInfo')
- ->where('StatusName', 'FirstChargeGiftBag')
- ->first();
- $payConfigID = $firstCharge->StatusValue;
- $payConfigs = DB::table('agent.dbo.admin_configs')->where('id', $payConfigID)->select('id', 'name', 'new_pay_type')->first();
- $first_pay = [];
- if ($payConfigs) {
- if ($payConfigs->new_pay_type <= 1) {
- $first_pay = ['id' => $payConfigs->id, 'name' => $payConfigs->name, 'status' => 1, 'type' => 3, 'new_pay_type' => $payConfigs->new_pay_type];
- } else {
- $first_pay = ['id' => $payConfigs->id, 'name' => $payConfigs->name, 'status' => 1, 'type' => 0, 'new_pay_type' => $payConfigs->new_pay_type];
- }
- }
- return apiReturnSuc(compact('price', 'give','first_pay'));
- }
- public function firstPayMulti(Request $request)
- {
- $user = LoginController::checkLogin($request);
- if($user){
- if(env('CONFIG_24680_NFTD_99',0)==0)if($user->Channel==99)return apiReturnFail();
- $fpkey='Firstpay_'.$user->UserID;
- if(Redis::exists($fpkey)){
- $data=Redis::get($fpkey);
- $data=json_decode($data,true);
- $data['timeleft']=86400-(time()-$data['buytime']);
- return apiReturnSuc(['leftitem'=>$data]);
- }
- $user_recharge = DB::table(TableName::QPAccountsDB() . 'YN_VIPAccount')
- ->where('UserID', $user->UserID)
- ->value('Recharge') ?: 0;
- if($user_recharge)return apiReturnFail();
- }
- $items=DB::table('agent.dbo.recharge_gear')
- ->where('status',1)
- ->where('second_give','>',0)
- ->where('first_pay','>=', 1)
- ->select('gift_id','money','give','favorable_price','second_give')->get()->each(function($item){
- $item->id=28;
- })->toArray();
- $default=count($items)-1;
- return apiReturnSuc(compact('items','default'));
- }
- public function getSecondGive(Request $request)
- {
- $user = $request->user();
- $fpkey='Firstpay_'.$user->UserID;
- if(Redis::exists($fpkey)){
- $data=Redis::get($fpkey);
- $data=json_decode($data,true);
- $data['timeleft']=86400-(time()-$data['buytime']);
- if($data['timeleft']<=0) {
- Redis::del($fpkey);
- //加钱
- if($data['second_give']){
- $czReason=$data['czReason'];
- $cjReason=$data['cjReason'];
- [$OrgScore,$NowScore]=OuroGameService::AddScore($user->UserID,$data['second_give']*NumConfig::NUM_VALUE,$cjReason);
- //更新二次领钱记录
- DB::table(TableName::agent() . 'guide_payment')->where('UserID',$user->UserID)->update([
- 'GetSecondTime' => now(),
- 'SecondScoreNum'=>$data['second_give']*NumConfig::NUM_VALUE
- ]);
- return apiReturnSuc(compact('OrgScore','NowScore'));
- }
- return apiReturnSuc();
- }
- }
- return apiReturnFail(['web.withdraw.try_again_later','Tente novamente mais tarde']);
- }
- }
|