ソースを参照

wesmiler 报恩寺项目提交

wesmiler 4 年 前
コミット
56b649fe3f
1 ファイル変更20 行追加8 行削除
  1. 20 8
      app/Services/TradeService.php

+ 20 - 8
app/Services/TradeService.php

@@ -11,6 +11,7 @@
 
 
 namespace App\Services;
 namespace App\Services;
 
 
+use App\Models\ActionLogModel;
 use App\Models\MemberModel;
 use App\Models\MemberModel;
 use App\Models\TradeModel;
 use App\Models\TradeModel;
 use function GuzzleHttp\Psr7\str;
 use function GuzzleHttp\Psr7\str;
@@ -54,7 +55,8 @@ class TradeService extends BaseService
 
 
                 $type = isset($params['type']) ? $params['type'] : 0;
                 $type = isset($params['type']) ? $params['type'] : 0;
                 if ($type > 0) {
                 if ($type > 0) {
-                    $query->where('a.type', $type);
+                    $type = explode(',', $type);
+                    $query->whereIn('a.type', $type);
                 }
                 }
 
 
                 $payType = isset($params['pay_type']) ? $params['pay_type'] : 0;
                 $payType = isset($params['pay_type']) ? $params['pay_type'] : 0;
@@ -230,9 +232,9 @@ class TradeService extends BaseService
         $type = isset($params['type'])? $params['type'] : 1;
         $type = isset($params['type'])? $params['type'] : 1;
         $userId = isset($params['user_id'])? $params['user_id'] : 1;
         $userId = isset($params['user_id'])? $params['user_id'] : 1;
         $changeType = isset($params['change_type'])? $params['change_type'] : 1;
         $changeType = isset($params['change_type'])? $params['change_type'] : 1;
-        $typeName = $type == 1? '花灯券':'积分';
+        $typeName = $type == 1? '花灯券':($type==3? '积分' : '工资');
         if($num<=0){
         if($num<=0){
-            return message('请填写调整'.$typeName.'数量', false);
+            return message('请填写调整'.$typeName.($type==2? '金额':'数量'), false);
         }
         }
 
 
         if(!in_array($changeType, [1,2])){
         if(!in_array($changeType, [1,2])){
@@ -240,7 +242,7 @@ class TradeService extends BaseService
         }
         }
 
 
         $memberInfo = MemberModel::where(['id'=> $userId,'mark'=> 1,'status'=> 1])
         $memberInfo = MemberModel::where(['id'=> $userId,'mark'=> 1,'status'=> 1])
-            ->select(['id','openid','nickname','coupon','score'])
+            ->select(['id','openid','nickname','coupon','score','salary'])
             ->first();
             ->first();
         if($userId<=0 || !$memberInfo){
         if($userId<=0 || !$memberInfo){
             return message('用户账户状态不可操作', false);
             return message('用户账户状态不可操作', false);
@@ -251,31 +253,36 @@ class TradeService extends BaseService
                 return message('用户花灯券剩余'.$memberInfo->coupon.',已超出调整数量', false);
                 return message('用户花灯券剩余'.$memberInfo->coupon.',已超出调整数量', false);
             }
             }
 
 
+            if($type == 2 && $memberInfo->salary < $num){
+                return message('用户工资剩余'.$memberInfo->salary.',已超出调整数量', false);
+            }
+
             if($type == 3 && $memberInfo->score < $num){
             if($type == 3 && $memberInfo->score < $num){
                 return message('用户积分剩余'.$memberInfo->score.',已超出调整数量', false);
                 return message('用户积分剩余'.$memberInfo->score.',已超出调整数量', false);
             }
             }
         }
         }
 
 
         \DB::beginTransaction();
         \DB::beginTransaction();
-        $field = $type == 1? 'coupon' : 'score';
+        $field = $type == 1? 'coupon' : ($type==3? 'score' : 'salary');
         if(!MemberModel::where(['id'=> $userId])->increment($field, ($changeType==1? $num : -$num))){
         if(!MemberModel::where(['id'=> $userId])->increment($field, ($changeType==1? $num : -$num))){
             \DB::rollBack();
             \DB::rollBack();
             return message("{$typeName}账户更新失败", false);
             return message("{$typeName}账户更新失败", false);
         }
         }
 
 
         // 明细
         // 明细
+        $mark = $type ==2? '元':'个';
         $remark = isset($params['remark'])? $params['remark'] : '';
         $remark = isset($params['remark'])? $params['remark'] : '';
         $data = [
         $data = [
             'user_id'=> $userId,
             'user_id'=> $userId,
             'source_uid'=> $adminUid,
             'source_uid'=> $adminUid,
-            'type'=> 5,
+            'type'=> $type == 2? 8 : 5,
             'coin_type'=> $type,
             'coin_type'=> $type,
             'pay_type'=> 4,
             'pay_type'=> 4,
             'money'=> $num,
             'money'=> $num,
             'change_type'=> $changeType,
             'change_type'=> $changeType,
             'balance'=> $type == 1? $memberInfo->coupon : $memberInfo->score,
             'balance'=> $type == 1? $memberInfo->coupon : $memberInfo->score,
             'create_time'=> time(),
             'create_time'=> time(),
-            'remark'=> $remark? $remark : "平台调整账户,".($changeType==1?'增加':'减少')."{$num}{$typeName}",
+            'remark'=> $remark? $remark : "平台调整账户,".($changeType==1?'增加':'减少')."{$num}{$mark}{$typeName}",
             'status'=> 1,
             'status'=> 1,
         ];
         ];
         if(!$this->model::insertGetId($data)){
         if(!$this->model::insertGetId($data)){
@@ -284,7 +291,12 @@ class TradeService extends BaseService
         }
         }
 
 
         \DB::commit();
         \DB::commit();
-        return message(($changeType==1?'增加':'减少')."{$num}个{$typeName}成功", true);
+
+        // 设置日志标题
+        ActionLogModel::setTitle("用户{$typeName}账户调整,".($changeType==1?'增加':'减少')."{$num}{$mark}{$typeName}");
+        ActionLogModel::record();
+
+        return message(($changeType==1?'增加':'减少')."{$num}{$mark}{$typeName}成功", true);
     }
     }
 
 
 }
 }