Ver código fonte

wesmiler 报恩寺项目提交

wesmiler 4 anos atrás
pai
commit
4777e3fd22

+ 17 - 0
app/Http/Controllers/Api/v1/MemberController.php

@@ -3,9 +3,11 @@
 namespace App\Http\Controllers\Api\v1;
 
 use App\Http\Controllers\Api\BaseController;
+use App\Http\Validator\MasterValidator;
 use App\Http\Validator\MemberValidator;
 use App\Http\Validator\WithdrawValidator;
 use App\Http\Validator\YigongValidator;
+use App\Services\MasterService;
 use App\Services\MemberService;
 use App\Services\WithdrawService;
 use App\Services\YigongService;
@@ -32,6 +34,7 @@ class MemberController extends BaseController
 
         $this->service = new MemberService();
         $this->yigongService = new YigongService();
+        $this->masterService = new MasterService();
         $this->withdrawService = new WithdrawService();
     }
 
@@ -60,6 +63,20 @@ class MemberController extends BaseController
     }
 
     /**
+     * 法师申请
+     * @param MasterValidator $validator
+     * @return array
+     */
+    public function masterApply(MasterValidator $validator){
+        $params = $validator->check(request()->all(),'save');
+        if(!is_array($params)){
+            return message($params, false);
+        }
+
+        return $this->masterService->apply($this->userId);
+    }
+
+    /**
      * 加入会员
      * @return array
      */

+ 49 - 0
app/Http/Validator/MasterValidator.php

@@ -0,0 +1,49 @@
+<?php
+namespace App\Http\Validator;
+class MasterValidator extends BaseValidator
+{
+    // 当前模型所有验证规则
+    public static $rules = [
+        'id' => 'required',
+        'idcard_front' => 'required',
+        'idcard_back' => 'required',
+        'contact_phone' => 'required',
+        'realname' => 'required',
+    ];
+
+    // 当前模型所有错误提示信息
+    public static $msgs = [
+        'required' => ':attribute不能为空',
+        'string' => ':attribute必须是字符串',
+        'min' => ':attribute长度不能小于:min位',
+        'max' => ':attribute长度不能大于:max位',
+        'exists' => ':attribute不存在',
+        'rule' => ':attribute格式不正确',
+    ];
+
+    // 当前模型所有验证字段
+    public static $fields = [
+        'id' => 'ID',
+        'idcard_front' => '身份证正面',
+        'idcard_back' => '身份证反面',
+        'contact_phone' => '联系号码',
+        'realname' => '姓名',
+    ];
+
+    // 当前模型所有验证场景
+    public static $scenes = [
+        'info'=> ['id'],
+        'save'=> ['contact_phone','realname','idard_front','idcard_back'],
+    ];
+
+    /**
+     * 验证
+     * @param $request
+     * @param string $scene
+     * @return int|mixed
+     */
+    public static function check($request, $scene=''){
+        $validator = new BaseValidator(self::$rules, self::$msgs, self::$fields, self::$scenes);
+        return $validator->checkParams($request, $scene);
+    }
+}

+ 113 - 0
app/Services/MasterService.php

