1
This commit is contained in:
parent
c26641207d
commit
5b4dfb8bef
@ -465,42 +465,42 @@ class BaseAuthedController extends BaseController {
|
|||||||
|
|
||||||
public function _getDailyV($x, $y, $defVal = 0)
|
public function _getDailyV($x, $y, $defVal = 0)
|
||||||
{
|
{
|
||||||
return DynData::getV($x, $y, $defVal);
|
return DynData::getDailyV($x, $y, $defVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function _setDailyV($x, $y, $val)
|
public function _setDailyV($x, $y, $val)
|
||||||
{
|
{
|
||||||
DynData::setV($x, $y, $val);
|
DynData::setDailyV($x, $y, $val);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function _incDailyV($x, $y, $incVal)
|
public function _incDailyV($x, $y, $incVal)
|
||||||
{
|
{
|
||||||
DynData::incV($x, $y, $incVal);
|
DynData::incDailyV($x, $y, $incVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function _decDailyV($x, $y, $decVal)
|
public function _decDailyV($x, $y, $decVal)
|
||||||
{
|
{
|
||||||
DynData::decV($x, $y, $decVal);
|
DynData::decDailyV($x, $y, $decVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function _getWeeklyV($x, $y, $defVal = 0)
|
public function _getWeeklyV($x, $y, $defVal = 0)
|
||||||
{
|
{
|
||||||
return DynData::getV($x, $y, $defVal);
|
return DynData::getWeeklyV($x, $y, $defVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function _setWeeklyV($x, $y, $val)
|
public function _setWeeklyV($x, $y, $val)
|
||||||
{
|
{
|
||||||
DynData::setV($x, $y, $val);
|
DynData::setWeeklyV($x, $y, $val);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function _incWeeklyV($x, $y, $incVal)
|
public function _incWeeklyV($x, $y, $incVal)
|
||||||
{
|
{
|
||||||
DynData::incV($x, $y, $incVal);
|
DynData::incWeeklyV($x, $y, $incVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function _decWeeklyV($x, $y, $decVal)
|
public function _decWeeklyV($x, $y, $decVal)
|
||||||
{
|
{
|
||||||
DynData::decV($x, $y, $decVal);
|
DynData::decWeeklyV($x, $y, $decVal);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -30,47 +30,8 @@ class DynData extends BaseModel {
|
|||||||
|
|
||||||
public static function getV($x, $y, $defVal = 0)
|
public static function getV($x, $y, $defVal = 0)
|
||||||
{
|
{
|
||||||
$key = self::calcKey($x, $y);
|
$valData = self::internalGetV($x, $y, $defVal);
|
||||||
if (self::$dynData) {
|
return $valData['val'];
|
||||||
if (isset($dynData[$key])) {
|
|
||||||
return getXVal(self::$dynData[$key], 'val', $defVal);
|
|
||||||
} else {
|
|
||||||
return $defVal;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
++self::$hitCount;
|
|
||||||
if (self::$hitCount > 5 && is_null(self::$dynData)) {
|
|
||||||
self::preload();
|
|
||||||
return self::getV($x, $y, $defVal);
|
|
||||||
} else {
|
|
||||||
$row = SqlHelper::ormSelectOne(
|
|
||||||
myself()->_getSelfMysql(),
|
|
||||||
't_dyndata',
|
|
||||||
array(
|
|
||||||
'account_id' => myself()->_getAccountId(),
|
|
||||||
'x' => $x,
|
|
||||||
'y' => $y,
|
|
||||||
)
|
|
||||||
);
|
|
||||||
return $row ? $row['val'] : $defVal;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function getDailyV($x, $y, $defVal = 0)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public function _setDailyV($x, $y, $val)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public function _incDailyV($x, $y, $incVal)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
public function _decDailyV($x, $y, $decVal)
|
|
||||||
{
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public static function setV($x, $y, $defVal)
|
public static function setV($x, $y, $defVal)
|
||||||
@ -91,6 +52,58 @@ class DynData extends BaseModel {
|
|||||||
self::incV($x, $y, 0 - $val);
|
self::incV($x, $y, 0 - $val);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static function getDailyV($x, $y, $defVal = 0)
|
||||||
|
{
|
||||||
|
$valData = self::internalGetV($x, $y, $defVal);
|
||||||
|
if (myself()->_getDaySeconds($valData['modifytime']) < myself()->_getNowDaySeconds()) {
|
||||||
|
$valData['val'] = $defVal;
|
||||||
|
}
|
||||||
|
return $valData['val'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function setDailyV($x, $y, $val)
|
||||||
|
{
|
||||||
|
self::setV($x, $y, $val);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function incDailyV($x, $y, $Val)
|
||||||
|
{
|
||||||
|
$key = self::calcKey($x, $y);
|
||||||
|
$oldVal = self::getDailyV($x, $y);
|
||||||
|
self::internalSetV($x, $y, $oldVal + $val);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function decDailyV($x, $y, $Val)
|
||||||
|
{
|
||||||
|
self::incDailyV($x, $y, 0 - $val);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function getWeeklyV($x, $y, $defVal = 0)
|
||||||
|
{
|
||||||
|
$valData = self::internalGetV($x, $y, $defVal);
|
||||||
|
if (myself()->_getDaySeconds($valData['modifytime']) < myself()->_getMondaySeconds()) {
|
||||||
|
$valData['val'] = $defVal;
|
||||||
|
}
|
||||||
|
return $valData['val'];
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function setWeeklyV($x, $y, $val)
|
||||||
|
{
|
||||||
|
self::setV($x, $y, $val);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function incWeeklyV($x, $y, $Val)
|
||||||
|
{
|
||||||
|
$key = self::calcKey($x, $y);
|
||||||
|
$oldVal = self::getWeeklyV($x, $y);
|
||||||
|
self::internalSetV($x, $y, $oldVal + $val);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function decWeeklyV($x, $y, $Val)
|
||||||
|
{
|
||||||
|
self::incWeeklyV($x, $y, 0 - $val);
|
||||||
|
}
|
||||||
|
|
||||||
public static function calcKey($x, $y)
|
public static function calcKey($x, $y)
|
||||||
{
|
{
|
||||||
$low32 = (int)$x;
|
$low32 = (int)$x;
|
||||||
@ -143,6 +156,41 @@ class DynData extends BaseModel {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static function internalGetV($x, $y, $defVal = 0)
|
||||||
|
{
|
||||||
|
$key = self::calcKey($x, $y);
|
||||||
|
if (self::$dynData) {
|
||||||
|
if (isset($dynData[$key])) {
|
||||||
|
return $dynData[$key];
|
||||||
|
} else {
|
||||||
|
return array(
|
||||||
|
'val' => $defVal,
|
||||||
|
'modifytime' => $this->_getNowTime()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
++self::$hitCount;
|
||||||
|
if (self::$hitCount > 5 && is_null(self::$dynData)) {
|
||||||
|
self::preload();
|
||||||
|
return self::getV($x, $y, $defVal);
|
||||||
|
} else {
|
||||||
|
$row = SqlHelper::ormSelectOne(
|
||||||
|
myself()->_getSelfMysql(),
|
||||||
|
't_dyndata',
|
||||||
|
array(
|
||||||
|
'account_id' => myself()->_getAccountId(),
|
||||||
|
'x' => $x,
|
||||||
|
'y' => $y,
|
||||||
|
)
|
||||||
|
);
|
||||||
|
return array(
|
||||||
|
'val' => $row ? $row['val'] : $defVal,
|
||||||
|
'modifytime' => $row ? $row['modifytime'] : myself()->_getNowTime(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private static $dynData = null;
|
private static $dynData = null;
|
||||||
private static $hitCount = 0;
|
private static $hitCount = 0;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user