GroupCategoryController.php 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?php
  2. namespace addons\LuckyGroup\backend\controllers;
  3. use addons\LuckyGroup\common\models\LuckyGroupActivity;
  4. use addons\LuckyGroup\common\models\LuckyGroupCategory;
  5. use common\enums\StatusEnum;
  6. class GroupCategoryController extends BaseController
  7. {
  8. public function actionIndex()
  9. {
  10. if (\Yii::$app->request->isAjax || \Yii::$app->request->post('flag', '') === 'EXPORT') {
  11. if (\Yii::$app->request->isGet) {
  12. $wheres[] = ['mall_id' => $this->mall_id, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED]];
  13. $params = [
  14. 'select' => 'id,sort,title,pic_path,status,created_at',
  15. 'where' => $wheres,
  16. 'order' => 'sort asc,created_at desc',
  17. ];
  18. $data = LuckyGroupCategory::listPage($params);
  19. if (false === $data['list']) {
  20. return $this->error(LuckyGroupCategory::getStaticError());
  21. }
  22. return $this->success('请求成功', $data);
  23. } else {
  24. }
  25. } else {
  26. return $this->render('/category/index');
  27. }
  28. }
  29. /**
  30. * @name:
  31. * @msg: 编辑 or 添加分类
  32. * @param {*}
  33. * @return {*}
  34. */
  35. public function actionStorage()
  36. {
  37. if (\Yii::$app->request->isAjax) {
  38. if (\Yii::$app->request->isGet) {
  39. $id = \Yii::$app->request->get('id');
  40. if (!empty($id)) {
  41. // 编辑分类
  42. $cates = LuckyGroupCategory::find()
  43. ->where(['mall_id' => $this->mall_id, 'status' => [StatusEnum::ENABLED, StatusEnum::DISABLED], 'id' => $id])
  44. ->orderBy('sort asc,created_at desc')
  45. ->asArray()
  46. ->one();
  47. $cates['adv_link'] = json_decode($cates['adv_link']);
  48. } else {
  49. $cates = [];
  50. }
  51. return $this->success('success', $cates);
  52. } else {
  53. $post = \Yii::$app->request->post();
  54. $rules = [
  55. [['status', 'pic_adv', 'pic_path', 'sort', 'title'], 'required'],
  56. [['status', 'sort'], 'integer'],
  57. [['pic_adv', 'pic_path', 'title'], 'string', 'max' => 255],
  58. ['bgcolor', 'string', 'max' => 100],
  59. [['id', 'adv_link'], 'safe'],
  60. ['id', 'default', 'value' => 0],
  61. ['adv_link', 'default', 'value' => ''],
  62. ];
  63. $res = \Yii::$app->services->validate->validate($post, $rules);
  64. if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
  65. // dd($post);
  66. $res = LuckyGroupCategory::setData($this->mall_id, $post);
  67. if (false === $res) {
  68. return $this->error(LuckyGroupCategory::getStaticError());
  69. }
  70. return $this->success('操作成功');
  71. }
  72. } else {
  73. return $this->render('/category/add-edit');
  74. }
  75. }
  76. /**
  77. * @name:
  78. * @msg: 切换分类状态
  79. * @param {*}
  80. * @return {*}
  81. */
  82. public function actionSwitchStatus()
  83. {
  84. if (!\Yii::$app->request->isPost) {
  85. return $this->error('请求方式错误');
  86. }
  87. $id = \Yii::$app->request->post('id');
  88. $status = \Yii::$app->request->post('status');
  89. if (empty($id) || !isset($status)) {
  90. return $this->error('参数错误');
  91. }
  92. $params = [
  93. 'id' => $id,
  94. 'status' => $status,
  95. ];
  96. $res = LuckyGroupCategory::setData($this->mall_id, $params);
  97. if (false === $res) {
  98. return $this->error(LuckyGroupCategory::getStaticError());
  99. }
  100. return $this->success('操作成功');
  101. }
  102. /**
  103. * @name:
  104. * @msg: 删除分类
  105. * @param {*}
  106. * @return {*}
  107. */
  108. public function actionDelete()
  109. {
  110. if (!\Yii::$app->request->isPost) {
  111. return $this->error('请求方式错误');
  112. }
  113. $id = \Yii::$app->request->post('id');
  114. $status = \Yii::$app->request->post('status');
  115. if (empty($id)) {
  116. return $this->error('参数错误');
  117. }
  118. $activity = LuckyGroupActivity::find()
  119. ->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED, 'cate_id' => $id])
  120. ->one();
  121. if (!empty($activity)) {
  122. return $this->error('该分类有关联的活动,暂不能删除');
  123. }
  124. $params = [
  125. 'id' => $id,
  126. 'status' => StatusEnum::DELETE,
  127. ];
  128. $res = LuckyGroupCategory::setData($this->mall_id, $params);
  129. if (false === $res) {
  130. return $this->error(LuckyGroupCategory::getStaticError());
  131. }
  132. return $this->success('操作成功');
  133. }
  134. }