作者 刘锟

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

... ... @@ -56,15 +56,15 @@ class UpdateRoute extends Command
*/
public function handle(){
$projectModel = new Project();
$list = $projectModel->list(['id'=>['in',[2321]]]);
$list = $projectModel->list(['id'=>['in',[1871]]]);
$data = [];
foreach ($list as $v){
echo date('Y-m-d H:i:s') . 'project_id:'.$v['id'] . PHP_EOL;
ProjectServer::useProject($v['id']);
// $this->getProduct();
$this->getProduct();
// $this->setProductKeyword();
// $this->getBlog();
$this->setCustomRoute($v['id']);
// $this->setCustomRoute($v['id']);
DB::disconnect('custom_mysql');
}
echo date('Y-m-d H:i:s') . 'end' . PHP_EOL;
... ... @@ -222,18 +222,18 @@ class UpdateRoute extends Command
if(!empty($lists)){
foreach ($lists as $v){
if(!empty($v['route'])){
// $tag = "-product";
// if (!(substr($v['route'], -strlen($tag)) === $tag)) {
// echo date('Y-m-d H:i:s') . '拼接'.$tag . PHP_EOL;
// $route = $v['route'].$tag;
// // 如果不是以 '-product' 结尾,则拼接上 '-product'
// $route = RouteMap::setRoute($route, RouteMap::SOURCE_PRODUCT, $v['id'], $v['project_id']);
// $productModel->edit(['route'=>$route],['id'=>$v['id']]);
// }else{
$tag = "-product";
if (!(substr($v['route'], -strlen($tag)) === $tag)) {
echo date('Y-m-d H:i:s') . '拼接'.$tag . PHP_EOL;
$route = $v['route'].$tag;
// 如果不是以 '-product' 结尾,则拼接上 '-product'
$route = RouteMap::setRoute($route, RouteMap::SOURCE_PRODUCT, $v['id'], $v['project_id']);
$productModel->edit(['route'=>$route],['id'=>$v['id']]);
}else{
echo date('Y-m-d H:i:s') . 'id :'.$v['id'] . PHP_EOL;
$route = RouteMap::setRoute($v['title'], RouteMap::SOURCE_PRODUCT, $v['id'], $v['project_id']);
$productModel->edit(['route'=>$route],['id'=>$v['id']]);
// }
}
continue;
}else{
echo date('Y-m-d H:i:s') . 'id :'.$v['id'] . PHP_EOL;
... ...
... ... @@ -153,6 +153,10 @@ class ComController extends BaseController
if($projectCode != 1){
$data[] = 50;
}
$is_subscribe = $this->getIsSubscribe();
if(!$is_subscribe){
$data[] = 52;
}
if(!empty($data)){
$this->map['id'] = ['not in',$data];
}
... ...
... ... @@ -24,7 +24,7 @@ class CommentController extends BaseController
*/
public function lists(){
$commentModel = new Comment();
$lists = $commentModel->list();
$lists = $commentModel->lists($this->map,$this->page,$this->row);
$this->response('success',Code::SUCCESS,$lists);
}
... ...
... ... @@ -153,7 +153,7 @@ class FileManageController extends BaseController
if($file->getSize()/1024/1024 > $this->upload_config['upload_max_size']){
$this->fail('超出最大允许上传文件大小:'. $this->upload_config['upload_max_size'] .'M');
}
$extension = $file->getClientOriginalExtension();
$extension = strtolower($file->getClientOriginalExtension());
if(!in_array($extension, explode(',', $this->upload_config['allow_file_type']))){
$this->fail('不允许上传的文件类型');
}
... ...
... ... @@ -47,7 +47,40 @@ class ProductController extends BaseController
*/
public function index(Product $product)
{
$filed = ['id', 'project_id', 'title', 'sort' ,'thumb' ,'product_type' , 'route' , 'intro' , 'content' ,
$filed = ['id', 'project_id', 'title', 'sort' ,'thumb' ,'product_type' , 'route' ,
'category_id', 'keyword_id', 'status', 'created_uid', 'is_upgrade' ,'created_at', 'updated_at','six_read'];
$this->order = 'sort';
$query = $product->orderBy($this->order ,'desc')->orderBy('id','desc');
$query = $this->searchParam($query);
$lists = $query->select($filed)->paginate($this->row, ['*'], 'page', $this->page);
if(!empty($lists)){
$lists = $lists->toArray();
$cate_data = $this->getCategoryList();//分类
$key_data = $this->keywordNameLists($lists['list']);//关键字
$template_id = $this->getTemplateId(BTemplate::SOURCE_PRODUCT,BTemplate::IS_DETAIL);//获取模版id
$userModel = new User();
foreach ($lists['list'] as $k=>$v){
$v['url'] = $this->user['domain'] . getRouteMap(RouteMap::SOURCE_PRODUCT,$v['id']);
$v['category_id_text'] = $this->categoryName($v['id'],$cate_data);
$v['keyword_id_text'] = $this->keywordName($v['keyword_id'],$key_data);
$v['created_uid_text'] = $userModel->getName($v['created_uid']);
$v['is_renovation'] = $this->getIsRenovation(BTemplate::SOURCE_PRODUCT,BTemplate::IS_DETAIL,$template_id,$v['id']);
$v = $this->getHandleFileImage($v);
$lists['list'][$k] = $v;
}
}
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @remark :列表
* @name :index
* @author :lyh
* @method :post
* @time :2023/8/28 16:30
*/
public function downloadProduct(Product $product)
{
$filed = ['id', 'project_id', 'title', 'sort' ,'thumb' ,'product_type' , 'route' ,'intro','content',
'category_id', 'keyword_id', 'status', 'created_uid', 'is_upgrade' ,'created_at', 'updated_at','six_read'];
$this->order = 'sort';
$query = $product->orderBy($this->order ,'desc')->orderBy('id','desc');
... ... @@ -71,7 +104,6 @@ class ProductController extends BaseController
}
$this->response('success',Code::SUCCESS,$lists);
}
/**
* @remark :获取当前页的所有关键字名称
* @name :keywordNameLists
... ...
... ... @@ -86,6 +86,7 @@ class CustomModuleCategoryLogic extends BaseLogic
$this->fail('当前数据不存在或已被删除');
}
$info['image'] = getImageUrl($info['image'],$this->user['storage_type'],$this->user['project_location']);
$info['banner_image'] = getImageUrl($info['banner_image'],$this->user['storage_type'] ?? 0,$this->user['project_location']);
return $this->success($info);
}
... ... @@ -118,6 +119,9 @@ class CustomModuleCategoryLogic extends BaseLogic
if(!isset($param['id']) || empty($param['id'])){
$param['project_id'] = $this->user['project_id'];
}
if(isset($param['banner_image']) && !empty($param['banner_image'])){
$param['banner_image'] = str_replace_url($param['banner_image']);
}
if(isset($param['image']) && !empty($param['image'])){
$param['image'] = str_replace_url($param['image']);
}
... ...
... ... @@ -32,10 +32,30 @@ class NewsCategoryLogic extends BaseLogic
public function info_news_category(){
$info = $this->model->read($this->param);
$info['url'] = $this->user['domain'] . $info['alias'];
if(!empty($info['banner_image'])){
$info['banner_image'] = getImageUrl($info['banner_image'],$this->user['storage_type'] ?? 0,$this->user['project_location']);
}
return $this->success($info);
}
/**
* @remark :保存处理字段
* @name :handleParam
* @author :lyh
* @method :post
* @time :2024/9/13 9:15
*/
public function handleParam($param)
{
if(isset($param['banner_image']) && !empty($param['banner_image'])){
$param['banner_image'] = str_replace_url($param['banner_image']);
}
if(isset($param['image']) && !empty($param['image'])){
$param['image'] = str_replace_url($param['image']);
}
return $this->success($param);
}
/**
* @remark :保存数据
* @name :newsCategorySave
* @author :lyh
... ... @@ -45,6 +65,7 @@ class NewsCategoryLogic extends BaseLogic
public function newsCategorySave(){
//验证名称是否存在
$this->verifyParamName($this->param['name']);
$this->param = $this->handleParam($this->param);
DB::beginTransaction();
try {
if(isset($this->param['id']) && !empty($this->param['id'])){
... ...
... ... @@ -242,6 +242,7 @@ Route::middleware(['bloginauth'])->group(function () {
Route::prefix('product')->group(function () {
//产品
Route::any('/', [\App\Http\Controllers\Bside\Product\ProductController::class, 'index'])->name('product');
Route::any('/downloadProduct', [\App\Http\Controllers\Bside\Product\ProductController::class, 'downloadProduct'])->name('downloadProduct');
Route::any('/productNoPage', [\App\Http\Controllers\Bside\Product\ProductController::class, 'productNoPage'])->name('product_productNoPage');
Route::any('/info', [\App\Http\Controllers\Bside\Product\ProductController::class, 'info'])->name('product_info');
Route::post('/save', [\App\Http\Controllers\Bside\Product\ProductController::class, 'save'])->name('product_save');
... ...