wesmiler il y a 1 mois
Parent
commit
d841eb1e8c

+ 3 - 8
app/Http/Controllers/Admin/MemberController.php

@@ -46,18 +46,13 @@ class MemberController extends Backend
     }
 
     /**
-     * 审核
+     * 修改上级
      * @return array
      */
-    public function confirm(MemberValidator $validator)
+    public function modifyParent()
     {
         $params = request()->post();
-        $params = $validator->check($params, 'confirm');
-        if (!is_array($params)) {
-            return message($params, false);
-        }
-
-        if(MemberService::make()->confirm($this->userId,$params)){
+        if(MemberService::make()->modifyParent($this->userId,$params)){
             return message(MemberService::make()->getError(), true);
         }else{
             return message(MemberService::make()->getError(), false);

+ 56 - 0
app/Services/Common/MemberService.php

@@ -15,6 +15,7 @@ use App\Models\ActionLogModel;
 use App\Models\MemberModel;
 use App\Services\BaseService;
 use App\Services\RedisService;
+use Illuminate\Support\Facades\DB;
 
 /**
  * 会员管理-服务类
@@ -344,6 +345,61 @@ class MemberService extends BaseService
     }
 
     /**
+     * 修改推荐人
+     * @param $adminId
+     * @param $params
+     * @return array
+     */
+    public function modifyParent($adminId, $params)
+    {
+        $id = isset($params['id'])?$params['id'] : 0;
+        $parentId = isset($params['parent_id'])?$params['parent_id'] : 0;
+
+        if($id<=0){
+            return message('用户参数错误', false);
+        }
+
+        if($parentId<=0){
+            return message('请选择推荐人', false);
+        }
+
+        $info = $this->model->where(['id'=> $id])->first();
+        $memberParentId = isset($info['parent_id'])? $info['parent_id'] : 0;
+        if($memberParentId == $parentId){
+            return message('推荐人未修改', false);
+        }
+
+        $parent = $this->model->where(['id'=> $parentId])->first();
+        $parents = isset($parent['parents'])?$parent['parents'] : '';
+        $parents = $parents? explode(',', $parents) : [];
+        $parents = array_filter($parents);
+        $parents[] = $parentId;
+        $parents = ','.implode(',', $parents).',';
+
+        DB::beginTransaction();
+        $info->parent_id = $parentId;
+        $info->parents = $parents;
+        $info->update_time = time();
+        if(!$info->save()){
+            DB::rollBack();
+            return message('修改失败', false);
+        }
+
+        // 修改下级推荐参数
+        if(!$this->model->where(['parent_id'=> $id])->update(['parents'=> $parents.$id.',','update_time'=>time()])){
+            DB::rollBack();
+            return message('修改失败', false);
+        }
+
+        DB::commit();
+        // 设置日志
+        ActionLogModel::setRecord($adminId, ['type' => 1, 'title' => '修改会员推荐人', 'content' => json_encode($params, 256), 'module' => 'admin']);
+        ActionLogModel::record();
+        
+        return message('修改成功', true);
+    }
+
+    /**
      * 添加会编辑会员
      * @return array
      * @since 2020/11/11

+ 1 - 1
routes/web.php

@@ -173,7 +173,7 @@ Route::get('/member/info', [MemberController::class, 'info']);
 Route::get('/member/read', [MemberController::class, 'read']);
 Route::post('/member/add', [MemberController::class, 'add']);
 Route::post('/member/edit', [MemberController::class, 'edit']);
-Route::post('/member/confirm', [MemberController::class, 'confirm']);
+Route::post('/member/modifyParent', [MemberController::class, 'modifyParent']);
 Route::post('/member/delete', [MemberController::class, 'delete']);
 Route::post('/member/status', [MemberController::class, 'status']);
 Route::post('/member/options', [MemberController::class, 'options']);