wesmiler 2 lat temu
rodzic
commit
2c2bb7a4dc

+ 1 - 1
app/Services/Api/FinanceService.php

@@ -100,7 +100,7 @@ class FinanceService extends BaseService
      * 平台结算
      * 平台结算
      * @param $money
      * @param $money
      * @param int $changeType 交易类型:1-进账,2-出账
      * @param int $changeType 交易类型:1-进账,2-出账
-     * @param int $type 类型:1-消费,2-佣金,3-充值提现,4-退款,99-其他
+     * @param int $type 类型:1-消费,2-佣金,3-充值提现转账,4-退款,99-其他
      * @param int $coinType 币种类型: 1-USDT,2-星豆
      * @param int $coinType 币种类型: 1-USDT,2-星豆
      * @return mixed
      * @return mixed
      */
      */

+ 66 - 6
app/Services/Api/MemberService.php

@@ -943,7 +943,11 @@ class MemberService extends BaseService
         }
         }
 
 
         // 到账
         // 到账
-        $updateData = ['usdt'=> DB::raw("usdt + {$money}"),'update_time'=> time()];
+        $fee = ConfigService::make()->getConfigByCode('transfer_fee_rate',5);
+        $fee = $fee>0 && $fee<100? moneyFormat($fee/100, 2) : 0;
+        $feeUsdt = round($money * $fee,2);
+        $realUsdt = moneyFormat($money - $feeUsdt,2);
+        $updateData = ['usdt'=> DB::raw("usdt + {$realUsdt}"),'update_time'=> time()];
         if(!$this->model->where(['id'=> $toUserId,'mark'=>1])->update($updateData)){
         if(!$this->model->where(['id'=> $toUserId,'mark'=>1])->update($updateData)){
             DB::rollBack();
             DB::rollBack();
             $this->error = 2424;
             $this->error = 2424;
@@ -959,8 +963,8 @@ class MemberService extends BaseService
             'type' => 6,
             'type' => 6,
             'coin_type' => 1,
             'coin_type' => 1,
             'user_type'=> 1,
             'user_type'=> 1,
-            'money' => $money,
-            'actual_money' => $money,
+            'money' => $realUsdt,
+            'actual_money' => $realUsdt,
             'balance' => $accountUsdt,
             'balance' => $accountUsdt,
             'create_time' => time(),
             'create_time' => time(),
             'update_time' => time(),
             'update_time' => time(),
@@ -975,12 +979,39 @@ class MemberService extends BaseService
             return false;
             return false;
         }
         }
 
 
+        // 平台明细
+        $log = [
+            'user_id' => 0,
+            'source_id' => $userId,
+            'source_order_no' => $orderNo,
+            'type' => 6,
+            'coin_type' => 1,
+            'user_type'=> 4,
+            'money' => $feeUsdt,
+            'actual_money' => $feeUsdt,
+            'balance' => 0,
+            'create_time' => time(),
+            'update_time' => time(),
+            'remark' => "USDT转账",
+            'status' => 1,
+            'mark' => 1,
+        ];
+        if(!AccountLogModel::insertGetId($log)){
+            DB::rollBack();
+            $this->error = 2029;
+            RedisService::clear($cacheKey);
+            return false;
+        }
+
+        // 平台
+        FinanceService::make()->saveLog(0, $feeUsdt,1);
+
         // 消息
         // 消息
         $dateTime = date('Y-m-d H:i:s');
         $dateTime = date('Y-m-d H:i:s');
         MessageService::make()->pushMessage($userId,'USDT转账成功',"您在{$dateTime}(UTC+8)成功支付{$money}USDT转账给用户【{$toUserId}】{$toNickname}",3);
         MessageService::make()->pushMessage($userId,'USDT转账成功',"您在{$dateTime}(UTC+8)成功支付{$money}USDT转账给用户【{$toUserId}】{$toNickname}",3);
 
 
         $dateTime = date('Y-m-d H:i:s');
         $dateTime = date('Y-m-d H:i:s');
-        MessageService::make()->pushMessage($toUserId,'USDT转账成功',"您在{$dateTime}(UTC+8)收到用户【{$userId}】{$nickname}{$money}USDT的转账",3);
+        MessageService::make()->pushMessage($toUserId,'USDT转账成功',"您在{$dateTime}(UTC+8)收到用户【{$userId}】{$nickname}的{$realUsdt}USDT转账",3);
 
 
 
 
         DB::commit();
         DB::commit();
