CreditsLogController.php 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <?php
  2. namespace addons\TinyShop\api\modules\v1\controllers\member;
  3. use Yii;
  4. use yii\data\ActiveDataProvider;
  5. use api\controllers\UserAuthController;
  6. use common\enums\StatusEnum;
  7. use common\enums\CreditsLogTypeEnum;
  8. use common\models\member\CreditsLog;
  9. /**
  10. * 积分/余额/成长值记录
  11. *
  12. * Class CreditsLogController
  13. * @package addons\TinyShop\api\modules\v1\controllers\member
  14. * @author jianyan74 <751393839@qq.com>
  15. */
  16. class CreditsLogController extends UserAuthController
  17. {
  18. /**
  19. * @var CreditsLog
  20. */
  21. public $modelClass = CreditsLog::class;
  22. /**
  23. * 首页
  24. *
  25. * @return ActiveDataProvider
  26. */
  27. public function actionIndex()
  28. {
  29. $type = Yii::$app->request->get('type');
  30. $numType = Yii::$app->request->get('num_type');
  31. switch ($type) {
  32. case 1 :
  33. // 余额
  34. $type = [CreditsLogTypeEnum::USER_MONEY, CreditsLogTypeEnum::CONSUME_MONEY];
  35. break;
  36. case 2 :
  37. // 成长值
  38. $type = [CreditsLogTypeEnum::USER_GROWTH];
  39. break;
  40. default :
  41. // 积分
  42. $type = [CreditsLogTypeEnum::USER_INTEGRAL];
  43. break;
  44. }
  45. $numWhere = [];
  46. if (!empty($numType)) {
  47. // 1: 增加;2:减少;
  48. $numWhere = $numType == 1 ? ['>', 'num', 0] : ['<=', 'num', 0];
  49. }
  50. return new ActiveDataProvider([
  51. 'query' => $this->modelClass::find()
  52. ->where([
  53. 'member_id' => Yii::$app->user->identity->member_id,
  54. 'status' => StatusEnum::ENABLED
  55. ])
  56. ->andWhere(['in', 'type', $type])
  57. ->andFilterWhere($numWhere)
  58. ->andFilterWhere(['merchant_id' => $this->getMerchantId()])
  59. ->orderBy('id desc')
  60. ->asArray(),
  61. 'pagination' => [
  62. 'pageSize' => $this->pageSize,
  63. 'validatePage' => false,// 超出分页不返回data
  64. ],
  65. ]);
  66. }
  67. /**
  68. * 权限验证
  69. *
  70. * @param string $action 当前的方法
  71. * @param null $model 当前的模型类
  72. * @param array $params $_GET变量
  73. * @throws \yii\web\BadRequestHttpException
  74. */
  75. public function checkAccess($action, $model = null, $params = [])
  76. {
  77. // 方法名称
  78. if (in_array($action, ['delete', 'update', 'create'])) {
  79. throw new \yii\web\BadRequestHttpException('权限不足');
  80. }
  81. }
  82. }
粤ICP备19079148号