|
@@ -15,6 +15,7 @@ use App\Models\Blog\BlogCategory; |
|
@@ -15,6 +15,7 @@ use App\Models\Blog\BlogCategory; |
|
15
|
use App\Models\News\NewsCategory;
|
15
|
use App\Models\News\NewsCategory;
|
|
16
|
use App\Models\Product\Category;
|
16
|
use App\Models\Product\Category;
|
|
17
|
use App\Models\Product\Keyword;
|
17
|
use App\Models\Product\Keyword;
|
|
|
|
18
|
+use App\Models\RouteMap\RouteMap;
|
|
18
|
use App\Models\Ticket\TicketUploadData;
|
19
|
use App\Models\Ticket\TicketUploadData;
|
|
19
|
use App\Services\ProjectServer;
|
20
|
use App\Services\ProjectServer;
|
|
20
|
use Illuminate\Http\Request;
|
21
|
use Illuminate\Http\Request;
|
|
@@ -216,10 +217,21 @@ class TicketUploadDataController extends BaseController |
|
@@ -216,10 +217,21 @@ class TicketUploadDataController extends BaseController |
|
216
|
if ($this->param['type'] == 1) {
|
217
|
if ($this->param['type'] == 1) {
|
|
217
|
//todo::搜索获取分类
|
218
|
//todo::搜索获取分类
|
|
218
|
$productCateModel = new Category();
|
219
|
$productCateModel = new Category();
|
|
219
|
- if(!isset($this->param['search']) || empty($this->param['search'])){
|
|
|
|
220
|
- $data = $productCateModel->lists(['status'=>1], 1, 20,'id',['id','title as name']);
|
|
|
|
221
|
- }else{
|
|
|
|
222
|
- $data = $productCateModel->lists(['status'=>1,'title' => ['like','%' . $this->param['search'] . '%']], 1, 20,'id',['id','title as name']);
|
220
|
+ if(!empty($this->param['search']) && isset($this->param['search'])){
|
|
|
|
221
|
+ $this->map['name'] = ['like' , '%' . $this->param['search'] . '%'];
|
|
|
|
222
|
+ unset($this->param['search']);
|
|
|
|
223
|
+ }
|
|
|
|
224
|
+ $cate_list = $productCateModel->list($this->map, 'sort',['id','title']);
|
|
|
|
225
|
+ if ($cate_list === false) {
|
|
|
|
226
|
+ $this->response('无分类');
|
|
|
|
227
|
+ }
|
|
|
|
228
|
+ $data = [];
|
|
|
|
229
|
+ foreach ($cate_list as $v) {
|
|
|
|
230
|
+ $v = (array)$v;
|
|
|
|
231
|
+ if ($v['pid'] == 0) {
|
|
|
|
232
|
+ $v['sub'] = _get_child($v['id'], $cate_list);
|
|
|
|
233
|
+ $data[] = $v;
|
|
|
|
234
|
+ }
|
|
223
|
}
|
235
|
}
|
|
224
|
} else {
|
236
|
} else {
|
|
225
|
$keywordModel = new Keyword();
|
237
|
$keywordModel = new Keyword();
|
|
@@ -249,15 +261,26 @@ class TicketUploadDataController extends BaseController |
|
@@ -249,15 +261,26 @@ class TicketUploadDataController extends BaseController |
|
249
|
'project_id.required' => 'project_id不能为空',
|
261
|
'project_id.required' => 'project_id不能为空',
|
|
250
|
'search.required' => '搜索参数不能为空',
|
262
|
'search.required' => '搜索参数不能为空',
|
|
251
|
]);
|
263
|
]);
|
|
252
|
- ProjectServer::useProject($this->param['project_id']);
|
|
|
|
253
|
- $blogCateModel = new BlogCategory();
|
|
|
|
254
|
- if(!isset($this->param['search']) || empty($this->param['search'])){
|
|
|
|
255
|
- $data = $blogCateModel->lists([], 1, 20,'id',['id','name']);
|
|
|
|
256
|
- }else{
|
|
|
|
257
|
- $data = $blogCateModel->lists(['name' => ['like' , '%' . $this->param['search'] . '%']], 1, 20,'id',['id','name']);
|
264
|
+ ProjectServer::useProject($this->map['project_id']);
|
|
|
|
265
|
+ $newsCateModel = new NewsCategory();
|
|
|
|
266
|
+ if(!empty($this->param['search']) && isset($this->param['search'])){
|
|
|
|
267
|
+ $this->map['name'] = ['like' , '%' . $this->param['search'] . '%'];
|
|
|
|
268
|
+ unset($this->param['search']);
|
|
|
|
269
|
+ }
|
|
|
|
270
|
+ $cate_list = $newsCateModel->list($this->map, 'sort',['id','name as title']);
|
|
|
|
271
|
+ if ($cate_list === false) {
|
|
|
|
272
|
+ $this->response('error', Code::USER_ERROR);
|
|
|
|
273
|
+ }
|
|
|
|
274
|
+ $list = [];
|
|
|
|
275
|
+ foreach ($cate_list as $v) {
|
|
|
|
276
|
+ $v = (array)$v;
|
|
|
|
277
|
+ if ($v['pid'] == 0) {
|
|
|
|
278
|
+ $v['sub'] = _get_child($v['id'], $cate_list);
|
|
|
|
279
|
+ $list[] = $v;
|
|
|
|
280
|
+ }
|
|
258
|
}
|
281
|
}
|
|
259
|
DB::disconnect('custom_mysql');
|
282
|
DB::disconnect('custom_mysql');
|
|
260
|
- $this->response('success', Code::SUCCESS, $data);
|
283
|
+ $this->response('success', Code::SUCCESS, $list);
|
|
261
|
}
|
284
|
}
|
|
262
|
|
285
|
|
|
263
|
/**
|
286
|
/**
|
|
@@ -278,12 +301,137 @@ class TicketUploadDataController extends BaseController |
|
@@ -278,12 +301,137 @@ class TicketUploadDataController extends BaseController |
|
278
|
]);
|
301
|
]);
|
|
279
|
ProjectServer::useProject($this->param['project_id']);
|
302
|
ProjectServer::useProject($this->param['project_id']);
|
|
280
|
$newsCateModel = new NewsCategory();
|
303
|
$newsCateModel = new NewsCategory();
|
|
281
|
- if(!isset($this->param['search']) || empty($this->param['search'])){
|
|
|
|
282
|
- $data = $newsCateModel->lists([], 1, 20,'id',['id','name']);
|
304
|
+ if(!empty($this->param['search']) && isset($this->param['search'])){
|
|
|
|
305
|
+ $this->map['name'] = ['like' , '%' . $this->param['search'] . '%'];
|
|
|
|
306
|
+ unset($this->param['search']);
|
|
|
|
307
|
+ }
|
|
|
|
308
|
+ $cate_list = $newsCateModel->list($this->map, 'sort',['id','name as title']);
|
|
|
|
309
|
+ if ($cate_list === false) {
|
|
|
|
310
|
+ $this->response('error', Code::USER_ERROR);
|
|
|
|
311
|
+ }
|
|
|
|
312
|
+ $list = [];
|
|
|
|
313
|
+ foreach ($cate_list as $v) {
|
|
|
|
314
|
+ $v = (array)$v;
|
|
|
|
315
|
+ if ($v['pid'] == 0) {
|
|
|
|
316
|
+ $v['sub'] = _get_child($v['id'], $cate_list);
|
|
|
|
317
|
+ $list[] = $v;
|
|
|
|
318
|
+ }
|
|
|
|
319
|
+ }
|
|
|
|
320
|
+ $this->response('success', Code::SUCCESS, $list);
|
|
|
|
321
|
+ }
|
|
|
|
322
|
+
|
|
|
|
323
|
+ /**
|
|
|
|
324
|
+ * @remark :保存关键字
|
|
|
|
325
|
+ * @name :saveKeyword
|
|
|
|
326
|
+ * @author :lyh
|
|
|
|
327
|
+ * @method :post
|
|
|
|
328
|
+ * @time :2025/10/10 10:50
|
|
|
|
329
|
+ */
|
|
|
|
330
|
+ public function saveKeyword()
|
|
|
|
331
|
+ {
|
|
|
|
332
|
+ $this->request->validate([
|
|
|
|
333
|
+ 'project_id' => 'required',
|
|
|
|
334
|
+ 'title' => 'required'
|
|
|
|
335
|
+ ], [
|
|
|
|
336
|
+ 'project_id.required' => 'project_id不能为空',
|
|
|
|
337
|
+ 'title.required' => '分类标题不能为空',
|
|
|
|
338
|
+ ]);
|
|
|
|
339
|
+ ProjectServer::useProject($this->param['project_id']);
|
|
|
|
340
|
+ $keywordModel = new Keyword();
|
|
|
|
341
|
+ $id = $keywordModel->addReturnId(['project_id' => $this->param['project_id'], 'title' => $this->param['title']]);
|
|
|
|
342
|
+ $route = RouteMap::setRoute($this->param['title'],RouteMap::SOURCE_PRODUCT_KEYWORD,$id,$this->param['project_id']);
|
|
|
|
343
|
+ $keywordModel->edit(['route'=>$route],['id'=>$id]);
|
|
|
|
344
|
+ DB::disconnect('custom_mysql');
|
|
|
|
345
|
+ $this->response('success', Code::SUCCESS, ['id'=>$id,'title'=>$this->param['title']]);
|
|
|
|
346
|
+ }
|
|
|
|
347
|
+
|
|
|
|
348
|
+ /**
|
|
|
|
349
|
+ * @remark :新增分类
|
|
|
|
350
|
+ * @name :saveCategory
|
|
|
|
351
|
+ * @author :lyh
|
|
|
|
352
|
+ * @method :post
|
|
|
|
353
|
+ * @time :2025/10/10 10:13
|
|
|
|
354
|
+ */
|
|
|
|
355
|
+ public function saveCategory()
|
|
|
|
356
|
+ {
|
|
|
|
357
|
+ $this->request->validate([
|
|
|
|
358
|
+ 'project_id' => 'required',
|
|
|
|
359
|
+ 'type' => 'required',
|
|
|
|
360
|
+ 'title' => 'required'
|
|
|
|
361
|
+ ], [
|
|
|
|
362
|
+ 'project_id.required' => 'project_id不能为空',
|
|
|
|
363
|
+ 'type.required' => '类型不能为空',
|
|
|
|
364
|
+ 'title.required' => '分类标题不能为空',
|
|
|
|
365
|
+ ]);
|
|
|
|
366
|
+ ProjectServer::useProject($this->param['project_id']);
|
|
|
|
367
|
+ if($this->param['type'] == 1){//增加产品分类
|
|
|
|
368
|
+ $data = $this->addProductCategory($this->param['title'],$this->param['project_id']);
|
|
|
|
369
|
+ }elseif ($this->param['type'] == 2){//增加blog分类
|
|
|
|
370
|
+ $data = $this->addBlogCategory($this->param['title'],$this->param['project_id']);
|
|
283
|
}else{
|
371
|
}else{
|
|
284
|
- $data = $newsCateModel->lists(['name' => ['like' , '%' . $this->param['search'] . '%']], 1, 20,'id',['id','name']);
|
372
|
+ $data = $this->addNewsCategory($this->param['title'],$this->param['project_id']);
|
|
285
|
}
|
373
|
}
|
|
286
|
DB::disconnect('custom_mysql');
|
374
|
DB::disconnect('custom_mysql');
|
|
287
|
- $this->response('success', Code::SUCCESS, $data);
|
375
|
+ $this->response('success',Code::SUCCESS, $data);
|
|
|
|
376
|
+ }
|
|
|
|
377
|
+
|
|
|
|
378
|
+ /**
|
|
|
|
379
|
+ * @remark :新增分类
|
|
|
|
380
|
+ * @name :addProductCategory
|
|
|
|
381
|
+ * @author :lyh
|
|
|
|
382
|
+ * @method :post
|
|
|
|
383
|
+ * @time :2025/10/10 10:43
|
|
|
|
384
|
+ */
|
|
|
|
385
|
+ public function addProductCategory($title,$project_id){
|
|
|
|
386
|
+ $productCateModel = new Category();
|
|
|
|
387
|
+ $info = $productCateModel->read(['title'=>$title],['id','title']);
|
|
|
|
388
|
+ if($info !== false){
|
|
|
|
389
|
+ return $info;
|
|
|
|
390
|
+ }else{
|
|
|
|
391
|
+ $id = $productCateModel->addReturnId(['title'=>$title,'project_id'=>$project_id]);
|
|
|
|
392
|
+ $route = RouteMap::setRoute($title,RouteMap::SOURCE_PRODUCT_CATE,$id,$project_id);
|
|
|
|
393
|
+ $productCateModel->edit(['route'=>$route],['id'=>$id]);
|
|
|
|
394
|
+ return ['id'=>$id,'title'=>$title];
|
|
|
|
395
|
+ }
|
|
|
|
396
|
+ }
|
|
|
|
397
|
+
|
|
|
|
398
|
+ /**
|
|
|
|
399
|
+ * @remark :新增blog分类
|
|
|
|
400
|
+ * @name :addBlogCategory
|
|
|
|
401
|
+ * @author :lyh
|
|
|
|
402
|
+ * @method :post
|
|
|
|
403
|
+ * @time :2025/10/10 10:44
|
|
|
|
404
|
+ */
|
|
|
|
405
|
+ public function addBlogCategory($title,$project_id){
|
|
|
|
406
|
+ $blogCateModel = new BlogCategory();
|
|
|
|
407
|
+ $info = $blogCateModel->read(['name'=>$title],['id','name as title']);
|
|
|
|
408
|
+ if($info !== false){
|
|
|
|
409
|
+ return $info;
|
|
|
|
410
|
+ }else{
|
|
|
|
411
|
+ $id = $blogCateModel->addReturnId(['name'=>$title,'project_id'=>$project_id]);
|
|
|
|
412
|
+ $route = RouteMap::setRoute($title,RouteMap::SOURCE_BLOG_CATE,$id,$project_id);
|
|
|
|
413
|
+ $blogCateModel->edit(['alias'=>$route],['id'=>$id]);
|
|
|
|
414
|
+ return ['id'=>$id,'title'=>$title];
|
|
|
|
415
|
+ }
|
|
|
|
416
|
+ }
|
|
|
|
417
|
+
|
|
|
|
418
|
+ /**
|
|
|
|
419
|
+ * @remark :新增news分类
|
|
|
|
420
|
+ * @name :addNewsCategory
|
|
|
|
421
|
+ * @author :lyh
|
|
|
|
422
|
+ * @method :post
|
|
|
|
423
|
+ * @time :2025/10/10 10:46
|
|
|
|
424
|
+ */
|
|
|
|
425
|
+ public function addNewsCategory($title,$project_id){
|
|
|
|
426
|
+ $newsCateModel = new NewsCategory();//增加新闻分类
|
|
|
|
427
|
+ $info = $newsCateModel->read(['name'=>$title],['id','name as title']);
|
|
|
|
428
|
+ if($info !== false){
|
|
|
|
429
|
+ return $info;
|
|
|
|
430
|
+ }else{
|
|
|
|
431
|
+ $id = $newsCateModel->addReturnId(['name'=>$title,'project_id'=>$project_id]);
|
|
|
|
432
|
+ $route = RouteMap::setRoute($title,RouteMap::SOURCE_NEWS_CATE,$id,$project_id);
|
|
|
|
433
|
+ $newsCateModel->edit(['alias'=>$route],['id'=>$id]);
|
|
|
|
434
|
+ return ['id'=>$id,'title'=>$title];
|
|
|
|
435
|
+ }
|
|
288
|
}
|
436
|
}
|
|
289
|
} |
437
|
} |