# 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(); FriendManager friendManager = user.getFriendManager();
long nowTime = System.currentTimeMillis(); 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.ChatInfo chatInfo = CBean2Proto.getChatInfoBuilder(user,tmp,nowTime,-1);
ChatProto.SendChatInfoResponse response = ChatProto.SendChatInfoResponse.newBuilder().setChatInfo(chatInfo).build(); ChatProto.SendChatInfoResponse response = ChatProto.SendChatInfoResponse.newBuilder().setChatInfo(chatInfo).build();
MessageUtil.sendMessage(iSession,1,msgId,response,true); 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.HttpResponse;
import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.message.BasicNameValuePair; import org.apache.http.message.BasicNameValuePair;
import util.StringUtil;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.util.ArrayList; import java.util.*;
import java.util.List;
import java.util.concurrent.BlockingQueue; import java.util.concurrent.BlockingQueue;
public class DataMessageUtils { public class DataMessageUtils {
@ -29,8 +29,11 @@ public class DataMessageUtils {
private static Gson gson = new Gson(); 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 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 Map<Long,String> sendTaskUrl37Map = new HashMap<>();
private static final String sendRoleUrl37 = "http://pvt.api.m.37.com/report/roleChangeReport/" + SDK37Constans.pid + "/" + SDK37Constans.gid; 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/"; private static final String sendChatContent37 = "http://cm3.api.37.com.cn/Content/_checkContent/";
//入队列 //入队列
public static void addLogQueue(Object info) { public static void addLogQueue(Object info) {
@ -59,16 +62,29 @@ public class DataMessageUtils {
String sendToUrl; String sendToUrl;
List<BasicNameValuePair> sendForm = new ArrayList<>(); List<BasicNameValuePair> sendForm = new ArrayList<>();
if (object instanceof Report37TaskBean) { 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(); sendForm = ((Report37TaskBean) object).getPairList();
} else if (object instanceof Report37RoleLeveBean) { } 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; sendToUrl = sendRoleUrl37;
sendForm = ((Report37RoleLeveBean) object).getPairList(); sendForm = ((Report37RoleLeveBean) object).getPairList();
} else { } else {
sendToUrl = ""; sendToUrl = "";
} }
try { try {
HttpPool.sendPostForm(sendToUrl, new UrlEncodedFormEntity(sendForm, "utf-8")); if(!StringUtil.isEmpty(sendToUrl)){
HttpPool.sendPostForm(sendToUrl, new UrlEncodedFormEntity(sendForm, "utf-8"));
}
} catch (Exception e) { } catch (Exception e) {
} }

View File

@ -12,8 +12,8 @@ public abstract class Report37Bean implements Report37Param{
private String zone_name; private String zone_name;
public Report37Bean() { public Report37Bean() {
this.pid = Integer.valueOf(SDK37Constans.pid); this.pid = 0;
this.gid = Integer.valueOf(SDK37Constans.gid); this.gid = 0;
this.event_time = (int)(System.currentTimeMillis()/1000); this.event_time = (int)(System.currentTimeMillis()/1000);
this.zone_id = String.valueOf(GameApplication.serverId); this.zone_id = String.valueOf(GameApplication.serverId);
this.zone_name = 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_id", getZone_id()));
pairList.add(new BasicNameValuePair("zone_name", getZone_id())); pairList.add(new BasicNameValuePair("zone_name", getZone_id()));
pairList.add(new BasicNameValuePair("pid", String.valueOf(getPid()))); 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; 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_id", getZone_id()));
pairList.add(new BasicNameValuePair("zone_name", getZone_id())); pairList.add(new BasicNameValuePair("zone_name", getZone_id()));
pairList.add(new BasicNameValuePair("pid", String.valueOf(getPid()))); 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; return pairList;
} }

View File

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

View File

@ -1069,7 +1069,8 @@ public class RedisUtil {
public String getKey(String type,String key){ 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; return type + RedisKey.Delimiter_colon + key;
} }
if(RedisKey.familyKey.contains(type)){ 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.addUserSimpleEnviromentInfo(userId,paramEnvironmentSimpleBean);
KTEnvironmentUtil.addUserEnviromentInfo(userId,paramEnvironmentBean); KTEnvironmentUtil.addUserEnviromentInfo(userId,paramEnvironmentBean);
int pid = 0; int pid = 0;
int gid = 0; int gid = 0;
String channelS = loginRequest.getChannelS(); String channelS = loginRequest.getChannelS();
@ -100,20 +99,20 @@ public class LoginRequestHandler extends BaseHandler<PlayerInfoProto.LoginReques
} }
} }
// //临时代码 等前端出新包后删除2019 11 29 //临时代码 等前端出新包后删除2019 11 29
// if(gid==0){ if(gid==0){
// try { try {
// String value =( (String) RedisUtil.getInstence().get(RedisUtil.getInstence().getKey(RedisKey.PIDGIDTEMP, Integer.toString(userId)))).replace("\"", ""); String value =( (String) RedisUtil.getInstence().get(RedisUtil.getInstence().getKey(RedisKey.PIDGIDTEMP, Integer.toString(userId)))).replace("\"", "");
// LOGGER.info("the value={}",value); LOGGER.info("the value={}",value);
// String[] splitvalue = value.split("#"); String[] splitvalue = value.split("#");
// if (splitvalue.length==2){ if (splitvalue.length==2){
// pid = Integer.valueOf(splitvalue[0]); pid = Integer.valueOf(splitvalue[0]);
// gid = Integer.valueOf(splitvalue[1]); gid = Integer.valueOf(splitvalue[1]);
// } }
// }catch (Exception e){ }catch (Exception e){
// e.getMessage(); e.getMessage();
// } }
// } }
LOGGER.info("the uid={},the pid={},the gid={},",userId,pid,gid); 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){ if(split.length>=2){
String openId = split[0]; String openId = split[0];
String chanel = split[1]; String chanel = split[1];
user = UserManager.userLogin(userId,openId,chanel,pid); user = UserManager.userLogin(userId,openId,chanel,pid,gid);
}else{ }else{
user = UserManager.userLogin(userId,openIdFront,"",pid); user = UserManager.userLogin(userId,openIdFront,"",pid,gid);
} }
// String newToken = UserManager.getNewToken(userId); // String newToken = UserManager.getNewToken(userId);

View File

@ -19,7 +19,7 @@ public class RankHandler extends BaseHandler<PlayerInfoProto.RankRequest> {
@Override @Override
public void processWithProto(ISession iSession, PlayerInfoProto.RankRequest proto) throws Exception { public void processWithProto(ISession iSession, PlayerInfoProto.RankRequest proto) throws Exception {
MapLogic.getInstance().getTowerRank(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); 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(); 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.sendIndicationMessage(session,1, MessageTypeProto.MessageType.MAIN_LEVEL_FIGHT_UPDATE_INDICATION_VALUE,build,true);
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());
} }
public void getMainLevelRankInfo(ISession session) throws Exception { // public void getMainLevelRankInfo(ISession session) throws Exception {
int rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.Level_RankingShowNum); // int rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.Level_RankingShowNum);
Set<ZSetOperations.TypedTuple<String>> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.MAINLEVEL_RANK, "", 0, rankEndLine-1); // int rank =1;
int rank =1; // Set<ZSetOperations.TypedTuple<String>> arenaRankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.MAINLEVEL_RANK, "", 0, rankEndLine-1);
FightInfoProto.MainLevelRankInfoResponse.Builder builder = FightInfoProto.MainLevelRankInfoResponse.newBuilder(); // FightInfoProto.MainLevelRankInfoResponse.Builder builder = FightInfoProto.MainLevelRankInfoResponse.newBuilder();
List<CommonProto.MainLevelRankInfo.Builder> mainLevelRankInfoList = new ArrayList<>(rankEndLine); // List<CommonProto.MainLevelRankInfo.Builder> mainLevelRankInfoList = new ArrayList<>(rankEndLine);
for (ZSetOperations.TypedTuple<String> item : arenaRankInfo) { // for (ZSetOperations.TypedTuple<String> item : arenaRankInfo) {
String value = item.getValue(); // String value = item.getValue();
int score = item.getScore().intValue(); // int score = item.getScore().intValue();
int uidTmp = Integer.parseInt(value); // int uidTmp = Integer.parseInt(value);
User userTmp = UserManager.getUser(uidTmp, true); // User userTmp = UserManager.getUser(uidTmp, true);
if (null == userTmp) { // if (null == userTmp) {
continue; // continue;
} // }
PlayerManager playerInfoManager = userTmp.getPlayerInfoManager(); // PlayerManager playerInfoManager = userTmp.getPlayerInfoManager();
mainLevelRankInfoList.add(CommonProto.MainLevelRankInfo.newBuilder() // mainLevelRankInfoList.add(CommonProto.MainLevelRankInfo.newBuilder()
.setUid(uidTmp) // .setUid(uidTmp)
.setLevel(playerInfoManager.getLevel()) // .setLevel(playerInfoManager.getLevel())
.setName(playerInfoManager.getNickName()) // .setName(playerInfoManager.getNickName())
.setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getVirtureId()) // .setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getVirtureId())
.setHead(playerInfoManager.getHead()) // .setHead(playerInfoManager.getHead())
.setRank(rank++) // .setRank(rank++)
.setTotalForce(userTmp.getPlayerInfoManager().getMaxForce()) // .setTotalForce(userTmp.getPlayerInfoManager().getMaxForce())
.setHeadFrame(playerInfoManager.getHeadFrame())); // .setHeadFrame(playerInfoManager.getHeadFrame()));
} // }
Collections.sort(mainLevelRankInfoList, new Comparator<CommonProto.MainLevelRankInfo.Builder>() { // Collections.sort(mainLevelRankInfoList, new Comparator<CommonProto.MainLevelRankInfo.Builder>() {
@Override // @Override
public int compare(CommonProto.MainLevelRankInfo.Builder o1, CommonProto.MainLevelRankInfo.Builder o2) { // public int compare(CommonProto.MainLevelRankInfo.Builder o1, CommonProto.MainLevelRankInfo.Builder o2) {
if(o1.getFightId()==o2.getFightId()){ // if(o1.getFightId()==o2.getFightId()){
if(o1.getTotalForce()>o2.getTotalForce() && o1.getRank()>o2.getRank()){ // if(o1.getTotalForce()>o2.getTotalForce() && o1.getRank()>o2.getRank()){
int rank = o1.getRank(); // int rank = o1.getRank();
o1.setRank(o2.getRank()); // o1.setRank(o2.getRank());
o2.setRank(rank); // o2.setRank(rank);
} // }
} // }
return o1.getRank()-o2.getRank(); // return o1.getRank()-o2.getRank();
} // }
}); // });
rank =1; // rank =1;
int myRank =-1; // int myRank =-1;
int uid = session.getUid(); // int uid = session.getUid();
for(CommonProto.MainLevelRankInfo.Builder builder1 : mainLevelRankInfoList){ // for(CommonProto.MainLevelRankInfo.Builder builder1 : mainLevelRankInfoList){
builder1.setRank(rank++); // builder1.setRank(rank++);
builder1.setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(builder1.getFightId()).getId()); // builder1.setFightId(SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(builder1.getFightId()).getId());
builder.addMainLevelRankInfo(builder1.build()); // builder.addMainLevelRankInfo(builder1.build());
if(builder1.getUid() == uid){ // if(builder1.getUid() == uid){
myRank = builder1.getRank(); // myRank = builder1.getRank();
} // }
} // }
//
int score = RedisUtil.getInstence().getZSetScore(RedisKey.MAINLEVEL_RANK,"", Integer.toString(uid)).intValue(); // int score = RedisUtil.getInstence().getZSetScore(RedisKey.MAINLEVEL_RANK,"", Integer.toString(uid)).intValue();
if(score == -1){ // if(score == -1){
score = 1011; // score = 1011;
}else{ // }else{
if(myRank==-1){ // if(myRank==-1){
myRank= RedisUtil.getInstence().getZSetreverseRank(RedisKey.MAINLEVEL_RANK,"",Integer.toString(uid)).intValue(); // myRank= RedisUtil.getInstence().getZSetreverseRank(RedisKey.MAINLEVEL_RANK,"",Integer.toString(uid)).intValue();
} // }
score= SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getId(); // score= SMainLevelConfig.sMainLevelConfigByVirtureIdMap.get(score).getId();
} // }
User user = UserManager.getUser(uid); // User user = UserManager.getUser(uid);
PlayerManager playerInfoManager = user.getPlayerInfoManager(); // PlayerManager playerInfoManager = user.getPlayerInfoManager();
builder.setMyMainLevelRankInfo(CommonProto.MainLevelRankInfo.newBuilder() // builder.setMyMainLevelRankInfo(CommonProto.MainLevelRankInfo.newBuilder()
.setUid(uid) // .setUid(uid)
.setLevel(playerInfoManager.getLevel()) // .setLevel(playerInfoManager.getLevel())
.setName(playerInfoManager.getNickName()) // .setName(playerInfoManager.getNickName())
.setFightId(score) // .setFightId(score)
.setHead(playerInfoManager.getHead()) // .setHead(playerInfoManager.getHead())
.setRank(myRank) // .setRank(myRank)
.setTotalForce(playerInfoManager.getMaxForce()) // .setTotalForce(playerInfoManager.getMaxForce())
.setHeadFrame(playerInfoManager.getHeadFrame()).build()); // .setHeadFrame(playerInfoManager.getHeadFrame()).build());
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.MAIN_LEVEL_GET_RANK_RESPONSE_VALUE,builder.build(),true); // MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.MAIN_LEVEL_GET_RANK_RESPONSE_VALUE,builder.build(),true);
//
} // }
public void openNextMainLevel(User user,int fightId) throws Exception { public void openNextMainLevel(User user,int fightId) throws Exception {
int level = user.getPlayerInfoManager().getLevel(); int level = user.getPlayerInfoManager().getLevel();
@ -2321,9 +2322,9 @@ 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);
//归还水滴 //归还水滴
Map<Integer,Integer> itemMap = new HashMap<>(1); Map<Integer,Integer> itemMap = new HashMap<>(1);
itemMap.put( Global.DROP,1); itemMap.put( Global.DROP,1);
@ -2877,7 +2878,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(), 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); // 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.*;
import com.ljsd.jieling.logic.fight.result.FightResult; import com.ljsd.jieling.logic.fight.result.FightResult;
import com.ljsd.jieling.logic.mission.GameEvent; 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.network.session.ISession;
import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.FightInfoProto; 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); // 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);
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()

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

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.UserManager;
import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.util.ItemUtil; import com.ljsd.jieling.util.ItemUtil;
import com.ljsd.jieling.util.ToolsUtil;
import config.SGlobalActivity; import config.SGlobalActivity;
import config.SGlobalSystemConfig; import config.SGlobalSystemConfig;
import config.SMainLevelConfig; import config.SMainLevelConfig;
@ -49,6 +50,11 @@ public class UserLevelEventHandler implements IEventHandler{
if(user.getPlayerInfoManager().getLevel()>=openRules[1]){ if(user.getPlayerInfoManager().getLevel()>=openRules[1]){
activityMission.updateActivityState(ActivityType.OPEN_STATE); activityMission.updateActivityState(ActivityType.OPEN_STATE);
ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId()); 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 pid;
private int gid;
private String nickName; private String nickName;
private int level; private int level;
@ -505,6 +507,7 @@ public class PlayerManager extends MongoBase {
this.phoneBindInfo = phoneBindInfo; this.phoneBindInfo = phoneBindInfo;
} }
public void setPid(int pid) { public void setPid(int pid) {
updateString("pid",pid); updateString("pid",pid);
this.pid = pid; this.pid = pid;
@ -514,6 +517,14 @@ public class PlayerManager extends MongoBase {
return pid; return pid;
} }
public int getGid() {
return gid;
}
public void setGid(int gid) {
updateString("gid",gid);
this.gid = gid;
}
public Set<Integer> getSysMailIds() { public Set<Integer> getSysMailIds() {
return sysMailIds; return sysMailIds;

View File

@ -38,31 +38,33 @@ public class UserManager {
return userMap.containsKey(uid); 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; User user = null;
if (!UserManager.isUserExist(uid)){ if (!UserManager.isUserExist(uid)){
user = MongoUtil.getInstence().getMyMongoTemplate().findById(User.getCollectionName(), uid, User.class); user = MongoUtil.getInstence().getMyMongoTemplate().findById(User.getCollectionName(), uid, User.class);
if (user == null) { if (user == null) {
user = registerUser(uid,openId,channel,pid); user = registerUser(uid,openId,channel,pid,gid);
} }
UserManager.addUser(user); UserManager.addUser(user);
}else{ }else{
user = getUser(uid); user = getUser(uid);
user.getPlayerInfoManager().setGid(gid);
user.getPlayerInfoManager().setPid(pid);
} }
return user; 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); User user = new User(uid);
initPlayer(user,openId,channel,pid); initPlayer(user,openId,channel,pid,gid);
UserManager.addUser(user); UserManager.addUser(user);
MongoUtil.getInstence().getMyMongoTemplate().save(user); MongoUtil.getInstence().getMyMongoTemplate().save(user);
PlayerLogic.getInstance().sendTestWelfareMail(user,1,1); PlayerLogic.getInstance().sendTestWelfareMail(user,1,1);
return user; 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(); SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
PlayerManager playerManager = user.getPlayerInfoManager(); PlayerManager playerManager = user.getPlayerInfoManager();
long now = TimeUtils.now(); long now = TimeUtils.now();
@ -81,17 +83,11 @@ public class UserManager {
playerManager.setPhoneBindInfo(new PhoneBindInfo("")); playerManager.setPhoneBindInfo(new PhoneBindInfo(""));
playerManager.setChannel(channel); playerManager.setChannel(channel);
playerManager.setPid(pid); playerManager.setPid(pid);
playerManager.setGid(gid);
playerManager.setHeadFrame(STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getDefaultPicture()); playerManager.setHeadFrame(STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getDefaultPicture());
SPlayerLevelConfig sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(1); SPlayerLevelConfig sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(1);
playerManager.setMaxStamina(sPlayerLevelConfig.getMaxEnergy()); playerManager.setMaxStamina(sPlayerLevelConfig.getMaxEnergy());
playerManager.setRideLevel(1); 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); int force = HeroLogic.getInstance().calTeamTotalForce(user, 1, true);
playerManager.setMaxForce(force); playerManager.setMaxForce(force);
PlayerLogic.getInstance().vipflushEveryDay(user,null); 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.BLOODY_REFRESH,0);
user.getUserMissionManager().onGameEvent(user, GameEvent.BEGINNER); user.getUserMissionManager().onGameEvent(user, GameEvent.BEGINNER);
Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.LOGIN_TIMES.getType(),1)); 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); KtEventUtils.onKtEvent(user, ParamEventBean.UserRegister);
} }

