作者 lyh

变更数据

@@ -9,7 +9,11 @@ @@ -9,7 +9,11 @@
9 9
10 namespace App\Http\Controllers\Aside\Geo; 10 namespace App\Http\Controllers\Aside\Geo;
11 11
  12 +use App\Enums\Common\Code;
12 use App\Http\Controllers\Aside\BaseController; 13 use App\Http\Controllers\Aside\BaseController;
  14 +use App\Http\Logic\Aside\Geo\GeoWritingsLogic;
  15 +use App\Http\Requests\Aside\Geo\GeoWritingsRequest;
  16 +use Illuminate\Http\Request;
13 17
14 /** 18 /**
15 * @remark :geo文章 19 * @remark :geo文章
@@ -20,5 +24,54 @@ use App\Http\Controllers\Aside\BaseController; @@ -20,5 +24,54 @@ use App\Http\Controllers\Aside\BaseController;
20 */ 24 */
21 class GeoWritingsController extends BaseController 25 class GeoWritingsController extends BaseController
22 { 26 {
  27 + public function __construct(Request $request)
  28 + {
  29 + parent::__construct($request);
  30 + $this->logic = new GeoWritingsLogic();
  31 + }
  32 +
  33 + /**
  34 + * @remark :文章列表数据
  35 + * @name :lists
  36 + * @author :lyh
  37 + * @method :post
  38 + * @time :2025/10/25 15:53
  39 + */
  40 + public function lists(){
  41 + $data = $this->logic->listWriting($this->map,$this->page,$this->row,$this->order);
  42 + $this->response('success',Code::SUCCESS,$data);
  43 + }
  44 +
  45 + /**
  46 + * @remark :保存geoAi文章生成数据
  47 + * @name :lists
  48 + * @author :lyh
  49 + * @method :post
  50 + * @time :2025/10/25 10:41
  51 + */
  52 + public function saveWriting(){
  53 + $request = new GeoWritingsRequest();
  54 + $request->validated();
  55 + $data = $this->logic->saveWriting();
  56 + $this->response('success',Code::SUCCESS,$data);
  57 + }
  58 +
  59 + /**
  60 + * @remark :批量删除文章任务
  61 + * @name :delWritingTask
  62 + * @author :lyh
  63 + * @method :post
  64 + * @time :2025/10/25 15:03
  65 + */
  66 + public function delWriting(){
  67 + $this->request->validate([
  68 + 'id'=>'required|array',
  69 + ],[
  70 + 'id.required' => 'ID不能为空',
  71 + 'id.array' => 'ID为数组',
  72 + ]);
  73 + $data = $this->logic->delWriting();
  74 + $this->response('success',Code::SUCCESS,$data);
  75 + }
23 76
24 } 77 }
@@ -27,4 +27,53 @@ class GeoWritingsLogic extends BaseLogic @@ -27,4 +27,53 @@ class GeoWritingsLogic extends BaseLogic
27 $this->param = $this->requestAll; 27 $this->param = $this->requestAll;
28 $this->model = new GeoWritings(); 28 $this->model = new GeoWritings();
29 } 29 }
  30 +
  31 + /**
  32 + * @remark :列表数据
  33 + * @name :listWriting
  34 + * @author :lyh
  35 + * @method :post
  36 + * @time :2025/10/25 15:57
  37 + */
  38 + public function listWriting($map,$page,$row,$order){
  39 + $data = $this->model->lists($map,$page,$row,$order);
  40 + return $this->success($data);
  41 + }
  42 +
  43 + /**
  44 + * @remark :手动上传数据
  45 + * @name :saveWriting
  46 + * @author :lyh
  47 + * @method :post
  48 + * @time :2025/10/25 16:07
  49 + */
  50 + public function saveWriting(){
  51 + try {
  52 + if(isset($this->param['id']) &&!empty($this->param['id'])){
  53 + $id = $this->param['id'];
  54 + $this->model->edit($this->param,['id'=>$id]);
  55 + }else{
  56 + $id = $this->model->addReturnId($this->param);
  57 + }
  58 + }catch (\Exception $e){
  59 + $this->fail('保存数据失败,请联系管理员'.$e->getMessage());
  60 + }
  61 + return $this->success(['id'=>$id]);
  62 + }
  63 +
  64 + /**
  65 + * @remark :删除数据
  66 + * @name :delWritingTask
  67 + * @author :lyh
  68 + * @method :post
  69 + * @time :2025/10/25 15:05
  70 + */
  71 + public function delWriting()
  72 + {
  73 + $res = $this->model->del(['id'=>['in',$this->param['id']]]);
  74 + if($res === false){
  75 + $this->fail('删除失败,请联系管理员');
  76 + }
  77 + return $this->success();
  78 + }
30 } 79 }
  1 +<?php
  2 +/**
  3 + * @remark :
  4 + * @name :GeoWritingsTaskRequest.php
  5 + * @author :lyh
  6 + * @method :post
  7 + * @time :2025/10/25 14:21
  8 + */
  9 +
  10 +namespace App\Http\Requests\Aside\Geo;
  11 +
  12 +use Illuminate\Foundation\Http\FormRequest;
  13 +
  14 +class GeoWritingsRequest extends FormRequest
  15 +{
  16 + /**
  17 + * Determine if the user is authorized to make this request.
  18 + *
  19 + * @return bool
  20 + */
  21 + public function authorize()
  22 + {
  23 + return true;
  24 + }
  25 +
  26 + /**
  27 + * Get the validation rules that apply to the request.
  28 + *
  29 + * @return array
  30 + */
  31 + public function rules()
  32 + {
  33 + return [
  34 + 'project_id' => 'required',
  35 + 'title' => 'required|string',
  36 + 'content' => 'required|string',
  37 + ];
  38 + }
  39 +}
@@ -601,6 +601,12 @@ Route::middleware(['aloginauth'])->group(function () { @@ -601,6 +601,12 @@ Route::middleware(['aloginauth'])->group(function () {
601 Route::any('/saveWritingTask', [Aside\Geo\GeoWritingTaskController::class, 'saveWritingTask'])->name('admin.geo_writing_task_saveWritingTask'); 601 Route::any('/saveWritingTask', [Aside\Geo\GeoWritingTaskController::class, 'saveWritingTask'])->name('admin.geo_writing_task_saveWritingTask');
602 Route::any('/delWritingTask', [Aside\Geo\GeoWritingTaskController::class, 'delWritingTask'])->name('admin.geo_writing_task_delWritingTask'); 602 Route::any('/delWritingTask', [Aside\Geo\GeoWritingTaskController::class, 'delWritingTask'])->name('admin.geo_writing_task_delWritingTask');
603 }); 603 });
  604 + //geo文章管理
  605 + Route::prefix('writing')->group(function () {
  606 + Route::any('/', [Aside\Geo\GeoWritingsController::class, 'lists'])->name('admin.geo_writing_task');
  607 + Route::any('/saveWriting', [Aside\Geo\GeoWritingsController::class, 'saveWriting'])->name('admin.geo_writing_saveWriting');
  608 + Route::any('/delWriting', [Aside\Geo\GeoWritingsController::class, 'delWriting'])->name('admin.geo_writing_delWriting');
  609 + });
604 }); 610 });
605 // 任务相关 611 // 任务相关
606 Route::prefix('task')->group(function () { 612 Route::prefix('task')->group(function () {