东海寻仙修改,排行榜加字段
parent
39b48bf320
commit
12dd7885ce
|
@ -1,9 +1,5 @@
|
||||||
package com.ljsd.jieling.handler.activity;
|
package com.ljsd.jieling.handler.activity;
|
||||||
|
|
||||||
import com.ljsd.jieling.chat.logic.ChatLogic;
|
|
||||||
import com.ljsd.jieling.config.*;
|
|
||||||
import com.ljsd.jieling.globals.BIReason;
|
|
||||||
import com.ljsd.jieling.globals.Global;
|
|
||||||
import com.ljsd.jieling.handler.BaseHandler;
|
import com.ljsd.jieling.handler.BaseHandler;
|
||||||
import com.ljsd.jieling.logic.activity.AbstractActivity;
|
import com.ljsd.jieling.logic.activity.AbstractActivity;
|
||||||
import com.ljsd.jieling.logic.activity.ActivityType;
|
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||||
|
|
|
@ -1084,7 +1084,7 @@ public class MapLogic {
|
||||||
AbstractRank towerRank = RankContext.getRankEnum(RankEnum.TOWER_RANK.getType());
|
AbstractRank towerRank = RankContext.getRankEnum(RankEnum.TOWER_RANK.getType());
|
||||||
// TowerRankUtil.getRankNumber(mapManager.getTower(),(int)(mapManager.getCurrTowerTime()/1000))
|
// TowerRankUtil.getRankNumber(mapManager.getTower(),(int)(mapManager.getCurrTowerTime()/1000))
|
||||||
if(towerRank.getScore(mapManager.getTower(),(int)(mapManager.getCurrTowerTime()/1000))>towerRank.getScoreById(user.getId())){
|
if(towerRank.getScore(mapManager.getTower(),(int)(mapManager.getCurrTowerTime()/1000))>towerRank.getScoreById(user.getId())){
|
||||||
towerRank.addRank(user.getId(),mapManager.getTower(),(int)mapManager.getCurrTowerTime()/1000);
|
towerRank.addRank(user.getId(),0,mapManager.getTower(),(int)mapManager.getCurrTowerTime()/1000);
|
||||||
// RedisUtil.getInstence().zsetAddOne(RedisKey.getKey(RedisKey.TOWER_RANK,"",false),String.valueOf(user.getId()),TowerRankUtil.getRankNumber(mapManager.getTower(),(int)(mapManager.getCurrTowerTime()/1000)));
|
// RedisUtil.getInstence().zsetAddOne(RedisKey.getKey(RedisKey.TOWER_RANK,"",false),String.valueOf(user.getId()),TowerRankUtil.getRankNumber(mapManager.getTower(),(int)(mapManager.getCurrTowerTime()/1000)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2124,7 +2124,7 @@ public class MapLogic {
|
||||||
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true);
|
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true);
|
||||||
// String rankKey = RedisKey.getKey(RedisKey.MAINLEVEL_RANK, "", false);
|
// String rankKey = RedisKey.getKey(RedisKey.MAINLEVEL_RANK, "", false);
|
||||||
// RedisUtil.getInstence().zsetAddOne(rankKey, String.valueOf(user.getId()), sMainLevelConfig.getVirtureId());
|
// RedisUtil.getInstence().zsetAddOne(rankKey, String.valueOf(user.getId()), sMainLevelConfig.getVirtureId());
|
||||||
RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid,sMainLevelConfig.getVirtureId());
|
RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid,0,sMainLevelConfig.getVirtureId());
|
||||||
}
|
}
|
||||||
|
|
||||||
// public void getMainLevelRankInfo(ISession session) throws Exception {
|
// public void getMainLevelRankInfo(ISession session) throws Exception {
|
||||||
|
@ -2332,7 +2332,7 @@ public class MapLogic {
|
||||||
//排行榜
|
//排行榜
|
||||||
// String rankKey = RedisKey.getKey(RedisKey.MONSTER_ATTACK_RANK,"", false);
|
// String rankKey = RedisKey.getKey(RedisKey.MONSTER_ATTACK_RANK,"", false);
|
||||||
// RedisUtil.getInstence().zsetAddOneOffsetByTime(rankKey, String.valueOf(user.getId()), checkFightId);
|
// RedisUtil.getInstence().zsetAddOneOffsetByTime(rankKey, String.valueOf(user.getId()), checkFightId);
|
||||||
RankContext.getRankEnum(RankEnum.MONSTER_ATTACK_RANK.getType()).addRank(uid,checkFightId);
|
RankContext.getRankEnum(RankEnum.MONSTER_ATTACK_RANK.getType()).addRank(uid,0,checkFightId);
|
||||||
//归还水滴
|
//归还水滴
|
||||||
Map<Integer,Integer> itemMap = new HashMap<>(1);
|
Map<Integer,Integer> itemMap = new HashMap<>(1);
|
||||||
itemMap.put( Global.DROP,1);
|
itemMap.put( Global.DROP,1);
|
||||||
|
@ -2886,7 +2886,7 @@ public class MapLogic {
|
||||||
// User user = UserManager.getUser(session.getUid());
|
// User user = UserManager.getUser(session.getUid());
|
||||||
|
|
||||||
int rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.TRIAL_RANKINGSHOWNUM);
|
int rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.TRIAL_RANKINGSHOWNUM);
|
||||||
PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(),1, rankEndLine);
|
PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(),0,1, rankEndLine);
|
||||||
|
|
||||||
|
|
||||||
// Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.TOWER_RANK, "", 0, rankEndLine);
|
// Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.TOWER_RANK, "", 0, rankEndLine);
|
||||||
|
|
|
@ -47,7 +47,7 @@ public class FourtyTwoBehavior extends BaseBehavior {
|
||||||
if(towerRank.getScore(mapManager.getTower(),(int)time/1000)>towerRank.getScoreById(user.getId())){
|
if(towerRank.getScore(mapManager.getTower(),(int)time/1000)>towerRank.getScoreById(user.getId())){
|
||||||
// String key = RedisKey.getKey(RedisKey.TOWER_RANK,"",false);
|
// String key = RedisKey.getKey(RedisKey.TOWER_RANK,"",false);
|
||||||
// RedisUtil.getInstence().zsetAddOne(key,String.valueOf(user.getId()),TowerRankUtil.getRankNumber(mapManager.getTower(),(int)time/1000));
|
// RedisUtil.getInstence().zsetAddOne(key,String.valueOf(user.getId()),TowerRankUtil.getRankNumber(mapManager.getTower(),(int)time/1000));
|
||||||
towerRank.addRank(user.getId(),mapManager.getTower(),(int)time/1000);
|
towerRank.addRank(user.getId(),0,mapManager.getTower(),(int)time/1000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
user.getUserMissionManager().onGameEvent(user, GameEvent.COPY_TOWER_LEVEL, mapManager.getTower());
|
user.getUserMissionManager().onGameEvent(user, GameEvent.COPY_TOWER_LEVEL, mapManager.getTower());
|
||||||
|
|
|
@ -121,7 +121,7 @@ public class QuickStartMonsterFighter extends BaseHandler<FightInfoProto.QuickSt
|
||||||
//排行榜
|
//排行榜
|
||||||
// String rankKey = RedisKey.getKey(RedisKey.MONSTER_ATTACK_RANK,"", false);
|
// String rankKey = RedisKey.getKey(RedisKey.MONSTER_ATTACK_RANK,"", false);
|
||||||
// RedisUtil.getInstence().zsetAddOneOffsetByTime(rankKey, String.valueOf(user.getId()), fightId);
|
// RedisUtil.getInstence().zsetAddOneOffsetByTime(rankKey, String.valueOf(user.getId()), fightId);
|
||||||
RankContext.getRankEnum(RankEnum.MONSTER_ATTACK_RANK.getType()).addRank(uid,fightId);
|
RankContext.getRankEnum(RankEnum.MONSTER_ATTACK_RANK.getType()).addRank(uid,0,fightId);
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sFloodConfig.getReward(), BIReason.MONSTERATTACK_REWARD);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sFloodConfig.getReward(), BIReason.MONSTERATTACK_REWARD);
|
||||||
|
|
||||||
FightInfoProto.QuickStartMonsterFightResponse builder = FightInfoProto.QuickStartMonsterFightResponse.newBuilder()
|
FightInfoProto.QuickStartMonsterFightResponse builder = FightInfoProto.QuickStartMonsterFightResponse.newBuilder()
|
||||||
|
|
|
@ -212,8 +212,8 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
|
||||||
int[][] reward = sActivityRewardConfig.getReward();
|
int[][] reward = sActivityRewardConfig.getReward();
|
||||||
itemAttrs.add(reward);
|
itemAttrs.add(reward);
|
||||||
isTake = true;
|
isTake = true;
|
||||||
|
activityProgressInfo.setState(ActivityType.HAD_TAKED);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isTake) {
|
if (!isTake) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -339,4 +339,8 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
|
||||||
return set;
|
return set;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onActivityPreEnd() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -255,12 +255,12 @@ public class ActivityLogic implements IEventHandler{
|
||||||
for (SGlobalActivity sGlobalActivity : sGlobalActivityMap.values()) {
|
for (SGlobalActivity sGlobalActivity : sGlobalActivityMap.values()) {
|
||||||
int activityId = sGlobalActivity.getId();
|
int activityId = sGlobalActivity.getId();
|
||||||
if (openActivityIds.contains(activityId)) {
|
if (openActivityIds.contains(activityId)) {
|
||||||
if(sGlobalActivity.getGapTime()>0){
|
// if(sGlobalActivity.getGapTime()>0){
|
||||||
long endTime = ToolsUtil.getEndTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, sGlobalActivity.getGapTime());
|
// long endTime = ToolsUtil.getEndTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),userCreateTime, sGlobalActivity.getGapTime());
|
||||||
if(TimeUtils.now()>=endTime){
|
// if(TimeUtils.now()>=endTime){
|
||||||
goRewardActivity(user,activityId,builder,false);
|
// goRewardActivity(user,activityId,builder,false);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
int[] ifOpen = sGlobalActivity.getIfOpen();
|
int[] ifOpen = sGlobalActivity.getIfOpen();
|
||||||
if(ifOpen!=null && ifOpen.length>0){
|
if(ifOpen!=null && ifOpen.length>0){
|
||||||
if(ifOpen[0]==1){ //创角
|
if(ifOpen[0]==1){ //创角
|
||||||
|
@ -389,7 +389,13 @@ public class ActivityLogic implements IEventHandler{
|
||||||
}
|
}
|
||||||
SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(activityId);
|
SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(activityId);
|
||||||
int startTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 1) / 1000);
|
int startTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 1) / 1000);
|
||||||
int endTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 2) / 1000);
|
int endTime;
|
||||||
|
if(sGlobalActivity.getGapTime()!=0){
|
||||||
|
endTime = (int) (ToolsUtil.getEndTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, sGlobalActivity.getGapTime()) / 1000);
|
||||||
|
|
||||||
|
}else{
|
||||||
|
endTime = (int) (ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),createTime, 2) / 1000);
|
||||||
|
}
|
||||||
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityProgressInfoMap();
|
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityProgressInfoMap();
|
||||||
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = new ArrayList<>(activityProgressInfoMap.size());
|
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = new ArrayList<>(activityProgressInfoMap.size());
|
||||||
for (Map.Entry<Integer, ActivityProgressInfo> missionProgress : activityProgressInfoMap.entrySet()) {
|
for (Map.Entry<Integer, ActivityProgressInfo> missionProgress : activityProgressInfoMap.entrySet()) {
|
||||||
|
|
|
@ -8,8 +8,8 @@ public interface ActivityType {
|
||||||
int FINISH_STATE = 2;
|
int FINISH_STATE = 2;
|
||||||
|
|
||||||
int OPEN_TYPE_TIME = 1; // 活动开启类型:绝对时间
|
int OPEN_TYPE_TIME = 1; // 活动开启类型:绝对时间
|
||||||
int OPEN_TYPE_ROLE = 2; // 活动开启类型:创角时间
|
|
||||||
int OPEN_TYPE_SERVER = 3; // 活动开启类型:开服时间
|
int OPEN_TYPE_SERVER = 3; // 活动开启类型:开服时间
|
||||||
|
int OPEN_TYPE_ROLE = 2; // 活动开启类型:创角时间
|
||||||
|
|
||||||
|
|
||||||
int WILL_TAKE = 0; //未领取
|
int WILL_TAKE = 0; //未领取
|
||||||
|
|
|
@ -4,6 +4,9 @@ package com.ljsd.jieling.logic.activity;
|
||||||
import com.ljsd.jieling.db.redis.RedisKey;
|
import com.ljsd.jieling.db.redis.RedisKey;
|
||||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||||
import com.ljsd.jieling.globals.Global;
|
import com.ljsd.jieling.globals.Global;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.UserForceChangeEvent;
|
||||||
import com.ljsd.jieling.logic.dao.ActivityMission;
|
import com.ljsd.jieling.logic.dao.ActivityMission;
|
||||||
import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
|
import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
|
||||||
import com.ljsd.jieling.logic.dao.UserManager;
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
|
@ -27,6 +30,17 @@ class ForceRankActivity extends AbstractActivity {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEvent(IEvent event) throws Exception {
|
||||||
|
|
||||||
|
if(!(event instanceof UserForceChangeEvent)){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
UserForceChangeEvent forceChangeEvent = (UserForceChangeEvent) event;
|
||||||
|
RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).addRank(forceChangeEvent.getUid(),id,forceChangeEvent.getForce());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActivityStart() throws Exception {
|
public void onActivityStart() throws Exception {
|
||||||
//上报所有玩家战力
|
//上报所有玩家战力
|
||||||
|
@ -45,7 +59,7 @@ class ForceRankActivity extends AbstractActivity {
|
||||||
activityMission.setValue(count);
|
activityMission.setValue(count);
|
||||||
// String key = RedisKey.getKey(RedisKey.FORCE_RANK, "", false);
|
// String key = RedisKey.getKey(RedisKey.FORCE_RANK, "", false);
|
||||||
// RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), count);
|
// RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), count);
|
||||||
RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).addRank(user.getId(),count);
|
RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).addRank(user.getId(),id,count);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -74,7 +88,7 @@ class ForceRankActivity extends AbstractActivity {
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set<ZSetOperations.TypedTuple<String>> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.FORCE_RANK, "", 0, maxRank-1);
|
// Set<ZSetOperations.TypedTuple<String>> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.FORCE_RANK, "", 0, maxRank-1);
|
||||||
Set<ZSetOperations.TypedTuple<String>> rankInfo = RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).getRankByKey(0,maxRank - 1);
|
Set<ZSetOperations.TypedTuple<String>> rankInfo = RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).getRankByKey(id,0,maxRank - 1);
|
||||||
int rank = 1;
|
int rank = 1;
|
||||||
int nowTime = (int) (TimeUtils.now() / 1000);
|
int nowTime = (int) (TimeUtils.now() / 1000);
|
||||||
for (ZSetOperations.TypedTuple<String> item : rankInfo) {
|
for (ZSetOperations.TypedTuple<String> item : rankInfo) {
|
||||||
|
|
|
@ -41,6 +41,10 @@ public interface IActivity {
|
||||||
*/
|
*/
|
||||||
boolean takeReward(ISession session, int missionId) throws Exception;
|
boolean takeReward(ISession session, int missionId) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动预期前结束
|
||||||
|
*/
|
||||||
|
void onActivityPreEnd() throws Exception;
|
||||||
/**
|
/**
|
||||||
* 活动结束 目前只有绝对时间活动
|
* 活动结束 目前只有绝对时间活动
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
|
|
|
@ -57,10 +57,10 @@ public class LimitRandomCardActivity extends AbstractActivity {
|
||||||
if(scoreById==-1){
|
if(scoreById==-1){
|
||||||
scoreById=0;
|
scoreById=0;
|
||||||
}
|
}
|
||||||
randomRank.addRank(cardEvent.getUid(),scoreById+cardEvent.getScore());
|
randomRank.addRank(cardEvent.getUid(),id,scoreById+cardEvent.getScore());
|
||||||
Predicate<int[]> pre = a-> (SCHero.getHeroByPieceId(a[0])!=null&&SCHero.getHeroByPieceId(a[0]).getNatural()>=13);
|
Predicate<int[]> pre = a-> (SCHero.getHeroByPieceId(a[0])!=null&&SCHero.getHeroByPieceId(a[0]).getNatural()>=13);
|
||||||
|
|
||||||
Consumer<int[]> consumer = a->RankContext.getRankEnum(RankEnum.RANDOM_CARD_PERFECT_RANK.getType()).addRank(cardEvent.getUid(), TimeUtils.now()/1000,a[0]);
|
Consumer<int[]> consumer = a->RankContext.getRankEnum(RankEnum.RANDOM_CARD_PERFECT_RANK.getType()).addRank(cardEvent.getUid(),id, TimeUtils.now()/1000,a[0]);
|
||||||
Stream.of(cardEvent.getHeros()).filter(pre).forEach(consumer);
|
Stream.of(cardEvent.getHeros()).filter(pre).forEach(consumer);
|
||||||
update(UserManager.getUser(cardEvent.getUid()),cardEvent.getScore());
|
update(UserManager.getUser(cardEvent.getUid()),cardEvent.getScore());
|
||||||
|
|
||||||
|
@ -124,13 +124,10 @@ public class LimitRandomCardActivity extends AbstractActivity {
|
||||||
SActivityRankingReward sActivityRankingReward1 = SActivityRankingReward.getsActivityRankingRewardMap().get(missionId);
|
SActivityRankingReward sActivityRankingReward1 = SActivityRankingReward.getsActivityRankingRewardMap().get(missionId);
|
||||||
//sendmail
|
//sendmail
|
||||||
|
|
||||||
String title = SErrorCodeEerverConfig.getI18NMessage("expertrank_activity_title", new Object[]{sGlobalActivity.getSesc()});
|
String title = SErrorCodeEerverConfig.getI18NMessage("east_fairy_title", new Object[]{sGlobalActivity.getSesc()});
|
||||||
String content = SErrorCodeEerverConfig.getI18NMessage("expertrank_activity_txt", new Object[]{sGlobalActivity.getSesc(), rank++});
|
String content = SErrorCodeEerverConfig.getI18NMessage("east_fairy_txt", new Object[]{sGlobalActivity.getSesc(), rank++});
|
||||||
String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward());
|
String mailReward = ItemUtil.getMailReward(sActivityRankingReward1.getRankingReward());
|
||||||
MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
|
MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
|
||||||
RedisUtil.getInstence().del(RedisKey.getKey(RedisKey.RANDOM_CARD_PERFECT_RANK,"",false));
|
|
||||||
RedisUtil.getInstence().del(RedisKey.getKey(RedisKey.RANDOM_CARD_RANK,"",false));
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,32 @@
|
||||||
|
package com.ljsd.jieling.logic.activity.event;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lvxinran
|
||||||
|
* @date 2020/1/2
|
||||||
|
* @discribe
|
||||||
|
*/
|
||||||
|
public class UserForceChangeEvent implements IEvent {
|
||||||
|
public int uid;
|
||||||
|
public int force;
|
||||||
|
|
||||||
|
public int getForce() {
|
||||||
|
return force;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setForce(int force) {
|
||||||
|
this.force = force;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getUid() {
|
||||||
|
return uid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUid(int uid) {
|
||||||
|
this.uid = uid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public UserForceChangeEvent(int uid,int force) {
|
||||||
|
this.uid=uid;
|
||||||
|
this.force = force;
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,6 +15,8 @@ import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.globals.Global;
|
import com.ljsd.jieling.globals.Global;
|
||||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||||
import com.ljsd.jieling.logic.activity.ActivityType;
|
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.UserForceChangeEvent;
|
||||||
import com.ljsd.jieling.logic.dao.*;
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.logic.family.GuildLogic;
|
import com.ljsd.jieling.logic.family.GuildLogic;
|
||||||
|
@ -262,7 +264,7 @@ public class PlayerLogic {
|
||||||
user.getPlayerInfoManager().setMaxForce(teamForce);
|
user.getPlayerInfoManager().setMaxForce(teamForce);
|
||||||
// String key = RedisKey.getKey(RedisKey.FORCE_RANK, "", false);
|
// String key = RedisKey.getKey(RedisKey.FORCE_RANK, "", false);
|
||||||
// RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), teamForce);
|
// RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), teamForce);
|
||||||
RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).addRank(user.getId(),teamForce);
|
Poster.getPoster().dispatchEvent(new UserForceChangeEvent(uid,teamForce));
|
||||||
user.getUserMissionManager().onGameEvent(user,GameEvent.USER_FORCE_CHANGE);
|
user.getUserMissionManager().onGameEvent(user,GameEvent.USER_FORCE_CHANGE);
|
||||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FORCERANK,teamForce);
|
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FORCERANK,teamForce);
|
||||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FORCESTANDARD,teamForce);
|
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FORCESTANDARD,teamForce);
|
||||||
|
|
|
@ -9,9 +9,9 @@ import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||||
*/
|
*/
|
||||||
public interface IRank {
|
public interface IRank {
|
||||||
|
|
||||||
PlayerInfoProto.RankResponse getRank(int uid,int page,int rankEndLine) throws Exception ;
|
PlayerInfoProto.RankResponse getRank(int uid,int activityId,int page,int rankEndLine) throws Exception ;
|
||||||
|
|
||||||
void addRank(int uid,double... data);
|
void addRank(int uid,int activityId,double... data);
|
||||||
|
|
||||||
int getParam1(double data);
|
int getParam1(double data);
|
||||||
|
|
||||||
|
|
|
@ -33,7 +33,7 @@ public class RankLogic {
|
||||||
}
|
}
|
||||||
public void getRank(ISession session, int type, MessageTypeProto.MessageType messageType) throws Exception {
|
public void getRank(ISession session, int type, MessageTypeProto.MessageType messageType) throws Exception {
|
||||||
int page = 1;
|
int page = 1;
|
||||||
PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(),1, -1);
|
PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(),0,1, -1);
|
||||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),rankResponse,true);
|
MessageUtil.sendMessage(session,1,messageType.getNumber(),rankResponse,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,12 +28,13 @@ public abstract class AbstractRank implements IRank {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取排行榜数据,包括个人的排名和所有人的信息,获取调用此方法
|
* 获取排行榜数据,包括个人的排名和所有人的信息,获取调用此方法
|
||||||
|
* @param activityId 活动id(活动有多期,排行榜保留)
|
||||||
* @param uid 改用户id
|
* @param uid 改用户id
|
||||||
* @param rankEndLine 所有人条目上线
|
* @param rankEndLine 所有人条目上线
|
||||||
* @return 当前排行榜数据
|
* @return 当前排行榜数据
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public PlayerInfoProto.RankResponse getRank(int uid,int page,int rankEndLine) throws Exception {
|
public PlayerInfoProto.RankResponse getRank(int uid,int activityId,int page,int rankEndLine) throws Exception {
|
||||||
if(rankEndLine==-1){
|
if(rankEndLine==-1){
|
||||||
rankEndLine = 100;
|
rankEndLine = 100;
|
||||||
}
|
}
|
||||||
|
@ -42,7 +43,7 @@ public abstract class AbstractRank implements IRank {
|
||||||
page = 1;
|
page = 1;
|
||||||
}
|
}
|
||||||
int start = (page - 1) * rankEndLine, end = page * rankEndLine - 1;
|
int start = (page - 1) * rankEndLine, end = page * rankEndLine - 1;
|
||||||
Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = getRankByKey(start,end);
|
Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = getRankByKey(activityId,start,end);
|
||||||
if(start==0){
|
if(start==0){
|
||||||
start=1;
|
start=1;
|
||||||
}
|
}
|
||||||
|
@ -57,8 +58,8 @@ public abstract class AbstractRank implements IRank {
|
||||||
* @param uid 修改用户id
|
* @param uid 修改用户id
|
||||||
* @param data 注意:此处为传入修改的分数需要的所有参数即可,里面调用getScore方法,注意参数顺序
|
* @param data 注意:此处为传入修改的分数需要的所有参数即可,里面调用getScore方法,注意参数顺序
|
||||||
*/
|
*/
|
||||||
public void addRank(int uid,double... data){
|
public void addRank(int uid,int activityId,double... data){
|
||||||
String key = RedisKey.getKey(redisKey,"",false);
|
String key = RedisKey.getKey(redisKey,String.valueOf(activityId),false);
|
||||||
RedisUtil.getInstence().zsetAddOne(key,String.valueOf(uid), getScore(data));
|
RedisUtil.getInstence().zsetAddOne(key,String.valueOf(uid), getScore(data));
|
||||||
}
|
}
|
||||||
public AbstractRank(int type,String redisKey){
|
public AbstractRank(int type,String redisKey){
|
||||||
|
@ -73,8 +74,8 @@ public abstract class AbstractRank implements IRank {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(int start,int end){
|
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(int activityId,int start,int end){
|
||||||
return RedisUtil.getInstence().getZsetreverseRangeWithScores(redisKey, "", start, end);
|
return RedisUtil.getInstence().getZsetreverseRangeWithScores(redisKey, String.valueOf(activityId), start, end);
|
||||||
}
|
}
|
||||||
protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores,int start) throws Exception{
|
protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores,int start) throws Exception{
|
||||||
PlayerInfoProto.RankResponse.Builder builder = PlayerInfoProto.RankResponse.newBuilder();
|
PlayerInfoProto.RankResponse.Builder builder = PlayerInfoProto.RankResponse.newBuilder();
|
||||||
|
|
|
@ -50,8 +50,8 @@ public class MainLevelRank extends AbstractRank {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(int start, int end) {
|
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(int activityId,int start, int end) {
|
||||||
Set<ZSetOperations.TypedTuple<String>> rankByKey = super.getRankByKey(start, end);
|
Set<ZSetOperations.TypedTuple<String>> rankByKey = super.getRankByKey(0,start, end);
|
||||||
|
|
||||||
return rankByKey;
|
return rankByKey;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ public class RandomCardPerfectRank extends AbstractRank {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void addRank(int uid, double... data) {
|
public void addRank(int uid,int activityId, double... data) {
|
||||||
String key = RedisKey.getKey(redisKey,"",false);
|
String key = RedisKey.getKey(redisKey,"",false);
|
||||||
double[] doubles = new double[3];
|
double[] doubles = new double[3];
|
||||||
System.arraycopy(data, 0, doubles, 0, data.length);
|
System.arraycopy(data, 0, doubles, 0, data.length);
|
||||||
|
|
|
@ -15,9 +15,9 @@ public class TowerRank extends AbstractRank {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public PlayerInfoProto.RankResponse getRank(int uid,int page,int rankEndLine) throws Exception {
|
public PlayerInfoProto.RankResponse getRank(int uid,int activityId,int page,int rankEndLine) throws Exception {
|
||||||
rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.TRIAL_RANKINGSHOWNUM);
|
rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.TRIAL_RANKINGSHOWNUM);
|
||||||
return super.getRank(uid,1, rankEndLine);
|
return super.getRank(uid,activityId,1, rankEndLine);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -24,7 +24,7 @@ public class ToolsUtil {
|
||||||
}
|
}
|
||||||
public static long getEndTimeLong(long startTimeLong , long endTimeLong,int time,long createUserTime,int dayOut){
|
public static long getEndTimeLong(long startTimeLong , long endTimeLong,int time,long createUserTime,int dayOut){
|
||||||
long timeLong = getTimeLong(startTimeLong, endTimeLong, time, createUserTime, 2);
|
long timeLong = getTimeLong(startTimeLong, endTimeLong, time, createUserTime, 2);
|
||||||
long endTime = timeLong - TimeUtils.DAY * dayOut;
|
long endTime = timeLong + TimeUtils.DAY * dayOut;
|
||||||
return endTime;
|
return endTime;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue