/** * 用户升级 主要用于核实用的等级 */ public function uplevel(&$aUser) { if (empty($aUser)) { return false; } $aUser['level'] = Helper::uint($aUser['level']); $aUser['exp'] = $aUser['wintimes'] * 2 + $aUser['losetimes']; $grade = 0; //获得级别配置 $levels = Core_Level::getLevel(); foreach ((array) $levels as $key => $aLevel) { if ($aUser['exp'] >= $aLevel[1]) { $grade = $aLevel[0]; //当前级别 } else { break; } } if ($grade > 0 && $grade <= 50) { if ($grade == $aUser['level']) { //如果计算出来的等级和userinfo 里的一致,则不更新 return false; } $query = "UPDATE {$this->memberinfo} SET exp={$aUser['exp']}, level={$grade} WHERE mid='{$aUser['mid']}' LIMIT 1"; Loader_Mysql::dbmaster()->query($query); //重置userinfo里的level $aUser['level'] = $grade; } }
/** * 用户资料更新 * @param int $mid * @param array $fields **/ public function updateInfo($mid, $fields = array()) { $update = ""; foreach ($fields as $key => $val) { if (is_null($val)) { continue; } $update .= $key . "='" . $val . "',"; } $update = substr($update, 0, -1); $sql = "UPDATE {$this->memberinfo} SET {$update} WHERE mid={$mid} LIMIT 1"; $flag = Loader_Mysql::dbmaster()->query($sql); if ($flag) { //更新成功 更新缓存 $aUser = Member::factory()->getOneById($mid, false); foreach ($fields as $key => $val) { if (isset($aUser[$key])) { $aUser[$key] = $val; } } //更新缓存 $cacheKey = Core_Keys::getOneById($mid); return Loader_Memcached::minfo($mid)->set($cacheKey, Values::combine(Values::getmb(), $aUser), 3 * 24 * 3600); } return false; }
/** * boyaa账号登录 * @param String $boyaa_id 表字段名为memail * @param String $device_no * @return int */ public function iphoneLoginNew($boyaa_id, $device_no) { $boyaa_id = Loader_Mysql::dbmaster()->escape($boyaa_id); $device_no = Loader_Mysql::dbmaster()->escape($device_no); if ($boyaa_id) { $query = "SELECT sitemid,memail \n\t\t\t FROM {$this->guestios} \n\t\t\t\t\t WHERE memail='{$boyaa_id}' \n\t\t\t\t\t LIMIT 1"; $aInfo = Loader_Mysql::dbmaster()->getOne($query); } if ($aInfo) { return $aInfo['sitemid']; } if (empty($aInfo)) { //博雅帐号注册 $sql = " NSERT INTO {$this->guestios} SET device_no='{$device_no}', memail='{$boyaa_id}'"; Loader_Mysql::dbmaster()->query($sql); $aInfo['sitemid'] = Loader_Mysql::dbmaster()->insertID(); } /** elseif ( $aInfo['sitemid'] && ( !is_numeric($aInfo['memail']) ) ) { //绑定boyaa_id $sql = " UPDATE {$this->iphonemembers} SET memail='{$boyaa_id}' WHERE sitemid={$aInfo['sitemid']} LIMIT 1 "; Loader_Mysql::dbmaster()->query($sql); }*/ return (int) $aInfo['sitemid']; }