PtCpClass.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. <?php
  2. namespace biz\cp\classes;
  3. use biz\base\classes\BaseClass;
  4. use biz\item\classes\PtItemClass;
  5. use common\components\imgUtil;
  6. use common\components\stringUtil;
  7. use common\components\util;
  8. use Yii;
  9. class PtCpClass extends BaseClass
  10. {
  11. public static $baseFile = '\biz\cp\models\PtCp';
  12. public static function copyCreateCp($itemId, $cpClassId, $needLevelItem)
  13. {
  14. $ptCpClass = PtCpClassClass::getById($cpClassId, true);
  15. if (empty($ptCpClass)) {
  16. util::fail('请选择产品所属分类');
  17. }
  18. $info = PtItemClass::getById($itemId, true);
  19. if (empty($info)) {
  20. util::fail('没有找到花材');
  21. }
  22. if (isset($info->delStatus) && $info->delStatus == 1) {
  23. util::fail('花材已经删除');
  24. }
  25. $info->auth = 1;
  26. $info->hasCpId = 1;
  27. $info->save();
  28. $itemAuth = 1;
  29. $newItem = $info->attributes;
  30. $itemId = $newItem['id'] ?? 0;
  31. $itemName = $newItem['name'] ?? '';
  32. $itemPy = $newItem['py'] ?? '';
  33. $itemCover = $newItem['cover'] ?? '';
  34. $itemInTurn = $newItem['inTurn'] ?? 100;
  35. $addCp = [
  36. 'classId' => $cpClassId,
  37. 'name' => $itemName,
  38. 'cover' => $itemCover,
  39. 'auth' => $itemAuth,
  40. 'inTurn' => $itemInTurn,
  41. ];
  42. $newCp = PtCpClass::addCp($addCp);
  43. $newCpId = $newCp->id ?? 0;
  44. $addCpItem = [
  45. 'cpId' => $newCpId,
  46. 'itemId' => $itemId,
  47. 'auth' => $itemAuth,
  48. 'name' => $itemName,
  49. 'py' => $itemPy,
  50. 'cpName' => $itemName,
  51. 'cpPy' => $itemPy,
  52. ];
  53. PtCpItemClass::add($addCpItem, true);
  54. if ($needLevelItem == 1) {
  55. $a = $newItem;
  56. $a['name'] = $a['name'] . ' A级';
  57. unset($a['id']);
  58. $b = $newItem;
  59. $b['name'] = $b['name'] . ' B级';
  60. unset($b['id']);
  61. $c = $newItem;
  62. $c['name'] = $c['name'] . ' C级';
  63. unset($c['id']);
  64. $d = $newItem;
  65. $d['name'] = $d['name'] . ' D级';
  66. unset($d['id']);
  67. $e = $newItem;
  68. $e['name'] = $e['name'] . ' E级';
  69. unset($e['id']);
  70. $arr = [$a, $b, $c, $d, $e];
  71. foreach ($arr as $levelKey => $levelItem) {
  72. $newItem = PtItemClass::add($levelItem, true);
  73. $newItemName = $newItem->name ?? '';
  74. $newItemPy = $newItem->py ?? '';
  75. $newItemId = $newItem->id ?? 0;
  76. $newAddCpItem = [
  77. 'cpId' => $newCpId,
  78. 'itemId' => $newItemId,
  79. 'auth' => $itemAuth,
  80. 'name' => $newItemName,
  81. 'py' => $newItemPy,
  82. 'cpName' => $itemName,
  83. 'cpPy' => $itemPy,
  84. ];
  85. PtCpItemClass::add($newAddCpItem, true);
  86. }
  87. }
  88. }
  89. public static function getCpList($where)
  90. {
  91. $data = self::getList('*', $where, 'inTurn DESC,addTime DESC');
  92. if (!empty($data['list'])) {
  93. $ids = array_column($data['list'], 'classId');
  94. $classInfoList = PtCpClassClass::getByIds($ids, null, 'id');
  95. foreach ($data['list'] as $key => $val) {
  96. $shortCover = $val['cover'] ?? '';
  97. $cover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_130,w_130";
  98. $bigCover = imgUtil::groupImg($shortCover) . "?x-oss-process=image/resize,m_fill,h_700,w_700";
  99. $data['list'][$key]['shortCover'] = $shortCover;
  100. $data['list'][$key]['cover'] = $cover;
  101. $data['list'][$key]['bigCover'] = $bigCover;
  102. $classId = $val['classId'] ?? 0;
  103. $classInfo = $classInfoList[$classId] ?? [];
  104. $className = $classInfo['name'] ?? '';
  105. $data['list'][$key]['className'] = $className;
  106. }
  107. }
  108. return $data;
  109. }
  110. //添加产品 ssh 20240119
  111. public static function addCp($data)
  112. {
  113. $name = $data['name'] ?? '';
  114. $py = stringUtil::py($name);
  115. $data['py'] = $py;
  116. $response = self::add($data, true);
  117. return $response;
  118. }
  119. public static function updateCp($data)
  120. {
  121. $id = $data['id'] ?? 0;
  122. $info = self::getById($id, true);
  123. if (empty($info)) {
  124. util::fail('没有找到产品');
  125. }
  126. unset($data['id']);
  127. $name = $data['name'] ?? '';
  128. $py = stringUtil::py($name);
  129. $data['py'] = $py;
  130. self::updateById($id, $data);
  131. }
  132. }