# Conflicts:
#	serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java
back_recharge
zhangshanxue 2019-12-04 14:57:21 +08:00
commit 460d47c20a
32 changed files with 726351 additions and 432769 deletions

View File

@ -101,10 +101,25 @@ public class ChatLogic {
FriendManager friendManager = user.getFriendManager();
long nowTime = System.currentTimeMillis();
String tmp = SensitivewordFilter.replaceSensitiveWord(message, 1, "*");
String unSymbolWord = ShieldedWordUtils.replaceUnword(message);
String tmp = SensitivewordFilter.replaceSensitiveWord(unSymbolWord, 1, "*");
if(!tmp.equals(message)||playerInfoManager.getSilence()==1){
if(tmp.contains("*") && !tmp.equals(message)||playerInfoManager.getSilence()==1){
char[] chars = message.toCharArray();
char[] original = unSymbolWord.toCharArray();
char[] tmpChar = tmp.toCharArray();
int j=0;
char[] result = new char[chars.length];
for(int i=0;i<chars.length;i++){
char c= chars[i];
if(original[j] == chars[i]){
c = tmpChar[j];
j++;
}
result[i]=c;
}
tmp = new String(result);
ChatProto.ChatInfo chatInfo = CBean2Proto.getChatInfoBuilder(user,tmp,nowTime,-1);
ChatProto.SendChatInfoResponse response = ChatProto.SendChatInfoResponse.newBuilder().setChatInfo(chatInfo).build();
MessageUtil.sendMessage(iSession,1,msgId,response,true);

View File

@ -15,10 +15,10 @@ import com.ljsd.jieling.util.http.HttpPool;
import org.apache.http.HttpResponse;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.message.BasicNameValuePair;
import util.StringUtil;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import java.util.*;
import java.util.concurrent.BlockingQueue;
public class DataMessageUtils {
@ -29,8 +29,11 @@ public class DataMessageUtils {
private static Gson gson = new Gson();
private static final String sendUrl = "https://gskuld.receiver.extranet.kt007.com:8081/skuld/game/common/";
private static final String sendTaskUrl37 = "http://pvt.api.m.37.com/hd/postTaskInfo/" + SDK37Constans.pid + "/" + SDK37Constans.gid;
private static final String sendRoleUrl37 = "http://pvt.api.m.37.com/report/roleChangeReport/" + SDK37Constans.pid + "/" + SDK37Constans.gid;
private static final Map<Long,String> sendTaskUrl37Map = new HashMap<>();
private static final String sendTaskUrl37 = "http://pvt.api.m.37.com/hd/postTaskInfo/" ;
private static final Map<Long,String> sendRoleUrl37Map = new HashMap<>();
private static final String sendRoleUrl37 = "http://pvt.api.m.37.com/report/roleChangeReport/";
private static final String sendChatContent37 = "http://cm3.api.37.com.cn/Content/_checkContent/";
//入队列
public static void addLogQueue(Object info) {
@ -59,16 +62,29 @@ public class DataMessageUtils {
String sendToUrl;
List<BasicNameValuePair> sendForm = new ArrayList<>();
if (object instanceof Report37TaskBean) {
sendToUrl = sendTaskUrl37;
long key =(long)((Report37TaskBean) object).getGid()*10000+((Report37TaskBean) object).getPid();
sendToUrl = sendTaskUrl37Map.get((long)((Report37TaskBean) object).getGid()*10000+((Report37TaskBean) object).getPid());
if(sendToUrl==null){
sendToUrl = sendTaskUrl37 + ((Report37TaskBean) object).getPid() + "/" + ((Report37TaskBean) object).getGid();
sendTaskUrl37Map.put(key,sendToUrl);
}
sendForm = ((Report37TaskBean) object).getPairList();
} else if (object instanceof Report37RoleLeveBean) {
long key =(long)((Report37RoleLeveBean) object).getGid()*10000+((Report37RoleLeveBean) object).getPid();
sendToUrl = sendRoleUrl37Map.get((long)((Report37RoleLeveBean) object).getGid()*10000+((Report37RoleLeveBean) object).getPid());
if(sendToUrl==null){
sendToUrl = sendRoleUrl37 + ((Report37RoleLeveBean) object).getPid() + "/" + ((Report37RoleLeveBean) object).getGid();
sendRoleUrl37Map.put(key,sendToUrl);
}
sendToUrl = sendRoleUrl37;
sendForm = ((Report37RoleLeveBean) object).getPairList();
} else {
sendToUrl = "";
}
try {
if(!StringUtil.isEmpty(sendToUrl)){
HttpPool.sendPostForm(sendToUrl, new UrlEncodedFormEntity(sendForm, "utf-8"));
}
} catch (Exception e) {
}

View File

@ -12,8 +12,8 @@ public abstract class Report37Bean implements Report37Param{
private String zone_name;
public Report37Bean() {
this.pid = Integer.valueOf(SDK37Constans.pid);
this.gid = Integer.valueOf(SDK37Constans.gid);
this.pid = 0;
this.gid = 0;
this.event_time = (int)(System.currentTimeMillis()/1000);
this.zone_id = String.valueOf(GameApplication.serverId);
this.zone_name = String.valueOf(GameApplication.serverId);

View File

@ -43,7 +43,7 @@ public class Report37RoleLeveBean extends Report37Bean{
pairList.add(new BasicNameValuePair("zone_id", getZone_id()));
pairList.add(new BasicNameValuePair("zone_name", getZone_id()));
pairList.add(new BasicNameValuePair("pid", String.valueOf(getPid())));
pairList.add(new BasicNameValuePair("gid", getZone_id()));
pairList.add(new BasicNameValuePair("gid", String.valueOf(getGid())));
return pairList;
}

View File

@ -33,7 +33,7 @@ public class Report37TaskBean extends Report37Bean {
pairList.add(new BasicNameValuePair("zone_id", getZone_id()));
pairList.add(new BasicNameValuePair("zone_name", getZone_id()));
pairList.add(new BasicNameValuePair("pid", String.valueOf(getPid())));
pairList.add(new BasicNameValuePair("gid", getZone_id()));
pairList.add(new BasicNameValuePair("gid", String.valueOf(getGid())));
return pairList;
}

View File

@ -26,6 +26,8 @@ public class Repot37EventUtil {
String taskName = String.valueOf(parm[1]);
report37TaskBean.setTask_id(String.valueOf(taskId));//todo
report37TaskBean.setTask_name(taskName);
report37TaskBean.setGid(user.getPlayerInfoManager().getGid());
report37TaskBean.setPid(user.getPlayerInfoManager().getPid());
String signStr = report37TaskBean.getEvent_time() + report37TaskBean.getUid() + report37TaskBean.getZone_id() + report37TaskBean.getRoleid() + report37TaskBean.getTask_id()+SDK37Constans.appkey;
report37TaskBean.setSign(MD5Util.encrypByMd5(signStr));
DataMessageUtils.addLogQueue(report37TaskBean);
@ -45,14 +47,13 @@ public class Repot37EventUtil {
report37RoleLeveBean.setTotal_online_time(user.getPlayerInfoManager().getOnlineTime());
report37RoleLeveBean.setGuild_id("");//todo
report37RoleLeveBean.setGuild_name("0");//todo
report37RoleLeveBean.setGid(user.getPlayerInfoManager().getGid());
report37RoleLeveBean.setPid(user.getPlayerInfoManager().getPid());
String signSt = report37RoleLeveBean.getEvent_time() + report37RoleLeveBean.getUid() + report37RoleLeveBean.getZone_id() + report37RoleLeveBean.getRoleid() + SDK37Constans.appkey;
report37RoleLeveBean.setSign(MD5Util.encrypByMd5(signSt));
DataMessageUtils.addLogQueue(report37RoleLeveBean);
break;
}
}
public static <T> T hadResReport(Class<T> clazz,User user, Report37EventType eventType, Object... parm){
switch (eventType) {
@ -63,8 +64,8 @@ public class Repot37EventUtil {
report37CheckChat.setUid(String.valueOf(user.getPlayerInfoManager().getOpenId()));//uid
report37CheckChat.setActor_name(user.getPlayerInfoManager().getNickName());
report37CheckChat.setActor_id(String.valueOf(user.getId()));
report37CheckChat.setGid(SDK37Constans.gid);
report37CheckChat.setPid(SDK37Constans.pid);
report37CheckChat.setGid(String.valueOf(user.getPlayerInfoManager().getGid()));
report37CheckChat.setPid(String.valueOf(user.getPlayerInfoManager().getPid()));
report37CheckChat.setDsid(String.valueOf(GameApplication.serverId));
report37CheckChat.setType(parm[0].toString());//类型
report37CheckChat.setContent(parm[1].toString());//内容

View File

@ -124,7 +124,7 @@ public class RedisKey {
public static final String FORCE_RANK = "FORCE_RANK";
public static final String EXPERT_RANK = "EXPERT_RANK";
public static final String MAINLEVEL_RANK = "MAINLEVEL_RANK";
public static final String MAIN_LEVEL_RANK = "MAIN_LEVEL_RANK";
public static final String RANDOM_CARD_RANK="RANDOM_CARD_RANK";
public static final String FAMILY_ID = "FAMILY_ID";
@ -193,6 +193,8 @@ public class RedisKey {
public final static String CDKEY = "CDKEY";
public final static String GLOBAL_SYS_PRO = "GLOBAL_SYS_PRO";
public final static String PIDGIDTEMP = "PIDGIDTEMP";
public static Set<String> familyKey = new HashSet<>();
static {

View File

@ -1069,7 +1069,8 @@ public class RedisUtil {
public String getKey(String type,String key){
if(RedisKey.BLOODY_RANK.equals(type) || RedisKey.BLOODY_TEAM.equals(type) || RedisKey.PLAYER_INFO_CACHE.equals(type) || RedisKey.BLOODY_PERSON_BATTLE_INFO.equals(type)||RedisKey.FAMILY_INFO.equals(type)) {
if(RedisKey.BLOODY_RANK.equals(type) || RedisKey.BLOODY_TEAM.equals(type) || RedisKey.PLAYER_INFO_CACHE.equals(type) || RedisKey.BLOODY_PERSON_BATTLE_INFO.equals(type)
||RedisKey.FAMILY_INFO.equals(type)||RedisKey.PIDGIDTEMP.equals(type)) {
return type + RedisKey.Delimiter_colon + key;
}
if(RedisKey.familyKey.contains(type)){

View File

@ -1,21 +0,0 @@
package com.ljsd.jieling.handler;
import com.ljsd.jieling.logic.activity.ActivityLogic;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.protocols.PlayerInfoProto;
import org.springframework.stereotype.Component;
@Component
public class ForceRankHandler extends BaseHandler<PlayerInfoProto.GetForceRankInfoRequest> {
@Override
public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.GETF_FORCE_RANK_INFO_REQUEST;
}
@Override
public void processWithProto(ISession iSession, PlayerInfoProto.GetForceRankInfoRequest proto) throws Exception {
ActivityLogic.getInstance().getForceRank(iSession,proto.getPage(),proto.getActiviteId());
}
}

View File

@ -82,7 +82,6 @@ public class LoginRequestHandler extends BaseHandler<PlayerInfoProto.LoginReques
KTEnvironmentUtil.addUserSimpleEnviromentInfo(userId,paramEnvironmentSimpleBean);
KTEnvironmentUtil.addUserEnviromentInfo(userId,paramEnvironmentBean);
int pid = 0;
int gid = 0;
String channelS = loginRequest.getChannelS();
@ -100,20 +99,20 @@ public class LoginRequestHandler extends BaseHandler<PlayerInfoProto.LoginReques
}
}
// //临时代码 等前端出新包后删除2019 11 29
// if(gid==0){
// try {
// String value =( (String) RedisUtil.getInstence().get(RedisUtil.getInstence().getKey(RedisKey.PIDGIDTEMP, Integer.toString(userId)))).replace("\"", "");
// LOGGER.info("the value={}",value);
// String[] splitvalue = value.split("#");
// if (splitvalue.length==2){
// pid = Integer.valueOf(splitvalue[0]);
// gid = Integer.valueOf(splitvalue[1]);
// }
// }catch (Exception e){
// e.getMessage();
// }
// }
//临时代码 等前端出新包后删除2019 11 29
if(gid==0){
try {
String value =( (String) RedisUtil.getInstence().get(RedisUtil.getInstence().getKey(RedisKey.PIDGIDTEMP, Integer.toString(userId)))).replace("\"", "");
LOGGER.info("the value={}",value);
String[] splitvalue = value.split("#");
if (splitvalue.length==2){
pid = Integer.valueOf(splitvalue[0]);
gid = Integer.valueOf(splitvalue[1]);
}
}catch (Exception e){
e.getMessage();
}
}
LOGGER.info("the uid={},the pid={},the gid={},",userId,pid,gid);
//登陆注册入内存
@ -123,9 +122,9 @@ public class LoginRequestHandler extends BaseHandler<PlayerInfoProto.LoginReques
if(split.length>=2){
String openId = split[0];
String chanel = split[1];
user = UserManager.userLogin(userId,openId,chanel,pid);
user = UserManager.userLogin(userId,openId,chanel,pid,gid);
}else{
user = UserManager.userLogin(userId,openIdFront,"",pid);
user = UserManager.userLogin(userId,openIdFront,"",pid,gid);
}
// String newToken = UserManager.getNewToken(userId);

View File

@ -19,7 +19,7 @@ public class RankHandler extends BaseHandler<PlayerInfoProto.RankRequest> {
@Override
public void processWithProto(ISession iSession, PlayerInfoProto.RankRequest proto) throws Exception {
MapLogic.getInstance().getTowerRank(iSession,proto.getType(),MessageTypeProto.MessageType.GET_ONE_RANK_RESPONSE);
// RankLogic.getInstance().getRank(iSession,proto.getType(),MessageTypeProto.MessageType.GET_ONE_RANK_RESPONSE);
// MapLogic.getInstance().getTowerRank(iSession,proto.getType(),MessageTypeProto.MessageType.GET_ONE_RANK_RESPONSE);
RankLogic.getInstance().getRank(iSession,proto.getType(),MessageTypeProto.MessageType.GET_ONE_RANK_RESPONSE);
}
}

View File

@ -2114,83 +2114,84 @@ public class MapLogic {
FightInfoProto.MainLevelFightUpdateIndication build = FightInfoProto.MainLevelFightUpdateIndication.newBuilder().setState(mainLevelManager.getState()).setFightId(mainLevelManager.getFightId()).build();
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.MAIN_LEVEL_FIGHT_UPDATE_INDICATION_VALUE,build,true);
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse.build(), true);
String rankKey = RedisKey.getKey(RedisKey.MAINLEVEL_RANK, "", false);
RedisUtil.getInstence().zsetAddOne(rankKey, String.valueOf(user.getId()), sMainLevelConfig.getVirtureId());
// String rankKey = RedisKey.getKey(RedisKey.MAINLEVEL_RANK, "", false);
// RedisUtil.getInstence().zsetAddOne(rankKey, String.valueOf(user.getId()), sMainLevelConfig.getVirtureId());
RankContext.getRankEnum(RankEnum.MAIN_LEVEL_RANK.getType()).addRank(uid,sMainLevelConfig.getVirtureId());
}
public void getMainLevelRankInfo(ISession session) throws Exception {
int rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.Level_RankingShowNum);
Set<ZSetOperations.TypedTuple<String>> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.MAINLEVEL_RANK, "", 0, rankEndLine-1);
int rank =1;
FightInfoProto.MainLevelRankInfoResponse.Builder builder = FightInfoProto.MainLevelRankInfoResponse.newBuilder();
List<CommonProto.MainLevelRankInfo.Builder> mainLevelRankInfoList = new ArrayList<>(rankEndLine);
for (ZSetOperations.TypedTuple<String> item : arenaRankInfo) {
String value = item.getValue();
int score = item.getScore().intValue();
int uidTmp = Integer.parseInt(value);
User userTmp = UserManager.getUser(uidTmp, true);
if (null == userTmp) {
continue;
}
PlayerManager playerInfoManager = userTmp.getPlayerInfoManager();
mainLevelRankInfoList.add(CommonProto.MainLevelRankInfo.newBuilder()
.setUid(uidTmp)
.setLevel(playerInfoManager.getLevel())
.setName(playerInfoManager.getNickName())
.setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getVirtureId())
.setHead(playerInfoManager.getHead())
.setRank(rank++)
.setTotalForce(userTmp.getPlayerInfoManager().getMaxForce())
.setHeadFrame(playerInfoManager.getHeadFrame()));
}
Collections.sort(mainLevelRankInfoList, new Comparator<CommonProto.MainLevelRankInfo.Builder>() {
@Override
public int compare(CommonProto.MainLevelRankInfo.Builder o1, CommonProto.MainLevelRankInfo.Builder o2) {
if(o1.getFightId()==o2.getFightId()){
if(o1.getTotalForce()>o2.getTotalForce() && o1.getRank()>o2.getRank()){
int rank = o1.getRank();
o1.setRank(o2.getRank());
o2.setRank(rank);
}
}
return o1.getRank()-o2.getRank();
}
});
rank =1;
int myRank =-1;
int uid = session.getUid();
for(CommonProto.MainLevelRankInfo.Builder builder1 : mainLevelRankInfoList){
builder1.setRank(rank++);
builder1.setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(builder1.getFightId()).getId());
builder.addMainLevelRankInfo(builder1.build());
if(builder1.getUid() == uid){
myRank = builder1.getRank();
}
}
int score = RedisUtil.getInstence().getZSetScore(RedisKey.MAINLEVEL_RANK,"", Integer.toString(uid)).intValue();
if(score == -1){
score = 1011;
}else{
if(myRank==-1){
myRank= RedisUtil.getInstence().getZSetreverseRank(RedisKey.MAINLEVEL_RANK,"",Integer.toString(uid)).intValue();
}
score= SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getId();
}
User user = UserManager.getUser(uid);
PlayerManager playerInfoManager = user.getPlayerInfoManager();
builder.setMyMainLevelRankInfo(CommonProto.MainLevelRankInfo.newBuilder()
.setUid(uid)
.setLevel(playerInfoManager.getLevel())
.setName(playerInfoManager.getNickName())
.setFightId(score)
.setHead(playerInfoManager.getHead())
.setRank(myRank)
.setTotalForce(playerInfoManager.getMaxForce())
.setHeadFrame(playerInfoManager.getHeadFrame()).build());
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.MAIN_LEVEL_GET_RANK_RESPONSE_VALUE,builder.build(),true);
}
// public void getMainLevelRankInfo(ISession session) throws Exception {
// int rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.Level_RankingShowNum);
// int rank =1;
// Set<ZSetOperations.TypedTuple<String>> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.MAINLEVEL_RANK, "", 0, rankEndLine-1);
// FightInfoProto.MainLevelRankInfoResponse.Builder builder = FightInfoProto.MainLevelRankInfoResponse.newBuilder();
// List<CommonProto.MainLevelRankInfo.Builder> mainLevelRankInfoList = new ArrayList<>(rankEndLine);
// for (ZSetOperations.TypedTuple<String> item : arenaRankInfo) {
// String value = item.getValue();
// int score = item.getScore().intValue();
// int uidTmp = Integer.parseInt(value);
// User userTmp = UserManager.getUser(uidTmp, true);
// if (null == userTmp) {
// continue;
// }
// PlayerManager playerInfoManager = userTmp.getPlayerInfoManager();
// mainLevelRankInfoList.add(CommonProto.MainLevelRankInfo.newBuilder()
// .setUid(uidTmp)
// .setLevel(playerInfoManager.getLevel())
// .setName(playerInfoManager.getNickName())
// .setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getVirtureId())
// .setHead(playerInfoManager.getHead())
// .setRank(rank++)
// .setTotalForce(userTmp.getPlayerInfoManager().getMaxForce())
// .setHeadFrame(playerInfoManager.getHeadFrame()));
// }
// Collections.sort(mainLevelRankInfoList, new Comparator<CommonProto.MainLevelRankInfo.Builder>() {
// @Override
// public int compare(CommonProto.MainLevelRankInfo.Builder o1, CommonProto.MainLevelRankInfo.Builder o2) {
// if(o1.getFightId()==o2.getFightId()){
// if(o1.getTotalForce()>o2.getTotalForce() && o1.getRank()>o2.getRank()){
// int rank = o1.getRank();
// o1.setRank(o2.getRank());
// o2.setRank(rank);
// }
// }
// return o1.getRank()-o2.getRank();
// }
// });
// rank =1;
// int myRank =-1;
// int uid = session.getUid();
// for(CommonProto.MainLevelRankInfo.Builder builder1 : mainLevelRankInfoList){
// builder1.setRank(rank++);
// builder1.setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(builder1.getFightId()).getId());
// builder.addMainLevelRankInfo(builder1.build());
// if(builder1.getUid() == uid){
// myRank = builder1.getRank();
// }
// }
//
// int score = RedisUtil.getInstence().getZSetScore(RedisKey.MAINLEVEL_RANK,"", Integer.toString(uid)).intValue();
// if(score == -1){
// score = 1011;
// }else{
// if(myRank==-1){
// myRank= RedisUtil.getInstence().getZSetreverseRank(RedisKey.MAINLEVEL_RANK,"",Integer.toString(uid)).intValue();
// }
// score= SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getId();
// }
// User user = UserManager.getUser(uid);
// PlayerManager playerInfoManager = user.getPlayerInfoManager();
// builder.setMyMainLevelRankInfo(CommonProto.MainLevelRankInfo.newBuilder()
// .setUid(uid)
// .setLevel(playerInfoManager.getLevel())
// .setName(playerInfoManager.getNickName())
// .setFightId(score)
// .setHead(playerInfoManager.getHead())
// .setRank(myRank)
// .setTotalForce(playerInfoManager.getMaxForce())
// .setHeadFrame(playerInfoManager.getHeadFrame()).build());
// MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.MAIN_LEVEL_GET_RANK_RESPONSE_VALUE,builder.build(),true);
//
// }
public void openNextMainLevel(User user,int fightId) throws Exception {
int level = user.getPlayerInfoManager().getLevel();
@ -2321,9 +2322,9 @@ public class MapLogic {
}
//排行榜
String rankKey = RedisKey.getKey(RedisKey.MONSTER_ATTACK_RANK,"", false);
RedisUtil.getInstence().zsetAddOneOffsetByTime(rankKey, String.valueOf(user.getId()), checkFightId);
// String rankKey = RedisKey.getKey(RedisKey.MONSTER_ATTACK_RANK,"", false);
// RedisUtil.getInstence().zsetAddOneOffsetByTime(rankKey, String.valueOf(user.getId()), checkFightId);
RankContext.getRankEnum(RankEnum.MONSTER_ATTACK_RANK.getType()).addRank(uid,checkFightId);
//归还水滴
Map<Integer,Integer> itemMap = new HashMap<>(1);
itemMap.put( Global.DROP,1);
@ -2877,7 +2878,7 @@ public class MapLogic {
// User user = UserManager.getUser(session.getUid());
int rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.TRIAL_RANKINGSHOWNUM);
PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(), rankEndLine);
PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(),1, rankEndLine);
// Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.TOWER_RANK, "", 0, rankEndLine);

View File

@ -1,21 +0,0 @@
package com.ljsd.jieling.handler.map.mapHandler;
import com.ljsd.jieling.handler.BaseHandler;
import com.ljsd.jieling.handler.map.MapLogic;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.MessageTypeProto;
import org.springframework.stereotype.Component;
@Component
public class GetMainLevelRankHandler extends BaseHandler {
@Override
public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.MAIN_LEVEL_GET_RANK_REQUEST;
}
@Override
public void process(ISession iSession, PacketNetData netData) throws Exception {
MapLogic.getInstance().getMainLevelRankInfo(iSession);
}
}

View File

@ -20,6 +20,8 @@ import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.fight.*;
import com.ljsd.jieling.logic.fight.result.FightResult;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.rank.RankContext;
import com.ljsd.jieling.logic.rank.RankEnum;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.FightInfoProto;
@ -117,8 +119,9 @@ public class QuickStartMonsterFighter extends BaseHandler<FightInfoProto.QuickSt
}
//排行榜
String rankKey = RedisKey.getKey(RedisKey.MONSTER_ATTACK_RANK,"", false);
RedisUtil.getInstence().zsetAddOneOffsetByTime(rankKey, String.valueOf(user.getId()), fightId);
// String rankKey = RedisKey.getKey(RedisKey.MONSTER_ATTACK_RANK,"", false);
// RedisUtil.getInstence().zsetAddOneOffsetByTime(rankKey, String.valueOf(user.getId()), fightId);
RankContext.getRankEnum(RankEnum.MONSTER_ATTACK_RANK.getType()).addRank(uid,fightId);
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sFloodConfig.getReward(), BIReason.MONSTERATTACK_REWARD);
FightInfoProto.QuickStartMonsterFightResponse builder = FightInfoProto.QuickStartMonsterFightResponse.newBuilder()

View File

@ -17,6 +17,8 @@ import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
import com.ljsd.jieling.logic.rank.RankContext;
import com.ljsd.jieling.logic.rank.RankEnum;
import com.ljsd.jieling.logic.store.StoreLogic;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.CommonProto;
@ -180,7 +182,7 @@ public class ActivityLogic {
sendLuckWheelPool(user, session);
}
private void checkNeedOpenStore(User user,int storeId,long startTime,long endTime) throws Exception {
public void checkNeedOpenStore(User user,int storeId,long startTime,long endTime) throws Exception {
if(storeId == 0){
return;
}
@ -225,6 +227,9 @@ public class ActivityLogic {
abstractActivity.initActivity(user);
int activityOpenState = getActivityOpenState(user, openActivityId);
abstractActivity.setOpenState(user,activityOpenState);
if(activityOpenState == ActivityType.UNOPEN_STATE){
continue;
}
//非角色活动开启通知
openNewActivityIds.add(openActivityId);
if(sGlobalActivity.getShopId()!=0){
@ -285,6 +290,9 @@ public class ActivityLogic {
// }
int activityOpenState = getActivityOpenState(user, activityId );
abstractActivity.setOpenState(user,activityOpenState);
if(activityOpenState == ActivityType.UNOPEN_STATE){
continue;
}
openNewActivityIds.add(activityId);
checkNeedOpenStore(user,sGlobalActivity.getShopId(),startTime,endTime);
} else {
@ -428,7 +436,7 @@ public class ActivityLogic {
if(virtureId > myVirtureId){
state = ActivityType.UNOPEN_STATE;
}
}else{
}else if(openRuleType == 2){
if(user.getPlayerInfoManager().getLevel()<openRulleValue){
state = ActivityType.UNOPEN_STATE;
}
@ -962,50 +970,51 @@ public class ActivityLogic {
// }
/**
*
*/
public void getForceRank(ISession session, int page, int acitvityId) throws Exception {
if (page == 0) {
page = 1;
}
int start = (page - 1) * 20, end = page * 20 - 1;
List<CommonProto.UseForceInfo> useForceInfoList = new ArrayList<>(20);
Set<ZSetOperations.TypedTuple<String>> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.FORCE_RANK,"", start, end);
for (ZSetOperations.TypedTuple<String> item : rankInfo) {
String value = item.getValue();
int score = item.getScore().intValue();
int uid = Integer.parseInt(value);
User user = UserManager.getUser(uid, true);
if (null == user) {
continue;
}
PlayerManager playerInfoManager = user.getPlayerInfoManager();
CommonProto.UseForceInfo personInfoBuild = CommonProto.UseForceInfo.newBuilder()
.setLeve(playerInfoManager.getLevel())
.setName(playerInfoManager.getNickName())
.setForce(score)
.setRank(++start)
.setHeadFrame(playerInfoManager.getHeadFrame())
.setHead(playerInfoManager.getHead())
.setUid(uid)
.build();
useForceInfoList.add(personInfoBuild);
}
int uid = session.getUid();
int score = RedisUtil.getInstence().getZSetScore(RedisKey.FORCE_RANK, "", Integer.toString(uid)).intValue();
int myRank = RedisUtil.getInstence().getZSetreverseRank(RedisKey.FORCE_RANK, "", Integer.toString(uid)).intValue();
PlayerInfoProto.GetForceRankInfoResponse buildResponse = PlayerInfoProto.GetForceRankInfoResponse.newBuilder()
.setMyRank(myRank)
.setMyForce(score)
.addAllUseForceInfo(useForceInfoList)
.build();
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.GETF_FORCE_RANK_INFO_RESPONSE_VALUE, buildResponse, true);
}
// /**
// * 获取战力排行榜
// */
// public void getForceRank(ISession session, int page, int acitvityId) throws Exception {
//
// if (page == 0) {
// page = 1;
// }
// int start = (page - 1) * 20, end = page * 20 - 1;
// List<CommonProto.UseForceInfo> useForceInfoList = new ArrayList<>(20);
// Set<ZSetOperations.TypedTuple<String>> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.FORCE_RANK,"", start, end);
// for (ZSetOperations.TypedTuple<String> item : rankInfo) {
// String value = item.getValue();
// int score = item.getScore().intValue();
// int uid = Integer.parseInt(value);
// User user = UserManager.getUser(uid, true);
// if (null == user) {
// continue;
// }
// PlayerManager playerInfoManager = user.getPlayerInfoManager();
// CommonProto.UseForceInfo personInfoBuild = CommonProto.UseForceInfo.newBuilder()
// .setLeve(playerInfoManager.getLevel())
// .setName(playerInfoManager.getNickName())
// .setForce(score)
// .setRank(++start)
// .setHeadFrame(playerInfoManager.getHeadFrame())
// .setHead(playerInfoManager.getHead())
// .setUid(uid)
// .build();
// useForceInfoList.add(personInfoBuild);
// }
//
// int uid = session.getUid();
//// int score = RedisUtil.getInstence().getZSetScore(RedisKey.FORCE_RANK, "", Integer.toString(uid)).intValue();
// int score = Double.valueOf(RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).getScoreById(uid)).intValue();
// int myRank = RedisUtil.getInstence().getZSetreverseRank(RedisKey.FORCE_RANK, "", Integer.toString(uid)).intValue();
//
// PlayerInfoProto.GetForceRankInfoResponse buildResponse = PlayerInfoProto.GetForceRankInfoResponse.newBuilder()
// .setMyRank(myRank)
// .setMyForce(score)
// .addAllUseForceInfo(useForceInfoList)
// .build();
// MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.GETF_FORCE_RANK_INFO_RESPONSE_VALUE, buildResponse, true);
//
// }
/**

View File

@ -10,6 +10,7 @@ import com.ljsd.jieling.logic.dao.ActivityMission;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.ToolsUtil;
import config.SGlobalActivity;
import config.SGlobalSystemConfig;
import config.SMainLevelConfig;
@ -47,6 +48,11 @@ public class FightMainEventHandler implements IEventHandler{
if(mineMainLevelConfig!=null && virtureId <= mineMainLevelConfig.getVirtureId()){
activityMission.updateActivityState(ActivityType.OPEN_STATE);
ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId());
if(sGlobalActivity.getShopId()!=0){
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2);
ActivityLogic.getInstance().checkNeedOpenStore(user,sGlobalActivity.getShopId(),startTime,endTime);
}
}
}

View File

@ -74,7 +74,7 @@ class ForceRankActivity extends AbstractActivity {
}
// 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(maxRank - 1);
Set<ZSetOperations.TypedTuple<String>> rankInfo = RankContext.getRankEnum(RankEnum.FORCE_RANK.getType()).getRankByKey(0,maxRank - 1);
int rank = 1;
int nowTime = (int) (TimeUtils.now() / 1000);
for (ZSetOperations.TypedTuple<String> item : rankInfo) {

View File

@ -9,6 +9,7 @@ import com.ljsd.jieling.logic.dao.ActivityMission;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.ToolsUtil;
import config.SGlobalActivity;
import config.SGlobalSystemConfig;
import config.SMainLevelConfig;
@ -49,6 +50,11 @@ public class UserLevelEventHandler implements IEventHandler{
if(user.getPlayerInfoManager().getLevel()>=openRules[1]){
activityMission.updateActivityState(ActivityType.OPEN_STATE);
ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId());
if(sGlobalActivity.getShopId()!=0){
long startTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 1);
long endTime = ToolsUtil.getTimeLong(sGlobalActivity.getStartTimeLong(),sGlobalActivity.getEndTimeLong(),sGlobalActivity.getTime(),user.getPlayerInfoManager().getCreateTime(), 2);
ActivityLogic.getInstance().checkNeedOpenStore(user,sGlobalActivity.getShopId(),startTime,endTime);
}
}
}

View File

@ -22,6 +22,8 @@ public class PlayerManager extends MongoBase {
private int pid;
private int gid;
private String nickName;
private int level;
@ -505,6 +507,7 @@ public class PlayerManager extends MongoBase {
this.phoneBindInfo = phoneBindInfo;
}
public void setPid(int pid) {
updateString("pid",pid);
this.pid = pid;
@ -514,6 +517,14 @@ public class PlayerManager extends MongoBase {
return pid;
}
public int getGid() {
return gid;
}
public void setGid(int gid) {
updateString("gid",gid);
this.gid = gid;
}
public Set<Integer> getSysMailIds() {
return sysMailIds;

View File

@ -38,31 +38,33 @@ public class UserManager {
return userMap.containsKey(uid);
}
public static User userLogin(int uid,String openId,String channel,int pid) throws Exception {
public static User userLogin(int uid,String openId,String channel,int pid,int gid) throws Exception {
User user = null;
if (!UserManager.isUserExist(uid)){
user = MongoUtil.getInstence().getMyMongoTemplate().findById(User.getCollectionName(), uid, User.class);
if (user == null) {
user = registerUser(uid,openId,channel,pid);
user = registerUser(uid,openId,channel,pid,gid);
}
UserManager.addUser(user);
}else{
user = getUser(uid);
user.getPlayerInfoManager().setGid(gid);
user.getPlayerInfoManager().setPid(pid);
}
return user;
}
private static User registerUser(int uid,String openId,String channel,int pid) throws Exception {
private static User registerUser(int uid,String openId,String channel,int pid,int gid) throws Exception {
User user = new User(uid);
initPlayer(user,openId,channel,pid);
initPlayer(user,openId,channel,pid,gid);
UserManager.addUser(user);
MongoUtil.getInstence().getMyMongoTemplate().save(user);
PlayerLogic.getInstance().sendTestWelfareMail(user,1,1);
return user;
}
private static void initPlayer(User user,String openId,String channel,int pid) throws Exception {
private static void initPlayer(User user,String openId,String channel,int pid,int gid) throws Exception {
SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
PlayerManager playerManager = user.getPlayerInfoManager();
long now = TimeUtils.now();
@ -81,17 +83,11 @@ public class UserManager {
playerManager.setPhoneBindInfo(new PhoneBindInfo(""));
playerManager.setChannel(channel);
playerManager.setPid(pid);
playerManager.setGid(gid);
playerManager.setHeadFrame(STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getDefaultPicture());
SPlayerLevelConfig sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(1);
playerManager.setMaxStamina(sPlayerLevelConfig.getMaxEnergy());
playerManager.setRideLevel(1);
ItemUtil.drop(user,gameSetting.getBornItem(), BIReason.USER_BORN_REWARD);
HeroManager heroManager = user.getHeroManager();
Map<String, Hero> heroMap = heroManager.getHeroMap();
TeamPosManager teamPosManager = user.getTeamPosManager();
List<Hero> teamHeros = new ArrayList<>(1);
teamHeros.add(heroMap.values().iterator().next());
teamPosManager.addTeamOfInitPlayer(teamHeros);
int force = HeroLogic.getInstance().calTeamTotalForce(user, 1, true);
playerManager.setMaxForce(force);
PlayerLogic.getInstance().vipflushEveryDay(user,null);
@ -103,6 +99,13 @@ public class UserManager {
user.getUserMissionManager().onGameEvent(user, GameEvent.BLOODY_REFRESH,0);
user.getUserMissionManager().onGameEvent(user, GameEvent.BEGINNER);
Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.LOGIN_TIMES.getType(),1));
ItemUtil.drop(user,gameSetting.getBornItem(), BIReason.USER_BORN_REWARD);
HeroManager heroManager = user.getHeroManager();
Map<String, Hero> heroMap = heroManager.getHeroMap();
TeamPosManager teamPosManager = user.getTeamPosManager();
List<Hero> teamHeros = new ArrayList<>(1);
teamHeros.add(heroMap.values().iterator().next());
teamPosManager.addTeamOfInitPlayer(teamHeros);
KtEventUtils.onKtEvent(user, ParamEventBean.UserRegister);
}

View File

@ -9,7 +9,7 @@ import com.ljsd.jieling.protocols.PlayerInfoProto;
*/
public interface IRank {
PlayerInfoProto.RankResponse getRank(int uid,int rankEndLine) throws Exception ;
PlayerInfoProto.RankResponse getRank(int uid,int page,int rankEndLine) throws Exception ;
void addRank(int uid,double... data);

View File

@ -1,10 +1,7 @@
package com.ljsd.jieling.logic.rank;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank;
import com.ljsd.jieling.logic.rank.rankImpl.ForceRank;
import com.ljsd.jieling.logic.rank.rankImpl.RandomCardRank;
import com.ljsd.jieling.logic.rank.rankImpl.TowerRank;
import com.ljsd.jieling.logic.rank.rankImpl.*;
import java.util.Arrays;
import java.util.HashMap;
@ -17,9 +14,11 @@ import java.util.function.BiFunction;
* @discribe
*/
public enum RankEnum {
TOWER_RANK(1,RedisKey.TOWER_RANK, TowerRank::new),
FORCE_RANK(2,RedisKey.FORCE_RANK, ForceRank::new),
RANDOM_CARD_RANK(10,RedisKey.RANDOM_CARD_RANK, RandomCardRank::new)
TOWER_RANK(1,RedisKey.TOWER_RANK, TowerRank::new),//param1层数 param2通过时间 param3:无
FORCE_RANK(2,RedisKey.FORCE_RANK, ForceRank::new),//param1战斗力 param2无 param3:无
MAIN_LEVEL_RANK(3,RedisKey.MAIN_LEVEL_RANK, MainLevelRank::new),//param1通关关卡Id param2无 param3:无
MONSTER_ATTACK_RANK(4,RedisKey.MONSTER_ATTACK_RANK,MonsterAttackRank::new),//param1兽潮层数 param2无 param3:无
RANDOM_CARD_RANK(10,RedisKey.RANDOM_CARD_RANK, RandomCardRank::new)//param1抽取积分 param2无 param3:无
;
private int type;
private String redisKey;

View File

@ -32,7 +32,8 @@ public class RankLogic {
public final static RankLogic instance = new RankLogic();
}
public void getRank(ISession session, int type, MessageTypeProto.MessageType messageType) throws Exception {
PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(), -1);
int page = 1;
PlayerInfoProto.RankResponse rankResponse= RankContext.getRankEnum(type).getRank(session.getUid(),1, -1);
MessageUtil.sendMessage(session,1,messageType.getNumber(),rankResponse,true);
}
}

View File

@ -30,10 +30,20 @@ public abstract class AbstractRank implements IRank {
* @return
* @throws Exception
*/
public PlayerInfoProto.RankResponse getRank(int uid,int rankEndLine) throws Exception {
public PlayerInfoProto.RankResponse getRank(int uid,int page,int rankEndLine) throws Exception {
if(rankEndLine==-1){
rankEndLine = 100;
}
User user = UserManager.getUser(uid);
Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = getRankByKey(rankEndLine);
PlayerInfoProto.RankResponse.Builder allUserResponse = getAllUserResponse(zsetreverseRangeWithScores);
if (page == 0) {
page = 1;
}
int start = (page - 1) * rankEndLine, end = page * rankEndLine - 1;
Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = getRankByKey(start,end);
if(start==0){
start=1;
}
PlayerInfoProto.RankResponse.Builder allUserResponse = getAllUserResponse(zsetreverseRangeWithScores,start);
//当前用户信息
getMyInfo(user,allUserResponse);
return allUserResponse.build();
@ -60,12 +70,12 @@ public abstract class AbstractRank implements IRank {
return type;
}
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(int maxCapacity){
return RedisUtil.getInstence().getZsetreverseRangeWithScores(redisKey, "", 0, maxCapacity);
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(int start,int end){
return RedisUtil.getInstence().getZsetreverseRangeWithScores(redisKey, "", start, end);
}
protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores) throws Exception{
protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores,int start) throws Exception{
PlayerInfoProto.RankResponse.Builder builder = PlayerInfoProto.RankResponse.newBuilder();
forEach(1,zsetreverseRangeWithScores,(index,data)->{
forEach(start,zsetreverseRangeWithScores,(index,data)->{
try {
getOptional(index,data,builder);
} catch (Exception e) {

View File

@ -1,5 +1,7 @@
package com.ljsd.jieling.logic.rank.rankImpl;
import com.ljsd.jieling.protocols.PlayerInfoProto;
/**
* @author lvxinran
* @date 2019/11/27
@ -19,4 +21,5 @@ public class ForceRank extends AbstractRank {
public double getScore(double... data) {
return data[0];
}
}

View File

@ -0,0 +1,50 @@
package com.ljsd.jieling.logic.rank.rankImpl;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.protocols.PlayerInfoProto;
import org.springframework.data.redis.core.ZSetOperations;
import util.TimeUtils;
import java.util.Comparator;
import java.util.Set;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @author lvxinran
* @date 2019/11/29
* @discribe
*/
public class MainLevelRank extends AbstractRank {
public MainLevelRank(int type, String redisKey) {
super(type, redisKey);
}
@Override
public int[] getDataByScore(double score) {
return new int[]{Double.valueOf(score).intValue()};
}
@Override
protected PlayerInfoProto.RankResponse.Builder getAllUserResponse(Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores, int start) throws Exception {
return super.getAllUserResponse(zsetreverseRangeWithScores, start);
}
@Override
public Set<ZSetOperations.TypedTuple<String>> getRankByKey(int start, int end) {
Set<ZSetOperations.TypedTuple<String>> rankByKey = super.getRankByKey(start, end);
// return rankByKey.stream().sorted(Comparator.comparing(v-> {
// try {
// return UserManager.getUser(Integer.parseInt(v.getValue())).getPlayerInfoManager().getMaxForce();
// } catch (Exception e) {
// e.printStackTrace();
// }
// })).collect(Collectors.toSet());
return rankByKey;
}
@Override
public double getScore(double... data) {
return data[0]+ TimeUtils.getDoubleTime();
}
}

View File

@ -0,0 +1,24 @@
package com.ljsd.jieling.logic.rank.rankImpl;
import util.TimeUtils;
/**
* @author lvxinran
* @date 2019/11/29
* @discribe
*/
public class MonsterAttackRank extends AbstractRank{
public MonsterAttackRank(int type, String redisKey) {
super(type, redisKey);
}
@Override
public int[] getDataByScore(double score) {
return new int[]{Double.valueOf(score).intValue()};
}
@Override
public double getScore(double... data) {
return data[0]+ TimeUtils.getDoubleTime();
}
}

View File

@ -1,5 +1,7 @@
package com.ljsd.jieling.logic.rank.rankImpl;
import util.TimeUtils;
/**
* @author lvxinran
* @date 2019/11/27
@ -17,6 +19,6 @@ public class RandomCardRank extends AbstractRank {
@Override
public double getScore(double... data) {
return data[0];
return data[0]+ TimeUtils.getDoubleTime();
}
}

View File

@ -15,9 +15,9 @@ public class TowerRank extends AbstractRank {
}
@Override
public PlayerInfoProto.RankResponse getRank(int uid,int rankEndLine) throws Exception {
public PlayerInfoProto.RankResponse getRank(int uid,int page,int rankEndLine) throws Exception {
rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.TRIAL_RANKINGSHOWNUM);
return super.getRank(uid, rankEndLine);
return super.getRank(uid,1, rankEndLine);
}
@Override

View File

@ -6,6 +6,7 @@ import com.ljsd.jieling.logic.dao.root.User;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public class ShieldedWordUtils {
@ -60,4 +61,14 @@ public class ShieldedWordUtils {
boolean hasDirtyWords = SensitivewordFilter.isContaintSensitiveWord(userName, 1);
return hasDirtyWords;
}
public static String replaceUnword(String content) {
// 只允许字母和数字
// String regEx = "[^a-zA-Z0-9]";
// 清除掉所有特殊字符
String regEx="[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~@#¥%……&*()——+|{}【】‘;:”“’。,、? \\\\]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(content);
return m.replaceAll("").replaceAll(" ","");
}
}

File diff suppressed because it is too large Load Diff