TransitUserWalletController.php 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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\TransitUserWallet;
  8. class TransitUserWalletController extends Controller
  9. {
  10. public $ChainType = ['trc' => 'trc'];
  11. public function index(Request $request)
  12. {
  13. $ChainType = $this->ChainType;
  14. return view('admin.transit.userwallet.index',compact("ChainType"));
  15. }
  16. //列表
  17. public function getData(Request $request)
  18. {
  19. $model = TransitUserWallet::where(function($query) use ($request){
  20. if ($request->wallet_addr != '') {
  21. $query->where('wallet_addr', 'like' ,"%" . $request->wallet_addr ."%");
  22. }
  23. });
  24. $count = $model->count();
  25. $limit = $request->limit ?? 15;
  26. $offset = $request->page ? ($request->page - 1) * $limit : 0;
  27. $data = $model->limit($limit)->offset($offset)->orderBy('rid','desc')->get();
  28. return ['code' => '0', 'data' => $data, 'count' => $count];
  29. }
  30. //添加
  31. public function add(Request $request)
  32. {
  33. $data = TransitUserWallet::where('wallet_addr', $request->wallet_addr)->where('chain_type', $request->chain_type)->first();
  34. if(!empty($data)){
  35. return $this->responseData(400, '钱包已存在');
  36. }
  37. $res = TransitUserWallet::create([
  38. 'chain_type' => $request->chain_type,
  39. 'wallet_addr' => $request->wallet_addr,
  40. 'total_yuzhi_sxf' => $request->yuzhi_sxf,
  41. 'need_feedback_sxf' => $request->yuzhi_sxf,
  42. 'last_yuzhi_time' => nowDate()
  43. ]);
  44. return $res ? $this->responseData(200, '添加成功') : $this->responseData(400, '添加失败');
  45. }
  46. //编辑
  47. public function update(Request $request)
  48. {
  49. $data = TransitUserWallet::where('wallet_addr', $request->wallet_addr)->where('chain_type', $request->chain_type)->where('rid','<>',$request->rid)->first();
  50. if(!empty($data)){
  51. return $this->responseData(400, '钱包已存在');
  52. }
  53. DB::beginTransaction();
  54. try {
  55. $data = TransitUserWallet::where('rid', $request->rid)->first();
  56. $data->total_yuzhi_sxf = $data->total_yuzhi_sxf + $request->yuzhi_sxf;
  57. $data->need_feedback_sxf = $request->yuzhi_sxf;
  58. $data->last_yuzhi_time = nowDate();
  59. $data->save();
  60. DB::commit();
  61. return $this->responseData(200, '更新成功');
  62. } catch (\Exception $e) {
  63. DB::rollBack();
  64. return $this->responseData(400, '更新失败'.$e->getMessage());
  65. }
  66. }
  67. }