AjaxController.class.php 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856
  1. <?php
  2. namespace Home\Controller;
  3. class AjaxController extends HomeController
  4. {
  5. //上传用户身份证
  6. public function imgUser()
  7. {
  8. if (!userid()) {
  9. echo "nologin";
  10. }
  11. $upload = new \Think\Upload();
  12. $upload->maxSize = 3145728;
  13. $upload->exts = array('jpg', 'gif', 'png', 'jpeg');
  14. $upload->rootPath = './Upload/idcard/';
  15. $upload->autoSub = false;
  16. $info = $upload->upload();
  17. foreach ($info as $k => $v) {
  18. $path = $v['savepath'] . $v['savename'];
  19. echo $path;
  20. exit();
  21. }
  22. }
  23. //上传用户身份证
  24. public function upimgs()
  25. {
  26. if (!userid()) {
  27. echo "nologin";
  28. }
  29. $upload = new \Think\Upload();
  30. $upload->maxSize = 3145728;
  31. $upload->exts = array('jpg', 'gif', 'png', 'jpeg');
  32. $upload->rootPath = './Upload/payimg/';
  33. $upload->autoSub = false;
  34. $info = $upload->upload();
  35. foreach ($info as $k => $v) {
  36. $path = $v['savepath'] . $v['savename'];
  37. echo $path;
  38. exit();
  39. }
  40. }
  41. public function getJsonMenu($ajax = 'json')
  42. {
  43. $data = (APP_DEBUG ? null : S('getJsonMenu'));
  44. if (!$data) {
  45. foreach (C('market') as $k => $v) {
  46. $v['xnb'] = explode('_', $v['name'])[0];
  47. $v['rmb'] = explode('_', $v['name'])[1];
  48. $data[$k]['name'] = $v['name'];
  49. $data[$k]['img'] = $v['xnbimg'];
  50. $data[$k]['title'] = $v['title'];
  51. }
  52. S('getJsonMenu', $data);
  53. }
  54. if ($ajax) {
  55. exit(json_encode($data));
  56. } else {
  57. return $data;
  58. }
  59. }
  60. public function getJsonTopshow($market = NULL, $ajax = 'json')
  61. {
  62. $data = (APP_DEBUG ? null : S('getJsonTopshow' . $market));
  63. $showcoin = M('market')->where(array('fshow'=>1))->select();
  64. foreach ($showcoin as $k => $v) {
  65. $v['xnb'] = explode('_', $v['name'])[0];
  66. $v['rmb'] = explode('_', $v['name'])[1];
  67. $data[$k]['name'] = $v['xnb'] ;
  68. $data[$k]['title'] = strtoupper($v['xnb']) ;
  69. $data[$k]['new_price'] =round($v['new_price'],2) ;
  70. $data[$k]['change'] = $v['change'];
  71. if ($v['change']>0) {
  72. $data[$k]['zd']=1;//涨
  73. } elseif ($v['change']<0) {
  74. $data[$k]['zd']=2;//跌
  75. } else {
  76. $data[$k]['zd']=0;//平
  77. }
  78. $data[$k]['cje'] = round($v['volume'] * $v['new_price'], 2);
  79. if ($data[$k]['volume'] > 10000 && $data[$k]['volume'] < 100000000) {
  80. $data[$k]['cjl'] = (intval($data[$k]['volume'] / 10000*100)/100) . "万";
  81. }
  82. if ($data[$k]['volume'] > 100000000) {
  83. $data[$k]['cjl'] = (intval($data[$k]['volume'] / 100000000*100)/100) . "亿";
  84. }
  85. if ($data[$k]['cje'] > 10000 && $data[$k]['cje'] < 100000000) {
  86. $data[$k]['cje']= (intval($data[$k]['cje'] / 10000*100)/100) . "万";
  87. }
  88. if ($data[$k]['cje'] > 100000000) {
  89. $data[$k]['cje'] = (intval($data[$k]['cje'] / 100000000*100)/100) . "亿";
  90. }
  91. }
  92. S('getJsonTopshow' , $data);
  93. if ($ajax) {
  94. // var_dump(json_encode($data));die;
  95. exit(json_encode($data));
  96. } else {
  97. return $data;
  98. }
  99. }
  100. /** 自定义分区查询 改.HAOMA20181030 **/
  101. public function allcoin_a($id=1,$ajax='json')
  102. {
  103. $trandata_data = array();
  104. $trandata_data['info'] = "数据异常";
  105. $trandata_data['status'] = 0;
  106. $trandata_data['url'] = "";
  107. // 市场交易记录
  108. $marketLogs = array();
  109. foreach (C('market') as $k => $v) {
  110. $_tmp = null;
  111. if (!empty($_tmp)) {
  112. $marketLogs[$k] = $_tmp;
  113. } else {
  114. $_data = array();
  115. $tradeLog = M('TradeLog')->where(array('status' => 1,'market' => $k))->order('id desc')->limit(10)->select();
  116. foreach ($tradeLog as $_k => $v) {
  117. $_data['tradelog'][$_k]['addtime'] = date('m-d H:i:s', $v['addtime']);
  118. $_data['tradelog'][$_k]['addtimes'] = $v['addtime'];
  119. $_data['tradelog'][$_k]['type'] = $v['type'];
  120. $_data['tradelog'][$_k]['price'] = $v['price'] * 1;
  121. $_data['tradelog'][$_k]['num'] = round($v['num'], 6);
  122. $_data['tradelog'][$_k]['mum'] = round($v['mum'], 2);
  123. }
  124. $marketLogs[$k] = $_data;
  125. S('getTradelog' . $k, $_data);
  126. }
  127. }
  128. $volume_24h = array();
  129. $tradeAmount_24h = array();
  130. if ($marketLogs) {
  131. foreach (C('market') as $k => $v) {
  132. $_tradeLogs['num'] = M('TradeLog')->where(array(
  133. 'status' => 1,
  134. 'market' => $k,
  135. 'addtime' => array('gt', time() - (60 * 60 * 24))
  136. ))->sum('num');
  137. $_tradeLogs['mum'] = M('TradeLog')->where(array(
  138. 'status' => 1,
  139. 'market' => $k,
  140. 'addtime' => array('gt', time() - (60 * 60 * 24))
  141. ))->sum('mum');
  142. if ($_tradeLogs) {
  143. $volume_24h[$k] = round($_tradeLogs['num'], 4); // 24小时 交易量
  144. $tradeAmount_24h[$k] = round($_tradeLogs['mum'], 4); // 24小时 交易额
  145. }
  146. }
  147. }
  148. /* if ($marketLogs) {
  149. $_lasttime = time() - 86400;
  150. foreach (C('market') as $k => $v) {
  151. $tradeLog = isset($marketLogs[$k]['tradelog']) ? $marketLogs[$k]['tradelog'] : null;
  152. if ($tradeLog) {
  153. $num_s = 0;
  154. $mum_s = 0;
  155. foreach ($tradeLog as $_k => $_v) {
  156. if ($_v['addtimes'] < $_lasttime) {
  157. continue;
  158. }
  159. $num_s += $_v['num'];
  160. $mum_s += $_v['mum'];
  161. }
  162. $volume_24h[$k] = $num_s; // 24小时 交易量
  163. $tradeAmount_24h[$k] = $mum_s; // 24小时 交易额
  164. }
  165. }
  166. }*/
  167. if (!$data) {
  168. $trandata_data['info'] = "数据正常";
  169. $trandata_data['status'] = 1;
  170. $trandata_data['url'] = "";
  171. foreach (C('market') as $k => $v)
  172. {
  173. if ($v['jiaoyiqu'] == $id) {
  174. $xnb = strtoupper(explode('_', $v['name'])[0]);
  175. $market = strtoupper(explode('_', $v['name'])[1]);
  176. //币种简称
  177. $trandata_data['url'][$k][0] = $xnb;
  178. //币种市场
  179. $trandata_data['url'][$k][1] = $market;
  180. //最新成交价
  181. $trandata_data['url'][$k][2] = round($v['new_price'], $v['round']);
  182. //买一价
  183. $trandata_data['url'][$k][3] = round($v['buy_price'], $v['round']);
  184. //卖一价
  185. $trandata_data['url'][$k][4] = round($v['sell_price'], $v['round']);
  186. //交易额
  187. $trandata_data['url'][$k][5] = isset($tradeAmount_24h[$k]) ? $tradeAmount_24h[$k] : 0;//round($v['volume'] * $v['new_price'], 2) * 1;
  188. $trandata_data['url'][$k][6] = '';
  189. //交易量
  190. $trandata_data['url'][$k][7] = isset($volume_24h[$k]) ? $volume_24h[$k] : 0;//round($v['volume'], 4) * 1;
  191. //涨跌幅
  192. $trandata_data['url'][$k][8] = round($v['change'], 2);
  193. //链接专用
  194. $trandata_data['url'][$k][9] = $v['name'];
  195. //图图标地址
  196. $trandata_data['url'][$k][10] = $v['xnbimg'];
  197. //最高价
  198. $trandata_data['url'][$k][11] = round($v['max_price'], $v['round']);
  199. //最低价
  200. $trandata_data['url'][$k][12] = round($v['min_price'], $v['round']);
  201. $trandata_data['url'][$k][13] = '';
  202. }
  203. }
  204. }
  205. if ($ajax) {
  206. echo json_encode($trandata_data);
  207. unset($trandata_data);
  208. exit();
  209. } else {
  210. return $trandata_data;
  211. }
  212. }
  213. public function index_b_trends($ajax = 'json')
  214. {
  215. $data = (APP_DEBUG ? null : S('trends'));
  216. if (!$data) {
  217. foreach (C('market') as $k => $v) {
  218. $tendency = json_decode($v['tendency'], true);
  219. $data[$k]['data'] = $tendency;
  220. $data[$k]['yprice'] = $v['new_price'];
  221. }
  222. S('trends', $data);
  223. }
  224. if ($ajax) {
  225. exit(json_encode($data));
  226. } else {
  227. return $data;
  228. }
  229. }
  230. public function allfinance($ajax = 'json')
  231. {
  232. if (!userid()) {
  233. return false;
  234. }
  235. $UserCoin = M('UserCoin')->where(array('userid' => userid()))->find();
  236. $cny['zj'] = 0;
  237. foreach (C('coin') as $k => $v) {
  238. if ($v['name'] == Anchor_CNY) {
  239. // $cny['ky'] = $UserCoin[$v['name']] * 1;
  240. // $cny['dj'] = $UserCoin[$v['name'] . 'd'] * 1;
  241. // $cny['zj'] = $cny['zj'] + $cny['ky'] + $cny['dj'];
  242. $cny['ky'] = round($UserCoin[$v['name']], 2) * 1;
  243. $cny['dj'] = round($UserCoin[$v['name'] . 'd'], 2) * 1;
  244. $cny['zj'] = $cny['zj'] + $cny['ky'] + $cny['dj'];
  245. } else {
  246. if (C('market')[$v['name'].'_'.Anchor_CNY]['new_price']) {
  247. $jia = C('market')[$v['name'].'_'.Anchor_CNY]['new_price'];
  248. } else {
  249. $jia = 1;
  250. }
  251. $cny['zj'] = round($cny['zj'] + (($UserCoin[$v['name']] + $UserCoin[$v['name'] . 'd']) * $jia), 8) * 1;
  252. }
  253. }
  254. $data = round($cny['zj'], 8);//原显示
  255. $data = number_format($data,2);//千分位显示
  256. // $data = NumToStr($data);
  257. // $data = sprintf("%.4f", $data);
  258. // $data = round($cny['zj'], 4);
  259. if ($ajax) {
  260. exit(json_encode($data));
  261. } else {
  262. return $data;
  263. }
  264. }
  265. public function allsum($ajax = 'json')
  266. {
  267. $data = (APP_DEBUG ? null : S('allsum'));
  268. if (!$data) {
  269. $data = M('TradeLog')->sum('mum');
  270. S('allsum', $data);
  271. }
  272. $data = round($data);
  273. $data = str_repeat('0', 12 - strlen($data)) . (string) $data;
  274. if ($ajax) {
  275. exit(json_encode($data));
  276. } else {
  277. return $data;
  278. }
  279. }
  280. public function top_coin_menu($ajax = 'json')
  281. {
  282. $data = (APP_DEBUG ? null : S('trandata_getTopCoinMenu'));
  283. $trandata_getCoreConfig = getCoreConfig();
  284. if(!$trandata_getCoreConfig){
  285. $this->error('核心配置有误');
  286. }
  287. if (!$data) {
  288. $data = array();
  289. foreach($trandata_getCoreConfig['indexcat'] as $k=>$v){
  290. $data[$k][title] = $v;
  291. }
  292. foreach (C('market') as $k => $v) {
  293. $v['xnb'] = explode('_', $v['name'])[0];
  294. $v['rmb'] = explode('_', $v['name'])[1];
  295. $data_tmp['img'] = $v['xnbimg'];
  296. $data_tmp['title'] = $v['navtitle'];
  297. $data[$v['jiaoyiqu']]['data'][$k] = $data_tmp;
  298. unset($data_tmp);
  299. }
  300. S('trandata_getTopCoinMenu', $data);
  301. }
  302. if ($ajax) {
  303. exit(json_encode($data));
  304. } else {
  305. return $data;
  306. }
  307. }
  308. public function allcoin($ajax = 'json')
  309. {
  310. $data = (APP_DEBUG ? null : S('allcoin'));
  311. if (!$data) {
  312. foreach (C('market') as $k => $v) {
  313. $data[$k][0] = $v['title'];
  314. $data[$k][1] = round($v['new_price'], $v['round']);
  315. $data[$k][2] = round($v['buy_price'], $v['round']);
  316. $data[$k][3] = round($v['sell_price'], $v['round']);
  317. $data[$k][4] = round($v['volume'] * $v['new_price'], 2) * 1;
  318. $data[$k][5] = '';
  319. $data[$k][6] = round($v['volume'], 2) * 1;
  320. $data[$k][7] = round($v['change'], 2);
  321. $data[$k][8] = $v['name'];
  322. $data[$k][9] = $v['xnbimg'];
  323. $data[$k][10] = '';
  324. }
  325. S('allcoin', $data);
  326. }
  327. if ($ajax) {
  328. exit(json_encode($data));
  329. } else {
  330. return $data;
  331. }
  332. }
  333. public function trends($ajax = 'json')
  334. {
  335. $data = (APP_DEBUG ? null : S('trends'));
  336. if (!$data) {
  337. foreach (C('market') as $k => $v) {
  338. $tendency = json_decode($v['tendency'], true);
  339. $data[$k]['data'] = $tendency;
  340. $data[$k]['yprice'] = $v['new_price'];
  341. }
  342. S('trends', $data);
  343. }
  344. if ($ajax) {
  345. exit(json_encode($data));
  346. } else {
  347. return $data;
  348. }
  349. }
  350. // 交易中心调用
  351. public function getJsonTop($market = NULL, $ajax = 'json')
  352. {
  353. // 过滤非法字符----------------S
  354. if (checkstr($market)) {
  355. $this->error('您输入的信息有误!');
  356. }
  357. // 过滤非法字符----------------E
  358. $data = (APP_DEBUG ? null : S("getJsonTop" . $market));
  359. if (!$data) {
  360. if ($market) {
  361. $xnb = explode("_", $market)[0];
  362. $rmb = explode("_", $market)[1];
  363. // 24小时 交易量
  364. $volume_24h = array();
  365. $volume_24h = M('TradeLog')->where(array(
  366. 'status' => 1,
  367. 'market' => $market,
  368. 'addtime' => array('gt', time() - (60 * 60 * 24))
  369. ))->sum('num');
  370. $volume_24h = round($volume_24h, 4);
  371. /* foreach (C("market") as $k => $v) {
  372. $v["xnb"] = explode("_", $v["name"])[0];
  373. $v["rmb"] = explode("_", $v["name"])[1];
  374. $data["list"][$k]["name"] = $v["name"];
  375. $data["list"][$k]["img"] = $v["xnbimg"];
  376. $data["list"][$k]["title"] = $v["title"];
  377. $data["list"][$k]["new_price"] = $v["new_price"];
  378. $data["list"][$k]["change"] = $v["change"];
  379. $data["list"][$k]['coin_name'] = strtoupper($v["xnb"]);
  380. }*/
  381. $data["info"]["img"] = C("market")[$market]["xnbimg"];
  382. //$data["info"]["title"] = C("market")[$market]["title"];
  383. $data["info"]["new_price"] = C("market")[$market]["new_price"];
  384. $data["info"]["max_price"] = C("market")[$market]["max_price"];
  385. $data["info"]["min_price"] = C("market")[$market]["min_price"];
  386. $data["info"]["buy_price"] = C("market")[$market]["buy_price"];
  387. $data["info"]["sell_price"] = C("market")[$market]["sell_price"];
  388. $data["info"]["volume"] = isset($volume_24h) ? $volume_24h : 0;//C("market")[$market]["volume"];
  389. $data["info"]["change"] = C("market")[$market]["change"];
  390. S("getJsonTop" . $market, $data);
  391. }
  392. }
  393. if ($ajax) {
  394. exit(json_encode($data));
  395. } else {
  396. return $data;
  397. }
  398. }
  399. /** 交易中心-币种列表 改.HAOMA20181101 **/
  400. public function getJsonTop2($id=1, $ajax = 'json')
  401. {
  402. if (!$data) {
  403. $trandata_data['info'] = "数据正常";
  404. $trandata_data['status'] = 1;
  405. $trandata_data['url'] = "";
  406. foreach (C("market") as $k => $v) {
  407. if ($v['jiaoyiqu'] == $id) {
  408. $trandata_data["list"][$k]["name"] = $v["name"];
  409. $trandata_data["list"][$k]["img"] = $v["xnbimg"];
  410. $trandata_data["list"][$k]["title"] = $v["title"];
  411. $trandata_data["list"][$k]["new_price"] = $v["new_price"];
  412. $trandata_data["list"][$k]["change"] = $v["change"];
  413. $trandata_data["list"][$k]['coin_name'] = strtoupper($v["xnb"]);
  414. }
  415. }
  416. }
  417. if ($ajax) {
  418. exit(json_encode($trandata_data));
  419. } else {
  420. return $trandata_data;
  421. }
  422. }
  423. public function getTradelog($market = NULL, $ajax = 'json')
  424. {
  425. // 过滤非法字符----------------S
  426. if (checkstr($market)) {
  427. $this->error('您输入的信息有误!');
  428. }
  429. // 过滤非法字符----------------E
  430. $data = (APP_DEBUG ? null : S('getTradelog' . $market));
  431. if (!$data) {
  432. $tradeLog = M('TradeLog')->where(array('status' => 1, 'market' => $market))->order('id desc')->limit(10)->select();
  433. if ($tradeLog) {
  434. foreach ($tradeLog as $k => $v) {
  435. $data['tradelog'][$k]['addtime'] = date('H:i:s', $v['addtime']);
  436. $data['tradelog'][$k]['type'] = $v['type'];
  437. $data['tradelog'][$k]['price'] = $v['price'] * 1;
  438. $data['tradelog'][$k]['num'] = round($v['num'], 6);
  439. $data['tradelog'][$k]['mum'] = round($v['mum'], 6);
  440. }
  441. S('getTradelog' . $market, $data);
  442. }
  443. }
  444. if ($ajax) {
  445. exit(json_encode($data));
  446. } else {
  447. return $data;
  448. }
  449. }
  450. public function getDepth($market = NULL, $trade_moshi = 1,$limts = 5, $ajax = 'json')
  451. {
  452. // 过滤非法字符----------------S
  453. if (checkstr($market) || checkstr($trade_moshi)) {
  454. $this->error(L('您输入的信息有误!'));
  455. }
  456. // 过滤非法字符----------------E
  457. if (!C('market')[$market]) {
  458. return null;
  459. }
  460. $data_getDepth = (APP_DEBUG ? null : S('getDepth'));
  461. if (!$data_getDepth[$market][$trade_moshi]) {
  462. if ($trade_moshi == 1) {
  463. $limt = $limts;
  464. }
  465. if (($trade_moshi == 3) || ($trade_moshi == 4)) {
  466. $limt = $limts;
  467. }
  468. $mo = M();
  469. if ($trade_moshi == 1) {
  470. $buy = $mo->query('select id,price,sum(num-deal)as nums from tw_trade where status=0 and type=1 and market =\'' . $market . '\' group by price order by price desc limit ' . $limt . ';');
  471. $sell = array_reverse($mo->query('select id,price,sum(num-deal)as nums from tw_trade where status=0 and type=2 and market =\'' . $market . '\' group by price order by price asc limit ' . $limt . ';'));
  472. }
  473. if ($trade_moshi == 3) {
  474. $buy = $mo->query('select id,price,sum(num-deal)as nums from tw_trade where status=0 and type=1 and market =\'' . $market . '\' group by price order by price desc limit ' . $limt . ';');
  475. $sell = null;
  476. }
  477. if ($trade_moshi == 4) {
  478. $buy = null;
  479. $sell = array_reverse($mo->query('select id,price,sum(num-deal)as nums from tw_trade where status=0 and type=2 and market =\'' . $market . '\' group by price order by price asc limit ' . $limt . ';'));
  480. }
  481. if ($buy) {
  482. $maxNums = maxArrayKey($buy, 'nums') / 2;
  483. foreach ($buy as $k => $v) {
  484. $data['depth']['buy'][$k] = array(floatval($v['price'] * 1), floatval($v['nums'] * 1));
  485. $data['depth']['buypbar'][$k] = ((($maxNums < $v['nums'] ? $maxNums : $v['nums']) / $maxNums) * 100);
  486. }
  487. } else {
  488. $data['depth']['buy'] = '';
  489. $data['depth']['buypbar'] = '';
  490. }
  491. if ($sell) {
  492. $maxNums = maxArrayKey($sell, 'nums') / 2;
  493. foreach ($sell as $k => $v) {
  494. $data['depth']['sell'][$k] = array(floatval($v['price'] * 1), floatval($v['nums'] * 1));
  495. $data['depth']['sellpbar'][$k] = ((($maxNums < $v['nums'] ? $maxNums : $v['nums']) / $maxNums) * 100);
  496. }
  497. } else {
  498. $data['depth']['sell'] = '';
  499. $data['depth']['sellpbar'] = '';
  500. }
  501. $data_getDepth[$market][$trade_moshi] = $data;
  502. S('getDepth', $data_getDepth);
  503. } else {
  504. $data = $data_getDepth[$market][$trade_moshi];
  505. }
  506. if ($ajax) {
  507. exit(json_encode($data));
  508. } else {
  509. return $data;
  510. }
  511. }
  512. public function getEntrustAndUsercoin($market = NULL, $ajax = 'json')
  513. {
  514. // 过滤非法字符----------------S
  515. if (checkstr($market)) {
  516. $this->error('您输入的信息有误!');
  517. }
  518. // 过滤非法字符----------------E
  519. if (!userid()) {
  520. return null;
  521. }
  522. if (!C('market')[$market]) {
  523. return null;
  524. }
  525. $result = M()->query('select id,price,num,deal,mum,type,fee,status,addtime from tw_trade where status=0 and market=\'' . $market . '\' and userid=' . userid() . ' order by id desc limit 10;');
  526. if ($result) {
  527. foreach ($result as $k => $v) {
  528. $data['entrust'][$k]['addtime'] = date('m-d H:i:s', $v['addtime']);
  529. $data['entrust'][$k]['type'] = $v['type'];
  530. $data['entrust'][$k]['price'] = $v['price'] * 1;
  531. $data['entrust'][$k]['num'] = round($v['num'], 6);
  532. $data['entrust'][$k]['deal'] = round($v['deal'], 6);
  533. $data['entrust'][$k]['id'] = round($v['id']);
  534. $data['entrust'][$k]['status'] = $v['status'];
  535. }
  536. } else {
  537. $data['entrust'] = null;
  538. }
  539. $userCoin = M('UserCoin')->where(array('userid' => userid()))->find();
  540. if ($userCoin) {
  541. $xnb = explode('_', $market)[0];
  542. $rmb = explode('_', $market)[1];
  543. $data['usercoin']['xnb'] = floatval($userCoin[$xnb]);
  544. $data['usercoin']['xnbd'] = floatval($userCoin[$xnb . 'd']);
  545. $data['usercoin']['rmb'] = floatval($userCoin[$rmb]);
  546. $data['usercoin']['rmbd'] = floatval($userCoin[$rmb . 'd']);
  547. } else {
  548. $data['usercoin'] = null;
  549. }
  550. // 处理开盘闭盘交易时间===开始
  551. $times = date('G',time());
  552. $minute = date('i',time());
  553. $minute = intval($minute);
  554. $data['time_state'] = 0;
  555. if (($times <= C('market')[$market]['start_time'] && $minute < intval(C('market')[$market]['start_minute']))|| ($times > C('market')[$market]['stop_time'] && $minute>= intval(C('market')[$market]['stop_minute']))) {
  556. $data['time_state'] = 1;
  557. }
  558. if (($times <C('market')[$market]['start_time'] )|| $times > C('market')[$market]['stop_time']) {
  559. $data['time_state'] = 1;
  560. } else {
  561. if ($times == C('market')[$market]['start_time']) {
  562. if ($minute< intval(C('market')[$market]['start_minute'])) {
  563. $data['time_state'] = 1;
  564. }
  565. } elseif ($times == C('market')[$market]['stop_time']) {
  566. if (( $minute > C('market')[$market]['stop_minute'])) {
  567. $data['time_state'] = 1;
  568. }
  569. }
  570. }
  571. // 处理周六周日是否可交易===开始
  572. $weeks = date('N',time());
  573. if(!C('market')[$market]['agree6']){
  574. if($weeks == 6){
  575. $data['time_state'] = 1;
  576. }
  577. }
  578. if(!C('market')[$market]['agree7']){
  579. if($weeks == 7){
  580. $data['time_state'] = 1;
  581. }
  582. }
  583. //处理周六周日是否可交易===结束
  584. if ($ajax) {
  585. exit(json_encode($data));
  586. } else {
  587. return $data;
  588. }
  589. }
  590. public function getChat($ajax = 'json')
  591. {
  592. $chat = (APP_DEBUG ? null : S('getChat'));
  593. if (!$chat) {
  594. $chat = M('Chat')->where(array('status' => 1))->order('id desc')->limit(500)->select();
  595. S('getChat', $chat);
  596. }
  597. asort($chat);
  598. if ($chat) {
  599. foreach ($chat as $k => $v) {
  600. $data[] = array((int) $v['id'], $v['username'], $v['content']);
  601. }
  602. } else {
  603. $data = '';
  604. }
  605. if ($ajax) {
  606. exit(json_encode($data));
  607. } else {
  608. return $data;
  609. }
  610. }
  611. public function upChat($content)
  612. {
  613. /* exit;
  614. if (!userid()) {
  615. $this->error('请先登录...');
  616. }
  617. $content = msubstr($content, 0, 20, 'utf-8', false);
  618. if (!$content) {
  619. $this->error('请先输入内容');
  620. }
  621. if (APP_DEMO) {
  622. $this->error('测试站暂时不能聊天!');
  623. }
  624. if (time() < (session('chat' . userid()) + 10)) {
  625. $this->error('不能发送过快');
  626. }
  627. $id = M('Chat')->add(array('userid' => userid(), 'username' => username(), 'content' => $content, 'addtime' => time(), 'status' => 1));
  628. if ($id) {
  629. S('getChat', null);
  630. session('chat' . userid(), time());
  631. $this->success($id);
  632. } else {
  633. $this->error('发送失败');
  634. }*/
  635. }
  636. public function upcomment($msgaaa, $s1, $s2, $s3, $xnb)
  637. {
  638. /* exit;
  639. if (empty($msgaaa)) {
  640. $this->error('提交内容错误');
  641. }
  642. if (!check($s1, 'd')) {
  643. $this->error('技术评分错误');
  644. }
  645. if (!check($s2, 'd')) {
  646. $this->error('应用评分错误');
  647. }
  648. if (!check($s3, 'd')) {
  649. $this->error('前景评分错误');
  650. }
  651. if (!userid()) {
  652. $this->error('请先登录!');
  653. }
  654. if (M('CoinComment')->where(array(
  655. 'userid' => userid(),
  656. 'coinname' => $xnb,
  657. 'addtime' => array('gt', time() - 60)
  658. ))->find()) {
  659. $this->error('请不要频繁提交!');
  660. }
  661. if (M('Coin')->where(array('name' => $xnb))->save(array(
  662. 'tp_zs' => array('exp', 'tp_zs+1'),
  663. 'tp_js' => array('exp', 'tp_js+' . $s1),
  664. 'tp_yy' => array('exp', 'tp_yy+' . $s2),
  665. 'tp_qj' => array('exp', 'tp_qj+' . $s3)
  666. ))) {
  667. if (M('CoinComment')->add(array('userid' => userid(), 'coinname' => $xnb, 'content' => $msgaaa, 'addtime' => time(), 'status' => 1))) {
  668. $this->success('提交成功');
  669. } else {
  670. $this->error('提交失败!');
  671. }
  672. } else {
  673. $this->error('提交失败!');
  674. }*/
  675. }
  676. public function subcomment($id, $type)
  677. {
  678. // 过滤非法字符----------------S
  679. if (checkstr($id) || checkstr($type)) {
  680. $this->error('您输入的信息有误!');
  681. }
  682. // 过滤非法字符----------------E
  683. if ($type != 1) {
  684. if ($type != 2) {
  685. if ($type != 3) {
  686. $this->error('参数错误!');
  687. } else {
  688. $type = 'xcd';
  689. }
  690. } else {
  691. $type = 'tzy';
  692. }
  693. } else {
  694. $type = 'cjz';
  695. }
  696. if (!check($id, 'd')) {
  697. $this->error('参数错误1');
  698. }
  699. if (!userid()) {
  700. $this->error('请先登录!');
  701. }
  702. if (S('subcomment' . userid() . $id)) {
  703. $this->error('请不要频繁提交!');
  704. }
  705. if (M('CoinComment')->where(array('id' => $id))->setInc($type, 1)) {
  706. S('subcomment' . userid() . $id, 1);
  707. $this->success('提交成功');
  708. } else {
  709. $this->error('提交失败!');
  710. }
  711. }
  712. // C2C获取付款商户信息
  713. public function c2cPayment($id, $aid, $ajax = 'json')
  714. {
  715. // 过滤非法字符----------------S
  716. if (checkstr($id)) {
  717. $this->error('您输入的信息有误!');
  718. }
  719. // 过滤非法字符----------------E
  720. if (!check($id, 'd')) {
  721. $this->error('参数错误1');
  722. }
  723. if (!userid()) {
  724. $this->error('请先登录!');
  725. }
  726. $data['agent'] = M('exchange_agent')->where(array('id' => $aid))->find();
  727. $data['order'] = M('exchange_order')->where(array('id' => $id))->find();
  728. if ($data['order']['otype'] == 1) {
  729. if ($data['order']['status'] == 1) {
  730. $data['order']['status'] = L('待支付');
  731. } else {
  732. $data['order']['status'] = L('未知');
  733. }
  734. }
  735. if ($ajax) {
  736. exit(json_encode($data));
  737. } else {
  738. return $data;
  739. }
  740. }
  741. }
  742. ?>