ItemClassClass.php 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. <?php
  2. /**
  3. * User: admin
  4. * Date Time: 2021/1/13 17:12
  5. */
  6. namespace bizGhs\item\classes;
  7. use bizGhs\base\classes\BaseClass;
  8. use bizGhs\shop\classes\ShopClass;
  9. use common\components\imgUtil;
  10. use common\components\util;
  11. //use bizHd\base\classes\BaseClass;
  12. class ItemClassClass extends BaseClass
  13. {
  14. public static $baseFile = '\bizGhs\item\models\ItemClass';
  15. //特价花材分类
  16. const TJ_CLASS_ID = '-1';
  17. public static function getGhsItemClassList($where)
  18. {
  19. $data = self::getList('*', $where, 'inTurn DESC');
  20. $list = isset($data['list']) && !empty($data['list']) ? $data['list'] : [];
  21. if (empty($list)) {
  22. return $data;
  23. }
  24. $data['list'] = $list;
  25. return $data;
  26. }
  27. //新增花材分类
  28. public static function addGhsItemClass($masterShop, $data)
  29. {
  30. $mainId = $masterShop->mainId ?? 0;
  31. $name = $data['name'] ?? '';
  32. if (empty($name)) {
  33. util::fail("请输入花材分类");
  34. }
  35. $has = self::getByCondition(['mainId' => $mainId, 'name' => $name]);
  36. if ($has) {
  37. util::fail("花材分类名称已存在");
  38. }
  39. $res = self::add($data);
  40. //在首店添加,则父级下所有直营和加盟店,同步添加分类
  41. if (isset($masterShop->default) && $masterShop->default == 1) {
  42. $sjId = $masterShop->sjId ?? 0;
  43. $shopList = ShopClass::getAllByCondition(['sjId' => $sjId], null, '*', null, true);
  44. foreach ($shopList as $shop) {
  45. $shopId = $shop->id ?? 0;
  46. if ($shopId == $masterShop->id) {
  47. //前面已经添加过了
  48. continue;
  49. }
  50. $thisMainId = $shop->mainId ?? 0;
  51. $data['shopId'] = $shopId;
  52. $data['mainId'] = $thisMainId;
  53. $has = self::getByCondition(['mainId' => $thisMainId, 'name' => $name]);
  54. if (!empty($has)) {
  55. continue;
  56. }
  57. self::add($data);
  58. }
  59. }
  60. return $res;
  61. }
  62. //批量新增花材分类
  63. public static function batchAddGhsItemClass($data)
  64. {
  65. self::batchAdd($data);
  66. return true;
  67. }
  68. //修改
  69. public static function updateGhsItemClass($data)
  70. {
  71. $id = $data['id'] ?? 0;
  72. $sjId = $data['sjId'] ?? 0;
  73. $name = $data['name'] ?? '';
  74. if (!$sjId) {
  75. util::fail("请选择供货商");
  76. }
  77. if (!$name) {
  78. util::fail("花材分类名称不能为空");
  79. }
  80. $model = self::getById($id);
  81. if (!$model) {
  82. util::fail("该花材分类不存在");
  83. }
  84. if ($model['sjId'] !== $data['sjId']) {
  85. util::fail("参数错误");
  86. }
  87. self::updateById($id, $data);
  88. return true;
  89. }
  90. //花材列表页分类,包含今日特价分类 ssh 20220315
  91. public static function getShopClass($mainId)
  92. {
  93. $class = [['id' => self::TJ_CLASS_ID, 'name' => '今日推荐', 'cover' => 'item_class/tj.jpg']];
  94. $data = self::getAllList('id,name,cover', ['mainId' => $mainId], 'inTurn desc');
  95. if (!empty($data)) {
  96. $class = array_merge($data, $class);
  97. }
  98. foreach ($class as $key => $item) {
  99. $class[$key]['cover'] = imgUtil::groupImg($item['cover']) . "?x-oss-process=image/resize,m_fill,h_130,w_130";
  100. }
  101. return $class;
  102. }
  103. //获取开单页所有的分类
  104. //这里不能取出className,否则会影响前端显示,重要注意事项,请搜索关键词import_class_name!!!!!!!!!!!!!!
  105. public static function getGhsItemClassAll($mainId)
  106. {
  107. $where = ['mainId' => $mainId];
  108. $data = self::getAllList('id,name,cover,print', $where, 'inTurn desc');
  109. if (!empty($data)) {
  110. foreach ($data as $key => $val) {
  111. $shortCover = $val['cover'] ?? '';
  112. $data[$key]['shortCover'] = $shortCover;
  113. $data[$key]['cover'] = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_80,w_80";
  114. }
  115. }
  116. return $data;
  117. }
  118. //获取当前供货商下的所有class
  119. public static function getAll($sjId, $select = "*")
  120. {
  121. $where = [
  122. 'sjId' => $sjId
  123. ];
  124. $data = self::getAllList($select, $where);
  125. return $data;
  126. }
  127. //验证分类 ssh 20211015
  128. public static function valid($class, $mainId)
  129. {
  130. if ($class->mainId == $mainId) {
  131. return true;
  132. }
  133. //util::fail('分类不正确');
  134. }
  135. //获取当前商家下默认分类id
  136. public static function getDefaultClassId($mainId)
  137. {
  138. $where = ['mainId' => $mainId, 'isDefault' => 1];
  139. $res = self::getByCondition($where, true);
  140. if (!$res) {
  141. //没有则新增
  142. $classData = ['mainId' => $mainId, 'name' => '默认分类', 'inTurn' => -1, 'isDefault' => 1];
  143. $res = self::add($classData, true);
  144. }
  145. return $res->id ?? 0;
  146. }
  147. }