init: import production code mss.nahaichuan.com (exclude Runtime/Uploads/backups/logs)
这个提交包含在:
@@ -0,0 +1,333 @@
|
||||
<?php
|
||||
|
||||
namespace Vip\Controller;
|
||||
|
||||
use Think\Controller;
|
||||
|
||||
//[1.4.8]
|
||||
class SetController extends BaseController
|
||||
{
|
||||
Public function index()
|
||||
{
|
||||
$this->display();
|
||||
}
|
||||
|
||||
public function changepersonal()
|
||||
{
|
||||
$vid = session('vid');
|
||||
$vip = D('Vip')->getFind(array('id' => $vid));
|
||||
$this->assign('vip', $vip);
|
||||
$userInfo = session('userinfo');
|
||||
$this->assign('style_model', $userInfo['style_model']);
|
||||
$this->display();
|
||||
}
|
||||
|
||||
public function forgetpwd()
|
||||
{
|
||||
$phone = session('userinfo')['mobile_phone'];
|
||||
$mobile_phone = substr($phone, 0, 4) . "****" . substr($phone, -3);
|
||||
$this->assign('phone', $mobile_phone);
|
||||
$userInfo = session('userinfo');
|
||||
if ($userInfo['style_model'] == 2) {
|
||||
$this->display('forgetpwd2');
|
||||
} else if ($userInfo['style_model'] == 3) {
|
||||
$this->display('forgetpwd3');
|
||||
} else {
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function resetpwd()
|
||||
{
|
||||
$userInfo = session('userinfo');
|
||||
if ($userInfo['style_model'] == 2) {
|
||||
$this->display('resetpwd2');
|
||||
} else if ($userInfo['style_model'] == 3) {
|
||||
$this->display('resetpwd3');
|
||||
} else {
|
||||
$this->display();
|
||||
}
|
||||
}
|
||||
|
||||
public function clearcode()
|
||||
{
|
||||
session('identifying_codes', null);//清除验证码
|
||||
}
|
||||
|
||||
//修改个人信息
|
||||
public function changeperson()
|
||||
{
|
||||
$vid = session('vid');
|
||||
|
||||
$nickname = I('post.nickname');
|
||||
$name = I('post.name');
|
||||
$sex = I('post.sex');
|
||||
$phone = I('post.phone');
|
||||
$birthday = I('post.birthday');
|
||||
|
||||
$vip = D('Vip')->getFind(array('id' => $vid));
|
||||
if (empty($vip)) {
|
||||
$result['status'] = 0;
|
||||
$result['msg'] = '会员信息有误';
|
||||
} else {
|
||||
$VipModel = D('Vip');
|
||||
$where['mobile_phone'] = $phone;
|
||||
$where['merchantid'] = $vip['merchantid'];
|
||||
if ($phone != $vip['mobile_phone']) {
|
||||
$code = I('post.code');
|
||||
$ver = $this->verifyMobileCode($phone, $code);
|
||||
if ($ver['status'] != 1) {
|
||||
$this->ajaxReturn($ver);
|
||||
}
|
||||
$res = $VipModel->getFindField($where, 'id');
|
||||
if ($res && $res != $vid) {
|
||||
$result['status'] = 0;
|
||||
$result['msg'] = '该手机号已经被绑定';
|
||||
}
|
||||
}
|
||||
$itemVip['nickname'] = $nickname;
|
||||
$itemVip['name'] = $name;
|
||||
$itemVip['sex'] = $sex;
|
||||
$itemVip['mobile_phone'] = $phone;
|
||||
$itemVip['birthday'] = $birthday;
|
||||
|
||||
$map['id'] = $vid;
|
||||
if ($vip['is_perfect'] == 0) {
|
||||
$itemVip['is_perfect'] = 1;
|
||||
//第一次完善资料
|
||||
$vipConfig = M('vip_config')->where(array('merchantid' => $vip['merchantid']))->find();
|
||||
$perfect = true;
|
||||
if ($vipConfig['plus_infoscore'] > 0) {
|
||||
if ($vip['plus_type'] == 2) {//plus会员
|
||||
$perfect = false;
|
||||
$integral = $vipConfig['plus_infoscore'];
|
||||
}
|
||||
}
|
||||
if ($perfect) {
|
||||
$integral = $vipConfig['infoscore'];
|
||||
}
|
||||
if (!empty($vipConfig) && intval($integral) > 0) {
|
||||
$res1 = $VipModel->toSetInc($map, 'integral', $integral);
|
||||
$res2 = $VipModel->toSetInc($map, 'grade_integral', $integral);
|
||||
|
||||
$data2['vid'] = $vid;
|
||||
$data2['type'] = 6;
|
||||
$data2['integral'] = $integral;
|
||||
$data2['time'] = time();
|
||||
$data2['remark'] = '通过完善资料获得' . $integral . '积分';
|
||||
$data2['storeid'] = $vip['storeid'];
|
||||
$data2['addtime'] = time();
|
||||
$resu = D('IntegralOrder')->addOrder($data2);
|
||||
A('WxScore')->scoreset($integral, $data2['remark']);
|
||||
}
|
||||
}
|
||||
$re = $VipModel->updateVip($map, $itemVip);
|
||||
if ($re) {
|
||||
$result['status'] = 1;
|
||||
$result['msg'] = '修改信息成功';
|
||||
} else {
|
||||
$result['status'] = 0;
|
||||
$result['msg'] = '修改失败,请重试';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$this->ajaxReturn($result);
|
||||
}
|
||||
|
||||
//修改支付密码
|
||||
public function changepwd()
|
||||
{
|
||||
if (!$_POST) {
|
||||
$userInfo = session('userinfo');
|
||||
if ($userInfo['style_model'] == 2) {
|
||||
$this->display('changepwd2');
|
||||
} else if ($userInfo['style_model'] == 3) {
|
||||
$this->display('changepwd3');
|
||||
} else {
|
||||
$this->display();
|
||||
}
|
||||
} else {
|
||||
$vid = session('vid');
|
||||
|
||||
$oldpwd = I('post.oldpwd');
|
||||
$newpwd = I('post.pwd');
|
||||
|
||||
$where['id'] = $vid;
|
||||
$vip = D('Vip')->getFind($where);
|
||||
|
||||
if (empty($vip)) {
|
||||
$result['success'] = 0;
|
||||
$result['msg'] = '会员信息有误';
|
||||
$this->ajaxReturn($result);
|
||||
}
|
||||
|
||||
$pwd = $vip['password'];
|
||||
$time = $vip['addtime'];
|
||||
|
||||
$CryptrModel = new \Addons\Api\Crypto ();
|
||||
$oldpwd = $CryptrModel->encrypt($oldpwd, date('YmdHis', intval($time)));
|
||||
if ($pwd == $oldpwd) {
|
||||
$newpwd = $CryptrModel->encrypt($newpwd, date('YmdHis', intval($time)));
|
||||
$res = D('Vip')->updateVip($where, array('password' => $newpwd));
|
||||
if ($res) {
|
||||
$result['success'] = 1;
|
||||
$result['msg'] = '密码修改成功';
|
||||
} else if ($res == 0) {
|
||||
$result['success'] = 0;
|
||||
$result['msg'] = '新旧密码一致';
|
||||
} else {
|
||||
$result['success'] = 0;
|
||||
$result['msg'] = '修改失败,请重试';
|
||||
}
|
||||
} else {
|
||||
$result['success'] = 0;
|
||||
$result['msg'] = '您的密码输入有误';
|
||||
}
|
||||
$this->ajaxReturn($result);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//短信验证码获取,并存入session;
|
||||
public function getCode()
|
||||
{
|
||||
$vid = session('vid');
|
||||
|
||||
$where['id'] = $vid;
|
||||
$vip = D('Vip')->getFind($where);
|
||||
if (empty($vip)) {
|
||||
$result['success'] = 0;
|
||||
$result['msg'] = '会员信息有误';
|
||||
} else {
|
||||
//发短信
|
||||
$alidayu = A('Api/Alidayu');
|
||||
$result1 = $alidayu->Send($vip['mobile_phone'], $vip['merchantid']);
|
||||
if ($result1['Code'] == "OK") {
|
||||
$result['success'] = 1;
|
||||
$result['msg'] = "发送成功";
|
||||
} else {
|
||||
$result['success'] = 0;
|
||||
$result['msg'] = '验证码次数达到上限';
|
||||
}
|
||||
}
|
||||
$this->ajaxReturn($result);
|
||||
}
|
||||
|
||||
//短信验证码获取,并存入session;
|
||||
public function getMobileCode()
|
||||
{
|
||||
$mobile_phone = I('post.mobile_phone');
|
||||
if (!verifyMobilePhone($mobile_phone)) {
|
||||
$result['status'] = 0;
|
||||
$result['msg'] = '会员信息有误';
|
||||
$this->ajaxReturn($result);
|
||||
}
|
||||
$vip = session('userinfo');
|
||||
$map = array(
|
||||
'merchant_id' => session('userinfo')['merchantid'],
|
||||
'mobile_phone' => $mobile_phone,
|
||||
);
|
||||
$old = D('RetailVip')->getFind($map);
|
||||
if (!empty($old)) {
|
||||
$result['status'] = 0;
|
||||
$result['msg'] = '该手机号已被注册';
|
||||
$this->ajaxReturn($result);
|
||||
}
|
||||
//发短信
|
||||
$res = A('Api/Alidayu')->Send($mobile_phone, $vip['merchantid']);
|
||||
if ($res['Code'] == "OK") {
|
||||
session('code_mobile', $mobile_phone, 300);
|
||||
$result['status'] = 1;
|
||||
$result['msg'] = "发送成功";
|
||||
} else {
|
||||
$result['status'] = 0;
|
||||
$result['msg'] = '验证码次数达到上限';
|
||||
}
|
||||
|
||||
$this->ajaxReturn($result);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 验证修改手机号的验证码是否正确
|
||||
* @param $mobile_phone 提交时的手机号
|
||||
* @return mixed
|
||||
*/
|
||||
protected function verifyMobileCode($mobile_phone, $code)
|
||||
{
|
||||
if ($code != $_SESSION['identifying_codes']) {
|
||||
$result['success'] = 0;
|
||||
$result ['msg'] = '短信验证码不正确';
|
||||
$result ['identifying_codes'] = $_SESSION['identifying_codes'];
|
||||
} else {
|
||||
if ($mobile_phone != session('code_mobile')) {
|
||||
$result['status'] = 0;
|
||||
$result ['msg'] = '提交的手机号与获取验证码的不一致';
|
||||
} else {
|
||||
session('identifying_codes', null);
|
||||
$result['status'] = 1;
|
||||
$result ['msg'] = '短信验证码正确';
|
||||
}
|
||||
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
//验证验证码是否正确
|
||||
public function verifyCode()
|
||||
{
|
||||
$code = I('post.code');
|
||||
if ($code != $_SESSION['identifying_codes']) {
|
||||
$result['success'] = 0;
|
||||
$result ['msg'] = '短信验证码不正确';
|
||||
} else {
|
||||
session('identifying_codes', null);
|
||||
$verify = md5(round(1000, 9999));
|
||||
session('resetPassCode', $verify, 300);
|
||||
$result['verifyCode'] = $verify;
|
||||
$result['success'] = 1;
|
||||
$result ['msg'] = '短信验证码正确';
|
||||
}
|
||||
$this->ajaxReturn($result);
|
||||
}
|
||||
|
||||
//重置支付密码
|
||||
public function resetpaswd()
|
||||
{
|
||||
$pwd = I('post.pwd');
|
||||
$verify = I('post.verifyCode');
|
||||
$vid = session('vid');
|
||||
|
||||
$where['id'] = $vid;
|
||||
$vip = D('Vip')->getFind($where);
|
||||
if (empty($vip)) {
|
||||
$result['success'] = 0;
|
||||
$result['msg'] = '会员信息有误';
|
||||
} else {
|
||||
if ($verify != session('resetPassCode')) {
|
||||
$result['success'] = 0;
|
||||
$result['msg'] = '验证超时';
|
||||
} else {
|
||||
$time = $vip['addtime'];
|
||||
$CryptrModel = new \Addons\Api\Crypto ();
|
||||
$pwd = $CryptrModel->encrypt($pwd, date('YmdHis', intval($time)));
|
||||
|
||||
$res = D('Vip')->updateVip($where, array('password' => $pwd));
|
||||
if ($res) {
|
||||
session('resetPassCode', null);
|
||||
$result['success'] = 1;
|
||||
$result['msg'] = '密码重置成功';
|
||||
} else if ($res == 0) {
|
||||
$result['success'] = 0;
|
||||
$result['msg'] = '新旧密码一致';
|
||||
} else {
|
||||
$result['success'] = 0;
|
||||
$result['msg'] = '修改失败,请重试';
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->ajaxReturn($result);
|
||||
}
|
||||
|
||||
}
|
||||
在新工单中引用
屏蔽一个用户