You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1655 lines
52 KiB
PHTML
1655 lines
52 KiB
PHTML
5 years ago
|
<?php
|
||
|
namespace Mobile\Controller;
|
||
|
use Org\XiguSDK\Xigu;
|
||
|
use User\Api\SuserApi;
|
||
|
use Org\UcenterSDK\Ucservice;
|
||
|
use User\Api\MemberApi;
|
||
|
use Admin\Model\PointTypeModel;
|
||
|
|
||
|
class UserController extends BaseController {
|
||
|
private $suser;
|
||
|
|
||
|
public function __construct() {
|
||
|
parent::__construct();
|
||
|
$this->suser = new SuserApi;
|
||
|
}
|
||
|
public function asd(){
|
||
|
var_dump(sendMail("894827077@qq.com","测试啊","成都市"));die;
|
||
|
|
||
|
}
|
||
|
/**
|
||
|
* 登录
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function login(){
|
||
|
if (IS_POST) {
|
||
|
$post = I('post.');
|
||
|
$account = $post['phone'];
|
||
|
$password = $post['password'];
|
||
|
|
||
|
$member = new MemberApi();
|
||
|
|
||
|
/*是否开启Ucenter*/
|
||
|
if( C('UC_OPEN')==1 ){
|
||
|
|
||
|
$username = $account;
|
||
|
|
||
|
//Ucenter登录
|
||
|
list($uc_uid, $uc_username, $uc_password, $uc_email) = uc_user_login($username,$password);
|
||
|
if($uc_uid > 0) {
|
||
|
//1.登录成功,验证在本地是否有此账号
|
||
|
$user_res = M('user','tab_')->where(['account'=>$uc_username])->find();
|
||
|
|
||
|
if(!empty($user_res)){//本地存在账号,验证密码直接登录
|
||
|
|
||
|
$res = $this->suser->login($account,$password);
|
||
|
if($res > 0) {
|
||
|
$data=array(
|
||
|
'status' => 1,
|
||
|
'msg' => '登录成功',
|
||
|
);
|
||
|
} else {
|
||
|
switch($res) {
|
||
|
case -1000: $error = '账号不存在'; break;
|
||
|
case -10021: $error = '密码错误!'; break;
|
||
|
case -1001: $error = '账号被禁用,请联系客服!'; break;
|
||
|
default: $error = '未知错误!'; break;
|
||
|
}
|
||
|
$data=array(
|
||
|
'status' => 0,
|
||
|
'msg' => $error,
|
||
|
);
|
||
|
}
|
||
|
echo json_encode($data);die();
|
||
|
|
||
|
}else{//本地不存在账号,新增账号并登录
|
||
|
|
||
|
|
||
|
$resdata=array();
|
||
|
$resdata['account']=trim($username);
|
||
|
$resdata['nickname']=trim($username);
|
||
|
$resdata['password']=$password;
|
||
|
$resdata['register_way']=3;
|
||
|
$resdata['register_type']=1;
|
||
|
$resdata['promote_id']=0;
|
||
|
$resdata['promote_account']='UC用户';
|
||
|
$resdata['parent_id']=0;
|
||
|
$resdata['parent_name']='';
|
||
|
$resdata['phone']='';
|
||
|
$resdata['real_name']='';
|
||
|
$resdata['idcard']='';
|
||
|
|
||
|
$res = $this->suser->register_array($resdata);
|
||
|
|
||
|
if($res > 0 ){
|
||
|
|
||
|
$res = $this->suser->login($account,$password);
|
||
|
if($res > 0) {
|
||
|
$data=array(
|
||
|
'status' => 1,
|
||
|
'msg' => '登录成功',
|
||
|
);
|
||
|
} else {
|
||
|
switch($res) {
|
||
|
case -1000: $error = '账号不存在'; break;
|
||
|
case -10021: $error = '密码错误!'; break;
|
||
|
case -1001: $error = '账号被禁用,请联系客服!'; break;
|
||
|
default: $error = '未知错误!'; break;
|
||
|
}
|
||
|
$data=array(
|
||
|
'status' => 0,
|
||
|
'msg' => $error,
|
||
|
);
|
||
|
}
|
||
|
echo json_encode($data);die();
|
||
|
|
||
|
}else{
|
||
|
$msg = $res == -3 ?"账号已存在":"身份证被占用";
|
||
|
return $this->ajaxReturn(array('status'=>0,'msg'=>$msg));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
} elseif($uc_uid == -1) {
|
||
|
//用户不存在,验证本地用户账号密码
|
||
|
$res = $this->suser->login($account,$password);
|
||
|
if($res > 0) {
|
||
|
$data=array(
|
||
|
'status' => 1,
|
||
|
'msg' => '登录成功',
|
||
|
);
|
||
|
|
||
|
//同步ucenter注册
|
||
|
cus_uc_register($username,$password,$username.'@vlcms.com');
|
||
|
} else {
|
||
|
switch($res) {
|
||
|
case -1000: $error = '账号不存在'; break;
|
||
|
case -10021: $error = '密码错误!'; break;
|
||
|
case -1001: $error = '账号被禁用,请联系客服!'; break;
|
||
|
default: $error = '未知错误!'; break;
|
||
|
}
|
||
|
$data=array(
|
||
|
'status' => 0,
|
||
|
'msg' => $error,
|
||
|
);
|
||
|
}
|
||
|
echo json_encode($data);die();
|
||
|
} elseif($uc_uid == -2) {
|
||
|
//密码错误
|
||
|
$this->ajaxReturn(array('status' => -1002, 'code'=>-10021,'msg' => '密码错误'));
|
||
|
} else {
|
||
|
//登录失败
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
$res = $this->suser->login($account,$password);file_put_contents(dirname(__FILE__) . '/login_res_text.txt',json_encode([$res]));
|
||
|
if($res > 0) {
|
||
|
$data=array(
|
||
|
'status' => 1,
|
||
|
'msg' => '登录成功',
|
||
|
);
|
||
|
} else {
|
||
|
switch($res) {
|
||
|
case -1000: $error = '账号不存在'; break;
|
||
|
case -10021: $error = '密码错误!'; break;
|
||
|
case -1001: $error = '账号被禁用,请联系客服!'; break;
|
||
|
default: $error = '未知错误!'; break;
|
||
|
}
|
||
|
$data=array(
|
||
|
'status' => 0,
|
||
|
'msg' => $error,
|
||
|
);
|
||
|
}
|
||
|
echo json_encode($data);die();
|
||
|
} else {
|
||
|
if($_REQUEST['url']){
|
||
|
$this->assign('url',base64_decode(base64_decode($_REQUEST['url'])));
|
||
|
}else{
|
||
|
$this->assign('url',U('User/index'));
|
||
|
}
|
||
|
|
||
|
$this->display();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 注册步骤一 填写用户名和密码
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function step(){
|
||
|
if(IS_POST){
|
||
|
$post = I('post.');
|
||
|
$account = $post['nickname'];
|
||
|
$password = $post['password'];
|
||
|
$sex = $post['sex'];
|
||
|
if (empty($account)) {
|
||
|
echo json_encode(array('status'=>0,'msg'=>'请填写昵称'));exit;
|
||
|
}
|
||
|
if (empty($password)) {
|
||
|
echo json_encode(array('status'=>0,'msg'=>'请输入密码'));exit;
|
||
|
}
|
||
|
$safeinfo = array('nickname' => $account, 'password' => $password, 'sex' => $sex ,'status' => 1);
|
||
|
session('safeinfo',$safeinfo);
|
||
|
$url = U('register');
|
||
|
echo json_encode(array('status'=>1,'msg'=>$url));
|
||
|
} else{
|
||
|
$this->display();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 注册
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function register(){
|
||
|
$safeinfo = session('safeinfo');
|
||
|
if($safeinfo['status']==1){
|
||
|
if(IS_POST){
|
||
|
$post = I('post.');
|
||
|
$phone = $post['phone'];
|
||
|
$safecode = $post['code'];
|
||
|
$nickname = $safeinfo['nickname'];
|
||
|
$password = $safeinfo['password'];
|
||
|
$sex = $safeinfo['sex'];
|
||
|
|
||
|
$this->checksafecode($phone,$safecode,false);
|
||
|
|
||
|
|
||
|
|
||
|
/**是否开启ucenter**/
|
||
|
if(C('UC_OPEN')==1){
|
||
|
//Ucenter注册
|
||
|
|
||
|
//1.验证本平台是否存在账号
|
||
|
$is_user_info = M('user','tab_')->where(['account'=>$phone])->find();
|
||
|
if(!empty($is_user_info)){
|
||
|
return $this->ajaxReturn(array('status'=>0,'msg'=>'用户名已存在'));
|
||
|
}
|
||
|
|
||
|
//2.验证其他平台是否存在账号
|
||
|
$domain = C('UC_OTHER_WEB_URL');
|
||
|
if(!empty($domain)){
|
||
|
$url = "http://{$domain}/Api/user/checkUserName?account={$phone}";
|
||
|
$check_res = json_decode(file_get_contents($url),true);
|
||
|
if($check_res['status']==0){
|
||
|
$this->ajaxReturn(array('status'=>0,'msg'=>'注册失败,用户名已存在'));exit;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//3.ucenter注册账号
|
||
|
$ucresult = uc_user_checkname($phone);
|
||
|
if($ucresult == -1) {
|
||
|
$this->ajaxReturn(array('status'=>0,'msg'=>'用户名不合法'));exit;
|
||
|
} elseif($ucresult == -2) {
|
||
|
$this->ajaxReturn(array('status'=>0,'msg'=>'包含要允许注册的词语'));exit;
|
||
|
} elseif($ucresult == -3) {
|
||
|
$this->ajaxReturn(array('status'=>0,'msg'=>'用户名已经存在'));exit;
|
||
|
}else{
|
||
|
//同步ucenter注册
|
||
|
cus_uc_register($phone,$password,$phone.'@vlcms.com');
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
$register_way = 4;
|
||
|
$register_type = 2;
|
||
|
switch ($sex) {
|
||
|
case '0':
|
||
|
$head_img = "http://".$_SERVER['HTTP_HOST'].'/Public/Mobile/images/logoo.png';
|
||
|
break;
|
||
|
default:
|
||
|
$head_img = "http://".$_SERVER['HTTP_HOST'].'/Public/Mobile/images/head_women@3x.png';
|
||
|
break;
|
||
|
}
|
||
|
|
||
|
|
||
|
if (isset($_POST['promote_id']) && !empty($_POST['promote_id'])) {
|
||
|
$pid = $this->suser->register($phone,$password,$phone,$register_way,$register_type,$_POST['promote_id'],$_POST['promote_account'],$sex,$nickname,$head_img);
|
||
|
} else {
|
||
|
$pid = $this->suser->register($phone,$password,$phone,$register_way,$register_type,'','',$sex,$nickname,$head_img);
|
||
|
}
|
||
|
if($pid > 0){
|
||
|
$data = array(
|
||
|
'status' => 1,
|
||
|
'msg' => '注册成功',
|
||
|
'url' => U('Index/index'),
|
||
|
);
|
||
|
session('safeinfo',null);
|
||
|
} else{
|
||
|
$data = array(
|
||
|
'status' => $pid,
|
||
|
'msg' => '注册失败',
|
||
|
);
|
||
|
}
|
||
|
echo json_encode($data);
|
||
|
} else{
|
||
|
if ($_REQUEST['url']) {
|
||
|
$url= base64_decode($_REQUEST['url']);
|
||
|
} else {
|
||
|
$url=$_SERVER['HTTP_REFERER'];
|
||
|
}
|
||
|
$this->assign('url',$url);
|
||
|
$this->display();
|
||
|
}
|
||
|
}else{
|
||
|
$this->redirect(U('step'));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 账号注册
|
||
|
* @return [type] [description]
|
||
|
* @author 郭家屯
|
||
|
*/
|
||
|
public function step1(){
|
||
|
if(IS_POST){
|
||
|
$post = I('post.');
|
||
|
$account = $post['account'];
|
||
|
$nickname = $post['nickname'];
|
||
|
$password = $post['password'];
|
||
|
$sex = $post['sex'];
|
||
|
|
||
|
|
||
|
/**是否开启ucenter**/
|
||
|
if(C('UC_OPEN')==1){
|
||
|
//Ucenter注册
|
||
|
|
||
|
//1.验证本平台是否存在账号
|
||
|
$is_user_info = M('user','tab_')->where(['account'=>$_POST['account']])->find();
|
||
|
if(!empty($is_user_info)){
|
||
|
return $this->ajaxReturn(array('status'=>0,'msg'=>'用户名已存在'));
|
||
|
}
|
||
|
|
||
|
//2.验证其他平台是否存在账号
|
||
|
$domain = C('UC_OTHER_WEB_URL');
|
||
|
if(!empty($domain)){
|
||
|
$url = "http://{$domain}/Api/user/checkUserName?account={$_POST['account']}";
|
||
|
$check_res = json_decode(file_get_contents($url),true);
|
||
|
if($check_res['status']==0){
|
||
|
$this->ajaxReturn(array('status'=>0,'msg'=>'注册失败,用户名已存在'));exit;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//3.ucenter注册账号
|
||
|
$ucresult = uc_user_checkname($_POST['account']);
|
||
|
if($ucresult == -1) {
|
||
|
$this->ajaxReturn(array('status'=>0,'msg'=>'用户名不合法'));exit;
|
||
|
} elseif($ucresult == -2) {
|
||
|
$this->ajaxReturn(array('status'=>0,'msg'=>'包含要允许注册的词语'));exit;
|
||
|
} elseif($ucresult == -3) {
|
||
|
$this->ajaxReturn(array('status'=>0,'msg'=>'用户名已经存在'));exit;
|
||
|
}else{
|
||
|
//同步ucenter注册
|
||
|
cus_uc_register($_POST['account'],$_POST['password'],$_POST['account'].'@vlcms.com');
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
$register_way = 4;
|
||
|
$register_type = 1;
|
||
|
switch ($sex) {
|
||
|
case '0':
|
||
|
$head_img = "http://".$_SERVER['HTTP_HOST'].'/Public/Mobile/images/logoo.png';
|
||
|
break;
|
||
|
default:
|
||
|
$head_img = "http://".$_SERVER['HTTP_HOST'].'/Public/Mobile/images/head_women@3x.png';
|
||
|
break;
|
||
|
}
|
||
|
$map['account'] = $account;
|
||
|
$map['phone'] = $account;
|
||
|
$map['_logic'] = "or";
|
||
|
$is_setting = M("user","tab_")->where($map)->field("id")->find();
|
||
|
if($is_setting){
|
||
|
echo json_encode(array('status'=>0,'msg'=>'账号已存在'));exit;
|
||
|
}
|
||
|
$pid = $this->suser->register($account,$password,'',$register_way,$register_type,'','',$sex,$nickname,$head_img);
|
||
|
|
||
|
if($pid > 0){
|
||
|
$data = array(
|
||
|
'status' => 1,
|
||
|
'msg' => '注册成功',
|
||
|
'url' => U('Index/index'),
|
||
|
);
|
||
|
} else{
|
||
|
$data = array(
|
||
|
'status' => $pid,
|
||
|
'msg' => '注册失败',
|
||
|
);
|
||
|
}
|
||
|
echo json_encode($data);
|
||
|
exit;
|
||
|
}
|
||
|
$this->display();
|
||
|
}
|
||
|
/**
|
||
|
* 发动手机验证码
|
||
|
*/
|
||
|
public function telsafecode($phone='',$delay=10,$flag=true) {
|
||
|
$result = R('Common/Sms/send_sms_code',array($phone,$delay,false));
|
||
|
|
||
|
if($result['code']==200) {
|
||
|
$data['status'] = 1;
|
||
|
$data['data'] = $result['data'];
|
||
|
} else {
|
||
|
$data['status'] = 0;
|
||
|
}
|
||
|
|
||
|
$data['msg'] = $result['msg'];
|
||
|
|
||
|
echo json_encode($data); exit;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 发送安全码
|
||
|
*/
|
||
|
public function sendsafecode($phone,$delay=10) {
|
||
|
if (IS_POST) {
|
||
|
|
||
|
$res = $this->suser->checkAccount($phone);
|
||
|
if (!$res) {
|
||
|
echo json_encode(array('status'=>0,'msg'=>'手机号码被占用'));exit;
|
||
|
}
|
||
|
$this->telsafecode($phone);
|
||
|
exit;
|
||
|
} else{
|
||
|
echo json_encode(array('status'=>0,'msg'=>'请按正确的流程'));exit;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 手机安全码验证
|
||
|
* @param bool $flag true 用于直接异步请求 false 用于方法调用
|
||
|
* @param [type] $vcode [description]
|
||
|
*/
|
||
|
public function checksafecode($phone,$vcode,$flag=true) {
|
||
|
$result = R('Common/Sms/verify_sms_code',array($phone,$vcode,false));
|
||
|
|
||
|
if($result['code']==200) {
|
||
|
$data['status'] = 1;
|
||
|
if($flag) {
|
||
|
echo json_encode($data);exit;
|
||
|
}
|
||
|
} else {
|
||
|
$data['status'] = 0;
|
||
|
$data['msg'] = $result['msg'];
|
||
|
echo json_encode($data);exit;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 忘记密码
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function forget(){
|
||
|
if(IS_POST){
|
||
|
|
||
|
$phone = $_POST['phone'];
|
||
|
|
||
|
$this->checksafecode($phone,$_REQUEST['code'],false);
|
||
|
|
||
|
$this->success('验证成功',U('User/forget1',array('phone'=>$phone)));
|
||
|
|
||
|
|
||
|
}else{
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
public function forget1(){
|
||
|
if(IS_POST){
|
||
|
$new_pwd = $_REQUEST['new_pwd'];
|
||
|
$u_uid['phone'] = $_REQUEST['phone'];
|
||
|
$result = M('user','tab_')->where($u_uid)->setField('password',think_ucenter_md5($new_pwd, UC_AUTH_KEY));
|
||
|
if($result != false) {
|
||
|
$this->success("修改成功",U('User/login'));
|
||
|
}elseif($result === 0){
|
||
|
$this->error("新密码和旧密码一致,请重新输入");
|
||
|
}else{
|
||
|
$this->error("修改失败");
|
||
|
}
|
||
|
}else{
|
||
|
$this->display();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 忘记密码发送短信
|
||
|
* @param $account
|
||
|
* author: xmy 280564871@qq.com
|
||
|
*/
|
||
|
public function forget_send_msg($account)
|
||
|
{
|
||
|
$data = D("User")->getUserInfo($account);
|
||
|
if(C('UC_SET')==1){
|
||
|
$uc = new Ucservice();
|
||
|
$data_uc = $uc->get_uc($account);
|
||
|
if (empty($data) && !empty($data_uc)) {
|
||
|
$this->error("UC用户不支持");
|
||
|
}
|
||
|
}
|
||
|
if (empty($account)) {
|
||
|
echo json_encode(array('status'=>0,'msg'=>'账号不存在'));exit;
|
||
|
} elseif (empty($data['phone'])) {
|
||
|
echo json_encode(array('status'=>0,'msg'=>'该用户未绑定手机号'));exit;
|
||
|
}
|
||
|
$result = $this->telsafecode($account);
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 判断是否登录
|
||
|
* @return [type] [description]
|
||
|
*/
|
||
|
public function islogin() {
|
||
|
|
||
|
$user = $this->suser->login_info();
|
||
|
|
||
|
if($user) {
|
||
|
|
||
|
if ($user['nickname']) {
|
||
|
$account = $user['nickname'];
|
||
|
} else {
|
||
|
$account = $user['account'];
|
||
|
}
|
||
|
return $user['user_id'];
|
||
|
|
||
|
} else {
|
||
|
return 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心首页
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
/* public function index() {
|
||
|
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$session = session('user_auth');
|
||
|
$user = D('User')->where(array('id'=>$session['user_id']))->find();
|
||
|
$headimg = $user['head_img'];
|
||
|
$user['head_img'] = is_numeric($headimg)?get_cover($headimg,'path'):$headimg;
|
||
|
$this->assign('user',$user);
|
||
|
$this->show_sing_in($session['user_id']);
|
||
|
$this->display();
|
||
|
} */
|
||
|
|
||
|
/**
|
||
|
* 个人中心
|
||
|
* @author 鹿文学
|
||
|
*/
|
||
|
public function index() {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$user = D('User')->getInfo();
|
||
|
$this->assign('user',$user);
|
||
|
$this->show_sing_in($user['id']);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
public function show_sing_in($user_id){
|
||
|
$type = D('PointRecord')->getPointType("sign_in");
|
||
|
if(!$type){
|
||
|
return false;
|
||
|
}
|
||
|
$base_point = $type['point'];
|
||
|
$increase_point = $type['time_of_day'];
|
||
|
$record = D('PointRecord')->getSignInInfo($user_id,$type['id']);
|
||
|
//计算间隔时间
|
||
|
$today = strtotime(date("Y-m-d"));
|
||
|
$time = strtotime(date("Y-m-d",$record['create_time']));
|
||
|
$day = ($today-$time)/86400;
|
||
|
if($day == 1){//昨日积分 + 递增积分
|
||
|
$add_point = $record['point'] + $increase_point;
|
||
|
//超过7天 重新计算
|
||
|
if ($record['day'] >= 7) {
|
||
|
$add_point = $base_point;
|
||
|
$sign_day = 1;
|
||
|
}else{
|
||
|
$sign_day = $record['day'];
|
||
|
}
|
||
|
$data['point'] = $add_point;
|
||
|
}elseif($day == 0){
|
||
|
$add_point = $record['point'] + $increase_point;
|
||
|
$data['point'] = $add_point;
|
||
|
$sign_day = 1;
|
||
|
}else{//基础积分
|
||
|
$data['point'] = $base_point;
|
||
|
$sign_day = 0;
|
||
|
}
|
||
|
$this->assign('point',$data['point']);
|
||
|
$this->assign('sign_day',$sign_day);
|
||
|
$this->assign('day',$day);
|
||
|
}
|
||
|
|
||
|
public function sign_in(){
|
||
|
|
||
|
|
||
|
$user_id = $this->islogin();
|
||
|
|
||
|
$model = D('PointRecord');
|
||
|
$result = $model->addPointBySignIn($user_id);
|
||
|
if($result !== false){
|
||
|
$data['day'] = $result;
|
||
|
$this->success("签到成功",$data);
|
||
|
}else{
|
||
|
$this->error($model->getError());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 个人中心->编辑资料
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function userset() {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
|
||
|
|
||
|
$logininfo = $this->suser->login_info();
|
||
|
|
||
|
$user = D('User')->where(array('id'=>$logininfo['user_id']))->find();
|
||
|
if(is_numeric($user['head_img'])){
|
||
|
$user['head_img'] = get_cover($user['head_img'],"path");
|
||
|
}
|
||
|
$this->assign('user',$user);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->编辑资料->修改昵称
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function usernick() {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
|
||
|
|
||
|
$logininfo = $this->suser->login_info();
|
||
|
|
||
|
if(IS_POST){
|
||
|
$map['id'] = $logininfo['user_id'];
|
||
|
$model = D('User')->where($map)->save(array('nickname'=>$_REQUEST['nickname']));
|
||
|
|
||
|
$this->suser->set_login_info('nickname',$_REQUEST['nickname']);
|
||
|
|
||
|
if($model !== false){
|
||
|
$this->success("修改成功",U('User/userset'));
|
||
|
}else{
|
||
|
$this->error("修改失败");
|
||
|
}
|
||
|
}else{
|
||
|
$this->assign('user',$logininfo);
|
||
|
$this->display();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->编辑资料->绑定/解除手机
|
||
|
* @return [type] [description]
|
||
|
* @author 郭家屯
|
||
|
*/
|
||
|
public function userphone(){
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$logininfo = $this->suser->login_info();
|
||
|
$map['id'] = $logininfo['user_id'];
|
||
|
$user = M("user","tab_")->where($map)->field("id,phone")->find();
|
||
|
if(IS_POST){
|
||
|
$code = I("post.scode");
|
||
|
$phone = I("post.phone");
|
||
|
$this->checksafecode($phone,$code,false);
|
||
|
if(!$user['phone']){
|
||
|
$where['account'] = $phone;
|
||
|
$where['phone'] = $phone;
|
||
|
$condition['_complex'] = $where;
|
||
|
$condition['id'] = array("neq",$user['id']);
|
||
|
$is_user = M("user","tab_")->where($condition)->field("id")->find();
|
||
|
if($is_user){
|
||
|
echo json_encode(array('status'=>0,'msg'=>'手机号已存在,请更换手机号'));exit();
|
||
|
}
|
||
|
$model = M('User','tab_')->where($map)->save(array('phone'=>$phone));
|
||
|
}else{
|
||
|
$model = M('User','tab_')->where($map)->save(array('phone'=>''));
|
||
|
}
|
||
|
|
||
|
|
||
|
$this->suser->set_login_info('phone',$_REQUEST['phone']);
|
||
|
|
||
|
if($model !== false){
|
||
|
echo json_encode(array('status'=>1,'msg'=>'修改成功','url'=>U('User/userset')));exit();
|
||
|
}else{
|
||
|
echo json_encode(array('status'=>0,'msg'=>'修改失败'));exit();
|
||
|
}
|
||
|
}else{
|
||
|
$this->assign('user',$user);
|
||
|
$this->display();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
*发送验证码请求
|
||
|
* @author 郭家屯
|
||
|
*/
|
||
|
public function sendvcode() {
|
||
|
if (!IS_POST) {
|
||
|
echo json_encode(array('status'=>0,'msg'=>'请按正确的流程'));exit;
|
||
|
}
|
||
|
|
||
|
$logininfo = $this->suser->login_info();
|
||
|
if($logininfo['nickname']=="Uc用户"){
|
||
|
echo json_encode(array('status'=>0,'msg'=>'Uc用户暂不支持'));exit();
|
||
|
}
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$phone = I('phone');
|
||
|
$map['id'] = $logininfo['user_id'];
|
||
|
$user = M("user","tab_")->where($map)->field("id,phone")->find();
|
||
|
if(!$user['phone']){
|
||
|
$where['account'] = $phone;
|
||
|
$where['phone'] = $phone;
|
||
|
$where['_logic'] = 'OR';
|
||
|
$is_user = M("user","tab_")->where($where)->field("id")->find();
|
||
|
if($is_user){
|
||
|
echo json_encode(array('status'=>0,'msg'=>'手机号已存在,请更换手机号'));exit();
|
||
|
}
|
||
|
}
|
||
|
$this->telsafecode($phone);
|
||
|
}
|
||
|
/**
|
||
|
* 个人中心->编辑资料->修改性别
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function usersex() {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
|
||
|
$logininfo = $this->suser->login_info();
|
||
|
if(IS_POST){
|
||
|
$map['id'] = $logininfo['user_id'];
|
||
|
$sex = $_REQUEST['sex'];
|
||
|
$user = D('User')->where($map)->find();
|
||
|
$img_url = strstr($user['head_img'],"http://");
|
||
|
if($img_url){
|
||
|
switch ($sex) {
|
||
|
case '0':
|
||
|
$head_img = "http://".$_SERVER['HTTP_HOST'].'/Public/Mobile/images/logoo.png';
|
||
|
break;
|
||
|
default:
|
||
|
$head_img = "http://".$_SERVER['HTTP_HOST'].'/Public/Mobile/images/head_women@3x.png';
|
||
|
break;
|
||
|
}
|
||
|
}else{
|
||
|
$head_img = $user['head_img'];
|
||
|
}
|
||
|
$model = D('User')->where($map)->save(array('sex'=>$sex,'head_img'=>$head_img));
|
||
|
if($model !== false){
|
||
|
$this->success("修改成功",U('User/userset'));
|
||
|
}else{
|
||
|
$this->error("修改失败");
|
||
|
}
|
||
|
}else{
|
||
|
$user = D('user')->field("sex")->find($logininfo['user_id']);
|
||
|
$this->assign('user',$logininfo);
|
||
|
$this->assign('sex',$user['sex']);
|
||
|
$this->display();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->编辑资料->实名认证
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function userauth() {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
|
||
|
$logininfo = $this->suser->login_info();
|
||
|
|
||
|
if(IS_POST){
|
||
|
$resdata['age_status'] = 0;
|
||
|
$map['id'] = $logininfo['user_id'];
|
||
|
|
||
|
if(isset($_POST['idcard'])){
|
||
|
$checkidcard = new \Think\Checkidcard();
|
||
|
$invidcard=$checkidcard->checkIdentity($_POST['idcard']);
|
||
|
if(!$invidcard){
|
||
|
$this->ajaxReturn(array('status'=>-1,'info'=>'身份证号码填写不正确','url'=>U('User/userauth')));
|
||
|
}
|
||
|
$cardd=M('User','tab_')->where(array('idcard'=>$_POST['idcard']))->find();
|
||
|
if($cardd){
|
||
|
$this->ajaxReturn(array('status'=>-1,'info'=>'身份证号码已被使用','url'=>U('User/userauth')));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (C('tool_age.status') == 0){
|
||
|
$this->ajaxReturn(array('status'=>0,'info'=>'实名认证暂未开启!','url'=>U('User/userauth')));
|
||
|
}else{
|
||
|
$re = age_verify($_REQUEST['real_name'],$_REQUEST['idcard']);
|
||
|
if ($re == 0){
|
||
|
$this->ajaxReturn(array('status'=>0,'info'=>'审核失败!','url'=>U('User/userauth')));
|
||
|
}
|
||
|
if ($re == -1){
|
||
|
$this->ajaxReturn(array('status'=>0,'info'=>'短信数量已使用完!','url'=>U('User/userauth')));
|
||
|
}
|
||
|
if ($re == -2){
|
||
|
$this->ajaxReturn(array('status'=>0,'info'=>'连接错误,请检查配置!','url'=>U('User/userauth')));
|
||
|
}
|
||
|
|
||
|
if ($re == 1){
|
||
|
$resdata['age_status'] = 2;//成年
|
||
|
}
|
||
|
if ($re == 2){
|
||
|
$resdata['age_status'] = 3;//未成年
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if($re > 0){
|
||
|
$model = D('User')->where($map)->save(array('real_name'=>$_REQUEST['real_name'],'idcard'=>$_REQUEST['idcard'],'age_status'=>$resdata));
|
||
|
}
|
||
|
|
||
|
if($model !== false){
|
||
|
|
||
|
$this->success("修改成功",U('User/userset'));
|
||
|
}else{
|
||
|
$this->error("修改失败");
|
||
|
}
|
||
|
}else{
|
||
|
$user = D('User')->where(array('id'=>$logininfo['user_id']))->find();
|
||
|
$this->assign('user',$user);
|
||
|
$this->display();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->编辑资料->修改密码
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function userpassword() {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
|
||
|
$logininfo = $this->suser->login_info();
|
||
|
|
||
|
if(IS_POST){
|
||
|
$old_pwd = $_REQUEST['old_pwd'];
|
||
|
$new_pwd = $_REQUEST['new_pwd'];
|
||
|
|
||
|
|
||
|
/*判断Ucenter是否打开*/
|
||
|
if( C('UC_OPEN')==1 ){
|
||
|
|
||
|
$username = $logininfo['account'];
|
||
|
//修改uc密码
|
||
|
$ucresult = uc_user_edit($username,$_POST['old_pwd'],$_POST['new_pwd']);
|
||
|
if($ucresult == -1) {
|
||
|
$this->error("原始密码不正确");
|
||
|
}
|
||
|
/**
|
||
|
* 同步修改其他站点用户密码
|
||
|
*/
|
||
|
$domain = C('UC_OTHER_WEB_URL');
|
||
|
if(!empty($domain)){
|
||
|
$url = "http://{$domain}/Api/user/editPassword?account={$username}&oldpsw={$_POST['old_pwd']}&newpsw={$_POST['new_pwd']}";
|
||
|
$aa = json_decode(file_get_contents($url),true);
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
$result = D('User')->changePwd($logininfo['account'], $old_pwd, $new_pwd);
|
||
|
if ($result == -1) {
|
||
|
$this->error("原始密码不正确");
|
||
|
}
|
||
|
elseif($result !=false) {
|
||
|
$u_uid['account']=$logininfo['account'];
|
||
|
M('user_pwd')->where($u_uid)->setField('password',think_encrypt($new_pwd));
|
||
|
|
||
|
|
||
|
$this->suser->logout();
|
||
|
|
||
|
$this->success("修改成功",U('User/login'));
|
||
|
}elseif($result === 0){
|
||
|
$this->error("新旧密码一致,请重新输入");
|
||
|
}
|
||
|
else{
|
||
|
$this->error("修改失败");
|
||
|
}
|
||
|
}else{
|
||
|
$this->display();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->编辑资料->收货管理
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function useraddresslist() {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
|
||
|
$logininfo = $this->suser->login_info();
|
||
|
|
||
|
$userData = M('UserAddress','tab_')->where(array('user_id'=>$logininfo['user_id']))->select();
|
||
|
$this->assign('list_data',$userData);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->编辑资料->收货管理->新增收货地址
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function useraddressadd() {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
|
||
|
$logininfo = $this->suser->login_info();
|
||
|
|
||
|
if(IS_POST){
|
||
|
$model = M('UserAddress','tab_');
|
||
|
$data = $_REQUEST;
|
||
|
$data['user_id'] = $logininfo['user_id'];
|
||
|
$data['create_time'] = time();
|
||
|
$userData = M('UserAddress','tab_')->where(array('user_id'=>$logininfo['user_id']))->select();
|
||
|
if(isset($data['is_default'])){
|
||
|
$data['is_default'] = 1;
|
||
|
$model->where(array('user_id'=>$logininfo['user_id']))->save(array('is_default'=>0));
|
||
|
}else{
|
||
|
$data['is_default'] = 0;
|
||
|
}
|
||
|
if($model->create($data) && $model->add()){
|
||
|
$this->success('添加成功',U('User/useraddresslist'));
|
||
|
}else{
|
||
|
$this->error('添加失败');
|
||
|
}
|
||
|
}else{
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->编辑资料->收货管理->编辑收货地址
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function useraddressedit($id=0) {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
|
||
|
$logininfo = $this->suser->login_info();
|
||
|
|
||
|
$model = M('UserAddress','tab_');
|
||
|
if(IS_POST){
|
||
|
$data = $_REQUEST;
|
||
|
$data['user_id'] = $logininfo['user_id'];
|
||
|
$data['id'] = $id;
|
||
|
if(!empty($data['is_default'])){
|
||
|
$model->where('user_id='.$logininfo['user_id'])->save(array('is_default'=>0));
|
||
|
}
|
||
|
if($model->save($data) !== false){
|
||
|
$this->success('编辑成功',U('User/useraddresslist'));
|
||
|
}else{
|
||
|
$this->error('编辑失败');
|
||
|
}
|
||
|
}else{
|
||
|
$data = $model->find($id);
|
||
|
$this->assign("data",$data);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->编辑资料->收货管理->删除收货地址
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function useraddressdel($id=0) {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
|
||
|
|
||
|
|
||
|
$model = M('UserAddress','tab_');
|
||
|
$result = $model->where("id=".$id)->delete();
|
||
|
if($result !== false){
|
||
|
$this->success('地址删除成功',U('User/useraddresslist'));
|
||
|
}else{
|
||
|
$this->error("地址删除失败");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->编辑资料->收货管理->设置默认收货地址
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function setDefaultAddress($id=0,$type='setting') {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$model = M('UserAddress','tab_');
|
||
|
|
||
|
$logininfo = $this->suser->login_info();
|
||
|
|
||
|
switch ($type) {
|
||
|
case 'setting':
|
||
|
$map['id'] = array('neq',$id);
|
||
|
$map['user_id'] = $logininfo['user_id'];
|
||
|
$model->where($map)->save(array('is_default'=>0));
|
||
|
$result = $model->where(array('id'=> $id))->save(array('is_default'=>1));
|
||
|
break;
|
||
|
case 'cancel':
|
||
|
$result = $model->where(array('id'=> $id))->save(array('is_default'=>0));
|
||
|
break;
|
||
|
}
|
||
|
if($result !== false){
|
||
|
$this->success('地址删除成功');
|
||
|
}else{
|
||
|
$this->error("地址删除失败");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->绑币管理
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function userbindcoin() {
|
||
|
|
||
|
$islogin = $this->islogin();
|
||
|
if($islogin){
|
||
|
$map['user_id'] = $islogin;
|
||
|
$page = $page ? $page : 1; //默认显示第一页数据
|
||
|
$row = C('LIST_ROWS');
|
||
|
$data = M("user_play","tab_")
|
||
|
->field("game_name,game_id,bind_balance")
|
||
|
->where($map)
|
||
|
->group("game_id")
|
||
|
->page($page,$row)
|
||
|
->select();
|
||
|
|
||
|
$display = '';
|
||
|
$this->assign('page',$page);
|
||
|
$this->assign('data',$data);
|
||
|
}else{
|
||
|
$display = 'login';
|
||
|
}
|
||
|
$this->display($display);
|
||
|
}
|
||
|
/**
|
||
|
* AJAX 绑币管理加载更多
|
||
|
* @return [type] [description]
|
||
|
*/
|
||
|
public function ajaxcoin() {
|
||
|
$p = I('post.p');
|
||
|
$status=0;
|
||
|
$row = C('LIST_ROWS');
|
||
|
$map['user_id'] = $this->suser->login_info('user_id');
|
||
|
$lists = M("user_play","tab_")
|
||
|
->field("game_name,game_id,bind_balance")
|
||
|
->where($map)
|
||
|
->group("game_id")
|
||
|
->page($p,$row)
|
||
|
->select();
|
||
|
if (!empty($lists) && is_array($lists)) {
|
||
|
$status = 1;
|
||
|
}
|
||
|
echo json_encode(array('status'=>$status,'page'=>$p,'lists'=>$lists));
|
||
|
}
|
||
|
|
||
|
public function recharge($pay_type=1){
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$logininfo_id = $this->suser->login_info('user_id');
|
||
|
if(IS_POST){
|
||
|
|
||
|
$user_id = get_user_id($_REQUEST['account']);
|
||
|
|
||
|
|
||
|
$pay_amount = $_POST['pay_amount'];
|
||
|
|
||
|
if($user_id!=$logininfo_id){
|
||
|
$this->error('只能给自己充值');
|
||
|
}
|
||
|
if($user_id == 0){$this->error('账号不存在');}
|
||
|
|
||
|
if($pay_amount<0) {
|
||
|
$this->error('金额不正确');
|
||
|
}
|
||
|
$pay_amount = abs($pay_amount);
|
||
|
//$pay_amount = 0.01;
|
||
|
if($_REQUEST['spendType'] == 2){
|
||
|
$userMap['user_id'] = $user_id;
|
||
|
$userMap['game_id'] = $_REQUEST['game_id'];
|
||
|
$empty = M('UserPlay','tab_')->where($userMap)->find();
|
||
|
if(empty($empty)){
|
||
|
$this->error('该用户未玩过此游戏哦~');
|
||
|
}
|
||
|
}
|
||
|
$json = array(
|
||
|
'type' => $_REQUEST['spendType'],
|
||
|
'user_id' => $user_id,
|
||
|
'game_id' => $_REQUEST['game_id']
|
||
|
);
|
||
|
$userEntiy = get_user_entity($logininfo_id);
|
||
|
$pay = A('Pay');
|
||
|
$result = $pay->recharge($pay_amount,json_encode($json),$_POST['way'],$userEntiy['promote_id']);
|
||
|
$this->ajaxReturn($result);
|
||
|
}else{
|
||
|
$game = M("game","tab_");
|
||
|
$map['apply_status'] = 1;
|
||
|
$map['online_status'] = 1;
|
||
|
$map['user_id'] = $logininfo_id;
|
||
|
$lists = $game->field('tab_game.id,tab_game.game_name,bind_recharge_discount')
|
||
|
->join('tab_user_play as up on up.game_id = tab_game.id')
|
||
|
->where($map)
|
||
|
->group('tab_game.id')
|
||
|
->select();
|
||
|
$this->assign('gameList',$lists);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的游戏
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function usergame($p=1) {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$page = intval($p);
|
||
|
$page = $page ? $page : 1; //默认显示第一页数据
|
||
|
$row = C('LIST_ROWS');
|
||
|
$map['user_id'] = $this->suser->login_info('user_id');
|
||
|
$data = D('DownRecord')->table('tab_down_record AS tdr')
|
||
|
->field('tab_game.id,tab_game.dow_status,tab_game.game_name,tab_game.game_size,tab_game.dow_num,tab_game.icon,tab_game.features,tdr.user_id,tab_game.and_dow_address,tab_game.add_game_address,tab_game.ios_dow_address,tab_game.ios_game_address,tab_game.game_score,tab_game.sdk_version')
|
||
|
->join("tab_game ON tdr.game_id = tab_game.id")
|
||
|
->where($map)
|
||
|
->page($page,$row)
|
||
|
->select();
|
||
|
|
||
|
$this->assign("data",$data);
|
||
|
$this->assign("page",$page);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的游戏 AJAX加载更多
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function ajaxUserGame(){
|
||
|
$page = I('post.p');
|
||
|
$status=0;
|
||
|
$row = C('LIST_ROWS');
|
||
|
$map['user_id'] = $this->suser->login_info('user_id');
|
||
|
$data = D('DownRecord')->table('tab_down_record AS tdr')
|
||
|
->field('tab_game.id,tab_game.game_name,tab_game.game_size,tab_game.dow_num,tab_game.icon,tab_game.features,tdr.user_id,tab_game.and_dow_address,tab_game.add_game_address,tab_game.ios_dow_address,tab_game.ios_game_address,tab_game.game_score')
|
||
|
->join("tab_game ON tdr.game_id = tab_game.id")
|
||
|
->where($map)
|
||
|
->page($page,$row)
|
||
|
->select();
|
||
|
foreach ($data as $key => $value) {
|
||
|
$data[$key]['icon'] = get_img_url($value['icon']);
|
||
|
$data[$key]['dow_url'] = U('Down/down_file',array('game_id'=>$value['id'],'sdk_version'=>1));
|
||
|
}
|
||
|
if (!empty($data) && is_array($data)) {
|
||
|
$status = 1;
|
||
|
}
|
||
|
echo json_encode(array('status'=>$status,'page'=>$page,'lists'=>$data));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的评论
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function usercomment($game_name='') {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$page = intval($p);
|
||
|
$page = $page ? $page : 1; //默认显示第一页数据
|
||
|
$row = C('LIST_ROWS');
|
||
|
$map['status'] = 1;
|
||
|
$map['account'] = $this->suser->login_info('account');
|
||
|
if(!empty($game_name)){
|
||
|
$game = D("Game")->where(['game_name'=>['like',"%".$game_name."%"]])->select();
|
||
|
if(empty($game)){
|
||
|
$map['game_id'] = ['in','0'];
|
||
|
}else{
|
||
|
$map['game_id'] = ['in',array_column($game,"id")];
|
||
|
}
|
||
|
}
|
||
|
$data = D('Comment')->field("account,create_time,comment,game_id")->where($map)->order("create_time desc")->page($page,$row)->select();
|
||
|
foreach ($data as $key => $val){
|
||
|
$user = D("User")->getUserInfo($val['account']);
|
||
|
$data[$key]['nickname'] = $user['nickname'];
|
||
|
$data[$key]['head_img'] = $user['head_img'];
|
||
|
$gameIcon = D('Game')->where('id = '.$val['game_id'])->getField('icon');
|
||
|
$data[$key]['game_icon'] = get_cover($gameIcon,'path');
|
||
|
$data[$key]['create_time'] = date("Y-m-d H:i:s",$data[$key]['create_time']);
|
||
|
}
|
||
|
$result['data'] = $data;
|
||
|
$result['count'] = D('Comment')->where($map)->count();
|
||
|
$this->assign('data',$result['data']);
|
||
|
$this->assign('count',$result['count']);
|
||
|
$this->assign('page',$page);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* AJAX 我的评论加载更多
|
||
|
* @return [type] [description]
|
||
|
*/
|
||
|
public function ajaxComment() {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$page = I('post.p');
|
||
|
$row = C('LIST_ROWS');
|
||
|
$map['status'] = 1;
|
||
|
$map['account'] = $this->suser->login_info('account');
|
||
|
$data = D('Comment')->field("account,create_time,comment,game_id")->where($map)->order("create_time desc")->page($page,$row)->select();
|
||
|
foreach ($data as $key => $val){
|
||
|
$user = D("User")->getUserInfo($val['account']);
|
||
|
$data[$key]['nickname'] = $user['nickname'];
|
||
|
$data[$key]['head_img'] = $user['head_img'];
|
||
|
$data[$key]['create_time'] = date("Y-m-d H:i:s",$data[$key]['create_time']);
|
||
|
}
|
||
|
|
||
|
if (!empty($data) && is_array($data)) {
|
||
|
$status = 1;
|
||
|
}
|
||
|
echo json_encode(array('status'=>$status,'page'=>$page,'lists'=>$data));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的收藏
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function usercollection($p=1) {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$page = intval($p);
|
||
|
$page = $page ? $page : 1; //默认显示第一页数据
|
||
|
$data = D("Game")->getMyCollectGame($this->suser->login_info('account'),$p);
|
||
|
$this->assign("data",$data);
|
||
|
$this->assign("page",$page);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的收藏 AJAX加载更多
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function ajaxUserCollection(){
|
||
|
$page = I('post.p');
|
||
|
$row = C('LIST_ROWS');
|
||
|
$data = D("Game")->getMyCollectGame($this->suser->login_info('account'),$page);
|
||
|
if (!empty($data) && is_array($data)) {
|
||
|
$status = 1;
|
||
|
}
|
||
|
echo json_encode(array('status'=>$status,'page'=>$page,'lists'=>$data,'p'=>$page));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的收藏->设置收藏
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function set_collection(){
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$game_id = $_REQUEST['game_id'];
|
||
|
$account = $this->suser->login_info('account');
|
||
|
$status = $_REQUEST['status'];
|
||
|
$result = D('Game')->collectGame($game_id,$account,$status);
|
||
|
if($result != false){
|
||
|
$this->success("取消成功",U('User/usercollection'));
|
||
|
}else{
|
||
|
$this->error("取消失败");
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的邀请
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function userinvitation() {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$page = intval($p);
|
||
|
$page = $page ? $page : 1; //默认显示第一页数据
|
||
|
$row = C('LIST_ROWS');
|
||
|
$map['invite_id'] = $this->suser->login_info('user_id');
|
||
|
$data = D('ShareRecord')->field("user_account,create_time,award_coin")
|
||
|
->where($map)
|
||
|
->order("create_time desc")
|
||
|
->group('user_id')
|
||
|
->page($page,$row)
|
||
|
->select();
|
||
|
foreach ($data as $key => $value) {
|
||
|
$data[$key]['user_account'] = substr_replace($value['user_account'],'****',3,4);
|
||
|
$data[$key]['create_time'] = date('Y-m-d',$value['create_time']);
|
||
|
}
|
||
|
$total_data = D('ShareRecord')->field("count(distinct user_id) as invite_num,sum(award_coin) as award_coin")
|
||
|
->where($map)
|
||
|
->group("invite_id")
|
||
|
->find();
|
||
|
$total_data['invite_num'] = empty($total_data['invite_num'])?0:$total_data['invite_num'];
|
||
|
$total_data['award_coin'] = empty($total_data['award_coin'])?0:$total_data['award_coin'];
|
||
|
$this->assign('data',$data);
|
||
|
$this->assign('total_data',$total_data);
|
||
|
$this->assign('page',$page);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* AJAX 我的评论加载更多
|
||
|
* @return [type] [description]
|
||
|
*/
|
||
|
public function ajaxInvitation() {
|
||
|
$page = I('post.p');
|
||
|
$row = C('LIST_ROWS');
|
||
|
$map['invite_id'] = $this->suser->login_info('user_id');
|
||
|
$data = D('ShareRecord')->field("user_account,create_time,award_coin")
|
||
|
->where($map)
|
||
|
->order("create_time desc")
|
||
|
->page($page,$row)
|
||
|
->select();
|
||
|
foreach ($data as $key => $value) {
|
||
|
$data[$key]['user_account'] = substr_replace($value['user_account'],'****',3,4);
|
||
|
$data[$key]['create_time'] = date('Y-m-d',$value['create_time']);
|
||
|
}
|
||
|
if (!empty($data) && is_array($data)) {
|
||
|
$status = 1;
|
||
|
}
|
||
|
echo json_encode(array('status'=>$status,'page'=>$page,'lists'=>$data));
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的积分
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function userintegral($type=1,$p=1) {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$user_id = $this->suser->login_info('user_id');
|
||
|
$page = intval($p);
|
||
|
$page = $page ? $page : 1; //默认显示第一页数据
|
||
|
if($type == 1){
|
||
|
$map['pr.user_id'] = $user_id;
|
||
|
$map['pr.type'] = $type;
|
||
|
$data = D("PointRecord")->getUserAchieveRecord($map,"create_time desc",$page);
|
||
|
}else{
|
||
|
$map['user_id'] = $user_id;
|
||
|
$data = D("PointShopRecord")->getLists($map,"create_time desc",$page);
|
||
|
}
|
||
|
//$total = D('PointShopRecord')->getUserSpendPoint($user_id);
|
||
|
$total = D('User')->getUserByAccount($this->suser->login_info('account'),'point');
|
||
|
$this->assign('data',$data);
|
||
|
$this->assign('total',empty($total)?0:$total['point']);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的积分 AJAX 加载更多
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function ajaxUserIntegral($type=1){
|
||
|
$user_id = $this->suser->login_info('user_id');
|
||
|
$page = I('post.p');
|
||
|
$row = C('LIST_ROWS');
|
||
|
if($type == 1){
|
||
|
$map['pr.user_id'] = $user_id;
|
||
|
$map['pr.type'] = $type;
|
||
|
$data = D("PointRecord")->getUserAchieveRecord($map,"create_time desc",$page);
|
||
|
foreach ($data as $key => $value) {
|
||
|
$data[$key]['create_time'] = data('Y-m-d',$value['create_time']);
|
||
|
}
|
||
|
}else{
|
||
|
$map['user_id'] = $user_id;
|
||
|
$data = D("PointShopRecord")->getLists($map,"create_time desc",$page);
|
||
|
$data = $data['data'];
|
||
|
foreach ($data as $key => $value) {
|
||
|
$data[$key]['url'] = U('User/exchangerecorddetail',array('id'=>$value['id']));
|
||
|
$data[$key]['create_time'] = data('Y-m-d',$value['create_time']);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!empty($data) && is_array($data)) {
|
||
|
$status = 1;
|
||
|
}
|
||
|
echo json_encode(array('status'=>$status,'page'=>$page,'lists'=>$data));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的积分->商品详情
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function exchangerecorddetail($id=0){
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$map['sr.id'] = $id;
|
||
|
$map['sr.user_id'] = $this->suser->login_info('user_id');
|
||
|
$data = D("PointShopRecord")->table("tab_point_shop_record as sr")
|
||
|
->field("ps.good_name,ps.good_type,ps.good_info,ps.good_usage,ps.cover,sr.number,sr.good_key,sr.user_name,sr.address,sr.phone")
|
||
|
->join("left join tab_point_shop ps on ps.id = sr.good_id")
|
||
|
->where($map)
|
||
|
->find();
|
||
|
$data['cover'] = get_img_url($data['cover']);
|
||
|
$data['good_key'] = json_decode($data['good_key']);
|
||
|
// var_dump($data['good_key']);die;
|
||
|
$this->assign('data',$data);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的礼包
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function usergift($p=1) {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$page = intval($p);
|
||
|
$page = $page ? $page : 1; //默认显示第一页数据
|
||
|
$data = D("Giftbag")->getMyGiftRecord($this->suser->login_info('account'),$page);
|
||
|
foreach ($data as $key => $value) {
|
||
|
$data[$key]['end_time'] = empty($value['end_time'])?"永久":date('Y-m-d H:i:s',$value['end_time']);
|
||
|
}
|
||
|
$this->assign("data",$data);
|
||
|
$this->assign("page",$page);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的礼包 AJAX加载更多
|
||
|
* @return [type] [description]
|
||
|
* @author 小纯洁
|
||
|
*/
|
||
|
public function ajaxUserGift(){
|
||
|
$page = I('post.p');
|
||
|
$row = C('LIST_ROWS');
|
||
|
$data = D("Giftbag")->getMyGiftRecord($this->suser->login_info('account'),$page);
|
||
|
foreach ($data as $key => $value) {
|
||
|
$data[$key]['start_time'] = date('Y-m-d',$value['start_time']);
|
||
|
$data[$key]['end_time'] = date('Y-m-d',$value['end_time']);
|
||
|
$data[$key]['url'] = U('Gift/detail',array('id'=>$value['gift_id']));
|
||
|
}
|
||
|
if (!empty($data) && is_array($data)) {
|
||
|
$status = 1;
|
||
|
}
|
||
|
echo json_encode(array('status'=>$status,'page'=>$page,'lists'=>$data));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->兑换记录
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function exchangerecord($p=0) {
|
||
|
if(!$this->islogin()){$this->redirect('Mobile/User/login');}
|
||
|
$page = intval($p);
|
||
|
$page = $page ? $page : 1; //默认显示第一页数据
|
||
|
$row = C('LIST_ROWS');
|
||
|
$map['user_id'] = $this->suser->login_info('user_id');//$user_id;
|
||
|
$type = $_REQUEST['type'];
|
||
|
if ($type == 2){
|
||
|
$map['good_type'] = ['in',[1,2]];//商品
|
||
|
$totalMap['good_type'] = ['in',[1,2]];//商品
|
||
|
}elseif ($type == 3) {
|
||
|
$map['good_type'] = 3;//平台币
|
||
|
$totalMap['good_type'] = 3;//平台币
|
||
|
}
|
||
|
|
||
|
$data = D("PointShopRecord")
|
||
|
->field("id,good_name,good_type,number,pay_amount,create_time")
|
||
|
->where($map)
|
||
|
->order('create_time desc')
|
||
|
->page($page, $row)
|
||
|
->select();
|
||
|
$totalMap['user_id'] = $this->suser->login_info('user_id');
|
||
|
$total = D("PointShopRecord")->where($totalMap)->sum("pay_amount");
|
||
|
$this->assign('total',empty($total)?0:$total);
|
||
|
$this->assign('data',$data);
|
||
|
$this->assign('page',$page);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* AJAX 兌換記錄加载更多
|
||
|
* @return [type] [description]
|
||
|
*/
|
||
|
public function ajaxExchangeRecord() {
|
||
|
$page = I('post.p');
|
||
|
$row = C('LIST_ROWS');
|
||
|
$type = I('post.type');
|
||
|
$map['user_id'] = $this->suser->login_info('user_id');//$user_id;
|
||
|
if ($type == 2){
|
||
|
$map['good_type'] = ['in',[1,2]];//商品
|
||
|
}elseif ($type == 3) {
|
||
|
$map['good_type'] = 3;//平台币
|
||
|
}
|
||
|
$data = D("PointShopRecord")
|
||
|
->field("id,good_name,good_type,number,pay_amount,create_time")
|
||
|
->where($map)
|
||
|
->order('create_time desc')
|
||
|
->page($page, $row)
|
||
|
->select();
|
||
|
foreach ($data as $key => $value) {
|
||
|
$data[$key]['create_time'] = date('Y-m-d H:i:s',$value['create_time']);
|
||
|
$data[$key]['durl'] = U('User/exchangerecorddetail',array('id'=>$value['id']));
|
||
|
}
|
||
|
if (!empty($data) && is_array($data)) {
|
||
|
$status = 1;
|
||
|
}
|
||
|
echo json_encode(array('status'=>$status,'page'=>$page,'lists'=>$data));
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 个人中心->我的积分->获取方式
|
||
|
* @return [type] [description]
|
||
|
* @author wyr <840186209@qq.com>
|
||
|
*/
|
||
|
public function userintegralguide(){
|
||
|
|
||
|
$model = new PointTypeModel();
|
||
|
|
||
|
$data = $model->getLists(['status'=>1]);
|
||
|
|
||
|
foreach ($data['data'] as $key=>$val) {
|
||
|
|
||
|
$result[$val['key']]['point'] = $val['point'];
|
||
|
|
||
|
$result[$val['key']]['time_of_day'] = $val['time_of_day'];
|
||
|
|
||
|
$result[$val['key']]['name'] = $val['name'];
|
||
|
|
||
|
$result[$val['key']]['remake'] = $val['remake'];
|
||
|
|
||
|
}
|
||
|
|
||
|
$this->assign("data",$result);
|
||
|
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
public function share_register($id=0){
|
||
|
if(!empty($id)){
|
||
|
$data = D('Game')->find($id);
|
||
|
$data['icon'] = get_cover($data['icon'],'path');
|
||
|
}
|
||
|
$this->assign('data',$data);
|
||
|
$this->display();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 绑定支付宝
|
||
|
*/
|
||
|
public function alipay() {
|
||
|
if(IS_POST) {
|
||
|
|
||
|
$member = new MemberApi();
|
||
|
$user = D('User')->getLoginInfo();
|
||
|
if(is_array($user)) {
|
||
|
$res = $member->save_alipay($user['user_id'],$_POST);
|
||
|
$res['url'] = U('User/userset');
|
||
|
$this->ajaxReturn($res,'json');
|
||
|
} else {
|
||
|
$this->ajaxReturn(['status'=>0,'msg'=>'请登录'],'json');
|
||
|
}
|
||
|
|
||
|
|
||
|
} else {
|
||
|
|
||
|
$this->assign('user',D('User')->getAlipay());
|
||
|
|
||
|
$this->display();
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 提现记录
|
||
|
* @param integer $p 当前页
|
||
|
* @author 鹿文学
|
||
|
*/
|
||
|
public function withdraw_record($p=1) {
|
||
|
|
||
|
$order = 'audit_time desc';
|
||
|
|
||
|
$lists = D('WithdrawGoldCoin')->lists($p,$map,'id,money,coin,status,order_number,if(audit_time>0,FROM_UNIXTIME(audit_time,"%Y-%m-%d %H:%i:%s"),"") as audit_time',$order);
|
||
|
|
||
|
$this->assign('lists',$lists['lists']);
|
||
|
$this->assign('page',$lists['current']);
|
||
|
$this->assign('totalpage',$lists['total']);
|
||
|
|
||
|
$this->display();
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 提现记录
|
||
|
* @param integer $p 当前页
|
||
|
* @author 鹿文学
|
||
|
*/
|
||
|
public function ajax_withdraw_record($p=1) {
|
||
|
|
||
|
$order = 'audit_time desc';
|
||
|
|
||
|
$lists = D('WithdrawGoldCoin')->lists($p,$map,'id,money,coin,status,order_number,if(audit_time>0,FROM_UNIXTIME(audit_time,"%Y-%m-%d %H:%i:%s"),"") as audit_time',$order);
|
||
|
|
||
|
$this->ajaxReturn($lists,'json');
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 消费记录
|
||
|
* @param integer $p 当前页
|
||
|
* @author 鹿文学
|
||
|
*/
|
||
|
public function useing_record($p=1) {
|
||
|
|
||
|
$lists = D('User')->useing_record($p);
|
||
|
foreach ($lists['lists'] as $key => $value) {
|
||
|
$sort_data[$key] = $value['pay_time'];
|
||
|
}
|
||
|
array_multisort($sort_data,SORT_REGULAR,SORT_DESC,$lists['lists']);
|
||
|
$this->assign('lists',$lists['lists']);
|
||
|
$this->assign('page',$lists['current']);
|
||
|
$this->assign('totalpage',$lists['total']);
|
||
|
|
||
|
$this->display();
|
||
|
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* 消费记录
|
||
|
* @param integer $p 当前页
|
||
|
* @author 鹿文学
|
||
|
*/
|
||
|
public function ajax_useing_record($p=1) {
|
||
|
|
||
|
$lists = D('User')->useing_record($p);
|
||
|
|
||
|
$this->ajaxReturn($lists,'json');
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
}
|