IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> laravel----admin -> 正文阅读

[PHP知识库]laravel----admin

<?php

namespace App\Http\Controllers\Api;

use App\Http\Controllers\Controller;
use App\Jobs\ProcessPodcast;
use App\Models\Admin\Admission;
use App\Models\Admin\Order;
use App\Models\Admin\Userdo;
use App\Models\Admin\Vocalconcert;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\DB;

class ConcertController extends Controller
{
    public function concertList()
    {
       $data = Vocalconcert::orderBy('v_people','desc')->paginate(3);
       return ['code'=>'200','msg'=>'成功','data'=>$data];
    }
    public function concertFind(Request $request)
    {
        $request->except('token');
        $id = $request['v_id'];
        $data = Vocalconcert::where('v_id',$id)->first();
        return ['code'=>'200','msg'=>'成功','data'=>$data];
    }
    public function concertLike(Request $request)
    {
        $v_name = $request['text'];
        $data = Vocalconcert::where('v_name','like','%'.$v_name.'%')
            ->orwhere('v_time','like','%'.$v_name.'%')
            ->get()->toArray();
        return ['code'=>'200','msg'=>'成功','data'=>$data];
    }
    public function orderAdd(Request $request)
    {
        $data = Admission::where('status','0')->orwhere('status','3')->get()->toArray();
        $a_id = array_push($data);
        $uid = $request['uid'];
        $v_id = $request['v_id'];
        $vocal = Vocalconcert::where('v_id',$v_id)->get()->toArray();
        $v_price = $vocal[0]['v_price'];
        $o_card = md5(time()) . $v_id . $a_id;
        $userdo = Userdo::where('uid',$uid)->first();
        $balance = $userdo->balance;
        if($balance < $v_price){
            return ['code'=>4001,'msg'=>'余额不足','data'=>''];
        }
        //开启事务
        DB::beginTransaction();
        try {
        $res = Order::create([
            'a_id'=>$a_id,
            'uid'=>$uid,
            'v_id'=>$v_id,
            'o_card'=>$o_card,
            'price'=>$v_price
        ]);

        Admission::where('a_id',$a_id)->update(['status'=>'2']);
        $qian = $balance - $v_price;
        Userdo::where('uid',$uid)->update(['balance'=>$qian]);
            $phone = $userdo['phone'];
            DB::commit();

            $ak['phone'] = $phone;
            $data = json_decode(json_encode($ak));
            ProcessPodcast::dispatch($data);

            return ['code'=>200,'msg'=>'购票成功','data'=>''];
        } catch (\Exception $e) {
            DB::rollBack();
            return ['code' => 4000, 'msg' => '支付失败', 'data' => ''];
        }

    }
    public function orderList()
    {
        $data = Order::join('vocalconcert', function ($join) {
            $join->on('vocalconcert.v_id', '=','order.v_id');
        })
            ->join('admission', function ($join) {
                $join->on('admission.a_id', '=','order.a_id');
            })
            ->get();
        return ['code'=>'200','msg'=>'成功','data'=>$data];
    }
    public function orderRet(Request $request)
    {
        $id = $request['add']['id'];
        $a_id = $request['add']['a_id'];

        DB::beginTransaction();
        try {
        Admission::where('a_id',$a_id)->update(['status'=>'3']);
        Order::where('id',$id)->update(['status'=>'3']);
        $qian1 = Order::where('id',$id)->first();                          
        $qian2 = $qian1['price'];
        $uid = $request['uid'];
        $data = Userdo::where('uid',$uid)->first();
        $balance = $data['balance'] + $qian2;
        Userdo::where('uid',$uid)->update(['balance'=>$balance]);
            DB::commit();
            return ['code'=>'200','msg'=>'退票成功','data'=>''];
        } catch (\Exception $e) {
            DB::rollBack();
            return ['code' => 4000, 'msg' => '退票失败', 'data' => ''];
        }
    }
}
Route::group(['namespace'=>'Api','middleware'=>['JwtToken','throttle:60,1']],function (){
    Route::post('concertLike',[ConcertController::class,'concertLike']);
    Route::post('orderAdd',[ConcertController::class,'orderAdd']);
    Route::get('orderList',[ConcertController::class,'orderList']);
    Route::post('orderRet',[ConcertController::class,'orderRet']);
});

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-30 11:43:35  更:2021-09-30 11:44:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/29 4:28:31-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计