Przeglądaj źródła

wesmiler 报恩寺项目提交

wesmiler 4 lat temu
rodzic
commit
6cf54bb1eb

+ 4 - 0
app/Http/Controllers/TradesController.php

@@ -33,4 +33,8 @@ class TradesController extends Backend
         parent::__construct();
         $this->service = new TradeService();
     }
+
+    public function change(){
+        return $this->service->change($this->userId);
+    }
 }

+ 58 - 0
app/Services/TradeService.php

@@ -11,6 +11,7 @@
 
 namespace App\Services;
 
+use App\Models\MemberModel;
 use App\Models\TradeModel;
 use function GuzzleHttp\Psr7\str;
 
@@ -135,4 +136,61 @@ class TradeService extends BaseService
         return parent::edit($data); // TODO: Change the autogenerated stub
     }
 
+    /**
+     * 账户后台调整
+     * @param $userId
+     * @return array
+     */
+    public function change($adminUid){
+        $params = request()->all();
+        $num = isset($params['num'])? $params['num'] : 0;
+        $type = isset($params['type'])? $params['type'] : 1;
+        $userId = isset($params['user_id'])? $params['user_id'] : 1;
+        $changeType = isset($params['change_type'])? $params['change_type'] : 1;
+        $typeName = $type == 1? '花灯券':'积分';
+        if($num<=0){
+            return message('请填写调整'.$typeName.'数量', false);
+        }
+
+        if(!in_array($changeType, [1,2])){
+            return message('操作类型错误', false);
+        }
+
+        $memberInfo = MemberModel::where(['id'=> $userId,'mark'=> 1,'status'=> 1])
+            ->select(['id','openid','nickname','coupon','score'])
+            ->first();
+        if($userId<=0 || !$memberInfo){
+            return message('用户账户状态不可操作', false);
+        }
+
+        \DB::beginTransaction();
+        $field = $type == 1? 'coupon' : 'score';
+        if(!MemberModel::where(['id'=> $userId])->increment($field, ($changeType==1? $num : -$num))){
+            \DB::rollBack();
+            return message("{$typeName}账户更新失败", false);
+        }
+
+        // 明细
+        $remark = isset($params['remark'])? $params['remark'] : '';
+        $data = [
+            'user_id'=> $userId,
+            'type'=> 5,
+            'coin_type'=> $type,
+            'pay_type'=> 4,
+            'money'=> $num,
+            'change_type'=> 1,
+            'balance'=> $type == 1? $memberInfo->coupon : $memberInfo->score,
+            'create_time'=> time(),
+            'remark'=> $remark? $remark : '平台调整账户,'.($changeType==1?'增加':'减少')."{$num}个{$typeName}",
+            'status'=> 1,
+        ];
+        if(!$this->model::insertGetId($data)){
+            \DB::rollBack();
+            return message("{$typeName}账户明细处理失败", false);
+        }
+
+        \DB::commit();
+        return message(($changeType==1?'增加':'减少')."{$num}个{$typeName}成功", true);
+    }
+
 }

+ 1 - 0
routes/web.php

@@ -479,6 +479,7 @@ Route::get('/trades/info', [\App\Http\Controllers\TradesController::class, 'info
 Route::post('/trades/edit', [\App\Http\Controllers\TradesController::class, 'edit']);
 Route::post('/trades/delete', [\App\Http\Controllers\TradesController::class, 'delete']);
 Route::post('/trades/status', [\App\Http\Controllers\TradesController::class, 'status']);
+Route::post('/trades/change', [\App\Http\Controllers\TradesController::class, 'change']);
 
 // 充值记录
 Route::get('/recharge/index', [\App\Http\Controllers\RechargeController::class, 'index']);