作者 刘锟

import_task

  1 +<?php
  2 +
  3 +namespace App\Http\Controllers\Bside\Import;
  4 +
  5 +
  6 +use App\Enums\Common\Code;
  7 +use App\Http\Controllers\Bside\BaseController;
  8 +use App\Http\Logic\Bside\Import\ImportLogic;
  9 +use App\Http\Requests\Bside\Import\ImportTaskRequest;
  10 +
  11 +/**
  12 + * 新闻、博客、商品导入
  13 + * Class ImportController
  14 + * @package App\Http\Controllers\Bside\Import
  15 + */
  16 +class ImportController extends BaseController
  17 +{
  18 + /**
  19 + * 新增导入任务
  20 + * @param ImportTaskRequest $request
  21 + * @param ImportLogic $logic
  22 + * @throws \App\Exceptions\AsideGlobalException
  23 + * @throws \App\Exceptions\BsideGlobalException
  24 + * @author Akun
  25 + * @date 2023/09/20 11:36
  26 + */
  27 + public function save(ImportTaskRequest $request,ImportLogic $logic)
  28 + {
  29 + $request->validated();
  30 +
  31 + $logic->addImportTask();
  32 + $this->response('success', Code::SUCCESS);
  33 + }
  34 +}
  1 +<?php
  2 +
  3 +namespace App\Http\Logic\Bside\Import;
  4 +
  5 +use App\Http\Logic\Bside\BaseLogic;
  6 +use App\Models\Import\ImportTask;
  7 +
  8 +
  9 +class ImportLogic extends BaseLogic
  10 +{
  11 + public function __construct()
  12 + {
  13 + parent::__construct();
  14 + $this->param = $this->requestAll;
  15 + $this->model = new ImportTask();
  16 + }
  17 +
  18 + /**
  19 + * 新增导入任务
  20 + * @return array
  21 + * @throws \App\Exceptions\AsideGlobalException
  22 + * @throws \App\Exceptions\BsideGlobalException
  23 + * @author Akun
  24 + * @date 2023/09/20 11:17
  25 + */
  26 + public function addImportTask()
  27 + {
  28 + $this->param['project_id'] = $this->user['project_id'];
  29 + $this->param['user_id'] = $this->user['id'];
  30 + $rs = $this->model->add($this->param);
  31 + if($rs === false){
  32 + $this->fail('error');
  33 + }
  34 + return $this->success();
  35 + }
  36 +}
  1 +<?php
  2 +
  3 +namespace App\Http\Requests\Bside\Import;
  4 +
  5 +use App\Models\Import\ImportTask;
  6 +use Illuminate\Foundation\Http\FormRequest;
  7 +use Illuminate\Validation\Rule;
  8 +
  9 +/**
  10 + * 产品新闻博客导入任务
  11 + * @author:akun
  12 + * @time 2023/9/20 11:32
  13 + * Class NavRequest
  14 + * @package App\Http\Requests\Bside\Nav
  15 + */
  16 +class ImportTaskRequest extends FormRequest
  17 +{
  18 + /**
  19 + * Determine if the user is authorized to make this request.
  20 + *
  21 + * @return bool
  22 + */
  23 + public function authorize()
  24 + {
  25 + return true;
  26 + }
  27 +
  28 + /**
  29 + * Get the validation rules that apply to the request.
  30 + *
  31 + * @return array
  32 + */
  33 + public function rules()
  34 + {
  35 + return [
  36 + 'type' => ['required', Rule::in([ImportTask::TYPE_PROJECT, ImportTask::TYPE_NEWS, ImportTask::TYPE_BLOG])],
  37 + 'file_url' => ['required'],
  38 + ];
  39 + }
  40 +
  41 + public function messages()
  42 + {
  43 + return [
  44 + 'type.required' => '导入类型必须',
  45 + 'type.in' => '导入类型错误',
  46 + 'file_url.required' => '文件地址必须',
  47 + ];
  48 + }
  49 +}
  1 +<?php
  2 +namespace App\Models\Import;
  3 +
  4 +use App\Models\Base;
  5 +
  6 +class ImportTask extends Base
  7 +{
  8 + protected $table = 'gl_import_task';
  9 +
  10 + const STATUS_UN = 0;//未开始
  11 + const STATUS_ING = 1;//导入中
  12 + const STATUS_COM = 2;//导入完成
  13 +
  14 + const TYPE_PROJECT = 1;//产品
  15 + const TYPE_NEWS = 2;//新闻
  16 + const TYPE_BLOG = 3;//博客
  17 +
  18 +
  19 +}