|
|
@@ -83,6 +83,7 @@ class CalcCache {
|
|
|
const REDIS_KEY_PREFIX_GX_BONUS_DEEP_TWO_LIST_DATA = 'calc:gxBonusDeepTwoListData_';
|
|
|
const REDIS_KEY_PREFIX_YC_BONUS_LIST_DATA = 'calc:ycBonusListData_';
|
|
|
const REDIS_KEY_PREFIX_FW_BONUS_LIST_DATA = 'calc:fwBonusListData_';
|
|
|
+ const REDIS_KEY_PREFIX_GX_SHARE_TIMES_LIMIT = 'calc:gxShareTimes_';
|
|
|
|
|
|
//@todo
|
|
|
const REDIS_KEY_PREFIX_REPAIR_SURPLUS_PERF = 'calc:repairSurplusPerf_';
|
|
|
@@ -199,6 +200,7 @@ class CalcCache {
|
|
|
Yii::$app->redis->del(self::REDIS_KEY_PREFIX_GX_BONUS_DEEP_TWO_LIST_DATA . $periodNum);
|
|
|
Yii::$app->redis->del(self::REDIS_KEY_PREFIX_YC_BONUS_LIST_DATA . $periodNum);
|
|
|
Yii::$app->redis->del(self::REDIS_KEY_PREFIX_FW_BONUS_LIST_DATA . $periodNum);
|
|
|
+ Yii::$app->redis->del(self::REDIS_KEY_PREFIX_GX_SHARE_TIMES_LIMIT . $periodNum);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -1509,6 +1511,25 @@ class CalcCache {
|
|
|
return $value;
|
|
|
}
|
|
|
|
|
|
+ // 共享奖金,记录向上分奖金次数,如果超过五次,则不能继续分享奖金
|
|
|
+ public static function gxShareTimes($userId, $periodNum) {
|
|
|
+ $cacheKey = self::REDIS_KEY_PREFIX_GX_SHARE_TIMES_LIMIT . $periodNum;
|
|
|
+ // 从 redis 中获取当前的结果
|
|
|
+ $cacheValue = \Yii::$app->redis->hget($cacheKey, $userId);
|
|
|
+ $shareTimes = 0;
|
|
|
+ if ($cacheValue) {
|
|
|
+ $cacheValue = Json::decode($cacheValue);
|
|
|
+ $shareTimes = $cacheValue['share_times'];
|
|
|
+ }
|
|
|
+ $shareTimes += 1;
|
|
|
+ Yii::$app->redis->hset($cacheKey, $userId, Json::encode([
|
|
|
+ 'share_times' => $shareTimes
|
|
|
+ ]));
|
|
|
+
|
|
|
+
|
|
|
+ return $shareTimes;
|
|
|
+ }
|
|
|
+
|
|
|
public static function standardBonus($userId, $periodNum, $bonus=0.00) {
|
|
|
$cacheKey = self::REDIS_KEY_PREFIX_STANDARD_BONUS . $periodNum;
|
|
|
|