View File

@ -59,7 +59,7 @@ public class WorkShopLogic {
} }
int limits = sWorkShopTechnology.getLimits(); int limits = sWorkShopTechnology.getLimits();
int playerLevel = user.getPlayerInfoManager().getLevel(); int playerLevel = user.getPlayerInfoManager().getLevel();
if(playerLevel<limits){ if(playerLevel<limits){
throw new ErrorCodeException(ErrorCode.PLAYER_LEVE_NOT); throw new ErrorCodeException(ErrorCode.PLAYER_LEVE_NOT);
} }
int[] openRules = sWorkShopTechnology.getOpenRules(); int[] openRules = sWorkShopTechnology.getOpenRules();

View File

@ -9,7 +9,7 @@ import com.ljsd.jieling.protocols.PlayerInfoProto;
*/ */
public interface IRank { 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); void addRank(int uid,double... data);

View File

@ -1,10 +1,7 @@
package com.ljsd.jieling.logic.rank; package com.ljsd.jieling.logic.rank;
import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.logic.rank.rankImpl.AbstractRank; import com.ljsd.jieling.logic.rank.rankImpl.*;
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 java.util.Arrays; import java.util.Arrays;
import java.util.HashMap; import java.util.HashMap;
@ -17,9 +14,11 @@ import java.util.function.BiFunction;
* @discribe * @discribe
*/ */
public enum RankEnum { public enum RankEnum {
TOWER_RANK(1,RedisKey.TOWER_RANK, TowerRank::new), TOWER_RANK(1,RedisKey.TOWER_RANK, TowerRank::new),//param1层数 param2通过时间 param3:无
FORCE_RANK(2,RedisKey.FORCE_RANK, ForceRank::new), FORCE_RANK(2,RedisKey.FORCE_RANK, ForceRank::new),//param1战斗力 param2无 param3:无
RANDOM_CARD_RANK(10,RedisKey.RANDOM_CARD_RANK, RandomCardRank::new) 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 int type;
private String redisKey; private String redisKey;

View File

@ -32,7 +32,8 @@ public class RankLogic {
public final static RankLogic instance = new RankLogic(); public final static RankLogic instance = new 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 {
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); MessageUtil.sendMessage(session,1,messageType.getNumber(),rankResponse,true);
} }
} }

