TransitTradeController.php 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. <?php
  2. namespace App\Http\Controllers\Admin\Transit;
  3. use Illuminate\Http\Request;
  4. use App\Services\AipHttpClient;
  5. use App\Http\Controllers\Controller;
  6. use Illuminate\Support\Facades\DB;
  7. use App\Models\Transit\TransitWalletTradeList;
  8. class TransitTradeController extends Controller
  9. {
  10. public $ProcessStatus = ['6' => '黑钱包','7' => '转入金额不符','8' => '转帐中','9' => '转账成功','1' => '待兑换','10' => '余额不足','5' => '币种无效','2' => '交易失败','0' => '待确认'];
  11. public function index(Request $request)
  12. {
  13. return view('admin.transit.trade.index');
  14. }
  15. //列表
  16. public function getData(Request $request)
  17. {
  18. $model = TransitWalletTradeList::where(function($query) use ($request){
  19. if ($request->tx_hash != '') {
  20. $query->where('tx_hash', 'like' ,"%" . $request->tx_hash ."%");
  21. }
  22. if ($request->transferfrom_address != '') {
  23. $query->where('transferfrom_address', 'like' ,"%" . $request->transferfrom_address ."%");
  24. }
  25. if ($request->transferto_address != '') {
  26. $query->where('transferto_address', 'like' ,"%" . $request->transferto_address ."%");
  27. }
  28. });
  29. $count = $model->count();
  30. $limit = $request->limit ?? 15;
  31. $offset = $request->page ? ($request->page - 1) * $limit : 0;
  32. $data = $model->limit($limit)->offset($offset)->orderBy('rid','desc')->get();
  33. $data = $data->map(function($query){
  34. $query->process_status = $this->ProcessStatus[$query->process_status];
  35. $query->timestamp = date('Y-m-d H:i:s', floor($query->timestamp / 1000));
  36. return $query;
  37. });
  38. return ['code' => '0', 'data' => $data, 'count' => $count];
  39. }
  40. //重新补发
  41. public function reswap(Request $request)
  42. {
  43. $data = TransitWalletTradeList::where('rid', $request->rid)->first();
  44. if(empty($data)){
  45. return $this->responseData(400, '交易数据不存在');
  46. }
  47. if($data->process_status <> 10){
  48. return $this->responseData(400, '状态为-余额不足时,才能补发');
  49. }
  50. DB::beginTransaction();
  51. try {
  52. $data->process_status = 1; //重新处理
  53. $data->tg_notice_status_send = 'N';
  54. $data->save();
  55. DB::commit();
  56. return $this->responseData(200, '补发成功');
  57. } catch (\Exception $e) {
  58. DB::rollBack();
  59. return $this->responseData(400, '补发失败'.$e->getMessage());
  60. }
  61. }
  62. //禁止发放
  63. public function stopswap(Request $request)
  64. {
  65. $data = TransitWalletTradeList::where('rid', $request->rid)->first();
  66. if(empty($data)){
  67. return $this->responseData(400, '交易数据不存在');
  68. }
  69. if(!in_array($data->process_status,[1,10])){
  70. return $this->responseData(400, '状态为-余额不足或待兑换,才能禁止');
  71. }
  72. DB::beginTransaction();
  73. try {
  74. $data->process_status = 5; //币种无效
  75. $data->tg_notice_status_send = 'Y';
  76. $data->process_comments = '人工禁止兑换';
  77. $data->save();
  78. DB::commit();
  79. return $this->responseData(200, '禁止成功');
  80. } catch (\Exception $e) {
  81. DB::rollBack();
  82. return $this->responseData(400, '禁止失败'.$e->getMessage());
  83. }
  84. }
  85. }