作者 Your Name
@@ -13,6 +13,8 @@ use App\Enums\Common\Code; @@ -13,6 +13,8 @@ use App\Enums\Common\Code;
13 use App\Http\Controllers\Aside\BaseController; 13 use App\Http\Controllers\Aside\BaseController;
14 use App\Http\Logic\Aside\ExtensionModule\ExtensionModuleLogic; 14 use App\Http\Logic\Aside\ExtensionModule\ExtensionModuleLogic;
15 use App\Models\ExtentModule\ExtensionModule; 15 use App\Models\ExtentModule\ExtensionModule;
  16 +use App\Services\ProjectServer;
  17 +use Illuminate\Support\Facades\DB;
16 18
17 class ExtensionModuleController extends BaseController 19 class ExtensionModuleController extends BaseController
18 { 20 {
@@ -24,8 +26,10 @@ class ExtensionModuleController extends BaseController @@ -24,8 +26,10 @@ class ExtensionModuleController extends BaseController
24 * @time :2024/8/7 11:48 26 * @time :2024/8/7 11:48
25 */ 27 */
26 public function getModuleLists(){ 28 public function getModuleLists(){
  29 + ProjectServer::useProject($this->map['project_id']);
27 $extensionModuleModel = new ExtensionModule(); 30 $extensionModuleModel = new ExtensionModule();
28 $list = $extensionModuleModel->list(); 31 $list = $extensionModuleModel->list();
  32 + DB::disconnect('custom_mysql');
29 $this->response('success',Code::SUCCESS,$list); 33 $this->response('success',Code::SUCCESS,$list);
30 } 34 }
31 35
@@ -15,6 +15,7 @@ use App\Http\Logic\Bside\ExtensionModule\ExtensionModuleFieldLogic; @@ -15,6 +15,7 @@ use App\Http\Logic\Bside\ExtensionModule\ExtensionModuleFieldLogic;
15 use App\Models\ExtentModule\ExtensionModule; 15 use App\Models\ExtentModule\ExtensionModule;
16 use App\Models\ExtentModule\ExtensionModuleField; 16 use App\Models\ExtentModule\ExtensionModuleField;
17 use App\Models\ExtentModule\ExtensionModuleValue; 17 use App\Models\ExtentModule\ExtensionModuleValue;
  18 +use Illuminate\Support\Facades\DB;
18 19
19 class ExtensionModuleController extends BaseController 20 class ExtensionModuleController extends BaseController
20 { 21 {
@@ -33,6 +34,25 @@ class ExtensionModuleController extends BaseController @@ -33,6 +34,25 @@ class ExtensionModuleController extends BaseController
33 } 34 }
34 35
35 /** 36 /**
  37 + * @remark :获取数据类型
  38 + * @name :getDataType
  39 + * @author :lyh
  40 + * @method :post
  41 + * @time :2024/8/7 17:31
  42 + */
  43 + public function getDataType(){
  44 + $data = [
  45 + '1'=>'文本框',
  46 + '2'=>'多文本输入框',
  47 + '3'=>'图片框',
  48 + '4'=>'文件框',
  49 + '5'=>'下拉框',
  50 + '6'=>'自动生成订单框'
  51 + ];
  52 + $this->response('success',Code::SUCCESS,$data);
  53 + }
  54 +
  55 + /**
36 * @remark :获取当前模块字段 56 * @remark :获取当前模块字段
37 * @name :getModuleFiledInfo 57 * @name :getModuleFiledInfo
38 * @author :lyh 58 * @author :lyh
@@ -82,11 +102,101 @@ class ExtensionModuleController extends BaseController @@ -82,11 +102,101 @@ class ExtensionModuleController extends BaseController
82 */ 102 */
83 public function delModuleField(ExtensionModuleFieldLogic $logic){ 103 public function delModuleField(ExtensionModuleFieldLogic $logic){
84 $this->request->validate([ 104 $this->request->validate([
85 - 'filed_id'=>'required', 105 + 'field_id'=>'required',
86 ],[ 106 ],[
87 - 'filed_id.required' => '字段id不能为空', 107 + 'field_id.required' => '字段id不能为空',
88 ]); 108 ]);
89 $logic->delModuleField(); 109 $logic->delModuleField();
90 $this->response('success'); 110 $this->response('success');
91 } 111 }
  112 +
  113 + /**
  114 + * @remark :获取当前模块的所有数据
  115 + * @name :getModuleValueList
  116 + * @author :lyh
  117 + * @method :post
  118 + * @time :2024/8/7 17:37
  119 + */
  120 + public function getModuleValueList(){
  121 + $this->request->validate([
  122 + 'module_id'=>'required',
  123 + ],[
  124 + 'module_id.required' => '模块id不能为空',
  125 + ]);
  126 + $data = [];
  127 + $moduleValueModel = new ExtensionModuleValue();
  128 + $lists = $moduleValueModel->list(['module_id'=>$this->param['module_id']]);
  129 + if(!empty($lists)){
  130 + foreach ($lists as $k => $v){
  131 + $data[$v['uuid']][$v['field_id']] = $v['value'];
  132 + }
  133 + }
  134 + $this->response('success',Code::SUCCESS,$data);
  135 + }
  136 +
  137 + /**
  138 + * @remark :保存数据
  139 + * @name :saveModuleValue
  140 + * @author :lyh
  141 + * @method :post
  142 + * @time :2024/8/7 17:59
  143 + */
  144 + public function editModuleValue(){
  145 + $this->request->validate([
  146 + 'module_id'=>'required',
  147 + ],[
  148 + 'module_id.required' => '模块id不能为空',
  149 + ]);
  150 + $data = $this->param['data'];
  151 + $moduleValueModel = new ExtensionModuleValue();
  152 + foreach ($data as $k => $v){
  153 + $info = $moduleValueModel->read(['uuid'=>$this->param['uuid'],'field_id'=>$v['field_id'],'module_id'=>$this->param['module_id']]);
  154 + if($info === false){
  155 + $data = [
  156 + 'uuid'=>$this->param['uuid'],
  157 + 'module_id'=>$this->param['module_id'],
  158 + 'field_id'=>$v['field_id'],
  159 + 'value'=>$v['value']
  160 + ];
  161 + $moduleValueModel->addReturnId($data);
  162 + }else{
  163 + $moduleValueModel->edit(['value'=>$v['value']],['id'=>$info['id']]);
  164 + }
  165 + }
  166 + $this->response('success',Code::SUCCESS,['uuid'=>$this->param['uuid']]);
  167 + }
  168 +
  169 + /**
  170 + * @remark :新增數據
  171 + * @name :addModuleValue
  172 + * @author :lyh
  173 + * @method :post
  174 + * @time :2024/8/8 10:00
  175 + */
  176 + public function addModuleValue(){
  177 + $this->request->validate([
  178 + 'module_id'=>'required',
  179 + ],[
  180 + 'module_id.required' => '模块id不能为空',
  181 + ]);
  182 + $moduleValueModel = new ExtensionModuleValue();
  183 + $info = $moduleValueModel->where('module_id',$this->param['module_id'])->orderBy('uuid','desc')->first()->toArray();
  184 + if(empty($info)){
  185 + $uuid = 1;
  186 + }else{
  187 + $uuid = $info['uuid'] + 1;
  188 + }
  189 + $data = $this->param['data'];
  190 + $moduleValueModel = new ExtensionModuleValue();
  191 + foreach ($data as $k => $v){
  192 + $data = [
  193 + 'uuid'=>$uuid,
  194 + 'module_id'=>$this->param['module_id'],
  195 + 'field_id'=>$v['field_id'],
  196 + 'value'=>$v['value']
  197 + ];
  198 + $moduleValueModel->addReturnId($data);
  199 + }
  200 + $this->response('success',Code::SUCCESS,['uuid'=>$this->param['uuid']]);
  201 + }
92 } 202 }
@@ -12,13 +12,14 @@ namespace App\Http\Logic\Aside\ExtensionModule; @@ -12,13 +12,14 @@ namespace App\Http\Logic\Aside\ExtensionModule;
12 use App\Http\Logic\Bside\BaseLogic; 12 use App\Http\Logic\Bside\BaseLogic;
13 use App\Models\ExtentModule\ExtensionModule; 13 use App\Models\ExtentModule\ExtensionModule;
14 use App\Models\ExtentModule\ExtensionModuleField; 14 use App\Models\ExtentModule\ExtensionModuleField;
  15 +use App\Services\ProjectServer;
  16 +use Illuminate\Support\Facades\DB;
