作者 Your Name
... ... @@ -13,6 +13,8 @@ use App\Enums\Common\Code;
use App\Http\Controllers\Aside\BaseController;
use App\Http\Logic\Aside\ExtensionModule\ExtensionModuleLogic;
use App\Models\ExtentModule\ExtensionModule;
use App\Services\ProjectServer;
use Illuminate\Support\Facades\DB;
class ExtensionModuleController extends BaseController
{
... ... @@ -24,8 +26,10 @@ class ExtensionModuleController extends BaseController
* @time :2024/8/7 11:48
*/
public function getModuleLists(){
ProjectServer::useProject($this->map['project_id']);
$extensionModuleModel = new ExtensionModule();
$list = $extensionModuleModel->list();
DB::disconnect('custom_mysql');
$this->response('success',Code::SUCCESS,$list);
}
... ...
... ... @@ -15,6 +15,7 @@ use App\Http\Logic\Bside\ExtensionModule\ExtensionModuleFieldLogic;
use App\Models\ExtentModule\ExtensionModule;
use App\Models\ExtentModule\ExtensionModuleField;
use App\Models\ExtentModule\ExtensionModuleValue;
use Illuminate\Support\Facades\DB;
class ExtensionModuleController extends BaseController
{
... ... @@ -33,6 +34,25 @@ class ExtensionModuleController extends BaseController
}
/**
* @remark :获取数据类型
* @name :getDataType
* @author :lyh
* @method :post
* @time :2024/8/7 17:31
*/
public function getDataType(){
$data = [
'1'=>'文本框',
'2'=>'多文本输入框',
'3'=>'图片框',
'4'=>'文件框',
'5'=>'下拉框',
'6'=>'自动生成订单框'
];
$this->response('success',Code::SUCCESS,$data);
}
/**
* @remark :获取当前模块字段
* @name :getModuleFiledInfo
* @author :lyh
... ... @@ -82,11 +102,101 @@ class ExtensionModuleController extends BaseController
*/
public function delModuleField(ExtensionModuleFieldLogic $logic){
$this->request->validate([
'filed_id'=>'required',
'field_id'=>'required',
],[
'filed_id.required' => '字段id不能为空',
'field_id.required' => '字段id不能为空',
]);
$logic->delModuleField();
$this->response('success');
}
/**
* @remark :获取当前模块的所有数据
* @name :getModuleValueList
* @author :lyh
* @method :post
* @time :2024/8/7 17:37
*/
public function getModuleValueList(){
$this->request->validate([
'module_id'=>'required',
],[
'module_id.required' => '模块id不能为空',
]);
$data = [];
$moduleValueModel = new ExtensionModuleValue();
$lists = $moduleValueModel->list(['module_id'=>$this->param['module_id']]);
if(!empty($lists)){
foreach ($lists as $k => $v){
$data[$v['uuid']][$v['field_id']] = $v['value'];
}
}
$this->response('success',Code::SUCCESS,$data);
}
/**
* @remark :保存数据
* @name :saveModuleValue
* @author :lyh
* @method :post
* @time :2024/8/7 17:59
*/
public function editModuleValue(){
$this->request->validate([
'module_id'=>'required',
],[
'module_id.required' => '模块id不能为空',
]);
$data = $this->param['data'];
$moduleValueModel = new ExtensionModuleValue();
foreach ($data as $k => $v){
$info = $moduleValueModel->read(['uuid'=>$this->param['uuid'],'field_id'=>$v['field_id'],'module_id'=>$this->param['module_id']]);
if($info === false){
$data = [
'uuid'=>$this->param['uuid'],
'module_id'=>$this->param['module_id'],
'field_id'=>$v['field_id'],
'value'=>$v['value']
];
$moduleValueModel->addReturnId($data);
}else{
$moduleValueModel->edit(['value'=>$v['value']],['id'=>$info['id']]);
}
}
$this->response('success',Code::SUCCESS,['uuid'=>$this->param['uuid']]);
}
/**
* @remark :新增數據
* @name :addModuleValue
* @author :lyh
* @method :post
* @time :2024/8/8 10:00
*/
public function addModuleValue(){
$this->request->validate([
'module_id'=>'required',
],[
'module_id.required' => '模块id不能为空',
]);
$moduleValueModel = new ExtensionModuleValue();
$info = $moduleValueModel->where('module_id',$this->param['module_id'])->orderBy('uuid','desc')->first()->toArray();
if(empty($info)){
$uuid = 1;
}else{
$uuid = $info['uuid'] + 1;
}
$data = $this->param['data'];
$moduleValueModel = new ExtensionModuleValue();
foreach ($data as $k => $v){
$data = [
'uuid'=>$uuid,
'module_id'=>$this->param['module_id'],
'field_id'=>$v['field_id'],
'value'=>$v['value']
];
$moduleValueModel->addReturnId($data);
}
$this->response('success',Code::SUCCESS,['uuid'=>$this->param['uuid']]);
}
}
... ...
... ... @@ -12,13 +12,14 @@ namespace App\Http\Logic\Aside\ExtensionModule;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\ExtentModule\ExtensionModule;
use App\Models\ExtentModule\ExtensionModuleField;
use App\Services\ProjectServer;
use Illuminate\Support\Facades\DB;
class ExtensionModuleLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new ExtensionModule();
$this->param = $this->requestAll;
}
... ... @@ -30,6 +31,8 @@ class ExtensionModuleLogic extends BaseLogic
* @time :2024/8/7 15:50
*/
public function saveExtensionModule(){
ProjectServer::useProject($this->map['project_id']);
$this->model = new ExtensionModule();
//查看数据是否存在
if(isset($this->param['id']) && !empty($this->param['id'])){
$info = $this->model->read(['title'=>$this->param['title'],'id'=>['!=',$this->param['id']]]);
... ... @@ -46,6 +49,7 @@ class ExtensionModuleLogic extends BaseLogic
}else{
$id = $this->model->addReturnId($this->param);
}
DB::disconnect('custom_mysql');
return $this->success(['id'=>$id]);
}
... ... @@ -57,12 +61,15 @@ class ExtensionModuleLogic extends BaseLogic
* @time :2024/8/7 16:07
*/
public function delExtensionModule(){
ProjectServer::useProject($this->map['project_id']);
$moduleFiledModel = new ExtensionModuleField();
$info = $moduleFiledModel->read(['module_id'=>$this->param['id']]);
if($info !== false){
$this->fail('请先删除当前模块的字段,在进行删除');
}
$this->model = new ExtensionModule();
$this->model->del(['id'=>$this->param['id']]);
DB::disconnect('custom_mysql');
return $this->success();
}
}
... ...
... ... @@ -216,7 +216,6 @@ class CustomTemplateLogic extends BaseLogic
if($bSettingInfo === false){
$this->fail('请先选择模版');
}
$handleInfo = $this->handleResultParam($html);
if(!isset($this->param['template_status'])){//代表直接替换模版 不更新头部底部
$this->saveTemplateCom($handleInfo,$bSettingInfo['template_id']);
... ... @@ -307,7 +306,7 @@ class CustomTemplateLogic extends BaseLogic
}else{
$param['html'] = $handleInfo['other'];
$param['html_style'] = null;
$type == BTemplate::COMMON_HEAD;
$type = BTemplate::COMMON_HEAD;
$typeSource = $this->getType($type);
}
//查看当前数据是否还存在
... ...
... ... @@ -11,6 +11,7 @@ namespace App\Http\Logic\Bside\ExtensionModule;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\ExtentModule\ExtensionModuleField;
use App\Models\ExtentModule\ExtensionModuleValue;
class ExtensionModuleFieldLogic extends BaseLogic
{
... ... @@ -50,6 +51,13 @@ class ExtensionModuleFieldLogic extends BaseLogic
* @time :2024/8/7 17:14
*/
public function delModuleField(){
//查看当前字段是否在使用
$moduleValueModel = new ExtensionModuleValue();
$info = $moduleValueModel->read(['filed_id'=>$this->param['filed_id']]);
if($info !== false){
$this->fail('当前字段正在使用中,不允许删除');
}
$this->model->del(['id'=>$this->param['filed_id']]);
return $this->success();
}
}
... ...
... ... @@ -454,6 +454,14 @@ Route::middleware(['aloginauth'])->group(function () {
Route::any('/info', [Aside\Devops\ServersIpController::class, 'info'])->name('admin.servers_info');
Route::any('/downloadFile', [Aside\Devops\ServersIpController::class, 'downloadFile'])->name('admin.servers_downloadFile');
});
/**
* 拓展数据模块
*/
Route::prefix('extension_module')->group(function () {
Route::any('/', [Aside\ExtentModule\ExtensionModuleController::class, 'getModuleLists'])->name('admin.extension_module_getModuleLists');
Route::any('/saveModule', [Aside\ExtentModule\ExtensionModuleController::class, 'saveModule'])->name('admin.extension_module_saveModule');
Route::any('/delModule', [Aside\ExtentModule\ExtensionModuleController::class, 'delModule'])->name('admin.extension_module_delModule');
});
});
//无需登录验证的路由组
... ...
... ... @@ -566,6 +566,18 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/saveLanguageTxt', [\App\Http\Controllers\Bside\Setting\LanguageTxtController::class, 'saveLanguageTxt'])->name('language_txt_saveLanguageTxt');
Route::any('/delLanguageTxt', [\App\Http\Controllers\Bside\Setting\LanguageTxtController::class, 'delLanguageTxt'])->name('language_txt_delLanguageTxt');
});
//获取拓展数据模块
Route::prefix('extension_module')->group(function () {
Route::any('/getModuleList', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'getModuleList'])->name('extension_module_getModuleList');
Route::any('/getDataType', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'getDataType'])->name('extension_module_getDataType');
Route::any('/getModuleFiledInfo', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'getModuleFiledInfo'])->name('extension_module_getModuleFiledInfo');
Route::any('/saveModuleField', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'saveModuleField'])->name('extension_module_saveModuleField');
Route::any('/delModuleField', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'delModuleField'])->name('extension_module_delModuleField');
Route::any('/getModuleValueList', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'getModuleValueList'])->name('extension_module_getModuleValueList');
Route::any('/addModuleValue', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'addModuleValue'])->name('extension_module_addModuleValue');
Route::any('/editModuleValue', [\App\Http\Controllers\Bside\ExtensionModule\ExtensionModuleController::class, 'editModuleValue'])->name('extension_module_editModuleValue');
});
});
//无需登录验证的路由组
Route::group([], function () {
... ...