@@ -0,0 +1,113 @@
+<?php
+// +----------------------------------------------------------------------
+// | Laravel框架 [ Laravel ]
+// +----------------------------------------------------------------------
+// | 版权所有 2017~2021 Laravel研发中心
+// +----------------------------------------------------------------------
+// | 官方网站: http://www.laravel.cn
+// +----------------------------------------------------------------------
+// | Author: wesmiler <12345678@qq.com>
+// +----------------------------------------------------------------------
+
+namespace App\Services;
+
+use App\Models\MasterModel;
+use App\Models\MemberModel;
+use App\Models\SiyuanModel;
+
+/**
+ * 法师管理-服务类
+ * @author wesmiler
+ * @since 2020/11/11
+ * Class MasterService
+ * @package App\Services
+ */
+class MasterService extends BaseService
+{
+    /**
+     * 构造函数
+     * @author wesmiler
+     * @since 2020/11/11
+     * MasterService constructor.
+     */
+    public function __construct()
+    {
+        $this->model = new MasterModel();
+    }
+
+
+    /**
+     * 获取列表
+     * @return array
+     * @since 2020/11/11
+     * @author wesmiler
+     */
+    public function getList()
+    {
+        $params = request()->all();
+        return parent::getList();
+    }
+
+    /**
+     * 申请提交
+     * @param $userId
+     * @return array
+     */
+    public function apply($userId){
+        $params = request()->all();
+        $memberInfo = MemberModel::where(['id'=> $userId,'mark'=> 1,'status'=> 1])
+            ->select(['id','nickname','status'])
+            ->first();
+        if(!$memberInfo){
+            return message('用户账号不可操作', false);
+        }
+
+        $info = $this->model::where(['id'=> $userId])->first();
+        if($info && $info->mark==1 && $info->status==1){
+            return message('您已经入驻成功,不需要再提交', false);
+        }else if($info && $info->mark == 1 && $info->status==2){
+            return message('您已经提交过申请,请耐心等候审核', false);
+        }
+
+        if($info){
+            $info->realname = isset($params['realname'])? $params['realname'] : '';
+            $info->master_no = isset($params['master_no'])? $params['master_no'] : '';
+            $info->contact_phone = isset($params['contact_phone'])? $params['contact_phone'] : '';
+            $info->idcard_front = isset($params['idcard_front'])? $params['idcard_front'] : '';
+            $info->idcard_back = isset($params['idcard_back'])? $params['idcard_back'] : '';
+            $info->description = isset($params['description'])? $params['description'] : '';
+            $info->type = isset($params['type'])? $params['type'] : 1;
+            $info->master_type = isset($params['master_type'])? $params['master_type'] : 1;
+            $info->siyuan = isset($params['siyuan'])? $params['siyuan'] : '';
+            $info->siyuan_address = isset($params['siyuan_address'])? $params['siyuan_address'] : '';
+            $info->create_time  = time();
+            $info->mark  = 1;
+            $info->status = 2;
+            if($memberInfo->save()){
+                return message('申请提交成功,请耐心等候审核', true);
+            }
+        }else{
+            $data = [
+                'realname'=> isset($params['realname'])? trim($params['realname']) : '',
+                'master_no'=> isset($params['master_no'])? $params['master_no'] : '',
+                'contact_phone'=> isset($params['contact_phone'])? $params['contact_phone'] : '',
+                'idcard_front'=> isset($params['idcard_front'])? $params['idcard_front'] : '',
+                'idcard_back'=> isset($params['idcard_back'])? $params['idcard_back'] : '',
+                'description'=> isset($params['description'])? $params['description'] : '',
+                'type'=> isset($params['type'])? intval($params['type']) : 1,
+                'master_type'=> isset($params['master_type'])? intval($params['master_type']) : 1,
+                'siyuan'=> isset($params['siyuan'])? $params['siyuan'] : '',
+                'siyuan_address'=> isset($params['siyuan_address'])? $params['siyuan_address'] : '',
+                'create_time'=> time(),
+                'update_time'=> time(),
+                'mark'=> 1,
+                'status'=> 2,
+            ];
+            if($this->model::insertGetId($data)){
+                return message('申请提交成功,请耐心等候审核', true);
+            }
+        }
+
+        return message('申请提交失败', false);
+    }
+}

+ 1 - 0
routes/api.php

@@ -55,6 +55,7 @@ Route::post('/member/followList', [\App\Http\Controllers\Api\v1\MemberController
 Route::post('/member/gdList', [\App\Http\Controllers\Api\v1\MemberController::class, 'gdList']);
 Route::post('/member/yigong', [\App\Http\Controllers\Api\v1\MemberController::class, 'yigong']);
 Route::post('/member/yigongApply', [\App\Http\Controllers\Api\v1\MemberController::class, 'yigongApply']);
+Route::post('/member/masterApply', [\App\Http\Controllers\Api\v1\MemberController::class, 'masterApply']);
 Route::post('/member/activity', [\App\Http\Controllers\Api\v1\ActivityController::class, 'bookList']);
 Route::post('/member/withdraw', [\App\Http\Controllers\Api\v1\MemberController::class, 'withdraw']);
 Route::post('/member/recommand', [\App\Http\Controllers\Api\v1\MemberController::class, 'recommand']);