15 17
16 class ExtensionModuleLogic extends BaseLogic 18 class ExtensionModuleLogic extends BaseLogic
17 { 19 {
18 public function __construct() 20 public function __construct()
19 { 21 {
20 parent::__construct(); 22 parent::__construct();
21 - $this->model = new ExtensionModule();  
22 $this->param = $this->requestAll; 23 $this->param = $this->requestAll;
23 } 24 }
24 25
@@ -30,6 +31,8 @@ class ExtensionModuleLogic extends BaseLogic @@ -30,6 +31,8 @@ class ExtensionModuleLogic extends BaseLogic
30 * @time :2024/8/7 15:50 31 * @time :2024/8/7 15:50
31 */ 32 */
32 public function saveExtensionModule(){ 33 public function saveExtensionModule(){
  34 + ProjectServer::useProject($this->map['project_id']);
  35 + $this->model = new ExtensionModule();
33 //查看数据是否存在 36 //查看数据是否存在
34 if(isset($this->param['id']) && !empty($this->param['id'])){ 37 if(isset($this->param['id']) && !empty($this->param['id'])){
35 $info = $this->model->read(['title'=>$this->param['title'],'id'=>['!=',$this->param['id']]]); 38 $info = $this->model->read(['title'=>$this->param['title'],'id'=>['!=',$this->param['id']]]);
@@ -46,6 +49,7 @@ class ExtensionModuleLogic extends BaseLogic @@ -46,6 +49,7 @@ class ExtensionModuleLogic extends BaseLogic
46 }else{ 49 }else{
47 $id = $this->model->addReturnId($this->param); 50 $id = $this->model->addReturnId($this->param);
48 } 51 }
  52 + DB::disconnect('custom_mysql');
49 return $this->success(['id'=>$id]); 53 return $this->success(['id'=>$id]);
50 } 54 }
51 55
@@ -57,12 +61,15 @@ class ExtensionModuleLogic extends BaseLogic @@ -57,12 +61,15 @@ class ExtensionModuleLogic extends BaseLogic
57 * @time :2024/8/7 16:07 61 * @time :2024/8/7 16:07
58 */ 62 */
59 public function delExtensionModule(){ 63 public function delExtensionModule(){
  64 + ProjectServer::useProject($this->map['project_id']);
60 $moduleFiledModel = new ExtensionModuleField(); 65 $moduleFiledModel = new ExtensionModuleField();
61 $info = $moduleFiledModel->read(['module_id'=>$this->param['id']]); 66 $info = $moduleFiledModel->read(['module_id'=>$this->param['id']]);
62 if($info !== false){ 67 if($info !== false){
63 $this->fail('请先删除当前模块的字段,在进行删除'); 68 $this->fail('请先删除当前模块的字段,在进行删除');
64 } 69 }
  70 + $this->model = new ExtensionModule();
65 $this->model->del(['id'=>$this->param['id']]); 71 $this->model->del(['id'=>$this->param['id']]);
  72 + DB::disconnect('custom_mysql');
66 return $this->success(); 73 return $this->success();
67 } 74 }
68 } 75 }
@@ -216,7 +216,6 @@ class CustomTemplateLogic extends BaseLogic @@ -216,7 +216,6 @@ class CustomTemplateLogic extends BaseLogic
216 if($bSettingInfo === false){ 216 if($bSettingInfo === false){
217 $this->fail('请先选择模版'); 217 $this->fail('请先选择模版');
218 } 218 }
219 -  
220 $handleInfo = $this->handleResultParam($html); 219 $handleInfo = $this->handleResultParam($html);
221 if(!isset($this->param['template_status'])){//代表直接替换模版 不更新头部底部 220 if(!isset($this->param['template_status'])){//代表直接替换模版 不更新头部底部
222 $this->saveTemplateCom($handleInfo,$bSettingInfo['template_id']); 221 $this->saveTemplateCom($handleInfo,$bSettingInfo['template_id']);
@@ -307,7 +306,7 @@ class CustomTemplateLogic extends BaseLogic @@ -307,7 +306,7 @@ class CustomTemplateLogic extends BaseLogic
307 }else{ 306 }else{
308 $param['html'] = $handleInfo['other']; 307 $param['html'] = $handleInfo['other'];
309 $param['html_style'] = null; 308 $param['html_style'] = null;
310 - $type == BTemplate::COMMON_HEAD; 309 + $type = BTemplate::COMMON_HEAD;
311 $typeSource = $this->getType($type); 310 $typeSource = $this->getType($type);
312 } 311 }
313 //查看当前数据是否还存在 312 //查看当前数据是否还存在
@@ -11,6 +11,7 @@ namespace App\Http\Logic\Bside\ExtensionModule; @@ -11,6 +11,7 @@ namespace App\Http\Logic\Bside\ExtensionModule;
11 11
12 use App\Http\Logic\Bside\BaseLogic; 12 use App\Http\Logic\Bside\BaseLogic;
13 use App\Models\ExtentModule\ExtensionModuleField; 13 use App\Models\ExtentModule\ExtensionModuleField;
  14 +use App\Models\ExtentModule\ExtensionModuleValue;
