RewardController.php 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: wniu
  5. * Date: 2022/2/17
  6. * Time: 3:08 下午
  7. */
  8. namespace addons\OperatingNote\backend\controllers;
  9. use addons\OperatingNote\common\models\AddonsOperatingNoteRewardRecord;
  10. use common\models\user\User;
  11. use Yii;
  12. class RewardController extends BaseController
  13. {
  14. public $enableCsrfValidation = false;
  15. public function actionIndex()
  16. {
  17. $request = Yii::$app->request;
  18. if ($request->isAjax) {
  19. if ($request->isPost) {
  20. $post = Yii::$app->request->post();
  21. // 检查提交的参数
  22. $res = Yii::$app->services->validate->validate($post, [
  23. [['mobile', 'user_id', 'user_name', 'note_type', 'reward_source'], 'safe'],
  24. [['limit'], 'default', 'value' => '15'],
  25. ]);
  26. if ($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  27. $post = AddonsOperatingNoteRewardRecord::exceptNullVal($post);
  28. // 根据搜索手机号查询用户id
  29. if (isset($post['mobile']) && !empty($post['mobile'])) {
  30. $user_ids = User::find()->select("id")->where(['mall_id' => $this->mall_id])->andWhere(['like', 'mobile', $post['mobile'] . '%', false])->asArray()->column();
  31. if (empty($user_ids)) $this->success('查无此用户');
  32. $where[] = ['in', 'user_id', $user_ids];
  33. }
  34. // 根据搜索会员昵称查询用户id
  35. if (isset($post['user_name']) && !empty($post['user_name'])) {
  36. $user_ids = User::find()->select("id")->where(['mall_id' => $this->mall_id])->andWhere(['like', 'nickname', $post['user_name'] . '%', false])->asArray()->column();
  37. $where[] = ['in', 'user_id', $user_ids];
  38. }
  39. if (isset($post['user_id']) && !empty($post['user_id'])) {
  40. $where[] = ['=', 'user_id', $post['user_id']];
  41. }
  42. if (isset($post['note_type']) && $post['note_type'] > 0) {
  43. $where[] = ['=', 'note_type', $post['note_type']];
  44. }
  45. if (isset($post['reward_source']) && $post['reward_source'] > 0) {
  46. $where[] = ['=', 'reward_source', $post['reward_source']];
  47. }
  48. $where[] = ['=', 'mall_id', $this->mall_id];
  49. $order = 'id desc';
  50. $params = array('where' => $where, 'order' => $order, 'limit' => $post['limit'], 'with' => ['user']);
  51. $list = AddonsOperatingNoteRewardRecord::listPage($params, false, true);
  52. if ($list['list']) {
  53. foreach ($list['list'] as $k => &$v) {
  54. if ($v['note_type'] == 1) {
  55. $list['list'][$k]['note_type_name'] = '图文';
  56. } elseif ($v['note_type'] == 2) {
  57. $list['list'][$k]['note_type_name'] = '视频';
  58. } else {
  59. $list['list'][$k]['note_type_name'] = '广告';
  60. }
  61. if ($v['reward_source'] == 1) {
  62. $list['list'][$k]['reward_source_name'] = '阅读';
  63. } else {
  64. $list['list'][$k]['reward_source_name'] = '分享';
  65. }
  66. if ($v['reward_type'] == 0) {
  67. $v['reward_content'] = floatval($v['reward_content']) . '积分';
  68. } elseif ($v['reward_type'] == 1) {
  69. $v['reward_content'] = floatval($v['reward_content']) . '余额';
  70. } else {
  71. $v['reward_content'] = floatval($v['reward_content']) . '红包';
  72. }
  73. }
  74. }
  75. $this->success('获取成功', $list);
  76. }
  77. }
  78. return $this->render($this->action->id);
  79. }
  80. }