GoodsController.php 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace mall\controllers;
  3. use bizHd\goods\classes\GoodsCategoryClass;
  4. use bizMall\goods\classes\GoodsClass;
  5. use bizMall\goods\classes\GoodsSettingClass;
  6. use bizMall\pictext\classes\PicTextGoodsClass;
  7. use bizMall\goods\classes\CategoryClass;
  8. use bizMall\pictext\classes\PicTextClass;
  9. use Yii;
  10. use common\components\util;
  11. class GoodsController extends BaseController
  12. {
  13. //获取商品详情 ssh 2019.12.3
  14. public function actionDetail()
  15. {
  16. $id = Yii::$app->request->get('id', 0);
  17. $categoryId = intval(Yii::$app->request->get('categoryId'));
  18. if ($categoryId <= 0 && $id > 0) {
  19. $categoryMap = GoodsCategoryClass::getGoodsHasCategoryIdsBatch([$id]);
  20. $categoryIds = $categoryMap[$id] ?? [];
  21. if (!empty($categoryIds)) {
  22. $categoryId = intval($categoryIds[0]);
  23. }
  24. }
  25. $custom = $this->custom;
  26. if (empty($custom)) {
  27. util::fail('用户信息缺失');
  28. }
  29. $shop = $this->shop;
  30. $params = [];
  31. $info = GoodsClass::getGoodsInfo($id, $shop, $custom, $params);
  32. if ($info['mainId'] != $this->mainId) {
  33. util::fail('不是你的商品');
  34. }
  35. $info = \bizHd\goods\classes\GoodsClass::appendUseCasesAndSpecs($info, $this->mainId);
  36. $setting = GoodsSettingClass::getByCondition(['mainId' => $this->mainId]);
  37. $intro = $setting['goodsIntroduce'] ?? '';
  38. $info['commonIntro'] = $intro;
  39. $pixTextGoods = PicTextGoodsClass::getByCondition(['mainId' => $this->mainId, 'goodsId' => $id], true);
  40. $info['picTextGoods'] = $pixTextGoods;
  41. $info['picText'] = [];
  42. $category = CategoryClass::getById($categoryId);
  43. if (!empty($category)) {
  44. $picTextId = $category['picTextId'];
  45. $picText = PicTextClass::getById($picTextId, true);
  46. $info['picText'] = $picText;
  47. }
  48. $info['customId'] = $this->customId;
  49. util::success($info);
  50. }
  51. }