14 15
15 class ExtensionModuleFieldLogic extends BaseLogic 16 class ExtensionModuleFieldLogic extends BaseLogic
16 { 17 {
@@ -50,6 +51,13 @@ class ExtensionModuleFieldLogic extends BaseLogic @@ -50,6 +51,13 @@ class ExtensionModuleFieldLogic extends BaseLogic
50 * @time :2024/8/7 17:14 51 * @time :2024/8/7 17:14
51 */ 52 */
52 public function delModuleField(){ 53 public function delModuleField(){
53 - 54 + //查看当前字段是否在使用
  55 + $moduleValueModel = new ExtensionModuleValue();
  56 + $info = $moduleValueModel->read(['filed_id'=>$this->param['filed_id']]);
  57 + if($info !== false){
  58 + $this->fail('当前字段正在使用中,不允许删除');
  59 + }
  60 + $this->model->del(['id'=>$this->param['filed_id']]);
  61 + return $this->success();
54 } 62 }
55 } 63 }
@@ -454,6 +454,14 @@ Route::middleware(['aloginauth'])->group(function () { @@ -454,6 +454,14 @@ Route::middleware(['aloginauth'])->group(function () {
454 Route::any('/info', [Aside\Devops\ServersIpController::class, 'info'])->name('admin.servers_info'); 454 Route::any('/info', [Aside\Devops\ServersIpController::class, 'info'])->name('admin.servers_info');
455 Route::any('/downloadFile', [Aside\Devops\ServersIpController::class, 'downloadFile'])->name('admin.servers_downloadFile'); 455 Route::any('/downloadFile', [Aside\Devops\ServersIpController::class, 'downloadFile'])->name('admin.servers_downloadFile');
456 }); 456 });
  457 + /**
  458 + * 拓展数据模块
  459 + */
  460 + Route::prefix('extension_module')->group(function () {
  461 + Route::any('/', [Aside\ExtentModule\ExtensionModuleController::class, 'getModuleLists'])->name('admin.extension_module_getModuleLists');
  462 + Route::any('/saveModule', [Aside\ExtentModule\ExtensionModuleController::class, 'saveModule'])->name('admin.extension_module_saveModule');
  463 + Route::any('/delModule', [Aside\ExtentModule\ExtensionModuleController::class, 'delModule'])->name('admin.extension_module_delModule');
  464 + });
