GoodsCateController.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace addons\Store\api\modules\v1\controllers;
  3. use Yii;
  4. use api\controllers\OnAuthController;
  5. use common\enums\StatusEnum;
  6. use addons\Store\common\models\StoreGoodsCate;
  7. /**
  8. * 默认控制器
  9. *
  10. * Class DefaultController
  11. * @package addons\StoreSteward\api\modules\v1\controllers
  12. */
  13. class GoodsCateController extends OnAuthController
  14. {
  15. public $modelClass = '';
  16. /**
  17. * 不用进行登录验证的方法
  18. *
  19. * 例如: ['index', 'update', 'create', 'view', 'delete']
  20. * 默认全部需要验证
  21. *
  22. * @var array
  23. */
  24. protected $authOptional = ['index'];
  25. /**
  26. * 首页
  27. *
  28. * @return string
  29. */
  30. public function actionIndex()
  31. {
  32. $params = \Yii::$app->request->get();
  33. $res = \Yii::$app->services->validate->validate($params, [
  34. [['store_id'], 'required'],
  35. [['cate_id'], 'safe'],
  36. [['store_id'], 'integer'],
  37. ]);
  38. if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
  39. $params['where'] = [
  40. [
  41. 'mall_id' => $this->mall_id,
  42. 'parent_id' => empty($params['cate_id']) ? 0 : $params['cate_id'],
  43. 'store_id' => $params['store_id'],
  44. 'is_show' => 1,
  45. 'status' => StatusEnum::ENABLED]
  46. ];
  47. $params['select'] = 'id,name,pic';
  48. $params['order'] = 'sort asc';
  49. $cate_list['list'] = StoreGoodsCate::lists($params);
  50. $cats_third_style = "{\"aLevelBgColor\":\"#fff\",\"bLevelBgColor\":\"#fff\",\"cLevelBgColor\":\"#fff\",\"fontColor\":\"#000\",\"fontSize\":\"14\",\"fontWeight\":\"normal\",\"bFontColor\":\"#000\",\"cFontColor\":\"#000\"}";
  51. // 类目风格
  52. $default = [
  53. 'cat_style' => 1,
  54. 'recommend_count' => 3,
  55. 'cat_goods_count' => 1,
  56. 'cat_goods_cols' => 1,
  57. 'cats_third_style' => $cats_third_style
  58. ];
  59. is_string($default['cats_third_style']) && $default['cats_third_style'] = json_decode($default['cats_third_style'], true);
  60. // 处理后面添加的字段
  61. foreach (json_decode($cats_third_style) as $key => $val) {
  62. if (!isset($default['cats_third_style'][$key])) {
  63. $default['cats_third_style'][$key] = $val;
  64. }
  65. }
  66. $cate_list['config'] = $default;
  67. return $this->success('操作成功', $cate_list);
  68. }
  69. }