heyuntao
2023-06-09 3b7af15b742ab218d0f18809f292270881747b94
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);
@@ -429,6 +430,27 @@
        $this->success([],'删除成功');
    }
    /**
     * 标记浏览0元购商品记录
     *
     * @return void
     */
    public function update_first_free_browse()
    {
        $ids = request()->param('goodsid','');
        $new_goodsId = request()->param('new_goodsId','');
        $LogicUserBrowse = new LogicUserBrowse();
        $res = $LogicUserBrowse->updatefirstfreelog(USERID,$ids,$new_goodsId);
        if($res === false) $this->error($LogicUserBrowse->getError());
        $this->success([],'添加成功');
    }
     /**
     * 用户收藏记录
@@ -742,6 +764,7 @@
        $user_jjcj_num = $ModelUser->where(['f_invitation_id'=>USERID,'level'=>1])->count(); //间接初级人数
        $user_zszj_num = $ModelUser->where(['invitation_id'=>USERID,'level'=>2])->count(); //直属中级人数
        $user_jjzj_num = $ModelUser->where(['f_invitation_id'=>USERID,'level'=>2])->count(); //间接中级人数
        $user_zong_num = $ModelUser->where(['invitation_id'=>USERID])->count(); //总邀请人数
        $user_monthly_commission = LogicUser::getUserCommission($user['id'],'month'); //获取近30佣金
        $user_total_commission = LogicUser::getUserCommission($user['id'],'total'); //获取累计佣金
        $data = [
@@ -750,6 +773,7 @@
                'user_jjcj_num' => $user_jjcj_num,
                'user_zszj_num' => $user_zszj_num,
                'user_jjzj_num' => $user_jjzj_num,
                'user_zong_num'=>$user_zong_num,
                'user_monthly_commission' => $user_monthly_commission,
                'total_commission' => $user_total_commission
            ],
@@ -922,6 +946,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);
    }
}