GiftPlanController.php 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. <?php
  2. namespace addons\CloudStock\backend\controllers;
  3. use addons\CloudStock\common\models\CloudStockGoods;
  4. use addons\CloudStock\common\models\CloudStockLevel;
  5. use addons\CloudStock\common\models\CloudStockUpgradeBag;
  6. use addons\CloudStock\common\services\CloudStockGiftPlanService;
  7. use common\enums\StatusEnum;
  8. use common\models\goods\Goods;
  9. use Yii;
  10. /**
  11. * 默认控制器
  12. *
  13. * Class DefaultController
  14. * @package addons\CloudStock\backend\controllers
  15. */
  16. class GiftPlanController extends BaseController
  17. {
  18. public $enableCsrfValidation = false;
  19. public function actionIndex()
  20. {
  21. $request = Yii::$app->request;
  22. if ($request->isAjax) {
  23. // 查询参数
  24. if (\Yii::$app->request->isAjax) {
  25. if (\Yii::$app->request->isGet) {
  26. $params = \Yii::$app->request->get();
  27. $params['mall_id'] = $this->mall_id;
  28. $data = (new CloudStockGiftPlanService(['mall_id' => $this->mall_id]))->index($params);
  29. return $this->success('操作成功', $data);
  30. }
  31. }
  32. }
  33. return $this->render($this->action->id);
  34. }
  35. public function actionEdit()
  36. {
  37. try {
  38. $request = Yii::$app->request;
  39. if ($request->isAjax) {
  40. if ($request->isGet) {
  41. $params = Yii::$app->request->get();
  42. $data = (new CloudStockGiftPlanService(['mall_id' => $this->mall_id]))->detail($params);
  43. return $this->success('操作成功', $data);
  44. }
  45. if ($request->isPost) {
  46. $params = Yii::$app->request->post();
  47. // $res = Yii::$app->services->validate->validate($params, [
  48. // [['user_id', 'level', 'id_card_front', 'id_card_back', 'door_photo', 'business_license',
  49. // 'province_id', 'province', 'city_id', 'city', 'district_id', 'district', 'detail'
  50. // ], 'required'],
  51. // [['id'], 'safe'],
  52. // ]);
  53. // if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  54. $params['mall_id'] = $this->mall_id;
  55. $ret = (new CloudStockGiftPlanService(['mall_id' => $this->mall_id]))->edit($params);
  56. return $this->success('操作成功', $ret);
  57. }
  58. }
  59. } catch (\Exception $e) {
  60. return $this->error($e->getMessage(), []);
  61. }
  62. }
  63. public function actionSwitchStatus()
  64. {
  65. try {
  66. if (\Yii::$app->request->isAjax) {
  67. if (\Yii::$app->request->isPost) {
  68. $params = \Yii::$app->request->post();
  69. $res = Yii::$app->services->validate->validate($params, [
  70. [['id'], 'required'],
  71. [['status'], 'integer']
  72. ]);
  73. if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  74. $params['mall_id'] = $this->mall_id;
  75. (new CloudStockGiftPlanService(['mall_id' => $this->mall_id]))->switchStatus($params);
  76. return $this->success('操作成功');
  77. }
  78. }
  79. return $this->error();
  80. } catch (\Exception $e) {
  81. return $this->error($e->getMessage(), []);
  82. }
  83. }
  84. public function actionDelete()
  85. {
  86. try {
  87. if (\Yii::$app->request->isAjax) {
  88. if (\Yii::$app->request->isPost) {
  89. $params = \Yii::$app->request->post();
  90. $res = Yii::$app->services->validate->validate($params, [
  91. [['id'], 'required'],
  92. ]);
  93. if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  94. $params['mall_id'] = $this->mall_id;
  95. $params['status'] = StatusEnum::DELETE;
  96. (new CloudStockGiftPlanService(['mall_id' => $this->mall_id]))->del($params);
  97. return $this->success('操作成功');
  98. }
  99. }
  100. return $this->error();
  101. } catch (\Exception $e) {
  102. return $this->error($e->getMessage(), []);
  103. }
  104. }
  105. public function actionUpdateStatus()
  106. {
  107. $params = Yii::$app->request->post();
  108. $params['mall_id'] = $this->mall_id;
  109. $res = CloudStockUpgradeBag::setData($params);
  110. if ($res === false) return $this->error(CloudStockLevel::getStaticError());
  111. return $this->success('操作成功');
  112. }
  113. public function actionDel()
  114. {
  115. $params = Yii::$app->request->get();
  116. $params['mall_id'] = $this->mall_id;
  117. $params['status'] = StatusEnum::DELETE;
  118. $res = CloudStockUpgradeBag::setData($params);
  119. if ($res === false) return $this->error(CloudStockLevel::getStaticError());
  120. return $this->success('操作成功');
  121. }
  122. //不用验证权限
  123. public function actionGetCloudStockGoodsList()
  124. {
  125. $where[] = ['=', 'mall_id', $this->mall_id];
  126. $where[] = ['in', 'status', [StatusEnum::DISABLED, StatusEnum::ENABLED]];
  127. $params = [
  128. 'where' => $where, 'order' => 'id desc', 'select' => 'id,goods_id'
  129. ];
  130. $page_data = CloudStockGoods::listPage($params, true, true);
  131. if (!empty($page_data['list'])) {
  132. $goods_id_arr = array_column($page_data['list'], 'goods_id');
  133. $goods_arr = Goods::lists(['where' => [['id' => $goods_id_arr]], 'index' => 'id']);
  134. foreach ($page_data['list'] as &$item) {
  135. $item['goods_name'] = $item['cover_pic'] = '';
  136. if (!empty($goods_arr[$item['goods_id']])) {
  137. $item['goods_name'] = $goods_arr[$item['goods_id']]['goods_name'];
  138. $item['cover_pic'] = $goods_arr[$item['goods_id']]['cover_pic'];
  139. }
  140. }
  141. }
  142. return $this->success('操作成功', $page_data);
  143. }
  144. }