@@ -1197,6 +1228,10 @@ class MemberService extends BaseService
 
 
         // 提现记录
         // 提现记录
         $orderNo = get_order_num('DW');
         $orderNo = get_order_num('DW');
+        $feeRate = ConfigService::make()->getConfigByCode('withdraw_fee_rate',5);
+        $feeRate = $feeRate>0 && $feeRate<100? moneyFormat($feeRate/100,2) : 0;
+        $fee = round($money*$feeRate, 2);
+        $realUsdt = moneyFormat($money - $fee, 2);
         $data = [
         $data = [
             'order_no'=> $orderNo,
             'order_no'=> $orderNo,
             'user_id'=> $userType==1? $userId : $merchantId,
             'user_id'=> $userType==1? $userId : $merchantId,
@@ -1204,7 +1239,8 @@ class MemberService extends BaseService
             'user_type'=> $userType,
             'user_type'=> $userType,
             'coin_type'=> 1,
             'coin_type'=> 1,
             'money'=> $money,
             'money'=> $money,
-            'actual_money'=> $money,
+            'actual_money'=> $realUsdt,
+            'fee'=> $fee,
             'trc_url'=> $trcUrl,
             'trc_url'=> $trcUrl,
             'pay_type'=> 20,
             'pay_type'=> 20,
             'date'=> date('Y-m-d'),
             'date'=> date('Y-m-d'),
@@ -1305,7 +1341,7 @@ class MemberService extends BaseService
         $autoCheckUsdt = $autoCheckUsdt > 0 ? $autoCheckUsdt : 0;
         $autoCheckUsdt = $autoCheckUsdt > 0 ? $autoCheckUsdt : 0;
         if ($money <= $autoCheckUsdt) {
         if ($money <= $autoCheckUsdt) {
             // 打款处理
             // 打款处理
-            $result = WalletService::make()->usdtTrcTransfer($trcUrl, $money);
+            $result = WalletService::make()->usdtTrcTransfer($trcUrl, $realUsdt);
             $txID = isset($result['txId']) ? $result['txId'] : '';
             $txID = isset($result['txId']) ? $result['txId'] : '';
             $payAddress = isset($result['address']) ? $result['address'] : '';
             $payAddress = isset($result['address']) ? $result['address'] : '';
             if ($txID && $payAddress) {
             if ($txID && $payAddress) {
@@ -1315,6 +1351,30 @@ class MemberService extends BaseService
                     $message = $userType == 1 ? "您在{$dateTime}(UTC+8)申请提现{$money}USDT余额审核成功,请耐心等候打款到账!!!" : "您在{$dateTime}(UTC+8)申请提现{$money}USDT商户余额审核成功,请耐心等候打款到账!!!";
                     $message = $userType == 1 ? "您在{$dateTime}(UTC+8)申请提现{$money}USDT余额审核成功,请耐心等候打款到账!!!" : "您在{$dateTime}(UTC+8)申请提现{$money}USDT商户余额审核成功,请耐心等候打款到账!!!";
                     MessageService::make()->pushMessage($userId, $title, $message);
                     MessageService::make()->pushMessage($userId, $title, $message);
                     AccountLogModel::where(['source_order_no'=> $orderNo])->update(['hash'=> $txID,'update_time'=>time()]);
                     AccountLogModel::where(['source_order_no'=> $orderNo])->update(['hash'=> $txID,'update_time'=>time()]);
+
+                    // 平台明细
+                    $log = [
+                        'user_id' => 0,
+                        'source_id' => $userId,
+                        'source_order_no' => $orderNo,
+                        'type' => 5,
+                        'coin_type' => 1,
+                        'user_type'=> 4,
+                        'money' => $fee,
+                        'actual_money' => $fee,
+                        'balance' => 0,
+                        'create_time' => time(),
+                        'update_time' => time(),
+                        'hash' => $txID,
+                        'remark' => "USDT余额提现",
+                        'status' => 1,
+                        'mark' => 1,
+                    ];
+
+                    AccountLogModel::insertGetId($log);
+
+                    // 平台流水
+                    FinanceService::make()->saveLog(0, $fee, 1);
                 }
                 }
             }
             }
         }
         }