我设了三个会员级别,一是0资产的,会员游客,二是10个资产(积分)社区社员,三是审核 员,达到100资产(积分)
有时我也在管理后台指定一些会员为批定权限,可是,奇怪的是,不出一二天,这些人莫名奇妙跌成会员游客。看代码好像也没能什么问题,苦恼
<?php
namespace app\common\controller;
use think\Db;
//定义是会员中心
define('IN_MEMBER', true);
/**
* 后台总控制器
*/
class MemberBase extends Base
{
/**
* 会员中心初始化
*/
protected function _initialize()
{
parent::_initialize();
hook_listen('member_begin', $array = ['user' => $this->user]); //钩子扩展
if (!defined('LOGIN_PAGE') && empty($this->user)) {
$this->success('请先登录', iurl('index/login/index'));
}
//
// if ($this->user['uid'] == 38) {
$userdb = Db::name('memberdata')->where("uid = " . $this->user['uid'])->find();
$minmoney = [13 =>10, 14 => 1000000, 15 => 100];
$myminmoney = $minmoney[$userdb['groupid']];
$myid = $this->user['uid'];
if (in_array($userdb['groupid'], [13, 14, 15])) {
$updatatime = $userdb['updatatime'];
if (empty($updatatime)) {
$updatatime = 0;
}
$mygetmoney = Db::name('moneylog')->where("uid = $myid and posttime > $updatatime")->sum('money');
if ($myid == 38) {
$mygetmoney = 9999;
var_dump($this->user);
}
if ($userdb['money'] < $myminmoney and $mygetmoney > $myminmoney) {
//降级
switch ($userdb['groupid']) {
case 13:
$newlevel = 11;
break;
case 14:
if ($userdb['money'] >= 10)
$newlevel = 13;
else
$newlevel = 11;
break;
case 15:
if ($userdb['money'] >= 10) {
$newlevel = 14;
} elseif ($userdb['money'] >= 1) {
$newlevel = 13;
} else {
$newlevel = 11;
}
}
$leveldata = ['uid' => $myid,