457 }); 465 });
458 466
459 //无需登录验证的路由组 467 //无需登录验证的路由组
@@ -566,6 +566,18 @@ Route::middleware(['bloginauth'])->group(function () { @@ -566,6 +566,18 @@ Route::middleware(['bloginauth'])->group(function () {
566 Route::any('/saveLanguageTxt', [\App\Http\Controllers\Bside\Setting\LanguageTxtController::class, 'saveLanguageTxt'])->name('language_txt_saveLanguageTxt'); 566 Route::any('/saveLanguageTxt', [\App\Http\Controllers\Bside\Setting\LanguageTxtController::class, 'saveLanguageTxt'])->name('language_txt_saveLanguageTxt');
567 Route::any('/delLanguageTxt', [\App\Http\Controllers\Bside\Setting\LanguageTxtController::class, 'delLanguageTxt'])->name('language_txt_delLanguageTxt'); 567 Route::any('/delLanguageTxt', [\App\Http\Controllers\Bside\Setting\LanguageTxtController::class, 'delLanguageTxt'])->name('language_txt_delLanguageTxt');
568 }); 568 });
  569 +
  570 + //获取拓展数据模块
  571 + Route::prefix('extension_module')->group(function () {
  572 + Route::any('/getModuleList', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'getModuleList'])->name('extension_module_getModuleList');
  573 + Route::any('/getDataType', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'getDataType'])->name('extension_module_getDataType');
  574 + Route::any('/getModuleFiledInfo', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'getModuleFiledInfo'])->name('extension_module_getModuleFiledInfo');
  575 + Route::any('/saveModuleField', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'saveModuleField'])->name('extension_module_saveModuleField');
  576 + Route::any('/delModuleField', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'delModuleField'])->name('extension_module_delModuleField');
  577 + Route::any('/getModuleValueList', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'getModuleValueList'])->name('extension_module_getModuleValueList');
  578 + Route::any('/addModuleValue', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'addModuleValue'])->name('extension_module_addModuleValue');
  579 + Route::any('/editModuleValue', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'editModuleValue'])->name('extension_module_editModuleValue');
  580 + });
569 }); 581 });
570 //无需登录验证的路由组 582 //无需登录验证的路由组
571 Route::group([], function () { 583 Route::group([], function () {