zhaojs
2023-06-07 985c5676a7df21074410628938b157b0b4d15a39
application/api/controller/User.php
@@ -23,7 +23,7 @@
 */
class User extends Api
{
    protected $noNeedLogin = ['login', 'mobilelogin', 'resetpwd', 'changemobile', 'wxapplogin','bind_mobile_login','register'];
    protected $noNeedLogin = ['GetRecomInviter','login', 'mobilelogin', 'resetpwd', 'changemobile', 'wxapplogin','bind_mobile_login','register'];
    protected $noNeedRight = '*';
    public function _initialize()
@@ -83,13 +83,14 @@
    {
        $mobile = $this->request->post('mobile');
        $captcha = $this->request->post('captcha');
        $ismobouth=$this->request->post('ismobouth',false);
        if (!$mobile || !$captcha) {
            $this->error(__('Invalid parameters'));
        }
        if (!Validate::regex($mobile, "^1\d{10}$")) {
            $this->error(__('Mobile is incorrect'));
        }
        if (!Sms::check($mobile, $captcha, 'login')) {
        if (!$ismobouth&&!Sms::check($mobile, $captcha, 'login')) {
            $this->error(__('Captcha is incorrect'));
        }
        $user = \app\common\model\User::getByMobile($mobile);
@@ -922,6 +923,59 @@
        $res = $LogicUser->unboundWechat(USERID);
        $this->success('解绑成功',[]);       
    }
     /**
     * 修改邀请码
     *
     * @return void
     */
    public function changecode(){
         $user = $this->auth->getUser();
        if($user->level<2){
            $this->error('当前等级不能修改邀请码');
        }
        //判断是否有修改记录
        if (\app\common\model\user\CodeChangeHistory::getByUserId($user->id)) {
            $this->error('邀请码只能修改一次哦');
        }
        $invitation_code =  request()->param('invite_code','');
        if (!$invitation_code ) {
            $this->error(__('请输入邀请码'));
        }
        if(strlen($invitation_code)<4){
            $this->error('邀请码不能少于4位');
        }
        if(strlen($invitation_code)>9){
            $this->error('邀请码不能超过8位');
        }
        if (\app\common\model\User::where('invitation_code', $invitation_code)->where('id', '<>', $user->id)->find()) {
            $this->error('邀请码已存在');
        }
        $user->invitation_code = $invitation_code;
        $user->save();
        //保存修改记录
        \app\common\model\user\CodeChangeHistory::create([
                    'user_id' => $user->id,
                    'before_code' => $user->invitation_code,
                    'after_code' =>$invitation_code,
                    'create_time' => time()
                ]);
        $this->success();
    }
    /**
    *
    *获取推荐邀请人
    */
    public function getRecomInviter()
    {
        $ModelUser=new ModelUser();
        $user = $ModelUser->join('recommend_inviter', 't_user.id=t_recommend_inviter.user_id')
        ->field('t_user.id,t_user.avatar,t_user.invitation_code,t_user.nickname')
        ->order('recommend_inviter.order_inde asc')
        ->select();
        $this->success('获取成功',$user);
    }
}