Mt4UserController.php 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. namespace backend\controllers;
  3. use backend\helpers\PaginationHelper;
  4. use backend\helpers\ValidatorHelper;
  5. use backend\models\Commission;
  6. use backend\models\Member;
  7. use backend\models\UserMember;
  8. use common\helpers\Utils;
  9. use Yii;
  10. use backend\models\Mt4Users;
  11. class Mt4UserController extends BaseController
  12. {
  13. public function actionInfo()
  14. {
  15. $login = (int) Yii::$app->request->get('login');
  16. $from = Yii::$app->getRequest()->get('from');
  17. if (!$login) {
  18. return $this->outJson(0, [], '参数错误');
  19. }
  20. $model = new Mt4Users();
  21. $data = $model->findByLogin($login, true);
  22. if ($data) {
  23. if ($from == 'admin') {
  24. $ib = null;
  25. $parents = null;
  26. $isCommissionRun = null;
  27. $userMember = UserMember::find()->where(['login' => $login])->asArray()->limit(1)->one();
  28. if ($userMember != null) {
  29. $isCommissionRun = $userMember['is_commission_run'];
  30. $ib = Member::find()->where(['id' => $userMember['member_id']])->limit(1)->one();
  31. if ($ib != null) {
  32. $parents = Member::findParents($ib['id']);
  33. foreach ($parents as $key => $parent) {
  34. $parents[$key]['comm'] = Commission::find()->where(['login' => $login, 'member_id' => $parent['id']])->asArray()->limit(1)->one();
  35. }
  36. }
  37. }
  38. $data['isCommissionRun'] = $isCommissionRun;
  39. $data['ib'] = $ib;
  40. $data['parents'] = $parents == null ? null : array_reverse($parents);
  41. }
  42. return $this->outJson(1, $data);
  43. } else {
  44. return $this->outJson(0, [], '没有数据');
  45. }
  46. }
  47. /**
  48. * 名下用户
  49. */
  50. public function actionList()
  51. {
  52. $model = new Mt4Users();
  53. $result = $model->getList(Yii::$app->request->post());
  54. if ($result['code']) {
  55. return $this->outJson(1, $result['data']);
  56. } else {
  57. return $this->outJson(0, [], $result['message']);
  58. }
  59. }
  60. /**
  61. * MT4账户列表
  62. * @return \yii\web\Response
  63. */
  64. public function actionPagelist()
  65. {
  66. $data = Yii::$app->getRequest()->get();
  67. $data['search'] = isset($data['search']) ? trim($data['search']) : '';
  68. $data['page'] = isset($data['page']) ? max(intval($data['page']), 1) : 1;
  69. $data['pageSize'] = isset($data['pageSize']) ? intval($data['pageSize']) : 20;
  70. $data['orderBy'] = isset($data['orderBy']) ? trim($data['orderBy']) : 'LOGIN desc';
  71. $data = ValidatorHelper::validateData($data, [
  72. ['search', 'string'],
  73. ['page', 'integer', 'min' => 1],
  74. ['pageSize', 'integer', 'min' => 1],
  75. ['orderBy', 'string'],
  76. ], $errors);
  77. if ($data == false) {
  78. return $this->outJson(0, '', $errors);
  79. }
  80. $query = Mt4Users::find()->with(['ibMember'])->orderBy($data['orderBy']);
  81. $query->andWhere(['!=', 'GROUP', 'demoforex-usd']);
  82. $query->andFilterWhere([
  83. 'or',
  84. ['like', 'LOGIN', $data['search']],
  85. ['like', 'NAME', $data['search']],
  86. ]);
  87. $result = PaginationHelper::queryPage($query, $data['page'], $data['pageSize']);
  88. foreach ($result['dataList'] as $key => $row) {
  89. $result['dataList'][$key]['MARGIN'] = Utils::formatFloatOrInt($result['dataList'][$key]['MARGIN']);
  90. $result['dataList'][$key]['MARGIN_FREE'] = Utils::formatFloatOrInt($result['dataList'][$key]['MARGIN_FREE']);
  91. $result['dataList'][$key]['MARGIN_LEVEL'] = Utils::formatFloatOrInt($result['dataList'][$key]['MARGIN_LEVEL']);
  92. $result['dataList'][$key]['EQUITY'] = Utils::formatFloatOrInt($result['dataList'][$key]['EQUITY']);
  93. if (isset($result['dataList'][$key]['ibMember']['name'])) {
  94. $result['dataList'][$key]['IBNAME'] = $result['dataList'][$key]['ibMember']['name'];
  95. } else {
  96. $result['dataList'][$key]['IBNAME'] = '';
  97. }
  98. unset($result['dataList'][$key]['ibMember']);
  99. }
  100. return $this->outJson(1, $result);
  101. }
  102. }