ProductController.php 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * User: admin
  4. * Date Time: 2021/1/15 20:36
  5. */
  6. namespace ghs\controllers;
  7. use bizGhs\item\classes\ItemClass;
  8. use bizGhs\item\classes\ItemClassClass;
  9. use bizGhs\product\classes\ProductClass;
  10. use bizGhs\product\services\ProductService;
  11. use bizGhs\item\services\ItemService;
  12. use common\components\util;
  13. use Yii;
  14. class ProductController extends BaseController
  15. {
  16. //开单时获取所有的分类花材信息
  17. public function actionIndex()
  18. {
  19. $py = Yii::$app->request->get('py','');
  20. //获取所有当前供应商的分类 (全部、常用)
  21. //根据分类组装分类下的花材信息
  22. $classIds = ItemClassClass::getGhsItemClassAll($this->merchantId);
  23. //获取供应商下所有花材ID (itemIds)
  24. $itemIdsInfo = ItemService::getGhsItemIds($this->merchantId);
  25. $itemIds = array_column($itemIdsInfo,'itemId');
  26. if($py){
  27. $pyNameItemIds = ItemClass::getItemIdsByPyName($py);
  28. $itemIds = array_intersect($itemIds,$pyNameItemIds);
  29. }
  30. $itemInfoData = ProductClass::getProductInfoByItemIds($itemIds);
  31. //常用的itemIds
  32. $oftenItemIds = ProductClass::getOftenItemIds($this->merchantId);
  33. //组装数据: [{classId:'','className:'',child:[{itemInfoData}]}]
  34. $data = ProductService::assembleData($classIds,$itemIdsInfo,$itemInfoData,$oftenItemIds);
  35. util::success($data);
  36. }
  37. //弃用
  38. public function actionList()
  39. {
  40. $classId = Yii::$app->request->get('classId',0);
  41. $pyName = Yii::$app->request->get('py','');
  42. $itemIds = ItemClass::getItemIdsByClassId($classId);
  43. if($pyName){
  44. $pyNameItemIds = ItemClass::getItemIdsByPyName($pyName);
  45. $itemIds = array_intersect($itemIds,$pyNameItemIds);
  46. }
  47. $data = ProductClass::getProductInfoByItemIds($itemIds);
  48. util::success($data);
  49. }
  50. }