Files
yusheng-php/application/api/controller/UserData.php

228 lines
8.4 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
namespace app\api\controller;
use app\common\controller\BaseCom;
use think\Db;
class UserData extends BaseCom
{
//用户第一次修改信息
public function modify_fist_user_info()
{
// $this->uid = input('user_id', 0);
$key_name = "api:user:follow_user:" . $this->uid;
redis_lock_exit($key_name);
$nick_name = input('nickname');
$birthday = input('birthday', '1990-01-01');
$sex = input('sex', 0);
$head_pic = input('avatar', '');
$reg_code = input('init_code', '');
$reslut = model('UserData')->modify_fist_user_info($nick_name, $birthday, $sex, $head_pic, $reg_code,$this->uid);
redis_unlock($key_name);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
//根据性别选择用户头像
public function modify_user_sex_pic(){
$sex = input('sex', 0);
$reslut = model('UserData')->modify_pic_user_info($sex);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
/*
* 随机生成用户昵称
*/
public function random_nickname()
{
$nickname = random_nickname(1);
return V(1, "获取成功", $nickname);
}
//修改用户 信息
public function modify_user_info()
{
$key_name = "api:user:follow_user:" . $this->uid;
redis_lock_exit($key_name);
$nick_name = input('nick_name');
$birthday = input('birthday', '1990-01-01');
$sex = input('sex', 1);
$head_pic = input('head_pic', '');
$images = input('images', '');//背景图(以json字符串的形式可以多图)
$autograph = input('autograph', '');//简介)
$tag_id = input('tag_id','');//标签id 多选逗号分隔
$reslut = model('UserData')->modify_user_info($this->uid, $nick_name, $birthday, $sex, $head_pic, $images, $autograph,$tag_id);
redis_unlock($key_name);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
//修改/设置登录密码
public function modify_password()
{
$trade_password = input('new_password');
$mobile = input('mobile');
$user_id = input('user_id');
$sms_code = input('sms_code', ''); //短信验证码
//default-默认登录1-更换手机号2绑定手机号3-忘记密码4-设置密码5-账号注销6-提现
$reslut = model('sms')->verification_code(4,$mobile, $sms_code);
if ($reslut['code'] == 0) {
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
$reslut = model('UserData')->modify_password($trade_password,$user_id);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
//绑定手机号
public function bind_mobile()
{
$key_name = "api:user:bind_mobile:" . $this->uid;
redis_lock_exit($key_name);
$mobile = input('new_mobile');
$sms_code = input('sms_code', '');
//default-默认登录1-更换手机号2绑定手机号3-忘记密码4-设置密码5-账号注销6-提现
$reslut = model('sms')->verification_code(2,$mobile, $sms_code);
if ($reslut['code'] == 0) {
redis_unlock($key_name);
return v($reslut['code'], $reslut['msg'], $reslut['data']);
}
//查询新手机号绑定的数量
$new_mobile_num = db::name('user')->where(['mobile' => $mobile,'status' => ['neq', 0]])->count();
if ($new_mobile_num >= 3) {
return v(0, '该手机号已达绑定上限');
}
$reslut = model('UserData')->modify_mobile($mobile,$this->uid);
redis_unlock($key_name);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
//更换手机号
//default-默认登录1-更换手机号2绑定手机号3-忘记密码4-设置密码5-账号注销6-提现
//更换手机号
public function modify_mobile()
{
$key_name = "api:user:modify_mobile:" . $this->uid;
redis_lock_exit($key_name);
$mobile = input('mobile');
$new_mobile = input('new_mobile');
$sms_code = input('sms_code', '');
$user_mobile = db::name('user')->where('id',$this->uid)->value('mobile');
if($user_mobile){
if ($user_mobile != $mobile){
redis_unlock($key_name);
// return V(0, "旧手机号错误", null);
}
}
if ($new_mobile == $user_mobile){
redis_unlock($key_name);
return V(0, "新手机号不能与旧手机号一致", null);
}
$reslut = model('sms')->verification_code(1,$new_mobile, $sms_code);
if ($reslut['code'] == 0) {
redis_unlock($key_name);
return v($reslut['code'], $reslut['msg'], $reslut['data']);
}
$reslut = model('UserData')->modify_mobile($new_mobile,$this->uid);
redis_unlock($key_name);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
//更换手机号
//default-默认登录1-更换手机号2绑定手机号3-忘记密码4-设置密码5-账号注销6-提现
public function modify_mobiles()
{
$key_name = "api:user:modify_mobile:" . $this->uid;
redis_lock_exit($key_name);
$mobile = input('mobile');
$sms_code = input('sms_code', '');
$user_mobile = db::name('user')->where('id',$this->uid)->value('mobile');
if ($user_mobile != $mobile){
redis_unlock($key_name);
return V(0, "旧手机号错误", null);
}
//验证原有手机号
$reslut = model('sms')->verification_code(1,$mobile, $sms_code);
if ($reslut['code'] == 0) {
redis_unlock($key_name);
return v($reslut['code'], $reslut['msg'], $reslut['data']);
}
$new_mobile = input('new_mobile');
$new_sms_code = input('new_sms_code', '');
if ($new_mobile == $user_mobile){
redis_unlock($key_name);
return V(0, "新手机号不能与旧手机号一致", null);
}
//验证新手机号
$reslut1 = model('sms')->verification_code(1,$new_mobile, $new_sms_code);
if ($reslut1['code'] == 0) {
redis_unlock($key_name);
return v($reslut1['code'], $reslut1['msg'], $reslut1['data']);
}
//查询新手机号是否绑定过
$new_mobile_num = db::name('user')->where(['mobile' => $new_mobile])->select();
if ($new_mobile_num){
foreach ($new_mobile_num as $key => $value){
if($value['status'] != 0){
redis_unlock($key_name);
return V(0, "换绑失败,请联系客服", null);
}
if(time() - $value['delete_time'] < 60 * 60 * 24 * 30){
redis_unlock($key_name);
return V(0, "此手机号已注销30天内不允许操作", null);
}
}
}
$reslut2 = model('UserData')->modify_mobile($new_mobile,$this->uid);
redis_unlock($key_name);
return V($reslut2['code'], $reslut2['msg'], $reslut2['data']);
}
//实名认证
public function real_name()
{
$key_name = "api:user:real_name:" . $this->uid;
redis_lock_exit($key_name);
$real_name = input('real_name');
$card_number = input('card_number');
//去掉前后空格
$card_number = trim($card_number);
$reslut = model('UserData')->real_name($this->uid,$real_name, $card_number);
redis_unlock($key_name);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
//实名认证成功后通知后端
public function real_name_result()
{
$orderNo = input('orderNo', '');
$reslut = model('UserData')->real_name_result($this->uid,$orderNo);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
//实名认证后的信息
public function real_name_info()
{
$reslut = model('UserData')->real_name_info($this->uid);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
//隐身设置
public function modify_hide_status()
{
$status = input('hide_status', 0);//0-取消隐身1-设置隐身
$reslut = model('UserData')->modify_hide_status($this->uid,$status);
return V($reslut['code'], $reslut['msg'], $reslut['data']);
}
}