作者 邓超

temp

@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
2 2
3 namespace App\Http\Controllers\Aside; 3 namespace App\Http\Controllers\Aside;
4 4
5 -use App\Models\Template\AHeadFoot; 5 +use App\Models\Template\ATemplateHtml;
6 6
7 /** 7 /**
8 * 模板 8 * 模板
@@ -22,22 +22,9 @@ class TemplateController extends BaseController @@ -22,22 +22,9 @@ class TemplateController extends BaseController
22 */ 22 */
23 public function index(){ 23 public function index(){
24 24
25 - $data = AHeadFoot::all();  
26 - $lists = [];  
27 - // 以名字为单位区分  
28 - foreach ($data as $datum){  
29 - if(empty($lists[$datum['name']])) $lists[$datum['name']] = [];  
30 - $lists[$datum['name']]['name'] = $datum['name'];  
31 - $lists[$datum['name']]['default'] = $datum['is_default'];  
32 - $lists[$datum['name']]['sort'] = $datum['sort'];  
33 - $lists[$datum['name']]['status'] = $datum['status'];  
34 - $lists[$datum['name']]['created_at'] = $datum['created_at'];  
35 -// $lists[$datum['name']]['tags'] = $datum['tags'];  
36 - $lists[$datum['name']][$datum['type']==AHeadFoot::TYPE_HEADER?'header':'footer'] = $datum['html'];  
37 - }  
38 -  
39 - return $this->success($lists);  
40 25
  26 +
  27 + return view('a');
41 } 28 }
42 29
43 30
@@ -81,5 +81,19 @@ class ATemplate extends \App\Models\Base{ @@ -81,5 +81,19 @@ class ATemplate extends \App\Models\Base{
81 } 81 }
82 82
83 83
  84 + /**
  85 + * 查询
  86 + * @param $id
  87 + * @return mixed
  88 + * @author:dc
  89 + * @time 2023/5/10 10:15
  90 + */
  91 + public static function _find($id)
  92 + {
  93 + return static::where('id',$id)->first();
  94 + }
  95 +
  96 +
  97 +
84 98
85 } 99 }
@@ -24,6 +24,16 @@ class ATemplateHtml extends \App\Models\Base{ @@ -24,6 +24,16 @@ class ATemplateHtml extends \App\Models\Base{
24 use SoftDeletes; 24 use SoftDeletes;
25 25
26 26
  27 + /**
  28 + * 模板中的数据
  29 + * @param $template_id
  30 + * @return mixed
  31 + * @author:dc
  32 + * @time 2023/5/10 10:30
  33 + */
  34 + public static function _all($template_id){
  35 + return static::where(['template_id'=>$template_id])->get();
  36 + }
27 37
28 38
29 } 39 }
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 namespace App\Models\Template; 3 namespace App\Models\Template;
4 4
5 use Illuminate\Database\Eloquent\SoftDeletes; 5 use Illuminate\Database\Eloquent\SoftDeletes;
  6 +use Illuminate\Support\Facades\DB;
