wesmiler hai 1 mes
pai
achega
bd2cdb0dbd

+ 0 - 1
app/Services/Common/AccountService.php

@@ -138,7 +138,6 @@ class AccountService extends BaseService
 
             foreach ($list['data'] as &$item) {
                 $item['create_time_text'] = datetime($item['create_time']);
-                $item['update_time_text'] = datetime($item['update_time']);
                 $type = isset($item['type']) ? intval($item['type']) : 0;
                 $item['type_text'] = $accountTypes[$type] ?? '未知';
                 $item['money'] = number_format($item['money'], 2, '.', '');

+ 47 - 3
app/Services/Common/BalanceLogsService.php

@@ -182,19 +182,62 @@ class BalanceLogsService extends BaseService
     public function apply($data)
     {
         try {
+            $money = $data['money'] ?? 0;
+            $account = $data['account'] ?? '';
+            if($money<=0){
+                return [
+                    'code' => 1,
+                    'msg' => '请输入提现金额'
+                ];
+            }
+
+            if(empty($account)){
+                return [
+                    'code' => 1,
+                    'msg' => '请输入提现账户'
+                ];
+            }
+
+            $storeInfo = StoreModel::where(['user_id'=>$data['user_id']])->select(['id','balance','status'])
+                ->first();
+            $balance = isset($storeInfo['balance'])?$storeInfo['balance'] : 0;
+            $status = isset($storeInfo['status'])?$storeInfo['status'] : 0;
+            if(empty($storeInfo) || $status != 1){
+                return [
+                    'code' => 1,
+                    'msg' => '商家账户不存在或已冻结,请联系客服'
+                ];
+            }
+
+            if($balance<$money){
+                return [
+                    'code' => 1,
+                    'msg' => '商家可提现余额不足'
+                ];
+            }
+
+            // 扣除余额
+            DB::beginTransaction();
+            if(!StoreModel::where(['user_id'=>$data['user_id']])->update(['balance'=>DB::raw("balance - {$money}"),'update_time'=>time()])){
+                DB::rollBack();
+                return [
+                    'code' => 1,
+                    'msg' => '商家可提现余额不足'
+                ];
+            }
+
             // 生成订单号
             $orderNo = 'BL' . date('YmdHis') . rand(1000, 9999);
-
             $record = new BalanceLogModel();
             $record->order_no = $orderNo;
             $record->user_id = $data['user_id'] ?? 0; // 选择的用户ID
             $record->type = $data['type'] ?? 2; // 1-充值,2-提现
             $record->account_type = $data['account_type'] ?? 1;
             $record->realname = $data['realname'] ?? '';
-            $record->money = $data['money'] ?? 0;
+            $record->money = $money;
             $record->actual_money = $data['money'] ?? 0; // 默认实际到账等于申请金额
             $record->pay_type = $data['pay_type'] ?? 10;
-            $record->account = $data['account'] ?? '';
+            $record->account = $account;
             $record->account_remark = $data['account_remark'] ?? '';
             $record->pay_status = 10; // 10-待支付
             $record->status = 1; // 1-待审核
@@ -205,6 +248,7 @@ class BalanceLogsService extends BaseService
 
             $record->save();
 
+            DB::commit();
             return [
                 'code' => 0,
                 'msg' => '申请提交成功',