作者 lyh

变更数据

... ... @@ -32,35 +32,35 @@ class SyncImage extends Command
protected $description = '同步图片与文件';
// public function handle(){
// $str = $this->getProjectConfig(1808);
// $imageModel = new Image();
// $str_image = '/upload/p/1808/image_product/2024-09/ppp.png,/upload/p/1808/image_product/2024-09/86e4866b-7432-40c1-8c06-d335cd736e29.png,/upload/p/1808/image_product/2024-09/7fd109cc-56f4-457c-a9c4-c3fa8d8195b2.png,/upload/p/1808/image_product/2024-09/1.png,/upload/p/1808/image_product/2024-08/bxb12501-3-1.png,/upload/p/1808/image_product/2024-08/bxa10801-3-1.png,/upload/p/1808/image_product/2024-08/bxa007-3-1.png,/upload/p/1808/image_product/2024-08/auto-parts-rectifier-bxf1070-for-alternator-1-1.png,/upload/p/1808/image_product/2024-08/auto-parts-rectifier-bxd1102-for-alternator-2-1.png,/upload/p/1808/image_product/2024-08/11407-3-1.png,/upload/p/1808/image_product/2024-07/gfjty.jpg,/upload/p/1808/image_product/2024-07/bxn11508-g1-2.png,/upload/p/1808/image_product/2024-07/bxn11508-g1-1.png,/upload/p/1808/image_product/2024-07/bxb12501-2.png,/upload/p/1808/image_product/2024-07/bxb12501-1.png,/upload/p/1808/image_product/2024-07/bxb1209-2.png,/upload/p/1808/image_product/2024-07/bxb1209-1.png,/upload/p/1808/image_product/2024-07/bxa10801-2.png,/upload/p/1808/image_product/2024-07/bxa10801-1.png,/upload/p/1808/image_product/2024-07/bxa007-2.png,/upload/p/1808/image_product/2024-07/bxa007-1.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxf6102-for-alternator-2.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxf1070-for-alternator-3.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxf1070-for-alternator-2.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxd9410-for-alternator-1.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxd1102-for-alternator-3.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxd1102-for-alternator-1.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxb12807-for-alternator-2.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxb12807-for-alternator-1.png,/upload/p/1808/image_product/2024-07/11407-2.png,/upload/p/1808/image_product/2024-07/11407-1.png';
// $lists = explode(',',$str_image);
// $domain = 'http://globalso-v6-1309677403.cos.ap-hongkong.myqcloud.com';//cos域名
// foreach ($lists as $v){
// $url = $domain . $v.'?'.$str;
// echo date('Y-m-d H:i:s') . '水印路径:'. $url . PHP_EOL;
// $cdu_url = $this->coverOriginalImage($url,$v);
// echo date('Y-m-d H:i:s') . '返回的url:'. $cdu_url . PHP_EOL;
// }
// return true;
// }
public function handle(){
$data = [];
$domain = 'https://ecdn6.globalso.com/';
$str = $this->getProjectConfig(1808);
$imageModel = new Image();
$lists = $imageModel->list(['project_id'=>1808]);
foreach ($lists as $k => $v){
$url = $domain . $v['path'];
echo date('Y-m-d H:i:s') . '刷新路径:'. $url .',主键id:'. $v['id'] . PHP_EOL;
$data[] = $url;
$str_image = '/upload/p/1808/image_product/2024-09/ppp.png,/upload/p/1808/image_product/2024-09/86e4866b-7432-40c1-8c06-d335cd736e29.png,/upload/p/1808/image_product/2024-09/7fd109cc-56f4-457c-a9c4-c3fa8d8195b2.png,/upload/p/1808/image_product/2024-09/1.png,/upload/p/1808/image_product/2024-08/bxb12501-3-1.png,/upload/p/1808/image_product/2024-08/bxa10801-3-1.png,/upload/p/1808/image_product/2024-08/bxa007-3-1.png,/upload/p/1808/image_product/2024-08/auto-parts-rectifier-bxf1070-for-alternator-1-1.png,/upload/p/1808/image_product/2024-08/auto-parts-rectifier-bxd1102-for-alternator-2-1.png,/upload/p/1808/image_product/2024-08/11407-3-1.png,/upload/p/1808/image_product/2024-07/gfjty.jpg,/upload/p/1808/image_product/2024-07/bxn11508-g1-2.png,/upload/p/1808/image_product/2024-07/bxn11508-g1-1.png,/upload/p/1808/image_product/2024-07/bxb12501-2.png,/upload/p/1808/image_product/2024-07/bxb12501-1.png,/upload/p/1808/image_product/2024-07/bxb1209-2.png,/upload/p/1808/image_product/2024-07/bxb1209-1.png,/upload/p/1808/image_product/2024-07/bxa10801-2.png,/upload/p/1808/image_product/2024-07/bxa10801-1.png,/upload/p/1808/image_product/2024-07/bxa007-2.png,/upload/p/1808/image_product/2024-07/bxa007-1.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxf6102-for-alternator-2.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxf1070-for-alternator-3.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxf1070-for-alternator-2.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxd9410-for-alternator-1.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxd1102-for-alternator-3.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxd1102-for-alternator-1.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxb12807-for-alternator-2.png,/upload/p/1808/image_product/2024-07/auto-parts-rectifier-bxb12807-for-alternator-1.png,/upload/p/1808/image_product/2024-07/11407-2.png,/upload/p/1808/image_product/2024-07/11407-1.png';
$lists = explode(',',$str_image);
$domain = 'http://globalso-v6-1309677403.cos.ap-hongkong.myqcloud.com';//cos域名
foreach ($lists as $v){
$url = $domain . $v.'?'.$str;
echo date('Y-m-d H:i:s') . '水印路径:'. $url . PHP_EOL;
$cdu_url = $this->coverOriginalImage($url,$v);
echo date('Y-m-d H:i:s') . '返回的url:'. $cdu_url . PHP_EOL;
}
$yunService = new UpyunService();
return $yunService->preheatPush($data);
return true;
}
// public function handle(){
// $data = [];
// $domain = 'https://ecdn6.globalso.com/';
// $imageModel = new Image();
// $lists = $imageModel->list(['project_id'=>1808]);
// foreach ($lists as $k => $v){
// $url = $domain . $v['path'];
// echo date('Y-m-d H:i:s') . '刷新路径:'. $url .',主键id:'. $v['id'] . PHP_EOL;
// $data[] = $url;
// }
// $yunService = new UpyunService();
// return $yunService->preheatPush($data);
// }
/**
* @remark :添加水印后保存图片(覆盖/非覆盖的文件未存入数据库)
* @name :uploadImages
... ...
... ... @@ -15,6 +15,7 @@ use App\Models\Blog\BlogCategory;
use App\Models\News\NewsCategory;
use App\Models\Product\Category;
use App\Models\Product\Keyword;
use App\Models\RouteMap\RouteMap;
use App\Models\Ticket\TicketUploadData;
use App\Services\ProjectServer;
use Illuminate\Http\Request;
... ... @@ -216,10 +217,21 @@ class TicketUploadDataController extends BaseController
if ($this->param['type'] == 1) {
//todo::搜索获取分类
$productCateModel = new Category();
if(!isset($this->param['search']) || empty($this->param['search'])){
$data = $productCateModel->lists(['status'=>1], 1, 20,'id',['id','title as name']);
}else{
$data = $productCateModel->lists(['status'=>1,'title' => ['like','%' . $this->param['search'] . '%']], 1, 20,'id',['id','title as name']);
if(!empty($this->param['search']) && isset($this->param['search'])){
$this->map['name'] = ['like' , '%' . $this->param['search'] . '%'];
unset($this->param['search']);
}
$cate_list = $productCateModel->list($this->map, 'sort',['id','title']);
if ($cate_list === false) {
$this->response('无分类');
}
$data = [];
foreach ($cate_list as $v) {
$v = (array)$v;
if ($v['pid'] == 0) {
$v['sub'] = _get_child($v['id'], $cate_list);
$data[] = $v;
}
}
} else {
$keywordModel = new Keyword();
... ... @@ -249,15 +261,26 @@ class TicketUploadDataController extends BaseController
'project_id.required' => 'project_id不能为空',
'search.required' => '搜索参数不能为空',
]);
ProjectServer::useProject($this->param['project_id']);
$blogCateModel = new BlogCategory();
if(!isset($this->param['search']) || empty($this->param['search'])){
$data = $blogCateModel->lists([], 1, 20,'id',['id','name']);
}else{
$data = $blogCateModel->lists(['name' => ['like' , '%' . $this->param['search'] . '%']], 1, 20,'id',['id','name']);
ProjectServer::useProject($this->map['project_id']);
$newsCateModel = new NewsCategory();
if(!empty($this->param['search']) && isset($this->param['search'])){
$this->map['name'] = ['like' , '%' . $this->param['search'] . '%'];
unset($this->param['search']);
}
$cate_list = $newsCateModel->list($this->map, 'sort',['id','name as title']);
if ($cate_list === false) {
$this->response('error', Code::USER_ERROR);
}
$list = [];
foreach ($cate_list as $v) {
$v = (array)$v;
if ($v['pid'] == 0) {
$v['sub'] = _get_child($v['id'], $cate_list);
$list[] = $v;
}
}
DB::disconnect('custom_mysql');
$this->response('success', Code::SUCCESS, $data);
$this->response('success', Code::SUCCESS, $list);
}
/**
... ... @@ -278,12 +301,137 @@ class TicketUploadDataController extends BaseController
]);
ProjectServer::useProject($this->param['project_id']);
$newsCateModel = new NewsCategory();
if(!isset($this->param['search']) || empty($this->param['search'])){
$data = $newsCateModel->lists([], 1, 20,'id',['id','name']);
if(!empty($this->param['search']) && isset($this->param['search'])){
$this->map['name'] = ['like' , '%' . $this->param['search'] . '%'];
unset($this->param['search']);
}
$cate_list = $newsCateModel->list($this->map, 'sort',['id','name as title']);
if ($cate_list === false) {
$this->response('error', Code::USER_ERROR);
}
$list = [];
foreach ($cate_list as $v) {
$v = (array)$v;
if ($v['pid'] == 0) {
$v['sub'] = _get_child($v['id'], $cate_list);
$list[] = $v;
}
}
$this->response('success', Code::SUCCESS, $list);
}
/**
* @remark :保存关键字
* @name :saveKeyword
* @author :lyh
* @method :post
* @time :2025/10/10 10:50
*/
public function saveKeyword()
{
$this->request->validate([
'project_id' => 'required',
'title' => 'required'
], [
'project_id.required' => 'project_id不能为空',
'title.required' => '分类标题不能为空',
]);
ProjectServer::useProject($this->param['project_id']);
$keywordModel = new Keyword();
$id = $keywordModel->addReturnId(['project_id' => $this->param['project_id'], 'title' => $this->param['title']]);
$route = RouteMap::setRoute($this->param['title'],RouteMap::SOURCE_PRODUCT_KEYWORD,$id,$this->param['project_id']);
$keywordModel->edit(['route'=>$route],['id'=>$id]);
DB::disconnect('custom_mysql');
$this->response('success', Code::SUCCESS, ['id'=>$id,'title'=>$this->param['title']]);
}
/**
* @remark :新增分类
* @name :saveCategory
* @author :lyh
* @method :post
* @time :2025/10/10 10:13
*/
public function saveCategory()
{
$this->request->validate([
'project_id' => 'required',
'type' => 'required',
'title' => 'required'
], [
'project_id.required' => 'project_id不能为空',
'type.required' => '类型不能为空',
'title.required' => '分类标题不能为空',
]);
ProjectServer::useProject($this->param['project_id']);
if($this->param['type'] == 1){//增加产品分类
$data = $this->addProductCategory($this->param['title'],$this->param['project_id']);
}elseif ($this->param['type'] == 2){//增加blog分类
$data = $this->addBlogCategory($this->param['title'],$this->param['project_id']);
}else{
$data = $newsCateModel->lists(['name' => ['like' , '%' . $this->param['search'] . '%']], 1, 20,'id',['id','name']);
$data = $this->addNewsCategory($this->param['title'],$this->param['project_id']);
}
DB::disconnect('custom_mysql');
$this->response('success', Code::SUCCESS, $data);
$this->response('success',Code::SUCCESS, $data);
}
/**
* @remark :新增分类
* @name :addProductCategory
* @author :lyh
* @method :post
* @time :2025/10/10 10:43
*/
public function addProductCategory($title,$project_id){
$productCateModel = new Category();
$info = $productCateModel->read(['title'=>$title],['id','title']);
if($info !== false){
return $info;
}else{
$id = $productCateModel->addReturnId(['title'=>$title,'project_id'=>$project_id]);
$route = RouteMap::setRoute($title,RouteMap::SOURCE_PRODUCT_CATE,$id,$project_id);
$productCateModel->edit(['route'=>$route],['id'=>$id]);
return ['id'=>$id,'title'=>$title];
}
}
/**
* @remark :新增blog分类
* @name :addBlogCategory
* @author :lyh
* @method :post
* @time :2025/10/10 10:44
*/
public function addBlogCategory($title,$project_id){
$blogCateModel = new BlogCategory();
$info = $blogCateModel->read(['name'=>$title],['id','name as title']);
if($info !== false){
return $info;
}else{
$id = $blogCateModel->addReturnId(['name'=>$title,'project_id'=>$project_id]);
$route = RouteMap::setRoute($title,RouteMap::SOURCE_BLOG_CATE,$id,$project_id);
$blogCateModel->edit(['alias'=>$route],['id'=>$id]);
return ['id'=>$id,'title'=>$title];
}
}
/**
* @remark :新增news分类
* @name :addNewsCategory
* @author :lyh
* @method :post
* @time :2025/10/10 10:46
*/
public function addNewsCategory($title,$project_id){
$newsCateModel = new NewsCategory();//增加新闻分类
$info = $newsCateModel->read(['name'=>$title],['id','name as title']);
if($info !== false){
return $info;
}else{
$id = $newsCateModel->addReturnId(['name'=>$title,'project_id'=>$project_id]);
$route = RouteMap::setRoute($title,RouteMap::SOURCE_NEWS_CATE,$id,$project_id);
$newsCateModel->edit(['alias'=>$route],['id'=>$id]);
return ['id'=>$id,'title'=>$title];
}
}
}
... ...
... ... @@ -102,5 +102,7 @@ Route::prefix('ticket_upload')->group(function () {
Route::any('/getProductCate', [\App\Http\Controllers\Api\WorkOrder\TicketUploadDataController::class, 'getProductCate'])->name('ticket_upload.getProductCate');
Route::any('/getBlogCate', [\App\Http\Controllers\Api\WorkOrder\TicketUploadDataController::class, 'getBlogCate'])->name('ticket_upload.getBlogCate');
Route::any('/getNewsCate', [\App\Http\Controllers\Api\WorkOrder\TicketUploadDataController::class, 'getNewsCate'])->name('ticket_upload.getNewsCate');
Route::any('/saveCategory', [\App\Http\Controllers\Api\WorkOrder\TicketUploadDataController::class, 'saveCategory'])->name('ticket_upload.saveCategory');
Route::any('/saveKeyword', [\App\Http\Controllers\Api\WorkOrder\TicketUploadDataController::class, 'saveKeyword'])->name('ticket_upload.saveKeyword');
});
... ...