PageLink.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
  4. // +----------------------------------------------------------------------
  5. // | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
  6. // +----------------------------------------------------------------------
  7. // | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
  8. // +----------------------------------------------------------------------
  9. // | Author: CRMEB Team <admin@crmeb.com>
  10. // +----------------------------------------------------------------------
  11. namespace app\controller\admin\v1\diy;
  12. use app\controller\admin\AuthController;
  13. use app\services\diy\DiyServices;
  14. use app\services\diy\PageCategoryServices;
  15. use app\services\diy\PageLinkServices;
  16. use app\services\product\category\StoreProductCategoryServices;
  17. use app\services\store\SystemStoreServices;
  18. use think\facade\App;
  19. /**
  20. * Class PageLink
  21. * @package app\controller\admin\v1\diy
  22. */
  23. class PageLink extends AuthController
  24. {
  25. /**
  26. * PageLink constructor.
  27. * @param App $app
  28. * @param PageLinkServices $services
  29. */
  30. public function __construct(App $app, PageLinkServices $services)
  31. {
  32. parent::__construct($app);
  33. $this->services = $services;
  34. }
  35. /**
  36. * 获取页面链接分类
  37. * @return mixed
  38. */
  39. public function getCategory(PageCategoryServices $services)
  40. {
  41. return $this->success($services->getCategroyList());
  42. }
  43. /**
  44. * 获取页面链接
  45. * @param $cate_id
  46. * @return mixed
  47. */
  48. public function getLinks($cate_id, PageCategoryServices $pageCategoryServices)
  49. {
  50. if (!$cate_id) return $this->fail('缺少参数');
  51. $category = $pageCategoryServices->get((int)$cate_id);
  52. if (!$category) {
  53. return $this->fail('页面分类不存在');
  54. }
  55. switch ($category['type']) {
  56. case 'special'://主题
  57. /** @var DiyServices $diyServices */
  58. $diyServices = app()->make(DiyServices::class);
  59. $data = $diyServices->getDiyList(['type' => [1, 2], 'is_del' => 0, 'not_template_name' => ['goodSelect', 'shopping', 'fresh']]);
  60. break;
  61. case 'product_category'://商品分类
  62. [$pid] = $this->request->getMore([
  63. ['pid', 0]
  64. ], true);
  65. /** @var StoreProductCategoryServices $storeCategoryServices */
  66. $storeCategoryServices = app()->make(StoreProductCategoryServices::class);
  67. $data = $storeCategoryServices->getList(['pid' => $pid, 'is_show' => 1]);
  68. break;
  69. case 'store_home'://门店首页
  70. $where = $this->request->getMore([
  71. ['keywords', ''],
  72. ]);
  73. /** @var SystemStoreServices $systemStoreServices */
  74. $systemStoreServices = app()->make(SystemStoreServices::class);
  75. $where['is_del'] = 0;
  76. $field = ['id', 'cate_id', 'name', 'phone', 'address', 'detailed_address', 'image', 'is_show', 'day_time', 'day_start', 'day_end'];
  77. $data = $systemStoreServices->getStoreList($where, $field, '', '', 0, ['categoryName']);
  78. break;
  79. default:
  80. $data = $this->services->getLinkList(['cate_id' => $cate_id]);
  81. break;
  82. }
  83. return $this->success($data);
  84. }
  85. /**
  86. * 保存链接
  87. * @param $cate_id
  88. * @param PageCategoryServices $pageCategoryServices
  89. * @return mixed
  90. */
  91. public function saveLink($cate_id, PageCategoryServices $pageCategoryServices)
  92. {
  93. $data = $this->request->getMore([
  94. ['name', ''],
  95. ['url', '']
  96. ]);
  97. if (!$cate_id || !$data['name'] || !$data['url']) return $this->fail('缺少参数');
  98. $category = $pageCategoryServices->get((int)$cate_id);
  99. if (!$category) {
  100. return $this->fail('页面分类不存在');
  101. }
  102. $data['cate_id'] = $cate_id;
  103. $data['add_time'] = time();
  104. if (!$this->services->save($data)) {
  105. return $this->fail('添加失败');
  106. }
  107. return $this->success('添加成功');
  108. }
  109. /**
  110. * 删除链接
  111. * @param $id
  112. * @return mixed
  113. */
  114. public function del($id)
  115. {
  116. if (!$id) return $this->fail('参数错误');
  117. $this->services->del($id);
  118. return $this->success('删除成功!');
  119. }
  120. }