IndexController.php 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <?php
  2. namespace addons\CloudStockTwo\api\modules\v1\controllers;
  3. use addons\CloudStockTwo\common\models\CloudStockTwoAgent;
  4. use addons\CloudStockTwo\common\models\CloudStockTwoAgentGoods;
  5. use common\enums\AddonsEnum;
  6. use common\enums\StatusEnum;
  7. use common\models\user\User;
  8. use addons\CloudStockTwo\common\enums\CloudStockTwoEnum;
  9. use common\models\common\CapitalLog;
  10. class IndexController extends BaseController
  11. {
  12. public $modelClass = '';
  13. /**
  14. * 不用进行登录验证的方法
  15. *
  16. * 例如: ['index', 'update', 'create', 'view', 'delete']
  17. * 默认全部需要验证
  18. *
  19. * @var array
  20. */
  21. protected $authOptional = [];
  22. /**
  23. * 首页
  24. *
  25. * @return string
  26. */
  27. public function actionIndex()
  28. {
  29. if (!\Yii::$app->request->isGet) {
  30. return $this->error('请求方式错误');
  31. }
  32. $mall_id = $this->mall_id;
  33. $user_id = $this->user_id;
  34. $data['agent_stock_goods_amount'] = CloudStockTwoAgentGoods::find()
  35. ->where(['mall_id' => $mall_id, 'user_id' => $user_id, 'status' => StatusEnum::ENABLED])
  36. ->sum('num');
  37. $stock_agent = $this->stock_agent;
  38. if (!empty($stock_agent->user)) {
  39. $user = $stock_agent->user;
  40. } else {
  41. $user = User::findOne(["id" => $user_id, "mall_id" => $mall_id, 'status' => StatusEnum::ENABLED]);
  42. }
  43. $start_time = strtotime(date('Y-m-d 00:00:00',strtotime("-1 day")));
  44. $end_time = $start_time + 24 * 60 * 60;
  45. CapitalLog::$capitalType = 'commission_frozen';
  46. $frozen_capital_total = CapitalLog::find()
  47. ->where(['mall_id' => $this->mall_id, 'from_type' => CloudStockTwoEnum::ADDONS_NAME, 'status' => 0,'user_id'=>$user_id])
  48. ->andWhere(['>=','created_at',$start_time])
  49. ->andWhere(['<','created_at',$end_time])
  50. ->sum('change_num');
  51. CapitalLog::$capitalType = 'commission';
  52. $commission_total = CapitalLog::find()
  53. ->where(['mall_id' => $this->mall_id, 'from_type' => CloudStockTwoEnum::ADDONS_NAME,'change_type'=>'add','user_id'=>$user_id])
  54. ->andWhere(['>=','created_at',$start_time])
  55. ->andWhere(['<','created_at',$end_time])
  56. ->sum('change_num');
  57. $data['agent_price'] = $stock_agent->price;
  58. $data['agent_frozen_price'] = $stock_agent->frozen_price;
  59. $data['agent_total_price'] = bcadd($stock_agent->frozen_price,$stock_agent->price,2);
  60. $data['agent_yesterday_price'] = bcadd($frozen_capital_total,$commission_total,2);
  61. $data['agent_level'] = $stock_agent->level;
  62. $data['agent_level_name'] = $stock_agent->stockLevel->name;
  63. $data['agent_nickname'] = $user->nickname ?: '默认会员';
  64. $data['agent_user_id'] = $user->id;
  65. $data['agent_avatar_url'] = $user->avatar_url;
  66. $parent_user = $user->parent;
  67. if ($parent_user) {
  68. $data['parent_user_nickname'] = $parent_user->nickname;
  69. } else {
  70. $data['parent_user_nickname'] = "平台";
  71. }
  72. $data['parent_user_id'] = $parent_user->id ?? 0;
  73. $data['is_give_quota'] = \Yii::$app->services->setting->addons->get($this->mall_id, AddonsEnum::ADDONS_NAME_CLOUD_STOCK_TWO, 'basic.is_give_quota');
  74. $pay_config = json_decode(\Yii::$app->services->setting->mall->get($this->mall_id, 'pay.balance'), true);
  75. $data['pay_password_status'] = $pay_config['pay_password_status'];
  76. return $this->success("成功", $data);
  77. }
  78. }