Merge branch 'master' of http://60.1.1.230/backend/jieling_server
# Conflicts: # serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.javaback_recharge
commit
460d47c20a
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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());//内容
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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)){
|
||||
|
|
|
|||
|
|
@ -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());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
//
|
||||
// }
|
||||
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
Loading…
Reference in New Issue