ItemClassController.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <?php
  2. /**
  3. * User: admin
  4. * Date Time: 2021/3/2 14:33
  5. */
  6. namespace hd\controllers;
  7. use bizGhs\item\classes\ItemClassClass;
  8. use bizGhs\item\services\ItemClassService;
  9. use bizHd\product\classes\ProductClass;
  10. use common\components\dict;
  11. use common\components\imgUtil;
  12. use common\components\util;
  13. use Yii;
  14. class ItemClassController extends BaseController
  15. {
  16. //获取花材列表的菜单 ssh 20240222
  17. //这里不能取出className,否则会影响前端显示,重要注意事项,请搜索关键词import_class_name!!!!!!!!!!!!!!
  18. public function actionGetMenu()
  19. {
  20. $mainId = $this->mainId;
  21. $itemList = ProductClass::getAllByCondition(['mainId' => $mainId, 'delStatus' => 0, 'status' => 1], null, 'id,name,reachNum,reachNumDiscount,presell,discountPrice', null, true);
  22. $arr = [];
  23. if (!empty($itemList)) {
  24. foreach ($itemList as $item) {
  25. $reachNum = $item->reachNum ?? 0;
  26. $reachNumDiscount = $item->reachNumDiscount ?? 0;
  27. if (isset($item->presell) && $item->presell == 1) {
  28. $arr[3] = [
  29. 'id' => -3,
  30. 'name' => '预售专区',
  31. 'shortCover' => 'item_class/mrfl.png',
  32. 'cover' => imgUtil::groupImg('item_class/mrfl.png') . "?x-oss-process=image/resize,m_fill,h_130,w_130"
  33. ];
  34. }
  35. if (isset($item->discountPrice) && $item->discountPrice > 0) {
  36. $arr[1] = [
  37. 'id' => -1,
  38. 'name' => '今日推荐',
  39. 'shortCover' => 'item_class/tj.jpg',
  40. 'cover' => imgUtil::groupImg('item_class/tj.jpg') . "?x-oss-process=image/resize,m_fill,h_130,w_130"
  41. ];
  42. }
  43. if ($reachNum > 0 && $reachNumDiscount > 0) {
  44. $arr[2] = [
  45. 'id' => -2,
  46. 'name' => '满减活动',
  47. 'shortCover' => 'item_class/mrfl.png',
  48. 'cover' => imgUtil::groupImg('item_class/mrfl.png') . "?x-oss-process=image/resize,m_fill,h_130,w_130"
  49. ];
  50. }
  51. }
  52. }
  53. $classInfo = ItemClassClass::getGhsItemClassAll($mainId);
  54. $index = [];
  55. $defaultClassId = 0;
  56. if (!empty($classInfo)) {
  57. foreach ($classInfo as $class) {
  58. $id = $class['id'] ?? 0;
  59. $index[$id] = $class;
  60. if (isset($class['isDefault']) && $class['isDefault'] == 1) {
  61. $defaultClassId = $id;
  62. }
  63. }
  64. }
  65. if (!empty($arr)) {
  66. $arr = array_values($arr);
  67. $classInfo = array_merge($arr, $classInfo);
  68. }
  69. util::success(['class' => $classInfo, 'classIndex' => $index, 'defaultClassId' => $defaultClassId]);
  70. }
  71. public function actionList()
  72. {
  73. $where = ['mainId' => $this->mainId];
  74. $list = ItemClassClass::getGhsItemClassList($where);
  75. util::success($list);
  76. }
  77. //花材列表页的分类,包含今日特价分类 ssh 20220315
  78. public function actionShowClass()
  79. {
  80. $headers = Yii::$app->getRequest()->getHeaders();
  81. $requestVersion = $headers->get('appVersion');
  82. $currentVersion = dict::getDict('appVersion');
  83. if ($requestVersion < $currentVersion) {
  84. util::fail('请先升级系统');
  85. }
  86. $list = ItemClassClass::getShopClass($this->mainId);
  87. util::success($list);
  88. }
  89. public function actionGetAllClass()
  90. {
  91. //中央ID
  92. $list = ItemClassClass::getGhsItemClassAll($this->mainId);
  93. util::success(['list' => $list]);
  94. }
  95. public function actionAdd()
  96. {
  97. $post = Yii::$app->request->post();
  98. $post['adminId'] = $this->adminId;
  99. $post['mainId'] = $this->mainId;
  100. $post['sjId'] = $this->sjId;
  101. $post['shopId'] = $this->shopId;
  102. ItemClassClass::addGhsItemClass($this->shop, $post);
  103. util::complete('添加成功');
  104. }
  105. public function actionUpdate()
  106. {
  107. $data = Yii::$app->request->post();
  108. $id = $data['id'] ?? 0;
  109. $name = $data['name'] ?? '';
  110. $class = ItemClassClass::getById($id, true);
  111. if (empty($class)) {
  112. util::fail('没有找到分类');
  113. }
  114. if ($class->isDefault == 1) {
  115. util::fail('不能修改默认分组');
  116. }
  117. $itemName = $class->name;
  118. if ($itemName == $name) {
  119. util::success('修改成功');
  120. }
  121. if ($class->mainId != $this->mainId) {
  122. util::fail('没有权限修改');
  123. }
  124. $has = ItemClassClass::getByCondition(['mainId' => $this->mainId, 'name' => $name]);
  125. if (!empty($has)) {
  126. util::fail('名称已经存在');
  127. }
  128. $class->name = $name;
  129. $class->save();
  130. util::complete('修改成功');
  131. }
  132. public function actionDelete()
  133. {
  134. util::complete('没有删除成功');
  135. }
  136. //开单: 获取所有分类
  137. public function actionAll()
  138. {
  139. $data = ItemClassClass::getGhsItemClassAll($this->mainId);
  140. util::success($data);
  141. }
  142. }