6 7
7 /** 8 /**
8 * 当前用户的模板 9 * 当前用户的模板
@@ -71,6 +72,29 @@ class BSetting extends \App\Models\Base{ @@ -71,6 +72,29 @@ class BSetting extends \App\Models\Base{
71 72
72 $data->save(); 73 $data->save();
73 74
  75 + // 是否有模板
  76 + if(!BTemplate::_isExist($project_id,$template_id)){
  77 + // 没有模板
  78 + $aData = ATemplate::_find($template_id);
  79 + // 保存到自己的数据中
  80 + BTemplate::_insert($project_id,$aData);
  81 +
  82 + $aDataHtml = ATemplateHtml::_all($template_id);
  83 + DB::beginTransaction();
  84 + foreach ($aDataHtml as $item){
  85 + try {
  86 + BTemplateHtml::_insert($project_id,$item);
  87 + }catch (\Throwable $e){
  88 + DB::rollBack();
  89 +
  90 + return $data->id;
  91 + break;
  92 + }
  93 +
  94 + }
  95 + DB::commit();
  96 + }
  97 +
74 return $data->id; 98 return $data->id;
75 99
76 } 100 }
@@ -11,48 +11,46 @@ namespace App\Models\Template; @@ -11,48 +11,46 @@ namespace App\Models\Template;
11 */ 11 */
12 class BTemplate extends \App\Models\Base{ 12 class BTemplate extends \App\Models\Base{
13 13
14 - protected $table = 'gl_web_template_html'; 14 + protected $table = 'gl_web_template';
15 15
  16 + protected $hidden = ['project_id'];
16 17
17 18
18 /** 19 /**
19 - * @param $project_id  
20 - * @return mixed 20 + * 是否存在模板
  21 + * @param int $template_id
21 * @author:dc 22 * @author:dc
22 - * @time 2023/5/4 16:13 23 + * @time 2023/5/10 10:00
23 */ 24 */
24 - public static function _get($project_id){  
25 - return static::where(['project_id'=>$project_id])->get(['html','type'])->pluck('html','type')->toArray();  
26 - }  
27 -  
28 -  
29 - public static function _all($project_id){  
30 - return static::where(['project_id'=>$project_id])->get(); 25 + public static function _isExist(int $project_id, int $template_id)
  26 + {
  27 + return static::where(['project_id'=>$project_id,'template_id'=>$template_id])->limit(1)->count();
31 } 28 }
32 29
33 30
34 /** 31 /**
35 - * 保存 32 + * 插入
36 * @param $project_id 33 * @param $project_id
37 - * @param $type  
38 - * @param $html 34 + * @param $data
  35 + * @return mixed
39 * @author:dc 36 * @author:dc
40 - * @time 2023/5/4 17:50 37 + * @time 2023/5/10 10:23
41 */ 38 */
42 - public static function _save($project_id,$type,$html){  
43 - $data = static::where(['project_id'=>$project_id,'type'=>$type])->first();  
44 - if(!$data){  
45 - $data = new static();  
46 - $data->project_id = $project_id;  
47 - $data->type = $type;  
48 - }  
49 - $data->html = $html;  
50 -  
51 - $data->save();  
52 -  
53 - return $data->id;  
54 - } 39 + public static function _insert($project_id,$data)
  40 + {
  41 + $model = new static();
  42 +
  43 + $model->project_id = $project_id;
  44 + $model->template_id = $data['id'];
  45 + $model->name = $data['name'];
  46 + $model->thumb = $data['thumb'];
  47 + $model->html = $data['html'];
  48 +
  49 + $model->save();
55 50
  51 + return $model->id;
  52 +
  53 + }
56 54
57 55
58 } 56 }
  1 +<?php
  2 +
  3 +namespace App\Models\Template;
  4 +
  5 +use Illuminate\Database\Eloquent\SoftDeletes;
  6 +
  7 +/**
  8 + *
  9 + * 模板
  10 + * @author:dc
  11 + * @time 2023/5/9 13:56
  12 + * Class ATemplate
  13 + * @package App\Models\Template
  14 + */
  15 +class BTemplateHtml extends \App\Models\Base{
  16 +
  17 +
  18 + protected $table = 'gl_web_template_html';
  19 +
  20 +
  21 + protected $hidden = ['deleted_at','project_id'];
  22 +
  23 +
  24 + use SoftDeletes;
  25 +
  26 +
  27 +
  28 +
  29 + /**
  30 + * 插入
  31 + * @param $project_id
  32 + * @param $data
  33 + * @return mixed
  34 + * @author:dc
  35 + * @time 2023/5/10 10:23
  36 + */
  37 + public static function _insert($project_id,$data)
  38 + {
  39 +
  40 + $model = new static();
  41 +
  42 + $model->project_id = $project_id;
  43 +
  44 + $model->template_id = $data['template_id'];
  45 +
  46 + $model->name = $data['name'];
  47 + $model->type = $data['type'];
  48 + $model->is_edit = $data['is_edit'];
  49 + $model->css = $data['css'];
  50 + $model->script = $data['script'];
  51 + $model->html = $data['html'];
  52 + $model->data_ext = $data['data_ext'];
  53 +
  54 + $model->save();
  55 +
  56 + return $model->id;
  57 +
  58 + }
  59 +
  60 +
  61 +}