| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | 
							- <?php
 
- namespace App\Http\Controllers\Admin\Transit;
 
- use Illuminate\Http\Request;
 
- use App\Services\AipHttpClient;
 
- use App\Http\Controllers\Controller;
 
- use Illuminate\Support\Facades\DB;
 
- use App\Models\Transit\TransitWallet;
 
- use App\Models\Transit\TransitWalletCoin;
 
- use App\Http\Services\RsaServices;
 
- class TransitWalletCoinController extends Controller
 
- {
 
-     public $Coinname = ['trx' => 'trx','usdt' => 'usdt'];
 
-     public $IsRealtimeRate = ['1' => '实时(直减)','2' => '固定','3' => '实时(百分比)'];
 
-     public function index(Request $request)
 
-     {
 
-         $Coinname = $this->Coinname;
 
-         $IsRealtimeRate = $this->IsRealtimeRate;
 
-         
 
-         $walletData = TransitWallet::pluck('receive_wallet','rid'); 
 
-         return view('admin.transit.walletcoin.index',compact("Coinname","walletData","IsRealtimeRate"));
 
-     }
 
-     
 
-     //列表
 
-     public function getData(Request $request)
 
-     {
 
-         $model = TransitWalletCoin::from('transit_wallet_coin as a')
 
-                  ->join('transit_wallet as b','a.transit_wallet_id','b.rid')
 
-                  ->where(function($query) use ($request){
 
-                     if ($request->receive_wallet != '') {
 
-                         $query->where('receive_wallet', 'like' ,"%" . $request->receive_wallet ."%");
 
-                     }   
 
-                     if ($request->send_wallet != '') {
 
-                         $query->where('send_wallet', 'like' ,"%" . $request->send_wallet ."%");
 
-                     }  
 
-         });
 
-         $count = $model->count();
 
-         $limit = $request->limit ?? 15;
 
-         $offset = $request->page ? ($request->page - 1) * $limit : 0;
 
-         $data = $model->limit($limit)->offset($offset)->select('a.*','b.receive_wallet')->orderBy('a.rid','desc')->get();
 
-         
 
-         $data = $data->map(function($query){
 
-             $query->is_realtime_rate_val = $this->IsRealtimeRate[$query->is_realtime_rate];
 
-             return $query;
 
-         });
 
-         return ['code' => '0', 'data' => $data, 'count' => $count];
 
-     }
 
-     
 
-     //添加
 
-     public function add(Request $request)
 
-     {
 
-         llog('--添加闪兑币种汇率--');
 
-         llog($request->All());
 
-         if($request->profit_rate < 0 || $request->profit_rate >= 1 || $request->exchange_rate > 10 || $request->exchange_rate < 0 || $request->kou_out_amount < 0){
 
-             return $this->responseData(400, '汇率不能大于10且扣回款金额不能小于0');
 
-         }
 
-         
 
-         $data = TransitWalletCoin::where('transit_wallet_id', $request->transit_wallet_id)->where('in_coin_name', $request->in_coin_name)->first();
 
-         if(!empty($data)){
 
-             return $this->responseData(400, '闪兑钱包币种已存在');
 
-         }
 
-         
 
-         if($request->in_coin_name == $request->out_coin_name){
 
-             return $this->responseData(400, '转入和回款币名不能一样');
 
-         }
 
-         $res = TransitWalletCoin::create([
 
-             'transit_wallet_id' => $request->transit_wallet_id,
 
-             'in_coin_name' => $request->in_coin_name,
 
-             'out_coin_name' => $request->out_coin_name,
 
-             'is_realtime_rate' => $request->is_realtime_rate,
 
-             'profit_rate' => $request->profit_rate ?? 0.1,
 
-             'exchange_rate' => $request->exchange_rate ?? 1,
 
-             'kou_out_amount' => $request->kou_out_amount ?? 0,
 
-             'min_transit_amount' => $request->min_transit_amount ?? 1,
 
-             'max_transit_amount' => $request->max_transit_amount ?? 1000,
 
-             'comments' => $request->comments,
 
-             'create_time' => nowDate()
 
-         ]);
 
-         return $res ? $this->responseData(200, '添加成功') : $this->responseData(400, '添加失败');
 
-     }
 
-     
 
-     //删除
 
-     public function delete(Request $request)
 
-     {
 
-         $res = TransitWalletCoin::where('rid', $request->rid)->delete();
 
-         return $res ? $this->responseData(200, '删除成功') : $this->responseData(400, '删除失败');
 
-     }
 
-     //编辑
 
-     public function update(Request $request)
 
-     {
 
-         llog('--修改闪兑币种汇率--');
 
-         llog($request->All());
 
-         if($request->profit_rate < 0 || $request->profit_rate >= 1 || $request->exchange_rate > 10 || $request->exchange_rate < 0 || $request->kou_out_amount < 0){
 
-             return $this->responseData(400, '汇率不能大于10且扣回款金额不能小于0');
 
-         }
 
-         
 
-         $data = TransitWalletCoin::where('transit_wallet_id', $request->transit_wallet_id)->where('in_coin_name', $request->in_coin_name)->where('rid','<>',$request->rid)->first();
 
-         if(!empty($data)){
 
-             return $this->responseData(400, '闪兑钱包币种已存在');
 
-         }
 
-         
 
-         if($request->in_coin_name == $request->out_coin_name){
 
-             return $this->responseData(400, '转入和回款币名不能一样');
 
-         }
 
-         
 
-         DB::beginTransaction();
 
-         try {
 
-             $data = TransitWalletCoin::where('rid', $request->rid)->first();
 
-             $data->in_coin_name = $request->in_coin_name;
 
-             $data->out_coin_name = $request->out_coin_name;
 
-             $data->is_realtime_rate = $request->is_realtime_rate;
 
-             $data->profit_rate = $request->profit_rate ?? 0.1;
 
-             $data->exchange_rate = $request->exchange_rate ?? 1;
 
-             $data->kou_out_amount = $request->kou_out_amount ?? 0;
 
-             $data->min_transit_amount = $request->min_transit_amount ?? 1;
 
-             $data->max_transit_amount = $request->max_transit_amount ?? 1000;
 
-             $data->comments = $request->comments;
 
-             $data->update_time = nowDate();
 
-             $data->save();
 
-             DB::commit();
 
-             return $this->responseData(200, '更新成功');
 
-         } catch (\Exception $e) {
 
-             DB::rollBack();
 
-             return $this->responseData(400, '更新失败'.$e->getMessage());
 
-         }
 
-     }
 
- }
 
 
  |