TradeController.php 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. namespace App\Http\Controllers\Api\v1;
  3. use App\Http\Controllers\Api\webApp;
  4. use App\Http\Validator\MemberValidator;
  5. use App\Services\Api\AcceptorService;
  6. use App\Services\Api\TradeService;
  7. use App\Services\Api\VideoCollectService;
  8. use App\Services\Api\VideoService;
  9. use App\Services\RedisService;
  10. use Illuminate\Http\Request;
  11. /**
  12. * 承兑商交易
  13. * @package App\Http\Controllers\Api
  14. */
  15. class TradeController extends webApp
  16. {
  17. /**
  18. * 订单
  19. * @return array
  20. */
  21. public function index()
  22. {
  23. try {
  24. $params = request()->post();
  25. $pageSize = request()->post('pageSize', 0);
  26. $datas = TradeService::make()->getDataList($params, $pageSize,'', $this->userId);
  27. return showJson(1010, true, $datas);
  28. } catch (\Exception $exception){
  29. RedisService::set("caches:request:error_trade_index", ['error'=>$exception->getMessage(),'trace'=>$exception->getTrace()], 7200);
  30. return showJson(1018, false, ['error'=>env('APP_DEBUG')? $exception->getMessage() : '']);
  31. }
  32. }
  33. /**
  34. * 记录
  35. * @return array
  36. */
  37. public function list()
  38. {
  39. try {
  40. $params = request()->post();
  41. $pageSize = request()->post('pageSize', 0);
  42. $params['acceptor_uid'] = isset($params['user_id']) && $params['user_id']? $params['user_id'] : $this->userId;
  43. $datas = TradeService::make()->getDataList($params, $pageSize,'', $this->userId);
  44. return showJson(1010, true, $datas);
  45. } catch (\Exception $exception){
  46. RedisService::set("caches:request:error_trade_list", ['error'=>$exception->getMessage(),'trace'=>$exception->getTrace()], 7200);
  47. return showJson(1018, false, ['error'=>env('APP_DEBUG')? $exception->getMessage() : '']);
  48. }
  49. }
  50. /**
  51. * 详情
  52. * @return array
  53. */
  54. public function info()
  55. {
  56. $id = request()->post('id', 0);
  57. $info = TradeService::make()->getInfo($id, $this->userId);
  58. if($info){
  59. return showJson(1010, true, $info);
  60. }else{
  61. return showJson(1009, false);
  62. }
  63. }
  64. /**
  65. * 卖出
  66. * @return array
  67. */
  68. public function sell(Request $request)
  69. {
  70. $params = request()->all();
  71. if(!$result = TradeService::make()->sell($this->userId, $params, $request)){
  72. return showJson(TradeService::make()->getError(), false);
  73. }else{
  74. return showJson(TradeService::make()->getError(), true, $result);
  75. }
  76. }
  77. /**
  78. * 状态
  79. * @return array|mixed
  80. */
  81. public function status()
  82. {
  83. if(!$result = TradeService::make()->status()){
  84. return showJson(TradeService::make()->getError(), false);
  85. }else{
  86. return showJson(TradeService::make()->getError(), true, $result);
  87. }
  88. }
  89. /**
  90. * C2C交易-确认
  91. * @param MemberValidator $validator
  92. * @return array
  93. */
  94. public function confirm(MemberValidator $validator)
  95. {
  96. $params = request()->all();
  97. $scene = isset($params['scene'])? $params['scene'] : 'recharge';
  98. $params = $validator->check($params, $scene);
  99. if (!is_array($params)) {
  100. return showJson($params, false);
  101. }
  102. if(!$result = TradeService::make()->confirm($this->userId, $params)){
  103. $error = TradeService::make()->getError();
  104. return showJson($error,false, [],$error== 2035? 405:0);
  105. }else{
  106. return showJson(TradeService::make()->getError(),true, $result);
  107. }
  108. }
  109. /**
  110. * 取消订单
  111. * @return array|mixed
  112. */
  113. public function cancel()
  114. {
  115. $params = request()->post();
  116. if(!$result = TradeService::make()->cancel($this->userId, $params)){
  117. return showJson(TradeService::make()->getError(), false);
  118. }else{
  119. return showJson(TradeService::make()->getError(), true);
  120. }
  121. }
  122. }