View File

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

View File

@ -1,5 +1,7 @@
package com.ljsd.jieling.logic.rank.rankImpl; package com.ljsd.jieling.logic.rank.rankImpl;
import com.ljsd.jieling.protocols.PlayerInfoProto;
/** /**
* @author lvxinran * @author lvxinran
* @date 2019/11/27 * @date 2019/11/27
@ -19,4 +21,5 @@ public class ForceRank extends AbstractRank {
public double getScore(double... data) { public double getScore(double... data) {
return data[0]; 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; package com.ljsd.jieling.logic.rank.rankImpl;
import util.TimeUtils;
/** /**
* @author lvxinran * @author lvxinran
* @date 2019/11/27 * @date 2019/11/27
@ -17,6 +19,6 @@ public class RandomCardRank extends AbstractRank {
@Override @Override
public double getScore(double... data) { 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 @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); rankEndLine = SSpecialConfig.getIntegerValue(SSpecialConfig.TRIAL_RANKINGSHOWNUM);
return super.getRank(uid, rankEndLine); return super.getRank(uid,1, rankEndLine);
} }
@Override @Override

View File

@ -6,6 +6,7 @@ import com.ljsd.jieling.logic.dao.root.User;
import java.util.regex.Matcher; import java.util.regex.Matcher;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public class ShieldedWordUtils { public class ShieldedWordUtils {
@ -60,4 +61,14 @@ public class ShieldedWordUtils {
boolean hasDirtyWords = SensitivewordFilter.isContaintSensitiveWord(userName, 1); boolean hasDirtyWords = SensitivewordFilter.isContaintSensitiveWord(userName, 1);
return hasDirtyWords; 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