mirror of
				https://github.com/v2board/v2board.git
				synced 2025-11-04 11:21:46 +08:00 
			
		
		
		
	update
This commit is contained in:
		@@ -2,8 +2,6 @@
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers\Admin;
 | 
			
		||||
 | 
			
		||||
use App\Http\Requests\Admin\ServerSave;
 | 
			
		||||
use App\Http\Requests\Admin\ServerUpdate;
 | 
			
		||||
use Illuminate\Http\Request;
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Models\ServerGroup;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								app/Http/Controllers/Admin/TicketController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								app/Http/Controllers/Admin/TicketController.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,16 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers\Admin;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Http\Request;
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Models\Ticket;
 | 
			
		||||
use App\Models\TicketMessage;
 | 
			
		||||
use Illuminate\Support\Facades\Redis;
 | 
			
		||||
 | 
			
		||||
class TicketController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    public function index (Request $request) {
 | 
			
		||||
        
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -5,7 +5,6 @@ namespace App\Http\Controllers;
 | 
			
		||||
use Illuminate\Http\Request;
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Models\Plan;
 | 
			
		||||
use App\Models\User;
 | 
			
		||||
 | 
			
		||||
class PlanController extends Controller
 | 
			
		||||
{
 | 
			
		||||
@@ -17,7 +16,6 @@ class PlanController extends Controller
 | 
			
		||||
        if (!$plan) {
 | 
			
		||||
            abort(500, '该订阅不存在');
 | 
			
		||||
        }
 | 
			
		||||
        $user = User::find($request->session()->get('id'));
 | 
			
		||||
        return response([
 | 
			
		||||
            'data' => $plan
 | 
			
		||||
        ]);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										49
									
								
								app/Http/Controllers/TicketController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								app/Http/Controllers/TicketController.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers;
 | 
			
		||||
 | 
			
		||||
use App\Http\Requests\TicketSave;
 | 
			
		||||
use Illuminate\Http\Request;
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Models\Ticket;
 | 
			
		||||
use App\Models\TicketMessage;
 | 
			
		||||
use App\Utils\Helper;
 | 
			
		||||
use Illuminate\Support\Facades\DB;
 | 
			
		||||
 | 
			
		||||
class TicketController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    public function index (Request $request) {
 | 
			
		||||
        return response([
 | 
			
		||||
            'data' => Ticket::where('user_id', $request->session()->get('id'))
 | 
			
		||||
                ->orderBy('created_at', 'DESC')
 | 
			
		||||
                ->get()
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    public function save (TicketSave $request) {
 | 
			
		||||
        DB::beginTransaction();
 | 
			
		||||
        $ticket = Ticket::create(array_merge($request->only([
 | 
			
		||||
            'subject',
 | 
			
		||||
            'level'
 | 
			
		||||
        ]), [
 | 
			
		||||
            'user_id' => $request->session()->get('id')
 | 
			
		||||
        ]));
 | 
			
		||||
        if (!$ticket) {
 | 
			
		||||
            DB::rollback();
 | 
			
		||||
            abort(500, '工单创建失败');
 | 
			
		||||
        }
 | 
			
		||||
        $ticketMessage = TicketMessage::create([
 | 
			
		||||
            'user_id' => $request->session()->get('id'),
 | 
			
		||||
            'ticket_id' => $ticket->id,
 | 
			
		||||
            'message' => $request->input('message')
 | 
			
		||||
        ]);
 | 
			
		||||
        if (!$ticketMessage) {
 | 
			
		||||
            DB::rollback();
 | 
			
		||||
            abort(500, '工单创建失败');
 | 
			
		||||
        }
 | 
			
		||||
        DB::commit();
 | 
			
		||||
        return response([
 | 
			
		||||
            'data' => true
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										32
									
								
								app/Http/Requests/TicketSave.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								app/Http/Requests/TicketSave.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,32 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Requests;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Foundation\Http\FormRequest;
 | 
			
		||||
 | 
			
		||||
class TicketSave extends FormRequest
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the validation rules that apply to the request.
 | 
			
		||||
     *
 | 
			
		||||
     * @return array
 | 
			
		||||
     */
 | 
			
		||||
    public function rules()
 | 
			
		||||
    {
 | 
			
		||||
        return [
 | 
			
		||||
            'subject' => 'required',
 | 
			
		||||
            'level' => 'required|in:0,1,2',
 | 
			
		||||
            'message' => 'required'
 | 
			
		||||
        ];
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function messages()
 | 
			
		||||
    {
 | 
			
		||||
        return [
 | 
			
		||||
            'subject.required' => '工单主题不能为空',
 | 
			
		||||
            'level.required' => '工单级别不能为空',
 | 
			
		||||
            'level.in' => '工单级别格式不正确',
 | 
			
		||||
            'message.required' => '消息不能为空'
 | 
			
		||||
        ];
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										12
									
								
								app/Models/Ticket.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								app/Models/Ticket.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Models;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Database\Eloquent\Model;
 | 
			
		||||
 | 
			
		||||
class Ticket extends Model
 | 
			
		||||
{
 | 
			
		||||
    protected $table = 'v2_ticket';
 | 
			
		||||
    protected $dateFormat = 'U';
 | 
			
		||||
    protected $guarded = ['id'];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										12
									
								
								app/Models/TicketMessage.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								app/Models/TicketMessage.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,12 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Models;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Database\Eloquent\Model;
 | 
			
		||||
 | 
			
		||||
class TicketMessage extends Model
 | 
			
		||||
{
 | 
			
		||||
    protected $table = 'v2_ticket_message';
 | 
			
		||||
    protected $dateFormat = 'U';
 | 
			
		||||
    protected $guarded = ['id'];
 | 
			
		||||
}
 | 
			
		||||
@@ -80,6 +80,8 @@ Route::prefix('v1')
 | 
			
		||||
                Route::get ('tutorial/getAppleID', 'TutorialController@getAppleID');
 | 
			
		||||
                // Notice
 | 
			
		||||
                Route::get ('notice', 'NoticeController@index');
 | 
			
		||||
                // Ticket
 | 
			
		||||
                Route::post('ticket/save', 'TicketController@save');
 | 
			
		||||
            });
 | 
			
		||||
 | 
			
		||||
        // Passport
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user