DiyController.php 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <?php
  2. namespace addons\LuckyGroup\backend\controllers;
  3. use addons\LuckyGroup\common\enums\LuckyGroupEnum;
  4. use addons\LuckyGroup\common\models\LuckyGroupActivity;
  5. use common\enums\StatusEnum;
  6. use common\models\common\AddonsMarketingSetting;
  7. class DiyController extends BaseController{
  8. public function actionIndex()
  9. {
  10. if (\Yii::$app->request->isAjax) {
  11. if (\Yii::$app->request->isPost) {
  12. $params = \Yii::$app->request->post();
  13. $res = \Yii::$app->services->validate->validate($params, [
  14. [['content'], 'required'],
  15. ]);
  16. if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
  17. $params['mall_id'] = $this->mall_id;
  18. $params['addons_name'] = LuckyGroupEnum::ADDONS_NAME;
  19. $res = AddonsMarketingSetting::setData($params);
  20. if ($res == false) return $this->error(AddonsMarketingSetting::getStaticError());
  21. return $this->success('操作成功', []);
  22. }
  23. if (\Yii::$app->request->isGet) {
  24. $params['mall_id'] = $this->mall_id;
  25. $params['addons_name'] = LuckyGroupEnum::ADDONS_NAME;
  26. $params['status'] = StatusEnum::ENABLED;
  27. $res = AddonsMarketingSetting::findOne($params);
  28. if ($res == false) return $this->success('操作成功', []);
  29. $data = $res->toArray();
  30. $content = json_decode($data['content'], true);
  31. if (!empty($content)) {
  32. if(empty($content['3']['data']['listType'])){
  33. $active_data = array_pop($content);
  34. $active_ids = [];
  35. if (!empty($active_data['data']['goods'])) {
  36. foreach ($active_data['data']['goods'] as $item) {
  37. $active_ids[] = $item['params']['activity_id'];
  38. }
  39. $list = LuckyGroupActivity::lists(['where' => [
  40. ['id' => $active_ids],
  41. ['status' => StatusEnum::ENABLED],
  42. ['mall_id' => $this->mall_id]], 'select' => 'id']
  43. );
  44. $active_id_arr = array_column($list, 'id');//没有被删除的活动id
  45. $goods_data = [];
  46. foreach ($active_data['data']['goods'] as $item) {
  47. if (in_array($item['params']['id'], $active_id_arr)) $goods_data[] = $item;
  48. }
  49. $active_data['data']['goods'] = $goods_data;
  50. $content[] = $active_data;
  51. $data['content'] = json_encode($content);
  52. }
  53. }
  54. }
  55. return $this->success('操作成功', $data);
  56. }
  57. }
  58. return $this->render('index');
  59. }
  60. }