DiyController.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. <?php
  2. namespace addons\Mch\backend\controllers;
  3. use addons\Mch\common\enums\MchEnum;
  4. use addons\Mch\common\models\Mch;
  5. use common\enums\StatusEnum;
  6. use common\models\common\AddonsMarketingSetting;
  7. class DiyController extends BaseController
  8. {
  9. public function actionIndex()
  10. {
  11. if (!\Yii::$app->request->isAjax) {
  12. return $this->render('/diy/index');
  13. }
  14. if (\Yii::$app->request->isGet) {
  15. $params['mall_id'] = $this->mall_id;
  16. $params['addons_name'] = MchEnum::ADDONS_NAME;
  17. $params['status'] = StatusEnum::ENABLED;
  18. $res = AddonsMarketingSetting::findOne($params);
  19. if ($res == false) return $this->success('操作成功', []);
  20. $data = $res->toArray();
  21. $content = json_decode($data['content'], true);
  22. if (!empty($content)) {
  23. if (empty($content['3']['data']['listType'])) {
  24. $store_data = array_pop($content);
  25. $store_ids = [];
  26. if (!empty($store_data['data']['goods'])) {
  27. foreach ($store_data['data']['goods'] as $item) {
  28. $store_ids[] = $item['params']['store_id'];
  29. }
  30. $list = Mch::lists(
  31. ['where' => [
  32. ['id' => $store_ids],
  33. ['status' => StatusEnum::ENABLED],
  34. ['mall_id' => $this->mall_id]
  35. ], 'select' => 'id']
  36. );
  37. $list = [];
  38. $store_id_arr = array_column($list, 'id'); //没有被删除的活动id
  39. $goods_data = [];
  40. foreach ($store_data['data']['goods'] as $item) {
  41. if (in_array($item['params']['id'], $store_id_arr)) $goods_data[] = $item;
  42. }
  43. $store_data['data']['goods'] = $goods_data;
  44. $content[] = $store_data;
  45. $data['content'] = json_encode($content);
  46. }
  47. }
  48. }
  49. return $this->success('操作成功', $data);
  50. } else {
  51. $params = \Yii::$app->request->post();
  52. $res = \Yii::$app->services->validate->validate($params, [
  53. [['content'], 'required'],
  54. ]);
  55. if ($res === false) return $this->error(\Yii::$app->services->validate->getErrorMessage());
  56. $params['mall_id'] = $this->mall_id;
  57. $params['addons_name'] = MchEnum::ADDONS_NAME;
  58. $res = AddonsMarketingSetting::setData($params);
  59. if ($res == false) return $this->error(AddonsMarketingSetting::getStaticError());
  60. return $this->success('操作成功', []);
  61. }
  62. }
  63. public function actionMchList()
  64. {
  65. if (!\Yii::$app->request->isGet) {
  66. return $this->error('请求方式错误');
  67. }
  68. $mch_ids = \Yii::$app->request->get('mch_ids');
  69. $query = Mch::find()
  70. ->select('id,mall_id,user_id,store_name,logo_img,store_name as title,logo_img as img')
  71. ->where(['mall_id' => $this->mall_id, 'status' => StatusEnum::ENABLED, 'check_status' => MchEnum::CHECK_ADOPT]);
  72. if (!empty($mch_ids)) {
  73. $query->andWhere(['id' => $mch_ids]);
  74. }
  75. $stores = $query->asArray()->all();
  76. return $this->success('success', $stores);
  77. }
  78. }