RecordController.php 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <?php
  2. namespace addons\RandomRedPacket\backend\controllers;
  3. use addons\RandomRedPacket\common\models\RandomRedPacket;
  4. use addons\RandomRedPacket\common\models\RandomRedPacketRecord;
  5. use addons\Rebate\backend\controllers\BaseController;
  6. use common\enums\StatusEnum;
  7. use common\models\user\User;
  8. use Yii;
  9. use common\controllers\AddonsController;
  10. use yii\helpers\Json;
  11. class RecordController extends BaseController
  12. {
  13. public $enableCsrfValidation = false;
  14. /**
  15. * 活动列表
  16. * @Author: wu
  17. * @DateTime: 2023/2/17 0015 18:06
  18. * @Copyright: copyright (c) 2023 广东七件事集团
  19. * @return string|\yii\web\Response
  20. */
  21. public function actionIndex()
  22. {
  23. if (Yii::$app->request->isAjax) {
  24. if (Yii::$app->request->isPost) {
  25. $params = Yii::$app->request->post();
  26. // 检查提交的参数
  27. $res = Yii::$app->services->validate->validate($get,[
  28. [['activities_number', 'reward_type'], 'integer'],
  29. [['activities_name'], 'string'],
  30. ]);
  31. if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  32. $filter = [];
  33. if(!empty($params['user_id'])){
  34. $userQuery = User::find()->where(['mall_id'=>$this->mall_id]);
  35. $search_user_ids = $userQuery->andWhere(['=', 'id', $params['user_id']])->select(['id'])->asArray()->all();
  36. $search_user_ids = array_column($search_user_ids, 'id');
  37. if ($search_user_ids) {
  38. $filter[] = ['uid' => $search_user_ids];
  39. } else {
  40. $filter[] = ['uid' => []];
  41. }
  42. }
  43. $where = [];
  44. !empty($params['activities_number']) && $where[] = ['like', 'activities_number', $params['activities_number']];
  45. !empty($params['activities_name']) && $where[] = ['like', 'activities_name', $params['activities_name']];
  46. if(!empty($where)){
  47. $select = 'id';
  48. $params = compact('where','select');
  49. $packet_data = RandomRedPacket::listPage($params);
  50. $search_packet_ids = array_column($packet_data['list'], 'id');
  51. if ($search_packet_ids) {
  52. $filter[] = ['packet_id' => $search_packet_ids];
  53. } else {
  54. $filter[] = ['packet_id' => []];
  55. }
  56. }
  57. $where = array_merge([['mall_id' => $this->mall_id]], $filter);
  58. $params = [
  59. 'where' => $where,
  60. 'with' => ['user','randomRedPacket'],
  61. 'order' => 'id DESC',
  62. ];
  63. $list = RandomRedPacketRecord::listPage($params);
  64. $this->success('获取成功', ['list' => $list]);
  65. }
  66. } else {
  67. return $this->render($this->action->id);
  68. }
  69. }
  70. }