PoolController.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. namespace addons\DoubleCopy\api\modules\v1\controllers;
  3. use addons\DoubleCopy\common\enums\DoubleCopyEnum;
  4. use addons\DoubleCopy\common\models\DoubleCopyPoolLevel;
  5. use addons\DoubleCopy\common\models\DoubleCopyPoolLog;
  6. use addons\DoubleCopy\common\models\DoubleCopyPoolUser;
  7. use common\enums\StatusEnum;
  8. use Yii;
  9. use api\controllers\OnAuthController;
  10. /**
  11. * 默认控制器
  12. *
  13. * Class PoolController
  14. * @package addons\DoubleCopy\api\modules\v1\controllers
  15. */
  16. class PoolController extends OnAuthController
  17. {
  18. public $modelClass = '';
  19. /**
  20. * 不用进行登录验证的方法
  21. *
  22. * 例如: ['index', 'update', 'create', 'view', 'delete']
  23. * 默认全部需要验证
  24. *
  25. * @var array
  26. */
  27. protected $authOptional = ['index'];
  28. /**
  29. * 链动用户信息
  30. * @Author: lun
  31. * @DateTime: 2022/5/16 0016 16:48
  32. * @Copyright: copyright (c) 2021 广东七件事集团
  33. * @return mixed|void
  34. */
  35. public function actionInfo()
  36. {
  37. if (Yii::$app->request->isPost) {
  38. $data['user_id'] = $this->user_id;
  39. $data['nickname'] = $this->user->nickname ?? '';
  40. $data['avatar_url'] = $this->user->avatar_url ?? '';
  41. // 查询用户信息
  42. $select = 'user_id,level,pool_income,pool_income_score';
  43. $user = DoubleCopyPoolUser::find()->select($select)->where(['user_id' => $this->user_id, 'status' => StatusEnum::ENABLED])->asArray()->one();
  44. if (empty($user)) return $this->error('您并无参与该应用活动');
  45. // 头部数据
  46. $data['level'] = $user['level'];// 用户等级
  47. $data['pool_income'] = $user['pool_income'];// 已结算佣金
  48. $data['pool_income_msg'] = '元';
  49. //基础设置:当前奖励类型
  50. $config = Yii::$app->services->setting->addons->get($this->mall_id, DoubleCopyEnum::ADDONS_NAME, 'basic');
  51. $reward_currency = $config['reward_currency'] ?? 'commission';
  52. if($reward_currency == 'score'){
  53. $score_name = \Yii::$app->services->setting->mall->get($this->mall_id, 'score.score_name') ?? '积分';
  54. $data['pool_income'] = $user['pool_income_score'];// 已结算积分
  55. $data['pool_income_msg'] = $score_name;
  56. }
  57. // 获取等级名称
  58. $level_arr = DoubleCopyPoolLevel::find()->where(['mall_id' => $this->mall_id,'status' => StatusEnum::ENABLED])->indexBy('level')->asArray()->all();
  59. $data['level_name'] = $level_arr[$user['level']]['name'] ?: '默认等级';// 等级名称
  60. return $this->success('获取成功', $data);
  61. }
  62. }
  63. /**
  64. * 获取分红列表
  65. * @Author: lun
  66. * @DateTime: 2022/5/16 0016 17:09
  67. * @Copyright: copyright (c) 2021 广东七件事集团
  68. * @return mixed|void
  69. */
  70. public function actionBonusList()
  71. {
  72. if (Yii::$app->request->isGet) {
  73. $post = Yii::$app->request->get();
  74. // 检查提交的参数
  75. $res = Yii::$app->services->validate->validate($post,[
  76. [['page','limit'], 'integer'],
  77. ]);
  78. if($res === false) return $this->error(Yii::$app->services->validate->getErrorMessage());
  79. // 查询推荐内容
  80. $where[] = ['=', 'mall_id', $this->mall_id];
  81. $where[] = ['=', 'user_id', $this->user_id];
  82. $where[] = ['=', 'status', StatusEnum::ENABLED];
  83. $order = 'id desc,created_at desc';
  84. $select = 'user_id,bonus_money,created_at,reward_currency';
  85. $params = array('where' => $where, 'order' => $order, 'select' => $select);
  86. $list = DoubleCopyPoolLog::listPage($params);
  87. $score_name = \Yii::$app->services->setting->mall->get($this->mall_id, 'score.score_name') ?? '积分';
  88. $money_msg = [
  89. 'commission' => '元',
  90. 'score' => $score_name
  91. ];
  92. foreach($list['list'] as $key => $value){
  93. $value['money_msg'] = $money_msg[$value['reward_currency']] ?? '元';
  94. $list['list'][$key] = $value;
  95. }
  96. return $this->success('获取成功', $list);
  97. }
  98. }
  99. }