作者 刘锟

Merge remote-tracking branch 'origin/master' into akun

... ... @@ -161,4 +161,20 @@ class NewsCategoryController extends BaseController
$this->response('success');
}
/**
* @remark :复制新闻分类
* @name :copyCategory
* @author :lyh
* @method :post
* @time :2024/5/9 9:14
*/
public function copyCategory(NewsCategoryLogic $newsLogic){
$this->request->validate([
'id'=>'required',
],[
'id.required' => 'id不能为空',
]);
$data = $newsLogic->copyCategory();
$this->response('success',Code::SUCCESS,$data);
}
}
... ...
... ... @@ -177,4 +177,21 @@ class CategoryController extends BaseController
$logic->setAllSort();
$this->response('success');
}
/**
* @remark :复制分类
* @name :copyCategory
* @author :lyh
* @method :post
* @time :2024/5/8 17:49
*/
public function copyCategory(CategoryLogic $logic){
$this->request->validate([
'id'=>['required'],
],[
'id.required' => 'ID不能为空',
]);
$logic->copyCategoryInfo();
$this->response('success');
}
}
... ...
... ... @@ -20,6 +20,7 @@ use App\Models\Product\Product;
use App\Models\Project\Project;
use App\Models\RouteMap\RouteMap;
use App\Models\WebSetting\SettingNum;
use App\Models\WebSetting\Translate;
use App\Models\WebSetting\WebLanguage;
class TranslateController extends BaseController
... ... @@ -46,6 +47,29 @@ class TranslateController extends BaseController
}
/**
* @remark :根据语种获取翻译校队内容
* @name :getLanguageList
* @author :lyh
* @method :post
* @time :2024/5/8 16:08
*/
public function getLanguageList(Translate $translate){
$this->request->validate([
'language_id'=>'required',
],[
'language_id.required' => 'language_id不能为空',
]);
$this->map['type'] = 1;
$data = $translate->list($this->map);
foreach ($data as $k=>$v){
$v['data'] = json_decode($v['data']);
$data[$k] = $v;
}
$this->response('success',Code::SUCCESS,$data);
}
/**
* @remark :图片列表
* @name :imageList
* @author :lyh
... ...
... ... @@ -224,7 +224,6 @@ class ImageController extends Controller
* @time :2024/4/26 16:10
*/
public function getOnlyFilename($name,$project_id = 0){
$nameArr = explode('.',$name);
$suffix = array_pop($nameArr) ?? 'jpg';
$nameStr = implode('-', $nameArr);
... ...
... ... @@ -3,16 +3,12 @@
namespace App\Http\Logic\Bside\BTemplate;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\Blog\Blog;
use App\Models\Blog\BlogCategory;
use App\Models\CustomModule\CustomModule;
use App\Models\CustomModule\CustomModuleCategory;
use App\Models\News\News;
use App\Models\News\NewsCategory;
use App\Models\Product\Category;
use App\Models\Product\Product;
use App\Models\Project\PageSetting;
use App\Models\Project\Project;
use App\Models\RouteMap\RouteMap;
use App\Models\Service\Service as ServiceSettingModel;
use App\Models\Template\BTemplateCommon;
... ... @@ -22,7 +18,6 @@ use App\Models\Template\BTemplate;
use App\Models\Template\BTemplateLog;
use App\Models\Template\Template;
use App\Models\Template\TemplateTypeMain;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\Facades\DB;
use mysql_xdevapi\Exception;
... ...
... ... @@ -422,7 +422,7 @@ class BlogLogic extends BaseLogic
$info = $this->model->read(['id'=>$this->param['id']]);
$param = [
'name'=>$info['name']."-copy",
'status'=>$info['status'],
'status'=>0,
'sort'=>$info['sort'],
'category_id'=>$info['category_id'],
'text'=>$info['text'],
... ... @@ -453,19 +453,20 @@ class BlogLogic extends BaseLogic
*/
public function copyTemplate($id,$project_id,$save_id){
$BTemplateModel = new BTemplate();
$list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_BLOG,'source_id'=>$id,'project_id'=>$project_id]);
$list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_BLOG,'source_id'=>$id,'is_list'=>BTemplate::IS_DETAIL,'is_custom'=>BTemplate::IS_NO_CUSTOM,'project_id'=>$project_id]);
if(!empty($list)){
$data = [];
foreach ($list as $v){
$data[] = [
'html'=>$v['html'],
'project_id'=>$project_id,
'project_id'=>$v['project_id'],
'source'=>$v['source'],
'source_id'=>$save_id,
'template_id'=>$v['template_id'],
'section_list_id'=>$v['section_list_id'],
'main_html'=>$v['main_html'],
'main_css'=>$v['main_css'],
'type'=>$v['type'],
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
];
... ...
... ... @@ -475,6 +475,8 @@ class CustomModuleContentLogic extends BaseLogic
'main_html'=>$v['main_html'],
'main_css'=>$v['main_css'],
'is_custom'=>$v['is_custom'],
'is_list'=>$v['is_list'],
'type'=>$v['type'],
'created_at'=>$v['created_at'],
'updated_at'=>$v['updated_at']
];
... ...
... ... @@ -46,7 +46,6 @@ class CountLogic extends BaseLogic
//获取项目的剩余时长
$projectModel = new Project();
$projectInfo = $projectModel->read(['id'=>$this->user['project_id']],['remain_day','finish_remain_day']);
$info['service_day'] = ($this->project['deploy_build']['service_duration'] ?? 0 - $projectInfo['finish_remain_day'] ?? 0);
$info['compliance_day'] = $projectInfo['finish_remain_day'];
return $this->success($info);
}
... ...
... ... @@ -9,6 +9,7 @@ use App\Models\News\News as NewsModel;
use App\Models\News\NewsCategory as NewsCategoryModel;
use App\Models\Product\Product;
use App\Models\RouteMap\RouteMap;
use App\Models\Template\BTemplate;
use Illuminate\Support\Facades\DB;
class NewsCategoryLogic extends BaseLogic
... ... @@ -268,4 +269,70 @@ class NewsCategoryLogic extends BaseLogic
}
return $this->success();
}
/**
* @remark :复制新闻分类
* @name :copyCategory
* @author :lyh
* @method :post
* @time :2024/5/9 9:16
*/
public function copyCategory(){
$info = $this->model->read(['id'=>$this->param['id']]);
$param = [
'name'=>$info['name']."-copy",
'status'=>0,
'sort'=>$info['sort'],
'pid'=>0,
'remark'=>$info['remark'],
'alias'=>$info['alias'],
'project_id'=>$info['project_id'],
'operator_id'=>$this->user['id'],
'create_id'=>$this->user['id'],
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
];
$save_id = $this->model->insertGetId($param);
$route = RouteMap::setRoute($param['alias'], RouteMap::SOURCE_NEWS_CATE, $save_id, $this->user['project_id']);
$this->model->edit(['alias'=>$route],['id'=>$save_id]);
//同步可视化装修数据
$this->copyTemplate($this->param['id'],$info['project_id'],$save_id);
return $this->success(['id'=>$save_id]);
}
/**
* @remark :同步模版数据
* @name :copyTemplate
* @author :lyh
* @method :post
* @time :2023/7/29 15:53
*/
public function copyTemplate($id,$project_id,$save_id){
$BTemplateModel = new BTemplate();
$list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_NEWS,'is_list'=>BTemplate::IS_LIST,'is_custom'=>BTemplate::IS_NO_CUSTOM,'source_id'=>$id,'project_id'=>$project_id]);
if(!empty($list)){
$data = [];
foreach ($list as $v){
$data[] = [
'html'=>$v['html'],
'project_id'=>$v['project_id'],
'source'=>$v['source'],
'source_id'=>$save_id,
'template_id'=>$v['template_id'],
'section_list_id'=>$v['section_list_id'],
'main_html'=>$v['main_html'],
'main_css'=>$v['main_css'],
'is_list'=>$v['is_list'],
'type'=>$v['type'],
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
];
}
$rs = $BTemplateModel->insert($data);
if($rs === false){
$this->fail('error');
}
}
return $this->success();
}
}
... ...
... ... @@ -467,7 +467,7 @@ class NewsLogic extends BaseLogic
$info = $this->model->read(['id'=>$this->param['id']]);
$param = [
'name'=>$info['name']."-copy",
'status'=>$info['status'],
'status'=>0,
'sort'=>$info['sort'],
'category_id'=>$info['category_id'],
'text'=>$info['text'],
... ... @@ -497,19 +497,20 @@ class NewsLogic extends BaseLogic
*/
public function copyTemplate($id,$project_id,$save_id){
$BTemplateModel = new BTemplate();
$list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_NEWS,'source_id'=>$id,'project_id'=>$project_id]);
$list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_NEWS,'is_list'=>BTemplate::IS_DETAIL,'is_custom'=>BTemplate::IS_NO_CUSTOM,'source_id'=>$id,'project_id'=>$project_id]);
if(!empty($list)){
$data = [];
foreach ($list as $v){
$data[] = [
'html'=>$v['html'],
'project_id'=>$project_id,
'project_id'=>$v['project_id'],
'source'=>$v['source'],
'source_id'=>$save_id,
'template_id'=>$v['template_id'],
'section_list_id'=>$v['section_list_id'],
'main_html'=>$v['main_html'],
'main_css'=>$v['main_css'],
'type'=>$v['type'],
'created_at'=>date('Y-m-d H:i:s'),
'updated_at'=>date('Y-m-d H:i:s'),
];
... ...
... ... @@ -9,6 +9,7 @@ use App\Models\Product\Category;
use App\Models\Product\CategoryRelated;
use App\Models\Product\Product;
use App\Models\RouteMap\RouteMap;
use App\Models\Template\BTemplate;
use Illuminate\Support\Facades\DB;
/**
... ... @@ -285,4 +286,83 @@ class CategoryLogic extends BaseLogic
}
return $this->success();
}
/**
* @remark :复制
* @name :copyCategoryInfo
* @author :lyh
* @method :post
* @time :2024/5/8 17:51
*/
public function copyCategoryInfo(){
$info = $this->model->read(['id'=>$this->param['id']]);
if($info === false){
$this->fail('当前数据不存在或者已被删除');
}
$param = [
'project_id'=>$info['project_id'],
'title'=>$info['title']."-copy",
'pid'=>0,
'sort'=>$info['sort'],
'image'=>$info['image'],
'route'=>$info['route'],
'keywords'=>$info['keywords'],
'describe'=>$info['describe'],
'describe_image'=>$info['describe_image'],
];
$save_id = $this->model->addReturnId($param);
$route = RouteMap::setRoute($param['route'], RouteMap::SOURCE_PRODUCT_CATE, $save_id, $this->user['project_id']);
$this->model->edit(['route'=>$route],['id'=>$route]);
//同步可视化装修数据
$this->copyTemplate($this->param['id'],$info['project_id'],$save_id);
return $this->success();
}
/**
* @remark :同步模版数据
* @name :copyTemplate
* @author :lyh
* @method :post
* @time :2023/7/29 15:53
*/
public function copyTemplate($id,$project_id,$save_id){
$BTemplateModel = new BTemplate();
$list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_PRODUCT,'is_list'=>BTemplate::IS_LIST,'is_custom'=>BTemplate::IS_NO_CUSTOM,'source_id'=>$id,'project_id'=>$project_id]);
if(!empty($list)){
$data = [];
foreach ($list as $v){
$data[] = $this->setTemplateParams($v,$save_id);
}
$rs = $BTemplateModel->insert($data);
if($rs === false){
$this->fail('error');
}
}
return $this->success();
}
/**
* @remark :组装模版数据
* @name :setTemplateParams
* @author :lyh
* @method :post
* @time :2023/7/29 15:54
*/
public function setTemplateParams($v,$save_id){
$param = [
'html'=>$v['html'],
'project_id'=>$v['project_id'],
'source'=>$v['source'],
'source_id'=>$save_id,
'template_id'=>$v['template_id'],
'section_list_id'=>$v['section_list_id'],
'main_html'=>$v['main_html'],
'main_css'=>$v['main_css'],
'is_list'=>$v['is_list'],
'type'=>$v['type'],
'created_at'=>$v['created_at'],
'updated_at'=>$v['updated_at']
];
return $this->success($param);
}
}
... ...
... ... @@ -446,10 +446,10 @@ class ProductLogic extends BaseLogic
*/
public function copyTemplate($id,$project_id,$save_id){
$BTemplateModel = new BTemplate();
$list = $BTemplateModel->list(['source'=>2,'source_id'=>$id,'project_id'=>$project_id]);
$list = $BTemplateModel->list(['source'=>BTemplate::SOURCE_PRODUCT,'is_list'=>BTemplate::IS_DETAIL,'is_custom'=>BTemplate::IS_NO_CUSTOM,'source_id'=>$id,'project_id'=>$project_id]);
if(!empty($list)){
$data = [];
foreach ($list as $k => $v){
foreach ($list as $v){
$data[] = $this->setTemplateParams($v,$project_id,$save_id);
}
$rs = $BTemplateModel->insert($data);
... ... @@ -477,6 +477,9 @@ class ProductLogic extends BaseLogic
'section_list_id'=>$v['section_list_id'],
'main_html'=>$v['main_html'],
'main_css'=>$v['main_css'],
'type'=>$v['type'],
'is_list'=>$v['is_list'],
'is_custom'=>$v['is_custom'],
'created_at'=>$v['created_at'],
'updated_at'=>$v['updated_at']
];
... ...
... ... @@ -159,8 +159,7 @@ class UserLoginLogic
$info['hagro'] = $project['hagro'] ?? '';
$info['plan'] = Project::planMap()[$project['deploy_build']['plan']];
$info['test_domain'] = $project['deploy_build']['test_domain'] ?? '';
$info['domain'] = (!empty($project['deploy_optimize']['domain']) ?
((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : '');
$info['domain'] = (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ($project['deploy_build']['test_domain'] ?? ''));
$info['is_customized'] = $project['is_customized'];
$info['is_upload_manage'] = $project['is_upload_manage'];
$info['is_upgrade'] = $project['is_upgrade'];
... ... @@ -261,8 +260,7 @@ class UserLoginLogic
$info['plan'] = Project::planMap()[$project['deploy_build']['plan']];
$info['is_domain'] = empty($project['deploy_optimize']['domain']) ? 0 : 1;
$info['test_domain'] = $project['deploy_build']['test_domain'] ?? '';
$info['domain'] = (!empty($project['deploy_optimize']['domain']) ?
((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : '');
$info['domain'] = (!empty($project['deploy_optimize']['domain']) ? ((new DomainInfo())->getDomain($project['deploy_optimize']['domain'])) : ($project['deploy_build']['test_domain'] ?? ''));
$info['is_customized'] = $project['is_customized'];
$info['is_upgrade'] = $project['is_upgrade'];
$info['is_upload_manage'] = $project['is_upload_manage'];
... ...
... ... @@ -78,6 +78,7 @@ Route::middleware(['bloginauth'])->group(function () {
Route::any('/category/edit', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'save'])->name('news_category_edit');
Route::any('/category/del', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'del'])->name('news_category_del');
Route::any('/category/allSort', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'allSort'])->name('news_category_allSort');
Route::any('/category/copyCategory', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'copyCategory'])->name('news_category_copyCategory');
Route::any('/category/status', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'status'])->name('news_category_status');
Route::any('/category/sort', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'sort'])->name('news_category_sort');
Route::any('/category/categoryTopList', [\App\Http\Controllers\Bside\News\NewsCategoryController::class, 'categoryTopList'])->name('news_category_categoryTopList');
... ... @@ -197,6 +198,7 @@ Route::middleware(['bloginauth'])->group(function () {
//新版翻译校队
Route::prefix('translate_check')->group(function () {//languageList
Route::any('/', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'lists'])->name('translate_check_lists');
Route::any('/getLanguageList', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'getLanguageList'])->name('translate_getLanguageList');
Route::any('/imageList', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'imageList'])->name('translate_checkg_imageList');
Route::any('/save', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'save'])->name('translate_check_save');
Route::any('/getUrl', [\App\Http\Controllers\Bside\Setting\TranslateController::class, 'getUrl'])->name('translate_check_getUrl');
... ...