Mt4ManagerApi.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. <?php
  2. /**
  3. * Created by PhpStorm.
  4. * User: Admin
  5. * Date: 2018/9/3
  6. * Time: 9:34
  7. */
  8. namespace common\lib;
  9. use backend\models\Config;
  10. class Mt4ManagerApi
  11. {
  12. /**
  13. * @var string
  14. */
  15. //public $url = 'http://43.239.176.170:30002/api';
  16. public $url = '';
  17. public $userParams = [
  18. 'group',
  19. 'password',
  20. 'password_investor',
  21. 'name',
  22. 'country',
  23. 'city',
  24. 'state',
  25. 'zipcode',
  26. 'address',
  27. 'lead_source',
  28. 'phone',
  29. 'email',
  30. 'commnet',
  31. 'id',
  32. 'status',
  33. 'regdate',
  34. 'leverage',
  35. 'agent_account',
  36. 'interestrate',
  37. 'taxes',
  38. 'send_reports',
  39. 'enable_read_only',
  40. 'enable'
  41. ];
  42. /**
  43. * 出入金操作
  44. */
  45. public function balance($cmd, $login, $price, $comment='')
  46. {
  47. $configData = Config::find()->asArray()->one();
  48. $this->url = "http://{$configData['mt4_balance_ip']}:{$configData['mt4_balance_port']}/api";
  49. if (!$cmd || !$login || !$price) {
  50. return false;
  51. }
  52. $params = [
  53. 'cmd' => trim($cmd),
  54. 'login' => trim($login),
  55. 'price' => $price,
  56. 'comment' => $comment
  57. ];
  58. return $this->_httpRequest($this->url, $params);
  59. }
  60. /**
  61. * 更新用户信息
  62. */
  63. public function userUpdate($login, $data)
  64. {
  65. $configData = Config::find()->asArray()->one();
  66. $this->url = "http://{$configData['mt4_balance_ip']}:{$configData['mt4_balance_port']}/api";
  67. if (!$login || !$data) {
  68. return false;
  69. }
  70. foreach ($data as $key => $val) {
  71. if (!in_array($key, $this->userParams)) {
  72. return false;
  73. }
  74. }
  75. $data['cmd'] = 'userupdate';
  76. $data['login'] = trim($login);
  77. return $this->_httpRequest($this->url, $data);
  78. }
  79. /**
  80. * curl 请求
  81. */
  82. public function _httpRequest($url, $params)
  83. {
  84. $curlPost = http_build_query($params);
  85. $ch = curl_init();//初始化curl
  86. curl_setopt($ch, CURLOPT_URL,$url);
  87. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
  88. curl_setopt($ch, CURLOPT_POST, 1);//post提交方式
  89. curl_setopt($ch, CURLOPT_TIMEOUT, 15);
  90. curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
  91. $data = curl_exec($ch);//运行curl
  92. curl_close($ch);
  93. return $data;
  94. }
  95. }