作者 李宇航

合并分支 'lyh-server' 到 'master'

Lyh server



查看合并请求 !2818
... ... @@ -315,8 +315,8 @@ class BlogController extends BaseController
}
/**
* @remark :复制新闻
* @name :copyNews
* @remark :复制
* @name :copyBlog
* @author :lyh
* @method :post
* @time :2024/4/28 11:53
... ...
<?php
namespace App\Http\Controllers\Bside\Blog;
use App\Enums\Common\Code;
use App\Http\Controllers\Bside\BaseController;
use App\Http\Logic\Bside\Blog\BlogExtendLogic;
use Illuminate\Http\Request;
class BlogExtendController extends BaseController
{
public function __construct(Request $request)
{
parent::__construct($request);
$this->logic = new BlogExtendLogic();
}
/**
* @remark :获取所有扩展字段
* @name :lists
* @author :lyh
* @method :post
* @time :2025/5/26 15:08
*/
public function lists()
{
$lists = $this->logic->list($this->map);
$this->response('success', Code::SUCCESS, $lists);
}
/**
* @remark :保存扩展字段
* @name :save
* @author :lyh
* @method :post
* @time :2025/5/26 15:09
*/
public function save()
{
$this->request->validate([
'title' => 'required',
'type' => 'required',
], [
'title.required' => '字段名称不能为空',
'type.required' => '字段类型不能为空',
]);
$data = $this->logic->extendSave();
$this->response('success', Code::SUCCESS, $data);
}
/**
* @remark :修改状态
* @name :status
* @author :lyh
* @method :post
* @time :2025/5/27 9:22
*/
public function status(){
$this->request->validate([
'id' => 'required',
'status' => 'required',
], [
'id.required' => '字段名称不能为空',
'status.required' => '字段类型不能为空',
]);
$data = $this->logic->extendStatus();
$this->response('success', Code::SUCCESS, $data);
}
/**
* @remark :删除扩展字段
* @name :del
* @author :lyh
* @method :post
* @time :2025/5/26 15:43
*/
public function del(){
$this->request->validate([
'id' => 'required',
], [
'id.required' => '主键不能为空',
]);
$data = $this->logic->extendDel();
$this->response('success', Code::SUCCESS, $data);
}
}
... ...
... ... @@ -26,7 +26,7 @@ class NewsCategoryController extends BaseController
$data = [];
if(!empty($lists)){
$newsModel = new NewsModel();
$template_id = $this->getTemplateId(BTemplate::SOURCE_BLOG,BTemplate::IS_LIST);
$template_id = $this->getTemplateId(BTemplate::SOURCE_NEWS,BTemplate::IS_LIST);
foreach ($lists as $k => $v){
$v['num'] = $newsModel->formatQuery(['category_id'=>['like','%,' . $v['id'] . ',%']])->count();
$v['url'] = $this->user['domain'].getRouteMap(RouteMap::SOURCE_NEWS_CATE,$v['id'],$this->user['is_upgrade']);
... ...
<?php
namespace App\Http\Logic\Bside\Blog;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\Blog\BlogExtend;
use App\Models\Blog\BlogExtendInfo;
class BlogExtendLogic extends BaseLogic
{
public function __construct()
{
parent::__construct();
$this->model = new BlogExtend();
$this->param = $this->requestAll;
}
/**
* @remark :列表页
* @name :list
* @author :lyh
* @method :post
* @time :2025/5/26 15:17
*/
public function list($map){
$map['status'] = 1;
$data = $this->model->list($map);
return $this->success($data);
}
/**
* @remark :保存扩展字段
* @name :extendSave
* @author :lyh
* @method :post
* @time :2025/5/26 15:13
* @param :id->主键;title->名称
*/
public function extendSave(){
if(isset($this->param['id']) && !empty($this->param['id'])){
$rs = $this->model->edit($this->param,['id'=>$this->param['id']]);
}else{
$info = $this->model->read(['title'=>$this->param['title']]);
if($info !== false){
$this->fail('当前扩展名称已存在');
}
$this->param['key'] = $this->model->getKey();
$this->param['project_id'] = $this->user['project_id'];
$rs = $this->model->add($this->param);
}
if($rs === false){
$this->fail('error');
}
return $this->success($this->param);
}
/**
* @remark :修改状态
* @name :extendStatus
* @author :lyh
* @method :post
* @time :2025/5/27 9:20
*/
public function extendStatus(){
$result = $this->model->edit(['status'=>$this->param['status']],['id'=>$this->param['id']]);
return $this->success(['result'=>$result]);
}
/**
* @remark :删除字段
* @name :extendDel
* @author :lyh
* @method :post
* @time :2025/5/26 15:45
* @param :id->主键
*/
public function extendDel(){
$info = $this->model->read(['id'=>$this->param['id']]);
//查看当前扩展字段是否设置了值
$extendInfoModel = new BlogExtendInfo();
$extendInfo = $extendInfoModel->read(['key'=>$info['key']]);
if($extendInfo !== false){
$this->fail('当前扩展字段已有产品在使用,不允许删除');
}
$this->model->del(['id'=>$this->param['id']]);
}
}
... ...
... ... @@ -41,7 +41,7 @@ class BlogLogic extends BaseLogic
$this->edit($this->param,['id'=>$id]);
$this->curlDelRoute(['new_route'=>$route ?? '','old_route'=>$info['url'] ?? '']);
}else{
$this->param['sort'] = $this->setNewsSort();
$this->param['sort'] = $this->setBlogSort();
$id = $this->model->addReturnId($this->param);
$route = RouteMap::setRoute($this->param['url'], RouteMap::SOURCE_BLOG, $id, $this->user['project_id']);
$this->edit(['url'=>$route],['id'=>$id]);
... ... @@ -53,12 +53,12 @@ class BlogLogic extends BaseLogic
/**
* @remark :设置最新产品的sort排序
* @name :setNewsSort
* @name :setBlogSort
* @author :lyh
* @method :post
* @time :2023/12/25 9:27
*/
public function setNewsSort(){
public function setBlogSort(){
$info = $this->model->orderBy('sort','desc')->first();
if(empty($info)){
return 1;
... ... @@ -435,8 +435,8 @@ class BlogLogic extends BaseLogic
}
/**
* @remark :复制新闻
* @name :copyNewsInfo
* @remark :复制
* @name :copyBlogInfo
* @author :lyh
* @method :post
* @time :2024/4/28 14:51
... ...
... ... @@ -11,7 +11,7 @@ namespace App\Http\Logic\Bside\News;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\News\NewsExtend;
use App\Models\Product\ExtendInfo;
use App\Models\News\NewsExtendInfo;
class NewsExtendLogic extends BaseLogic
{
... ... @@ -84,7 +84,7 @@ class NewsExtendLogic extends BaseLogic
public function extendDel(){
$info = $this->model->read(['id'=>$this->param['id']]);
//查看当前扩展字段是否设置了值
$extendInfoModel = new ExtendInfo();
$extendInfoModel = new NewsExtendInfo();
$extendInfo = $extendInfoModel->read(['key'=>$info['key']]);
if($extendInfo !== false){
$this->fail('当前扩展字段已有产品在使用,不允许删除');
... ...
... ... @@ -3,12 +3,9 @@
namespace App\Http\Logic\Bside\News;
use App\Enums\Common\Code;
use App\Helper\Arr;
use App\Http\Logic\Bside\BaseLogic;
use App\Models\News\News;
use App\Models\News\NewsCategory;
use App\Models\News\NewsCategory as NewsCategoryModel;
use App\Models\News\NewsExtend;
use App\Models\News\NewsExtendInfo;
use App\Models\RouteMap\RouteMap;
use App\Models\Template\BTemplate;
... ...
<?php
/**
* @remark :
* @name :BlogExtend.php
* @author :lyh
* @method :post
* @time :2025/5/26 15:08
*/
namespace App\Models\Blog;
use App\Models\Base;
class BlogExtend extends Base
{
protected $table = 'gl_blog_extend';
protected $connection = 'custom_mysql';
const EXTEND_KEY = 'pd_extended_field_';
/**
* @remark :添加扩展字段
* @name :getKey
* @author :lyh
* @method :post
* @time :2025/5/26 15:39
*/
public function getKey($key = self::EXTEND_KEY,$i = 1){
$info = $this->read(['key'=>$key.$i]);
if($info !== false){
return $this->getKey($key,$i+1);
}else{
return $key.$i;
}
}
}
... ...
<?php
/**
* @remark :
* @name :BlogExtendInfo.php
* @author :lyh
* @method :post
* @time :2025/5/26 15:49
*/
namespace App\Models\Blog;
use App\Models\Base;
class BlogExtendInfo extends Base
{
protected $table = 'gl_blog_extend_info';
protected $connection = 'custom_mysql';
}
... ...
<?php
/**
* @remark :
* @name :NewsExtend.php
* @name :BlogExtend.php
* @author :lyh
* @method :post
* @time :2025/5/26 15:08
... ...
<?php
/**
* @remark :
* @name :NewsExtendInfo.php
* @name :BlogExtendInfo.php
* @author :lyh
* @method :post
* @time :2025/5/26 15:49
... ...