| | |
| | | 'register' => array( |
| | | 'phone' => array('name' => 'phone', 'type' => 'string', 'require' => true, 'desc' => '用户电话'), |
| | | 'password' => array('name' => 'password', 'type' => 'string', 'require' => true, 'desc' => '密码'), |
| | | 'code' => array('name' => 'code', 'type' => 'string', 'require' => true, 'desc' => '注册验证码'), |
| | | ), |
| | | 'getBaseInfo' => array( |
| | | 'userId' => array('name' => 'user_id', 'type' => 'int', 'min' => 1, 'require' => true, 'desc' => '用户ID'), |
| | | 'login' => array( |
| | | 'phone' => array('name' => 'phone', 'type' => 'string', 'require' => true, 'desc' => '用户电话'), |
| | | 'password' => array('name' => 'password', 'type' => 'string', 'require' => true, 'desc' => '密码'), |
| | | ), |
| | | 'getMultiBaseInfo' => array( |
| | | 'userIds' => array('name' => 'user_ids', 'type' => 'array', 'format' => 'explode', 'require' => true, 'desc' => '用户ID,多个以逗号分割'), |
| | | 'getUserInfo' => array( |
| | | 'phone' => array('name' => 'phone', 'type' => 'string', 'require' => true, 'desc' => '用户电话'), |
| | | ), |
| | | 'resetPwd' => array( |
| | | 'phone' => array('name' => 'phone', 'type' => 'string', 'require' => true, 'desc' => '用户电话'), |
| | | 'password' => array('name' => 'password', 'type' => 'string', 'require' => true, 'desc' => '密码'), |
| | | 'code' => array('name' => 'code', 'type' => 'string', 'require' => true, 'desc' => '重置密码验证码'), |
| | | ), |
| | | 'updateUserInfo' => array( |
| | | 'user_id' => array('name' => 'user_id', 'type' => 'string', 'require' => true, 'desc' => '用户id'), |
| | | 'field' => array('name' => 'field', 'type' => 'string', 'require' => true, 'desc' => '更新字段'), |
| | | 'value' => array('name' => 'value', 'type' => 'string', 'require' => true, 'desc' => '数值'), |
| | | ) |
| | | ); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 用户注册 |
| | | * @desc 用于用户注册 |
| | | * @return bool code 操作码,0表示注册成功, 1表示注册 |
| | | * @return string msg 返回提示 |
| | | */ |
| | | public function register(){ |
| | | $rs = array('code' => 0, 'msg' => '', 'info' => array()); |
| | | $userService = new Domain_User(); |
| | | if($userService->checkPhone($this->phone)){ |
| | | $data['phone'] = $this->phone; |
| | | $data['encrypt'] = Common_Util::random(8); |
| | | $data['password'] = md5(md5($this->password).$data['encrypt']); |
| | | $data['nickname'] = $this->phone; |
| | | $data['refresh'] = 5; |
| | | $data['is_open_upload'] = 1; |
| | | $data['video'] = 1; |
| | | $data['create_time'] = date('Y-m-d H:i:s'); |
| | | $data['edit_time'] = $data['create_time']; |
| | | $data['is_lock'] = 0; |
| | | $data['role'] = '596f23ab9e74bb85388b4567'; |
| | | if($userService->register($data)){ |
| | | $rs['msg'] = '用户注册成功'; |
| | | $rs = array('code' => 0, 'msg' => ''); |
| | | $user_service = new Domain_User(); |
| | | if($user_service->checkPhone($this->phone)){ |
| | | $sms_service = new Domain_SmsCode(); |
| | | $result = $sms_service->checkSmsCode($this->phone, $this->code, 'register'); |
| | | if($result == 0){ |
| | | $data['phone'] = $this->phone; |
| | | $data['encrypt'] = Common_Util::random(8); |
| | | $data['password'] = md5(md5($this->password).$data['encrypt']); |
| | | $data['nickname'] = $this->phone; |
| | | $data['refresh_frequency'] = 5; |
| | | $data['is_open_upload'] = 1; |
| | | $data['video'] = 1; |
| | | $data['create_time'] = date('Y-m-d H:i:s'); |
| | | $data['edit_time'] = $data['create_time']; |
| | | $data['is_lock'] = 0; |
| | | $data['role'] = '596f23ab9e74bb85388b4567'; |
| | | if($user_service->register($data)){ |
| | | $rs['msg'] = '用户注册成功'; |
| | | } |
| | | else{ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '注册失败'; |
| | | } |
| | | } |
| | | elseif($result == 1){ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '手机验证码已失效或已经使用过了,请重新获取验证码'; |
| | | } |
| | | elseif($result == 2){ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '手机验证码错误'; |
| | | } |
| | | else{ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '注册失败'; |
| | | $rs['msg'] = '验证码不存在,请重新获取验证码'; |
| | | } |
| | | } |
| | | else{ |
| | |
| | | } |
| | | |
| | | /** |
| | | * 用户登录 |
| | | * @desc 用于用户登录验证 |
| | | * @return bool code 操作码,0表示登录成功, 1表示登录失败 |
| | | * @return string msg 返回提示 |
| | | */ |
| | | public function login(){ |
| | | $rs = array('code' => 0, 'msg' => '', 'info' => array()); |
| | | $user_service = new Domain_User(); |
| | | if(!$user_service->checkPhone($this->phone) && $user_service->checkUserStatus($this->phone)){ |
| | | if($user_service->login($this->phone, $this->password)){ |
| | | $rs['msg'] = '登录验证成功'; |
| | | $rs['info'] = $user_service->getUserInfoByPhone($this->phone); |
| | | } |
| | | else{ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '用户手机错误或者密码错误'; |
| | | } |
| | | } |
| | | else{ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '用户手机不存在或已被禁用'; |
| | | } |
| | | return $rs; |
| | | } |
| | | |
| | | /** |
| | | * 获取用户信息 |
| | | * @return [type] [description] |
| | | * @desc 获取单个用户记录 |
| | | * @return bool code 操作码,0表示成功, 1表示失败 |
| | | * @return string msg 返回提示 |
| | | * @return object info 用户信息对象 |
| | | * @return string info._id 用户id |
| | | * @return string info.phone 手机号码 |
| | | * @return string info.encypt 随机码 |
| | | * @return string info.password 密码 |
| | | * @return string info.nickname 用户昵称 |
| | | * @return string info.refresh_frequency 刷新频率 |
| | | * @return string info.is_open_upload 是否开启上传 |
| | | * @return string info.is_lock 是否被锁定,0表示未锁定,1表示锁定 |
| | | */ |
| | | public function getUserInfo(){ |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 获取用户基本信息 |
| | | * @desc 用于获取单个用户基本信息 |
| | | * @return int code 操作码,0表示成功, 1表示用户不存在 |
| | | * @return object info 用户信息对象 |
| | | * @return int info.id 用户ID |
| | | * @return string info.name 用户名字 |
| | | * @return string info.note 用户来源 |
| | | * @return string msg 提示信息 |
| | | */ |
| | | public function getBaseInfo() { |
| | | $rs = array('code' => 0, 'msg' => '', 'info' => array()); |
| | | $user_service = new Domain_User(); |
| | | $user = $user_service->getUserInfoByPhone($this->phone); |
| | | |
| | | $domain = new Domain_User(); |
| | | $info = $domain->getBaseInfo($this->userId); |
| | | |
| | | if (empty($info)) { |
| | | DI()->logger->debug('user not found', $this->userId); |
| | | |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = T('user not exists'); |
| | | return $rs; |
| | | if ($user) { |
| | | $rs['code'] = 0; |
| | | $rs['msg'] = '用户信息获取成功'; |
| | | $rs['info'] = $user; |
| | | } |
| | | |
| | | $rs['info'] = $info; |
| | | else{ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '用户信息不存在'; |
| | | } |
| | | |
| | | return $rs; |
| | | } |
| | | |
| | | /** |
| | | * 批量获取用户基本信息 |
| | | * @desc 用于获取多个用户基本信息 |
| | | * @return int code 操作码,0表示成功 |
| | | * @return array list 用户列表 |
| | | * @return int list[].id 用户ID |
| | | * @return string list[].name 用户名字 |
| | | * @return string list[].note 用户来源 |
| | | * @return string msg 提示信息 |
| | | * @exception 400 参数传递错误 |
| | | * @exception 500 服务器内部错误 |
| | | * 重置密码 |
| | | * @desc 重置密码 |
| | | * @return bool code 操作码,0表示成功, 1表示失败 |
| | | * @return string msg 返回提示 |
| | | */ |
| | | public function getMultiBaseInfo() { |
| | | $rs = array('code' => 0, 'msg' => '', 'list' => array()); |
| | | |
| | | $domain = new Domain_User(); |
| | | foreach ($this->userIds as $userId) { |
| | | $rs['list'][] = $domain->getBaseInfo($userId); |
| | | |
| | | DI()->tracer->mark('FINISH_GET_INFO'); |
| | | public function resetPwd(){ |
| | | $rs = array('code' => 0, 'msg' => ''); |
| | | $sms_service = new Domain_SmsCode(); |
| | | $result = $sms_service->checkSmsCode($this->phone, $this->code, 'resetPwd'); |
| | | if($result == 0){ |
| | | $user_service = new Domain_User(); |
| | | $result = $user_service->resetPwd($this->phone, $this->password); |
| | | if($result == 0){ |
| | | $rs['msg'] = '密码重置成功'; |
| | | } |
| | | elseif($result == 1){ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '用户不存在或已禁用'; |
| | | } |
| | | else{ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '密码重置失败'; |
| | | } |
| | | } |
| | | elseif($result == 1){ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '手机验证码已失效或已经使用过了,请重新获取验证码'; |
| | | } |
| | | |
| | | elseif($result == 2){ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '手机验证码错误'; |
| | | } |
| | | else{ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '验证码不存在,请重新获取验证码'; |
| | | } |
| | | return $rs; |
| | | } |
| | | |
| | | /** |
| | | * 用户信息更新 |
| | | * @desc 用户信息更新 |
| | | * @return string user_id 用户id |
| | | * @return string field 字段名称,目前仅支持修改['refresh_frequency', 'video', 'is_open_upload'] |
| | | * @return string value 数值 |
| | | */ |
| | | public function updateUserInfo(){ |
| | | $rs = array('code' => 0, 'msg' => ''); |
| | | $promit_field = array('refresh_frequency', 'video', 'is_open_upload'); |
| | | if(in_array($this->field, $promit_field)){ |
| | | $user_service = new Domain_User(); |
| | | $data[$this->field] = $this->value; |
| | | $data['_id'] = $this->user_id; |
| | | $result = $user_service->updateUserInfo($data); |
| | | if($result == 0){ |
| | | $rs['msg'] = '用户信息更新成功'; |
| | | } |
| | | elseif($result == 1){ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '用户信息更新失败'; |
| | | } |
| | | elseif($result == 2){ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '用户信息不能存在或已被锁定'; |
| | | } |
| | | else{ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '用户id不可为空'; |
| | | } |
| | | } |
| | | else{ |
| | | $rs['code'] = 1; |
| | | $rs['msg'] = '非法的更新字段'; |
| | | } |
| | | return $rs; |
| | | } |
| | | |
| | | } |