MemberController.php 4.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. <?php
  2. namespace addons\IssueCoupons\backend\controllers;
  3. use addons\IssueCoupons\common\enums\IssueCouponsEnum;
  4. use addons\IssueCoupons\common\models\IssueCouponsRule;
  5. use addons\IssueCoupons\common\models\IssueCouponsUser;
  6. use common\enums\AddonsEnum;
  7. use common\enums\StatusEnum;
  8. use common\models\mall\MallAddons;
  9. use common\models\user\User;
  10. use common\models\user\UserLabel;
  11. use common\models\user\UserLevel;
  12. use Yii;
  13. use common\controllers\AddonsController;
  14. use yii\db\Exception;
  15. /**
  16. * 默认控制器
  17. *
  18. * Class DefaultController
  19. * @package addons\IssueCoupons\backend\controllers
  20. */
  21. class MemberController extends BaseController
  22. {
  23. public $enableCsrfValidation = false;
  24. /**
  25. * 获取配置
  26. * @Author: ltm
  27. * @DateTime: 2022/06/28 0015 10:43
  28. * @Copyright: copyright (c) 2021 广东七件事集团
  29. * @return array|string|\yii\web\Response
  30. */
  31. public function actionIndex()
  32. {
  33. $retuest = Yii::$app->request;
  34. if ($retuest->isAjax) {
  35. if ($retuest->isPost) {
  36. $params = Yii::$app->request->post();
  37. // 检查提交的参数
  38. $res = Yii::$app->services->validate->validate($params,[
  39. [['name','user_name'], 'string'],
  40. [['create_time'],'safe']
  41. ]);
  42. if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  43. $where = [];
  44. $time = time();
  45. if(!empty($params['name'])){
  46. $user_ids = IssueCouponsRule::find()->select("id")->where(['mall_id' => $this->mall_id])->andWhere(['like', 'name', $params['name'] . '%', false])->asArray()->column();
  47. if (empty($user_ids)) $this->success('查无此用户');
  48. $where[] = ['in', 'rule_id', $user_ids];
  49. };
  50. if (!empty($params['user_name'])) {
  51. $user_name = [];
  52. $user_ids = [];
  53. $user_ids = User::find()->select("id")->where(['mall_id' => $this->mall_id])->andWhere(['like', 'mobile', $params['user_name'] . '%', false])->asArray()->column();
  54. $user_name = User::find()->select("id")->where(['mall_id' => $this->mall_id])->andWhere(['like', 'nickname', $params['user_name'] . '%', false])->asArray()->column();
  55. $user_ids = $user_ids + $user_name;
  56. if (empty($user_ids)) $this->success('查无此用户');
  57. $where[] = ['in', 'user_id', $user_ids];
  58. }
  59. if($params['create_time']) $where[] = ['between', 'created_at', strtotime($params['create_time'][0]),strtotime($params['create_time'][1])];
  60. $where[] = ['=', 'mall_id', $this->mall_id];
  61. $where[] = ['>=', 'status', StatusEnum::DISABLED];
  62. $order = 'id desc';
  63. $params = array('where' => $where, 'with'=>['user','rule'], 'order'=>$order, 'limit' => $params['limit']);
  64. $list = IssueCouponsUser::listPage($params, false, true);
  65. if($list['list']){
  66. foreach ($list['list'] as $k => $v){
  67. if($v['rule']['coupon']){
  68. $coupon = json_decode($v['rule']['coupon'],true);
  69. if($coupon){
  70. $coupon_array = array_sum(array_column($coupon,'num'));
  71. $list['list'][$k]['rule']['coupon_num'] = $coupon_array;
  72. }
  73. }
  74. if($v['rule']['e_coupon']){
  75. $e_coupon = json_decode($v['rule']['e_coupon'],true);
  76. if($e_coupon){
  77. $e_coupon_array = array_sum(array_column($e_coupon,'num'));
  78. $list['list'][$k]['rule']['e_coupon_num'] = $e_coupon_array;
  79. }
  80. }
  81. }
  82. }
  83. $list['now_time'] = time();
  84. $this->success('获取成功', $list);
  85. }
  86. } else {
  87. return $this->render($this->action->id);
  88. }
  89. }
  90. }