Merge branch 'master' of http://60.1.1.230/backend/jieling_server
# Conflicts: # serverlogic/src/main/java/com/ljsd/jieling/network/server/ProtocolsManager.javaback_recharge
commit
85eae5a303
|
@ -14,8 +14,6 @@ repositories {
|
||||||
dependencies {
|
dependencies {
|
||||||
testCompile group: 'junit', name: 'junit', version: '4.12'
|
testCompile group: 'junit', name: 'junit', version: '4.12'
|
||||||
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
|
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
|
||||||
compile("com.fasterxml.jackson.core:jackson-core:2.3.1")
|
|
||||||
compile("com.fasterxml.jackson.core:jackson-databind:2.3.3")
|
|
||||||
}
|
}
|
||||||
jar {
|
jar {
|
||||||
baseName = 'gamecommon'
|
baseName = 'gamecommon'
|
||||||
|
|
|
@ -91,7 +91,9 @@ public class ChatLogic {
|
||||||
* @param message
|
* @param message
|
||||||
*/
|
*/
|
||||||
public void sendChatMessage(ISession iSession, int chatType, String message,int friendId) throws Exception {
|
public void sendChatMessage(ISession iSession, int chatType, String message,int friendId) throws Exception {
|
||||||
System.out.println("the uid=" + iSession.getUid() + "send msg =" +message);
|
if(message.length()>140){
|
||||||
|
throw new ErrorCodeException("over length");
|
||||||
|
}
|
||||||
int msgId = MessageTypeProto.MessageType.SEND_CHAT_INFO_RESPONSE_VALUE;
|
int msgId = MessageTypeProto.MessageType.SEND_CHAT_INFO_RESPONSE_VALUE;
|
||||||
int uid = iSession.getUid();
|
int uid = iSession.getUid();
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
|
|
|
@ -20,6 +20,7 @@ public class HeroStaticConfig extends AbstractClassStaticConfig {
|
||||||
private Map<Integer, Map<Integer, Map<Integer, SCHeroRankUpConfig>>> scHeroRankUpConfigByType;
|
private Map<Integer, Map<Integer, Map<Integer, SCHeroRankUpConfig>>> scHeroRankUpConfigByType;
|
||||||
|
|
||||||
private Set<Integer> randomHeroIds;
|
private Set<Integer> randomHeroIds;
|
||||||
|
private Map<Integer,Integer> randomPoolByType;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registConfigs(Set<String> registConfigs) {
|
public void registConfigs(Set<String> registConfigs) {
|
||||||
|
@ -75,12 +76,15 @@ public class HeroStaticConfig extends AbstractClassStaticConfig {
|
||||||
try {
|
try {
|
||||||
Set<Integer> randomHeroIdTmp = new HashSet<>();
|
Set<Integer> randomHeroIdTmp = new HashSet<>();
|
||||||
Map<Integer, SLotterySetting> config = STableManager.getConfig(SLotterySetting.class);
|
Map<Integer, SLotterySetting> config = STableManager.getConfig(SLotterySetting.class);
|
||||||
|
Map<Integer,Integer> randomPoolByType = new HashMap<>();
|
||||||
for(SLotterySetting sLotterySetting : config.values()){
|
for(SLotterySetting sLotterySetting : config.values()){
|
||||||
if(sLotterySetting.getLotteryType() == GlobalsDef.RANDOM_LOTTERY_TYPE){
|
if(sLotterySetting.getLotteryType() == GlobalsDef.RANDOM_LOTTERY_TYPE){
|
||||||
randomHeroIdTmp.add(sLotterySetting.getId());
|
randomHeroIdTmp.add(sLotterySetting.getId());
|
||||||
}
|
}
|
||||||
|
randomPoolByType.put(sLotterySetting.getId(),sLotterySetting.getMergePool());
|
||||||
}
|
}
|
||||||
randomHeroIds = randomHeroIdTmp;
|
randomHeroIds = randomHeroIdTmp;
|
||||||
|
randomPoolByType = randomPoolByType;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.error("SLotterySetting init fail");
|
LOGGER.error("SLotterySetting init fail");
|
||||||
}
|
}
|
||||||
|
@ -97,4 +101,8 @@ public class HeroStaticConfig extends AbstractClassStaticConfig {
|
||||||
public Set<Integer> getRandomHeroIds() {
|
public Set<Integer> getRandomHeroIds() {
|
||||||
return randomHeroIds;
|
return randomHeroIds;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<Integer, Integer> getRandomPoolByType() {
|
||||||
|
return randomPoolByType;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -139,7 +139,11 @@ public enum ErrorCode implements IErrorCode {
|
||||||
MAP_IN(105,"在地图探索中,不可以操作"),
|
MAP_IN(105,"在地图探索中,不可以操作"),
|
||||||
HERO_LIVE_AGAIN(106,"英雄{0}秒后复活"),
|
HERO_LIVE_AGAIN(106,"英雄{0}秒后复活"),
|
||||||
REWARD_COLLECTING(107,"奖励正在积攒中!"),
|
REWARD_COLLECTING(107,"奖励正在积攒中!"),
|
||||||
IN_BLACK(108,"对方已被您加入黑名单,无法添加好友")
|
IN_BLACK(108,"对方已被您加入黑名单,无法添加好友"),
|
||||||
|
NULL_NAME(109,"名字不能为空"),
|
||||||
|
NAME_LENGTH_ERROR(110,"公会名长度不符"),
|
||||||
|
EXIST_NAME(111,"此名已存在");
|
||||||
|
|
||||||
|
|
||||||
;
|
;
|
||||||
private static final Set<Integer> CodeSet = new HashSet<>();
|
private static final Set<Integer> CodeSet = new HashSet<>();
|
||||||
|
|
|
@ -179,5 +179,7 @@ public interface BIReason {
|
||||||
|
|
||||||
int RIDE_LEVEL_UP_CONSUME = 1045;//坐骑升级消耗
|
int RIDE_LEVEL_UP_CONSUME = 1045;//坐骑升级消耗
|
||||||
|
|
||||||
|
int FAMILY_RENAME = 1045;//公会改名
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -9,16 +9,14 @@ import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class FamilyChangeNoticHandler extends BaseHandler {
|
public class FamilyChangeNoticHandler extends BaseHandler<Family.FamilyChangeRequest> {
|
||||||
@Override
|
@Override
|
||||||
public MessageTypeProto.MessageType getMessageCode() {
|
public MessageTypeProto.MessageType getMessageCode() {
|
||||||
return MessageTypeProto.MessageType.FAMILY_CHANGE_NOTICE_REQUEST;
|
return MessageTypeProto.MessageType.FAMILY_CHANGE_NOTICE_REQUEST;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void process(ISession iSession, PacketNetData netData) throws Exception {
|
public void processWithProto(ISession iSession, Family.FamilyChangeRequest proto) throws Exception {
|
||||||
byte[] bytes = netData.parseClientProtoNetData();
|
GuildLogic.changeNotice(iSession,proto.getType(),proto.getContent());
|
||||||
Family.FamilyChangeRequest familyChangeRequest = Family.FamilyChangeRequest.parseFrom(bytes);
|
|
||||||
GuildLogic.changeNotice(iSession,familyChangeRequest.getContent());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,9 +21,7 @@ import com.ljsd.jieling.ktbeans.KtEventUtils;
|
||||||
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
||||||
import com.ljsd.jieling.logic.GlobalDataManaager;
|
import com.ljsd.jieling.logic.GlobalDataManaager;
|
||||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||||
import com.ljsd.jieling.logic.activity.event.FightMainEvent;
|
import com.ljsd.jieling.logic.activity.event.*;
|
||||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
|
||||||
import com.ljsd.jieling.logic.activity.event.StoryEvent;
|
|
||||||
import com.ljsd.jieling.logic.dao.*;
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.logic.fight.CheckFight;
|
import com.ljsd.jieling.logic.fight.CheckFight;
|
||||||
|
@ -199,7 +197,6 @@ public class MapLogic {
|
||||||
mapEnterResponse.setCurXY(mapManager.getCurXY());
|
mapEnterResponse.setCurXY(mapManager.getCurXY());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(type ==4){
|
if(type ==4){
|
||||||
mapEnterResponse.setCurXY(mapManager.getCurXY());
|
mapEnterResponse.setCurXY(mapManager.getCurXY());
|
||||||
List<TeamPosHeroInfo> teamPosForHero = user.getTeamPosManager().getTeamPosForHero().get(teamId);
|
List<TeamPosHeroInfo> teamPosForHero = user.getTeamPosManager().getTeamPosForHero().get(teamId);
|
||||||
|
@ -210,6 +207,8 @@ public class MapLogic {
|
||||||
}
|
}
|
||||||
EndlessMapInfo endlessMapInfo = mapManager.getEndlessMapInfo();
|
EndlessMapInfo endlessMapInfo = mapManager.getEndlessMapInfo();
|
||||||
if(endlessMapInfo.getSeason()!=endlessSeason){
|
if(endlessMapInfo.getSeason()!=endlessSeason){
|
||||||
|
//切换赛季清除信息
|
||||||
|
clearEndlessItem(user);
|
||||||
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.Endless);
|
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.Endless);
|
||||||
StoreLogic.initOnsStoereWithTime(user,SEndlessMapConfig.sEndlessMapConfigMap.get(endlessMapId).getMapStoreId(),openTimeOfFuntionCacheByType.getStartTime(),openTimeOfFuntionCacheByType.getEndTime());
|
StoreLogic.initOnsStoereWithTime(user,SEndlessMapConfig.sEndlessMapConfigMap.get(endlessMapId).getMapStoreId(),openTimeOfFuntionCacheByType.getStartTime(),openTimeOfFuntionCacheByType.getEndTime());
|
||||||
mapManager.updateEndlessSeason(endlessSeason);
|
mapManager.updateEndlessSeason(endlessSeason);
|
||||||
|
@ -1121,10 +1120,6 @@ public class MapLogic {
|
||||||
onlyLevelMap(user, false);
|
onlyLevelMap(user, false);
|
||||||
}
|
}
|
||||||
if(user.getMapManager().getCurMapId()!=0&&SChallengeConfig.sChallengeConfigs.get(user.getMapManager().getCurMapId()).getType()==4){
|
if(user.getMapManager().getCurMapId()!=0&&SChallengeConfig.sChallengeConfigs.get(user.getMapManager().getCurMapId()).getType()==4){
|
||||||
if(endlessSeason==0){
|
|
||||||
onlyLevelMap(user,false);
|
|
||||||
user.getMapManager().setEndlessMapInfo(new EndlessMapInfo());
|
|
||||||
}
|
|
||||||
if(user.getMapManager().getEndlessMapInfo().getSeason()!=endlessSeason){
|
if(user.getMapManager().getEndlessMapInfo().getSeason()!=endlessSeason){
|
||||||
onlyLevelMap(user,false);
|
onlyLevelMap(user,false);
|
||||||
user.getMapManager().setEndlessMapInfo(new EndlessMapInfo());
|
user.getMapManager().setEndlessMapInfo(new EndlessMapInfo());
|
||||||
|
@ -1318,6 +1313,9 @@ public class MapLogic {
|
||||||
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
|
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
|
||||||
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
|
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
|
||||||
int per = (int)(checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000);
|
int per = (int)(checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000);
|
||||||
|
if(checkResult[i+2]>0&&per<=0){
|
||||||
|
per = 1;
|
||||||
|
}
|
||||||
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per);
|
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per);
|
||||||
mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]);
|
mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]);
|
||||||
}
|
}
|
||||||
|
@ -1573,6 +1571,9 @@ public class MapLogic {
|
||||||
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
|
Hero hero = user.getHeroManager().getHero(team.get(i).getHeroId());
|
||||||
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
|
Map<Integer, Integer> heroAllAttribute = HeroLogic.getInstance().calHeroNotBufferAttribute(user, hero,false,teamId);
|
||||||
int per =(int) (checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000);
|
int per =(int) (checkResult[i+2] / (double) heroAllAttribute.get(HeroAttributeEnum.Hp.getPropertyId())*10000);
|
||||||
|
if(checkResult[i+2]>0&&per<=0){
|
||||||
|
per = 1;
|
||||||
|
}
|
||||||
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per);
|
mapManager.updateEndlessHeroHp(team.get(i).getHeroId(),per);
|
||||||
mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]);
|
mapManager.updateHeroOneAttribute(team.get(i).getHeroId(), HeroAttributeEnum.CurHP.getPropertyId(), checkResult[i+2]);
|
||||||
}
|
}
|
||||||
|
@ -2243,8 +2244,8 @@ public class MapLogic {
|
||||||
}else{
|
}else{
|
||||||
state =2;
|
state =2;
|
||||||
}
|
}
|
||||||
user.getUserMissionManager().onGameEvent(user, GameEvent.STORY_FIGHT, fightId,0,1);
|
|
||||||
Poster.getPoster().dispatchEvent(new FightMainEvent(user.getId(),fightId));
|
Poster.getPoster().dispatchEvent(new FightMainEvent(user.getId(),fightId));
|
||||||
|
Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.LEVEL_FIGHT.getType(),fightId));
|
||||||
user.getMainLevelManager().updateFight(updateFightId,state);
|
user.getMainLevelManager().updateFight(updateFightId,state);
|
||||||
if(state == -1){
|
if(state == -1){
|
||||||
//删除为0的
|
//删除为0的
|
||||||
|
@ -2259,6 +2260,7 @@ public class MapLogic {
|
||||||
user.getMainLevelManager().removeFightStateInfo(removeId);
|
user.getMainLevelManager().removeFightStateInfo(removeId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
user.getUserMissionManager().onGameEvent(user, GameEvent.STORY_FIGHT, fightId,0,1);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void getMainLevelInfo(ISession session) throws Exception {
|
public void getMainLevelInfo(ISession session) throws Exception {
|
||||||
|
@ -3252,16 +3254,26 @@ public class MapLogic {
|
||||||
*/
|
*/
|
||||||
public void resetEndlessInfo() throws Exception {
|
public void resetEndlessInfo() throws Exception {
|
||||||
Map<Integer, ISession> onlineUserMap = OnlineUserManager.sessionMap;
|
Map<Integer, ISession> onlineUserMap = OnlineUserManager.sessionMap;
|
||||||
SEndlessMapConfig config = SEndlessMapConfig.sEndlessMapConfigMap.get(MapLogic.getEndlessMapId());
|
|
||||||
int[] mapItem = config.getMapItem();
|
|
||||||
for(Map.Entry<Integer, ISession> entry:onlineUserMap.entrySet()){
|
for(Map.Entry<Integer, ISession> entry:onlineUserMap.entrySet()){
|
||||||
User user = UserManager.getUser(entry.getValue().getUid());
|
endLessClear(entry.getValue());
|
||||||
|
}
|
||||||
|
updateEndlessSeason(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void endLessClear(ISession session) throws Exception {
|
||||||
|
User user = UserManager.getUser(session.getUid());
|
||||||
MapManager mapManager = user.getMapManager();
|
MapManager mapManager = user.getMapManager();
|
||||||
mapManager.setEndlessMapInfo(new EndlessMapInfo());
|
mapManager.setEndlessMapInfo(new EndlessMapInfo());
|
||||||
if(mapManager.getCurMapId()!=0&&SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){
|
if(mapManager.getCurMapId()!=0&&SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()).getType()==4){
|
||||||
MessageUtil.sendIndicationMessage(entry.getValue(),1,MessageTypeProto.MessageType.MAP_OUT_INDICATION_VALUE,null,true);
|
MessageUtil.sendIndicationMessage(session,1,MessageTypeProto.MessageType.MAP_OUT_INDICATION_VALUE,null,true);
|
||||||
resetMapInfo(user,false);
|
// resetMapInfo(user,false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void clearEndlessItem(User user) throws Exception {
|
||||||
|
SEndlessMapConfig config = SEndlessMapConfig.sEndlessMapConfigMap.get(MapLogic.getEndlessMapId());
|
||||||
|
int[] mapItem = config.getMapItem();
|
||||||
ItemManager itemManager = user.getItemManager();
|
ItemManager itemManager = user.getItemManager();
|
||||||
int [][] costItem = new int[mapItem.length][2];
|
int [][] costItem = new int[mapItem.length][2];
|
||||||
for(int i = 0 ; i <mapItem.length;i++){
|
for(int i = 0 ; i <mapItem.length;i++){
|
||||||
|
@ -3277,8 +3289,6 @@ public class MapLogic {
|
||||||
}
|
}
|
||||||
ItemUtil.itemCost(user,costItem, BIReason.ENDLESS_REASON_CHANGE,1);
|
ItemUtil.itemCost(user,costItem, BIReason.ENDLESS_REASON_CHANGE,1);
|
||||||
}
|
}
|
||||||
updateEndlessSeason(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 无尽小怪打死随机刷新
|
* 无尽小怪打死随机刷新
|
||||||
|
@ -3337,4 +3347,8 @@ public class MapLogic {
|
||||||
UserManager.getUser(session.getUid()).getMapManager().updateEndlessSkipFight(type);
|
UserManager.getUser(session.getUid()).getMapManager().updateEndlessSkipFight(type);
|
||||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
MessageUtil.sendMessage(session,1,messageType.getNumber(),null,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static int getEndlessSeason() {
|
||||||
|
return endlessSeason;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,7 +56,8 @@ public class FourtyTwoBehavior extends BaseBehavior {
|
||||||
|
|
||||||
mapManager.setStartExporeTime(0);
|
mapManager.setStartExporeTime(0);
|
||||||
mapManager.setMapIntoFlag(2);
|
mapManager.setMapIntoFlag(2);
|
||||||
|
STrialConfig sTrialConfig = STrialConfig.sTrialConfigMap.get(mapManager.getTower());
|
||||||
|
mapManager.setCurMapId(sTrialConfig.getMapId());
|
||||||
MapLogic.getInstance().initTrialMap(mapManager, user);
|
MapLogic.getInstance().initTrialMap(mapManager, user);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -320,4 +320,13 @@ public abstract class AbstractActivity implements IActivity, IEventHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void setOpenState(User user,int openState){
|
||||||
|
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||||
|
if(activityMission != null){
|
||||||
|
activityMission.updateActivityState(openState);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -10,6 +10,9 @@ import com.ljsd.jieling.exception.ErrorCodeException;
|
||||||
import com.ljsd.jieling.globals.BIReason;
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.handler.activity.BlessInfoConfig;
|
import com.ljsd.jieling.handler.activity.BlessInfoConfig;
|
||||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.NewWelfareEvent;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.NewWelfareTypeEnum;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
import com.ljsd.jieling.logic.dao.*;
|
import com.ljsd.jieling.logic.dao.*;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||||
|
@ -61,6 +64,7 @@ public class ActivityLogic {
|
||||||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.RECHARGE_SUM_DAY);
|
ActivityLogic.getInstance().resumeActivity(user, ActivityType.RECHARGE_SUM_DAY);
|
||||||
user.getPlayerInfoManager().setRechargedaily(0);
|
user.getPlayerInfoManager().setRechargedaily(0);
|
||||||
updateActivityMissionProgress(user, ActivityType.SevenLogin, 1);
|
updateActivityMissionProgress(user, ActivityType.SevenLogin, 1);
|
||||||
|
Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.LOGIN_TIMES.getType(),1));
|
||||||
|
|
||||||
//幸运转盘活动刷新
|
//幸运转盘活动刷新
|
||||||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.LUCK_WHEEL);
|
ActivityLogic.getInstance().resumeActivity(user, ActivityType.LUCK_WHEEL);
|
||||||
|
@ -207,14 +211,19 @@ public class ActivityLogic {
|
||||||
if (activityMission != null) {
|
if (activityMission != null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if(!initOtherActivity(user, sGlobalActivity)){
|
// if(!initOtherActivity(user, sGlobalActivity)){
|
||||||
activityManager.initAllActivityMission(openActivityId);
|
activityManager.initAllActivityMission(openActivityId);
|
||||||
// }
|
// }
|
||||||
|
|
||||||
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(openActivityId);
|
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(openActivityId);
|
||||||
if (null==abstractActivity) {
|
if (null==abstractActivity) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
abstractActivity.initActivity(user);
|
abstractActivity.initActivity(user);
|
||||||
|
int activityOpenState = getActivityOpenState(user, openActivityId);
|
||||||
|
abstractActivity.setOpenState(user,activityOpenState);
|
||||||
//非角色活动开启通知
|
//非角色活动开启通知
|
||||||
openNewActivityIds.add(openActivityId);
|
openNewActivityIds.add(openActivityId);
|
||||||
if(sGlobalActivity.getShopId()!=0){
|
if(sGlobalActivity.getShopId()!=0){
|
||||||
|
@ -273,6 +282,8 @@ public class ActivityLogic {
|
||||||
// if(!initOtherActivity(user, sGlobalActivity)){
|
// if(!initOtherActivity(user, sGlobalActivity)){
|
||||||
activityManager.initAllActivityMission(activityId);
|
activityManager.initAllActivityMission(activityId);
|
||||||
// }
|
// }
|
||||||
|
int activityOpenState = getActivityOpenState(user, activityId );
|
||||||
|
abstractActivity.setOpenState(user,activityOpenState);
|
||||||
openNewActivityIds.add(activityId);
|
openNewActivityIds.add(activityId);
|
||||||
checkNeedOpenStore(user,sGlobalActivity.getShopId(),startTime,endTime);
|
checkNeedOpenStore(user,sGlobalActivity.getShopId(),startTime,endTime);
|
||||||
} else {
|
} else {
|
||||||
|
@ -295,20 +306,6 @@ public class ActivityLogic {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 不走通用活动进度奖励配置的活动单独初始化
|
|
||||||
*/
|
|
||||||
// public boolean initOtherActivity(User user, SGlobalActivity sGlobalActivity) throws Exception {
|
|
||||||
// int type = sGlobalActivity.getType();
|
|
||||||
// switch (type) {
|
|
||||||
// case ActivityType.BLESSACTIVITY:
|
|
||||||
// blessInfoInit(user.getActivityManager(), sGlobalActivity.getId());
|
|
||||||
// return true;
|
|
||||||
// default:
|
|
||||||
// return false;
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
|
|
||||||
public static ActivityLogic getInstance() {
|
public static ActivityLogic getInstance() {
|
||||||
return ActivityLogic.Instance.instance;
|
return ActivityLogic.Instance.instance;
|
||||||
|
@ -349,6 +346,9 @@ public class ActivityLogic {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
int activityStatus = activityMission.getActivityState();
|
int activityStatus = activityMission.getActivityState();
|
||||||
|
if(activityStatus == -1){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (sGlobalActivityMap.get(activityId).getIsSaving()==0 && activityStatus != ActivityType.OPEN_STATE) {
|
if (sGlobalActivityMap.get(activityId).getIsSaving()==0 && activityStatus != ActivityType.OPEN_STATE) {
|
||||||
continue;
|
continue;
|
||||||
|
@ -369,6 +369,28 @@ public class ActivityLogic {
|
||||||
return activityInfoList;
|
return activityInfoList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void sendActivityInfo(User user,int activityId){
|
||||||
|
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||||
|
if(session!=null){
|
||||||
|
PlayerInfoProto.ActivityUpateIndication.Builder builder = PlayerInfoProto.ActivityUpateIndication.newBuilder();
|
||||||
|
Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
||||||
|
Map<Integer, ActivityMission> activityUpdateMap = new HashMap<>();
|
||||||
|
boolean sendLuckWheelPool =false;
|
||||||
|
if(ActivityType.LUCK_WHEEL == SGlobalActivity.getsGlobalActivityMap().get(activityId).getType()
|
||||||
|
||ActivityType.LUCK_WHEEL_ADVANCE == SGlobalActivity.getsGlobalActivityMap().get(activityId).getType())
|
||||||
|
sendLuckWheelPool=true;
|
||||||
|
activityUpdateMap.put(activityId, activityMissionMap.get(activityId));
|
||||||
|
List<CommonProto.ActivityInfo> activityInfos = getActivityInfos(activityUpdateMap, user.getPlayerInfoManager().getCreateTime());
|
||||||
|
builder.addAllActivityInfo(activityInfos);
|
||||||
|
if(sendLuckWheelPool){
|
||||||
|
sendLuckWheelPool(user,session);
|
||||||
|
}
|
||||||
|
MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.ACTIVITY_UPDATE_INDICATION_VALUE, builder.build(), true);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public void openActivityReallyOpen(User user, int activityType) {
|
public void openActivityReallyOpen(User user, int activityType) {
|
||||||
ActivityManager activityManager = user.getActivityManager();
|
ActivityManager activityManager = user.getActivityManager();
|
||||||
Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap();
|
Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap();
|
||||||
|
@ -384,6 +406,33 @@ public class ActivityLogic {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getActivityOpenState(User user,int activityId){
|
||||||
|
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
||||||
|
int[] openRules = sGlobalActivity.getOpenRules();
|
||||||
|
int state = ActivityType.OPEN_STATE;
|
||||||
|
if(openRules!=null&&openRules.length>0){
|
||||||
|
int openRuleType = openRules[0];
|
||||||
|
int openRulleValue = openRules[1];
|
||||||
|
if(openRuleType == 1){
|
||||||
|
int virtureId = SMainLevelConfig.config.get(openRulleValue).getVirtureId();
|
||||||
|
int fightId = user.getMainLevelManager().getFightId();
|
||||||
|
SMainLevelConfig mineMainLevelConfig = SMainLevelConfig.fightPreMap.get(fightId);
|
||||||
|
if(user.getMainLevelManager().getState() == 2 ){
|
||||||
|
mineMainLevelConfig = SMainLevelConfig.config.get(user.getMainLevelManager().getFightId());
|
||||||
|
}
|
||||||
|
if(mineMainLevelConfig!=null && virtureId > mineMainLevelConfig.getVirtureId()){
|
||||||
|
state = ActivityType.UNOPEN_STATE;
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(user.getPlayerInfoManager().getLevel()<openRulleValue){
|
||||||
|
state = ActivityType.UNOPEN_STATE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
return state;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void updateActivityMissionProgress(User user, int activityType, int count) {
|
public void updateActivityMissionProgress(User user, int activityType, int count) {
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.ljsd.jieling.logic.activity;
|
||||||
|
|
||||||
public interface ActivityType {
|
public interface ActivityType {
|
||||||
|
|
||||||
|
int UNOPEN_STATE = -1;
|
||||||
int CLOSE_STATE = 0;
|
int CLOSE_STATE = 0;
|
||||||
int OPEN_STATE = 1;
|
int OPEN_STATE = 1;
|
||||||
int FINISH_STATE = 2;
|
int FINISH_STATE = 2;
|
||||||
|
@ -46,6 +47,8 @@ public interface ActivityType {
|
||||||
int ESPECIALEQUIP_EXPERT = 37;//法宝达人
|
int ESPECIALEQUIP_EXPERT = 37;//法宝达人
|
||||||
int SOULEQUIP_EXPERT = 38;//魂印达人
|
int SOULEQUIP_EXPERT = 38;//魂印达人
|
||||||
|
|
||||||
|
int NEW_WELFARE = 42;//萌新福利
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ljsd.jieling.logic.activity;
|
package com.ljsd.jieling.logic.activity;
|
||||||
|
|
||||||
|
import com.ljsd.jieling.logic.activity.event.NewWelfareTypeEnum;
|
||||||
import config.SGlobalActivity;
|
import config.SGlobalActivity;
|
||||||
|
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
@ -35,6 +36,7 @@ public enum ActivityTypeEnum {
|
||||||
SOULEQUIP_EXPERT(ActivityType.SOULEQUIP_EXPERT, SoulEquipExpectActivity::new),
|
SOULEQUIP_EXPERT(ActivityType.SOULEQUIP_EXPERT, SoulEquipExpectActivity::new),
|
||||||
LUCK_WHEEL(ActivityType.LUCK_WHEEL, LuckWheelNormalActivity::new),
|
LUCK_WHEEL(ActivityType.LUCK_WHEEL, LuckWheelNormalActivity::new),
|
||||||
LUCK_WHEEL_ADVANCE(ActivityType.LUCK_WHEEL_ADVANCE, LuckWheelAdvancedActivity::new),
|
LUCK_WHEEL_ADVANCE(ActivityType.LUCK_WHEEL_ADVANCE, LuckWheelAdvancedActivity::new),
|
||||||
|
NEW_WELFARE(ActivityType.NEW_WELFARE, NewWelfareActivity::new),
|
||||||
;
|
;
|
||||||
private int type;
|
private int type;
|
||||||
private Function<Integer, AbstractActivity> toActivityFunction;
|
private Function<Integer, AbstractActivity> toActivityFunction;
|
||||||
|
|
|
@ -22,12 +22,13 @@ class DailyRechargeActivity extends AbstractActivity {
|
||||||
public void onResume(User user) throws Exception {
|
public void onResume(User user) throws Exception {
|
||||||
//每日充值 补发前日未领取的奖
|
//每日充值 补发前日未领取的奖
|
||||||
|
|
||||||
Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
// Map<Integer, ActivityMission> activityMissionMap = user.getActivityManager().getActivityMissionMap();
|
||||||
|
|
||||||
// //每日充值隐含开启条件是 首冲完成 策划说首冲的活动id 5绝对不会变
|
// //每日充值隐含开启条件是 首冲完成 策划说首冲的活动id 5绝对不会变
|
||||||
// ActivityMission activityMission = activityMissionMap.get(5);
|
// ActivityMission activityMission = activityMissionMap.get(5);
|
||||||
// if (null != activityMission && activityMission.getActivityState() == ActivityType.FINISH_STATE) {
|
// if (null != activityMission && activityMission.getActivityState() == ActivityType.FINISH_STATE) {
|
||||||
//
|
// ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
||||||
|
// takeAllReward(sessionByUid);
|
||||||
// }
|
// }
|
||||||
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
||||||
takeAllReward(sessionByUid);
|
takeAllReward(sessionByUid);
|
||||||
|
|
|
@ -6,10 +6,13 @@ import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.logic.activity.event.FightMainEvent;
|
import com.ljsd.jieling.logic.activity.event.FightMainEvent;
|
||||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
|
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 config.SGlobalActivity;
|
||||||
import config.SGlobalSystemConfig;
|
import config.SGlobalSystemConfig;
|
||||||
|
import config.SMainLevelConfig;
|
||||||
import manager.STableManager;
|
import manager.STableManager;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -41,5 +44,24 @@ public class FightMainEventHandler implements IEventHandler{
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for(SGlobalActivity sGlobalActivity : SGlobalActivity.getsGlobalActivityMap().values()){
|
||||||
|
int[] openRules = sGlobalActivity.getOpenRules();
|
||||||
|
if(openRules!=null && openRules.length>0 && openRules[0] == 1){
|
||||||
|
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(sGlobalActivity.getId());
|
||||||
|
if(activityMission!=null && activityMission.getActivityState() == ActivityType.UNOPEN_STATE){
|
||||||
|
int virtureId = SMainLevelConfig.config.get( openRules[1]).getVirtureId();
|
||||||
|
SMainLevelConfig mineMainLevelConfig = SMainLevelConfig.fightPreMap.get(fightId);
|
||||||
|
if(user.getMainLevelManager().getState() == 2 ){
|
||||||
|
mineMainLevelConfig = SMainLevelConfig.config.get(user.getMainLevelManager().getFightId());
|
||||||
|
}
|
||||||
|
if(mineMainLevelConfig!=null && virtureId > mineMainLevelConfig.getVirtureId()){
|
||||||
|
activityMission.updateActivityState(ActivityType.OPEN_STATE);
|
||||||
|
ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,110 @@
|
||||||
|
package com.ljsd.jieling.logic.activity;
|
||||||
|
|
||||||
|
import com.ljsd.jieling.exception.ErrorCode;
|
||||||
|
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||||
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
|
import com.ljsd.jieling.ktbeans.KtEventUtils;
|
||||||
|
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
||||||
|
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.*;
|
||||||
|
import com.ljsd.jieling.logic.dao.ActivityMission;
|
||||||
|
import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
|
||||||
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
import com.ljsd.jieling.protocols.CommonProto;
|
||||||
|
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||||
|
import com.ljsd.jieling.util.ItemUtil;
|
||||||
|
import com.ljsd.jieling.util.MessageUtil;
|
||||||
|
import config.SActivityRewardConfig;
|
||||||
|
import config.SGlobalActivity;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
public class NewWelfareActivity extends AbstractActivity {
|
||||||
|
|
||||||
|
public NewWelfareActivity(int id) {
|
||||||
|
super(id);
|
||||||
|
Poster.getPoster().listenEvent(this, NewWelfareEvent.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEvent(IEvent event) throws Exception {
|
||||||
|
if(! (event instanceof NewWelfareEvent) ){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
NewWelfareEvent newWelfareEvent = (NewWelfareEvent) event;
|
||||||
|
User user =newWelfareEvent.getUser();
|
||||||
|
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||||
|
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
|
||||||
|
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityProgressInfoMap();
|
||||||
|
boolean isUpdate = false;
|
||||||
|
for(SActivityRewardConfig sActivityRewardConfig : sActivityRewardConfigs){
|
||||||
|
ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.get(sActivityRewardConfig.getId());
|
||||||
|
if(activityProgressInfo.getState() == 1){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if(sActivityRewardConfig.getValues()[0][0] == newWelfareEvent.getType() ){
|
||||||
|
int parm = newWelfareEvent.getParm();
|
||||||
|
if( newWelfareEvent.getType() == NewWelfareTypeEnum.LOGIN_TIMES.getType()){
|
||||||
|
activityProgressInfo.setProgrss(activityProgressInfo.getProgrss()+1);
|
||||||
|
parm=activityProgressInfo.getProgrss();
|
||||||
|
}
|
||||||
|
if(parm ==sActivityRewardConfig.getValues()[1][0]){
|
||||||
|
activityProgressInfo.setState(1);
|
||||||
|
activityMission.updateProgressInfo(sActivityRewardConfig.getId(), activityProgressInfo);
|
||||||
|
isUpdate = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(isUpdate){
|
||||||
|
//更新进度
|
||||||
|
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
|
||||||
|
sendActivityProgress(sessionByUid, activityMission, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean takeReward(ISession session, int missionId) throws Exception {
|
||||||
|
User user = UserManager.getUser(session.getUid());
|
||||||
|
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||||
|
if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) {
|
||||||
|
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||||
|
}
|
||||||
|
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||||
|
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityProgressInfoMap();
|
||||||
|
for(ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()){
|
||||||
|
if(activityProgressInfo.getState() != 1){
|
||||||
|
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for(ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()){
|
||||||
|
activityProgressInfo.setState(2);
|
||||||
|
}
|
||||||
|
sendActivityProgress(session, activityMission, null);
|
||||||
|
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
|
||||||
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, sActivityRewardConfigs.get(0).getReward(), BIReason.TAKE_ACTIVITY_REWARD);
|
||||||
|
KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId);
|
||||||
|
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
|
||||||
|
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void getAllMissRewards(User user, ISession session, List<int[][]> itemAttrs){
|
||||||
|
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||||
|
if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||||
|
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityProgressInfoMap();
|
||||||
|
for(ActivityProgressInfo activityProgressInfo : activityProgressInfoMap.values()){
|
||||||
|
if(activityProgressInfo.getState() != 1){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
|
||||||
|
itemAttrs.add(sActivityRewardConfigs.get(0).getValues());
|
||||||
|
}
|
||||||
|
}
|
|
@ -5,9 +5,11 @@ import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
import com.ljsd.jieling.logic.activity.event.UserLevelEvent;
|
import com.ljsd.jieling.logic.activity.event.UserLevelEvent;
|
||||||
|
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 config.SGlobalActivity;
|
||||||
import config.SGlobalSystemConfig;
|
import config.SGlobalSystemConfig;
|
||||||
import config.SMainLevelConfig;
|
import config.SMainLevelConfig;
|
||||||
import manager.STableManager;
|
import manager.STableManager;
|
||||||
|
@ -39,6 +41,19 @@ public class UserLevelEventHandler implements IEventHandler{
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
for(SGlobalActivity sGlobalActivity : SGlobalActivity.getsGlobalActivityMap().values()){
|
||||||
|
int[] openRules = sGlobalActivity.getOpenRules();
|
||||||
|
if(openRules!=null && openRules.length>0 && openRules[0] == 2){
|
||||||
|
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(sGlobalActivity.getId());
|
||||||
|
if(activityMission!=null && activityMission.getActivityState() == ActivityType.UNOPEN_STATE){
|
||||||
|
if(user.getPlayerInfoManager().getLevel()>=openRules[1]){
|
||||||
|
activityMission.updateActivityState(ActivityType.OPEN_STATE);
|
||||||
|
ActivityLogic.getInstance().sendActivityInfo(user,sGlobalActivity.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
if(sGlobalSystemConfigs == null){
|
if(sGlobalSystemConfigs == null){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
package com.ljsd.jieling.logic.activity.event;
|
||||||
|
|
||||||
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
|
||||||
|
public class NewWelfareEvent implements IEvent{
|
||||||
|
private User user;
|
||||||
|
private int type;
|
||||||
|
private int parm;
|
||||||
|
|
||||||
|
public NewWelfareEvent(User user, int type, int parm) {
|
||||||
|
this.user = user;
|
||||||
|
this.type = type;
|
||||||
|
this.parm = parm;
|
||||||
|
}
|
||||||
|
|
||||||
|
public User getUser() {
|
||||||
|
return user;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getParm() {
|
||||||
|
return parm;
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,17 @@
|
||||||
|
package com.ljsd.jieling.logic.activity.event;
|
||||||
|
|
||||||
|
public enum NewWelfareTypeEnum {
|
||||||
|
LEVEL_FIGHT(1),
|
||||||
|
LOGIN_TIMES(2),
|
||||||
|
RECHARGE_BUY(3)
|
||||||
|
;
|
||||||
|
|
||||||
|
private int type;
|
||||||
|
private NewWelfareTypeEnum(int type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
}
|
|
@ -90,7 +90,7 @@ public class GuilidManager {
|
||||||
|
|
||||||
String key = RedisUtil.getInstence().getKey("guild-release", "");
|
String key = RedisUtil.getInstence().getKey("guild-release", "");
|
||||||
while (needContinue){
|
while (needContinue){
|
||||||
Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = RedisUtil.getInstence().getZsetreverseRangeWithScores("guild-release", "", round*5, (round+1)*5);
|
Set<ZSetOperations.TypedTuple<String>> zsetreverseRangeWithScores = RedisUtil.getInstence().getZsetRangeWithScores("guild-release", "", round*5, (round+1)*5);
|
||||||
if(zsetreverseRangeWithScores == null || zsetreverseRangeWithScores.isEmpty()){
|
if(zsetreverseRangeWithScores == null || zsetreverseRangeWithScores.isEmpty()){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,8 @@ public class HeroManager extends MongoBase {
|
||||||
|
|
||||||
Map<Integer, Integer> totalCount;
|
Map<Integer, Integer> totalCount;
|
||||||
|
|
||||||
|
Map<Integer, Integer> randomPoolByType;
|
||||||
|
|
||||||
Map<Integer,Integer> heroHandBook;
|
Map<Integer,Integer> heroHandBook;
|
||||||
|
|
||||||
private int firstTenth;
|
private int firstTenth;
|
||||||
|
@ -24,6 +26,7 @@ public class HeroManager extends MongoBase {
|
||||||
heroMap = new HashMap();
|
heroMap = new HashMap();
|
||||||
totalCount = new HashMap();
|
totalCount = new HashMap();
|
||||||
heroHandBook = new HashMap<>();
|
heroHandBook = new HashMap<>();
|
||||||
|
randomPoolByType = new HashMap<>();
|
||||||
this.setRootCollection(User._COLLECTION_NAME);
|
this.setRootCollection(User._COLLECTION_NAME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -32,6 +35,11 @@ public class HeroManager extends MongoBase {
|
||||||
totalCount.put(type,count);
|
totalCount.put(type,count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateRandPoolTypeCount(int mergePool,int count){
|
||||||
|
updateString("randomPoolByType." + mergePool, count);
|
||||||
|
randomPoolByType.put(mergePool,count);
|
||||||
|
}
|
||||||
|
|
||||||
public Map<String, Hero> getItemMap() {
|
public Map<String, Hero> getItemMap() {
|
||||||
return heroMap;
|
return heroMap;
|
||||||
}
|
}
|
||||||
|
@ -89,4 +97,8 @@ public class HeroManager extends MongoBase {
|
||||||
updateString("firstTenth" , 1);
|
updateString("firstTenth" , 1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Map<Integer, Integer> getRandomPoolByType() {
|
||||||
|
return randomPoolByType;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,6 +7,9 @@ import com.ljsd.jieling.globals.BIReason;
|
||||||
import com.ljsd.jieling.ktbeans.KtEventUtils;
|
import com.ljsd.jieling.ktbeans.KtEventUtils;
|
||||||
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
||||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.NewWelfareEvent;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.NewWelfareTypeEnum;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||||
|
@ -99,6 +102,7 @@ public class UserManager {
|
||||||
user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH,0);
|
user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH,0);
|
||||||
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));
|
||||||
KtEventUtils.onKtEvent(user, ParamEventBean.UserRegister);
|
KtEventUtils.onKtEvent(user, ParamEventBean.UserRegister);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -92,6 +92,8 @@ public class GuildInfo extends MongoBase {
|
||||||
|
|
||||||
public void setAnnounce(String announce) {
|
public void setAnnounce(String announce) {
|
||||||
this.announce = announce;
|
this.announce = announce;
|
||||||
|
updateString("announce",announce);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getId() {
|
public int getId() {
|
||||||
|
@ -102,6 +104,12 @@ public class GuildInfo extends MongoBase {
|
||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
updateString("name",name);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public String getAnnounce() {
|
public String getAnnounce() {
|
||||||
return announce;
|
return announce;
|
||||||
}
|
}
|
||||||
|
|
|
@ -470,12 +470,12 @@ public class GuildFightLogic {
|
||||||
LuaValue getOptionData = FightDataUtil.getOptionData("");
|
LuaValue getOptionData = FightDataUtil.getOptionData("");
|
||||||
int seed = (int) (System.currentTimeMillis() / 1000);
|
int seed = (int) (System.currentTimeMillis() / 1000);
|
||||||
CommonProto.FightData fightData = CommonProto.FightData.newBuilder()
|
CommonProto.FightData fightData = CommonProto.FightData.newBuilder()
|
||||||
.setFightMaxTime(SArenaSetting.getSArenaSetting().getMostTime())
|
.setFightMaxTime(SGuildSetting.sGuildSetting.getWarTime())
|
||||||
.setFightSeed(seed)
|
.setFightSeed(seed)
|
||||||
.setHeroFightInfos(fightAttackTeamInfo)
|
.setHeroFightInfos(fightAttackTeamInfo)
|
||||||
.addMonsterList(fightDefendTeamInfo)
|
.addMonsterList(fightDefendTeamInfo)
|
||||||
.build();
|
.build();
|
||||||
int[] fightResult = CheckFight.getInstance().checkFight(seed, 1000, getFightData, getOptionData, FightType.GuildFight);
|
int[] fightResult = CheckFight.getInstance().checkFight(seed, SGuildSetting.sGuildSetting.getWarTime(), getFightData, getOptionData, FightType.GuildFight);
|
||||||
for (int i = 0; i < fightResult.length; i++) {
|
for (int i = 0; i < fightResult.length; i++) {
|
||||||
System.out.println(fightResult[i]);
|
System.out.println(fightResult[i]);
|
||||||
}
|
}
|
||||||
|
|
|
@ -87,9 +87,13 @@ public class GuildLogic {
|
||||||
int uid = session.getUid();
|
int uid = session.getUid();
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
int msgId = MessageTypeProto.MessageType.FAMILY_CREATE_RESPONSE_VALUE;
|
int msgId = MessageTypeProto.MessageType.FAMILY_CREATE_RESPONSE_VALUE;
|
||||||
String err = checkForCreateGuild(user, familyName, announce);
|
checkForCreateGuild(user, familyName, announce);
|
||||||
if(!"".equals(err)){
|
boolean enough= ItemUtil.itemCost(user, SGuildSetting.sGuildSetting.getCreatCost(), BIReason.CREATE_GUILD_CONSUME, 0);
|
||||||
throw new ErrorCodeException(ErrorCode.newDefineCode(err));
|
if(!enough){
|
||||||
|
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
||||||
|
}
|
||||||
|
if(user.getPlayerInfoManager().getGuildId()!=0){
|
||||||
|
throw new ErrorCodeException(ErrorCode.FAMILY_IN);
|
||||||
}
|
}
|
||||||
if(StringUtil.isEmpty(announce)){
|
if(StringUtil.isEmpty(announce)){
|
||||||
announce= SGuildSetting.sGuildSetting.getDefaultDeclaration();
|
announce= SGuildSetting.sGuildSetting.getDefaultDeclaration();
|
||||||
|
@ -111,37 +115,29 @@ public class GuildLogic {
|
||||||
MessageUtil.sendMessage(session,1,msgId,build,true);
|
MessageUtil.sendMessage(session,1,msgId,build,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static String checkForCreateGuild( User user,String familyName,String announce) throws Exception {
|
public static void checkForCreateGuild( User user,String familyName,String announce) throws Exception {
|
||||||
if(!Repot37EventUtil.Report37Chat(user, ChatContentType.FAMILY_NAME.getType(),announce)){
|
if(!Repot37EventUtil.Report37Chat(user, ChatContentType.FAMILY_NAME.getType(),announce)){
|
||||||
return "包含敏感字";
|
throw new ErrorCodeException(ErrorCode.FAMILY_IN_SENSITIVE);
|
||||||
}
|
}
|
||||||
if(StringUtil.isEmpty(familyName)){
|
if(StringUtil.isEmpty(familyName)){
|
||||||
return "名字不能为空";
|
throw new ErrorCodeException(ErrorCode.NULL_NAME);
|
||||||
}
|
}
|
||||||
boolean result = true;
|
boolean result = true;
|
||||||
if(!StringUtil.isEmpty(announce)){
|
if(!StringUtil.isEmpty(announce)){
|
||||||
result = ShieldedWordUtils.checkName(user,announce,false,ChatContentType.FAMILY_NAME);
|
result = ShieldedWordUtils.checkName(user,announce,false,ChatContentType.FAMILY_NAME);
|
||||||
if (!result) {
|
if (!result) {
|
||||||
return "包含敏感字";
|
throw new ErrorCodeException(ErrorCode.FAMILY_IN_SENSITIVE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(familyName.length()<SGuildSetting.sGuildSetting.getNameSize()[0]||familyName.length()>SGuildSetting.sGuildSetting.getNameSize()[1]){
|
if(familyName.length()<SGuildSetting.sGuildSetting.getNameSize()[0]||familyName.length()>SGuildSetting.sGuildSetting.getNameSize()[1]){
|
||||||
return "公会名长度不符";
|
throw new ErrorCodeException(ErrorCode.NAME_LENGTH_ERROR);
|
||||||
}
|
}
|
||||||
Map<Integer, GuildInfo> guildInfoMap = GuilidManager.guildInfoMap;
|
Map<Integer, GuildInfo> guildInfoMap = GuilidManager.guildInfoMap;
|
||||||
for(Map.Entry<Integer, GuildInfo> entry:guildInfoMap.entrySet()){
|
for(Map.Entry<Integer, GuildInfo> entry:guildInfoMap.entrySet()){
|
||||||
if(entry.getValue().getName().equals(familyName)){
|
if(entry.getValue().getName().equals(familyName)){
|
||||||
return "此名已存在";
|
throw new ErrorCodeException(ErrorCode.EXIST_NAME);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
boolean enough= ItemUtil.itemCost(user, SGuildSetting.sGuildSetting.getCreatCost(), BIReason.CREATE_GUILD_CONSUME, 0);
|
|
||||||
if(!enough){
|
|
||||||
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
|
||||||
}
|
|
||||||
if(user.getPlayerInfoManager().getGuildId()!=0){
|
|
||||||
throw new ErrorCodeException(ErrorCode.FAMILY_IN);
|
|
||||||
}
|
|
||||||
return "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -654,7 +650,7 @@ public class GuildLogic {
|
||||||
* @param session
|
* @param session
|
||||||
* @param content
|
* @param content
|
||||||
*/
|
*/
|
||||||
public static void changeNotice(ISession session,String content) throws Exception {
|
public static void changeNotice(ISession session,int type,String content) throws Exception {
|
||||||
int msgId = MessageTypeProto.MessageType.FAMILY_CHANGE_NOTICE_RESPONSE_VALUE;
|
int msgId = MessageTypeProto.MessageType.FAMILY_CHANGE_NOTICE_RESPONSE_VALUE;
|
||||||
int uid = session.getUid();
|
int uid = session.getUid();
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
|
@ -683,7 +679,17 @@ public class GuildLogic {
|
||||||
if(resultCode==0){
|
if(resultCode==0){
|
||||||
throw new ErrorCodeException(ErrorCode.FAMILY_IN_SENSITIVE);
|
throw new ErrorCodeException(ErrorCode.FAMILY_IN_SENSITIVE);
|
||||||
}else{
|
}else{
|
||||||
|
if(type==1){
|
||||||
guildInfo.setAnnounce(content);
|
guildInfo.setAnnounce(content);
|
||||||
|
}else{
|
||||||
|
checkForCreateGuild(user, content, guildInfo.getAnnounce());
|
||||||
|
int[][] renameCost = SGuildSetting.sGuildSetting.getRenameCost();
|
||||||
|
boolean b = ItemUtil.itemCost(user, renameCost, BIReason.FAMILY_RENAME, 1);
|
||||||
|
if(!b){
|
||||||
|
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH);
|
||||||
|
}
|
||||||
|
guildInfo.setName(content);
|
||||||
|
}
|
||||||
MessageUtil.sendMessage(session,resultCode,msgId,response,true);
|
MessageUtil.sendMessage(session,resultCode,msgId,response,true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -217,10 +217,15 @@ public class HeroLogic {
|
||||||
}
|
}
|
||||||
int[][] dropHeroAndItem = new int[length][];
|
int[][] dropHeroAndItem = new int[length][];
|
||||||
int randCount = 0;
|
int randCount = 0;
|
||||||
|
int poolCount = 0;
|
||||||
Map<Integer, Integer> totalCountMap = heroManager.getTotalCount();
|
Map<Integer, Integer> totalCountMap = heroManager.getTotalCount();
|
||||||
|
Map<Integer, Integer> randomPoolByType = heroManager.getRandomPoolByType();
|
||||||
if (totalCountMap.containsKey(type)) {
|
if (totalCountMap.containsKey(type)) {
|
||||||
randCount = totalCountMap.get(type);
|
randCount = totalCountMap.get(type);
|
||||||
}
|
}
|
||||||
|
if (randomPoolByType.containsKey(sLotterySetting.getMergePool())) {
|
||||||
|
poolCount = randomPoolByType.get(sLotterySetting.getMergePool());
|
||||||
|
}
|
||||||
int totalCount = 0;
|
int totalCount = 0;
|
||||||
for(Integer count : totalCountMap.values()){
|
for(Integer count : totalCountMap.values()){
|
||||||
totalCount+=count;
|
totalCount+=count;
|
||||||
|
@ -230,14 +235,20 @@ public class HeroLogic {
|
||||||
for(int i=0;i<perCount;i++){
|
for(int i=0;i<perCount;i++){
|
||||||
randCount++;
|
randCount++;
|
||||||
if(pooId == 0){
|
if(pooId == 0){
|
||||||
pooId = getSpecialPoolByRandcount(type, randCount);
|
pooId = getSpecialPoolByRandcount(type, randCount,poolCount);
|
||||||
if(pooId==0){
|
if(pooId==0){
|
||||||
pooId = getPooId(sLotterySetting, pooId);
|
pooId = getPooId(sLotterySetting, pooId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
LOGGER.info("the uid={},the type={},the poolId={}",uid,type,pooId);
|
LOGGER.info("the uid={},the type={},the poolId={}",uid,type,pooId);
|
||||||
totalCount++;
|
totalCount++;
|
||||||
int[] reward = randomHeroByPoolId(pooId,totalCount,user.getPlayerInfoManager().getLevel());
|
SLotteryRewardConfig sLotteryRewardConfig = randomHeroByPoolId(pooId, totalCount, user.getPlayerInfoManager().getLevel());
|
||||||
|
if(sLotteryRewardConfig.getStar() == 1){
|
||||||
|
poolCount=0;
|
||||||
|
}else{
|
||||||
|
poolCount++;
|
||||||
|
}
|
||||||
|
int[] reward =sLotteryRewardConfig.getReward();
|
||||||
if(reward!=null){
|
if(reward!=null){
|
||||||
dropHeroAndItem[j++] = reward;
|
dropHeroAndItem[j++] = reward;
|
||||||
}
|
}
|
||||||
|
@ -246,6 +257,7 @@ public class HeroLogic {
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
heroManager.updateRandPoolTypeCount(sLotterySetting.getMergePool(),poolCount);
|
||||||
|
|
||||||
//1群英招募
|
//1群英招募
|
||||||
HeroInfoProto.HeroRandResponse.Builder builder = HeroInfoProto.HeroRandResponse.newBuilder();
|
HeroInfoProto.HeroRandResponse.Builder builder = HeroInfoProto.HeroRandResponse.newBuilder();
|
||||||
|
@ -275,13 +287,17 @@ public class HeroLogic {
|
||||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.HERO_RAND_RESPONSE_VALUE, builder.build(), true);
|
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.HERO_RAND_RESPONSE_VALUE, builder.build(), true);
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getSpecialPoolByRandcount(int type, int randCount) {
|
private int getSpecialPoolByRandcount(int type, int randCount,int poolCount) {
|
||||||
List<SLotterySpecialConfig> list = SLotterySpecialConfig.getLotterySpecialConfigListByType(type);
|
List<SLotterySpecialConfig> list = SLotterySpecialConfig.getLotterySpecialConfigListByType(type);
|
||||||
if (list == null) {
|
if (list == null) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
int poolId = 0;
|
int poolId = 0;
|
||||||
for (SLotterySpecialConfig data : list) {
|
for (SLotterySpecialConfig data : list) {
|
||||||
|
if(data.getDifferentType() == 2 && poolCount==data.getCount()){
|
||||||
|
poolId = data.getpool_id();
|
||||||
|
break;
|
||||||
|
}
|
||||||
if (randCount % data.getCount() != 0) {
|
if (randCount % data.getCount() != 0) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -333,7 +349,7 @@ public class HeroLogic {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public int[] randomHeroByPoolId(int poolId,int randomCount,int userLevel){
|
public SLotteryRewardConfig randomHeroByPoolId(int poolId,int randomCount,int userLevel){
|
||||||
List<SLotteryRewardConfig> sLotteryRewardConfigs = new ArrayList<>();
|
List<SLotteryRewardConfig> sLotteryRewardConfigs = new ArrayList<>();
|
||||||
List<SLotteryRewardConfig> sLotteryRewardConfigListByPoolId = SLotteryRewardConfig.getSLotteryRewardConfigListByPoolId(poolId);
|
List<SLotteryRewardConfig> sLotteryRewardConfigListByPoolId = SLotteryRewardConfig.getSLotteryRewardConfigListByPoolId(poolId);
|
||||||
int totalCountByPoolId =0;
|
int totalCountByPoolId =0;
|
||||||
|
@ -363,7 +379,7 @@ public class HeroLogic {
|
||||||
for(SLotteryRewardConfig sLotteryRewardConfig :sLotteryRewardConfigs){
|
for(SLotteryRewardConfig sLotteryRewardConfig :sLotteryRewardConfigs){
|
||||||
weight += sLotteryRewardConfig.getWeight();
|
weight += sLotteryRewardConfig.getWeight();
|
||||||
if(weight>=randCount){
|
if(weight>=randCount){
|
||||||
return sLotteryRewardConfig.getReward();
|
return sLotteryRewardConfig;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -2097,5 +2113,14 @@ public class HeroLogic {
|
||||||
}
|
}
|
||||||
hero.setIsLock(lockState);
|
hero.setIsLock(lockState);
|
||||||
MessageUtil.sendMessage(session,1,responseMsgId,null,true);
|
MessageUtil.sendMessage(session,1,responseMsgId,null,true);
|
||||||
|
|
||||||
|
Map<Integer,Integer> pokemonAttributeMap = new HashMap<>();
|
||||||
|
Map<Integer, Pokemon> pokemonMap = user.getPokemonManager().getPokemonMap();
|
||||||
|
for(Pokemon pokemon : pokemonMap.values()){
|
||||||
|
combinePokemonAttribute(pokemonAttributeMap, pokemon,false);
|
||||||
|
}
|
||||||
|
for(Map.Entry<Integer,Integer> item : pokemonAttributeMap.entrySet()){
|
||||||
|
LOGGER.info("the proId={},the value={}",item.getKey(),item.getValue());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -444,10 +444,10 @@ public class MissionLoigc {
|
||||||
case LEVEL_STORY_PASS:
|
case LEVEL_STORY_PASS:
|
||||||
if(SMainLevelConfig.config.containsKey(missionSubType[0])){
|
if(SMainLevelConfig.config.containsKey(missionSubType[0])){
|
||||||
int virtureId = SMainLevelConfig.config.get(missionSubType[0]).getVirtureId();
|
int virtureId = SMainLevelConfig.config.get(missionSubType[0]).getVirtureId();
|
||||||
SMainLevelConfig mineMainLevelConfig = SMainLevelConfig.config.get(user.getMainLevelManager().getFightId());
|
|
||||||
if(user.getMainLevelManager().getState() == -1 ){
|
|
||||||
int fightId = user.getMainLevelManager().getFightId();
|
int fightId = user.getMainLevelManager().getFightId();
|
||||||
mineMainLevelConfig = SMainLevelConfig.fightPreMap.get(fightId);
|
SMainLevelConfig mineMainLevelConfig = SMainLevelConfig.fightPreMap.get(fightId);
|
||||||
|
if(user.getMainLevelManager().getState() == 2 ){
|
||||||
|
mineMainLevelConfig = SMainLevelConfig.config.get(user.getMainLevelManager().getFightId());
|
||||||
}
|
}
|
||||||
if(mineMainLevelConfig!=null){
|
if(mineMainLevelConfig!=null){
|
||||||
count =virtureId <= mineMainLevelConfig.getVirtureId() ?1:0;
|
count =virtureId <= mineMainLevelConfig.getVirtureId() ?1:0;
|
||||||
|
|
|
@ -8,25 +8,26 @@ public class ArenaChallengeManager implements BaseDataManager{
|
||||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||||
CumulationData.Result result = null;
|
CumulationData.Result result = null;
|
||||||
int fightResult = (int) parm[0];
|
int fightResult = (int) parm[0];
|
||||||
if(missionType == MissionType.ARENA_FIGHTSUCCES_TIMES){
|
if(missionType == MissionType.ARENA_SCORE){
|
||||||
if(fightResult==1){
|
|
||||||
data.arenaFightsuccesTimes++;
|
|
||||||
result = new CumulationData.Result(missionType);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(fightResult==-999){
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
if(missionType == MissionType.ARENA_CHALLENEGE_NUMS){
|
|
||||||
data.setArenaFightNums(data.getArenaFightNums()+1);
|
|
||||||
result = new CumulationData.Result(missionType);
|
|
||||||
}else if(missionType == MissionType.ARENA_SCORE){
|
|
||||||
int myscore = (int)parm[1];
|
int myscore = (int)parm[1];
|
||||||
if(myscore > data.getArenaScore()){
|
if(myscore > data.getArenaScore()){
|
||||||
data.setArenaScore(myscore);
|
data.setArenaScore(myscore);
|
||||||
result = new CumulationData.Result(missionType);
|
result = new CumulationData.Result(missionType);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if(fightResult==-999){
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
if(missionType == MissionType.ARENA_FIGHTSUCCES_TIMES){
|
||||||
|
if(fightResult==1){
|
||||||
|
data.arenaFightsuccesTimes++;
|
||||||
|
result = new CumulationData.Result(missionType);
|
||||||
|
}
|
||||||
|
}else if(missionType == MissionType.ARENA_CHALLENEGE_NUMS){
|
||||||
|
data.setArenaFightNums(data.getArenaFightNums()+1);
|
||||||
|
result = new CumulationData.Result(missionType);
|
||||||
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,7 @@ public class FightPlayDataManager implements BaseDataManager{
|
||||||
@Override
|
@Override
|
||||||
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
public CumulationData.Result updateData(CumulationData data, MissionType missionType, Object... parm) {
|
||||||
int type = (int)parm[0];
|
int type = (int)parm[0];
|
||||||
if(type == 3 && (missionType == MissionType.HERO_STORY_PLAY_TIMES || missionType == MissionType.HERO_STORY_TIMES)){
|
if(type == 3 && (missionType == MissionType.HERO_STORY_PLAY_TIMES)){
|
||||||
data.heroStoryPlayTimes+=(int)parm[1];
|
data.heroStoryPlayTimes+=(int)parm[1];
|
||||||
}else if(type == 999 && missionType == MissionType.INVASIONBOSS_PLAY_TIMES){
|
}else if(type == 999 && missionType == MissionType.INVASIONBOSS_PLAY_TIMES){
|
||||||
data.invasionbossPlayTimes+=(int)parm[1];
|
data.invasionbossPlayTimes+=(int)parm[1];
|
||||||
|
|
|
@ -11,6 +11,10 @@ import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
||||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||||
import com.ljsd.jieling.logic.activity.ActivityType;
|
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.NewWelfareEvent;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.NewWelfareTypeEnum;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.SecretEvent;
|
||||||
import com.ljsd.jieling.logic.dao.RechargeInfo;
|
import com.ljsd.jieling.logic.dao.RechargeInfo;
|
||||||
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;
|
||||||
|
@ -166,13 +170,14 @@ public class BuyGoodsLogic {
|
||||||
}
|
}
|
||||||
if(sRechargeCommodityConfig.getAccumulativeRecharge() == 1){
|
if(sRechargeCommodityConfig.getAccumulativeRecharge() == 1){
|
||||||
int saveAmt = rechargeInfo.getSaveAmt();
|
int saveAmt = rechargeInfo.getSaveAmt();
|
||||||
|
if(!StringUtil.isEmpty(rewardStr)){
|
||||||
int[][] costItemArr = StringUtil.parseFiledInt2(rewardStr);
|
int[][] costItemArr = StringUtil.parseFiledInt2(rewardStr);
|
||||||
for (int i = 0; i <costItemArr.length ; i++) {
|
for (int i = 0; i <costItemArr.length ; i++) {
|
||||||
if(costItemArr[i][0]==Global.SOULCRYSTAL){
|
if(costItemArr[i][0]==Global.SOULCRYSTAL){
|
||||||
rechargeInfo.addSoulCrystalAmt(costItemArr[i][1]);
|
rechargeInfo.addSoulCrystalAmt(costItemArr[i][1]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
rechargeInfo.setSaveAmt(price+saveAmt);
|
rechargeInfo.setSaveAmt(price+saveAmt);
|
||||||
user.getPlayerInfoManager().addRechargedaily(price);
|
user.getPlayerInfoManager().addRechargedaily(price);
|
||||||
//TODO 用事件分发
|
//TODO 用事件分发
|
||||||
|
@ -206,6 +211,7 @@ public class BuyGoodsLogic {
|
||||||
KtEventUtils.onKtEvent(user, ParamEventBean.UserPayEvent,goodsId,orderId,resultRes.getResultCode(),price);
|
KtEventUtils.onKtEvent(user, ParamEventBean.UserPayEvent,goodsId,orderId,resultRes.getResultCode(),price);
|
||||||
notifyPaySuccessFul(uid,goodsId,amount != -999);
|
notifyPaySuccessFul(uid,goodsId,amount != -999);
|
||||||
MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
||||||
|
Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.RECHARGE_BUY.getType(),goodsId));
|
||||||
return resultRes;
|
return resultRes;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ import com.ljsd.jieling.core.HandlerLogicThread;
|
||||||
import com.ljsd.jieling.db.redis.RedisKey;
|
import com.ljsd.jieling.db.redis.RedisKey;
|
||||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||||
import com.ljsd.jieling.handler.BaseHandler;
|
import com.ljsd.jieling.handler.BaseHandler;
|
||||||
|
import com.ljsd.jieling.handler.map.MapLogic;
|
||||||
import com.ljsd.jieling.ktbeans.KtEventUtils;
|
import com.ljsd.jieling.ktbeans.KtEventUtils;
|
||||||
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
import com.ljsd.jieling.ktbeans.parmsBean.ParamEventBean;
|
||||||
import com.ljsd.jieling.logic.GlobalDataManaager;
|
import com.ljsd.jieling.logic.GlobalDataManaager;
|
||||||
|
@ -208,6 +209,21 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
||||||
|
|
||||||
|
|
||||||
//<<<<<<< HEAD
|
//<<<<<<< HEAD
|
||||||
|
////<<<<<<< HEAD
|
||||||
|
////=======
|
||||||
|
//// public void processReconnect(ISession session) {
|
||||||
|
//// String key = RedisUtil.getInstence().getKey(RedisKey.INDICATION_OFFLINE, Integer.toString(session.getUid()));
|
||||||
|
//// Type type = new TypeToken<Map<Integer, ISession.IndicationMsg>>(){}.getType();
|
||||||
|
//// Object indicationInRedis = RedisUtil.getInstence().get(key);
|
||||||
|
//// int maxMsgId = 1;
|
||||||
|
//// if(indicationInRedis!=null){
|
||||||
|
//// Map<Integer, ISession.IndicationMsg> map= gson.fromJson(indicationInRedis.toString(),type);
|
||||||
|
//// for(Map.Entry<Integer,ISession.IndicationMsg> info : map.entrySet()){
|
||||||
|
//// session.writeAndFlush(info.getValue().getMsg());
|
||||||
|
//// session.putBackIndicationToMap(info.getKey(),info.getValue().getMsg());
|
||||||
|
//// if(info.getKey()>maxMsgId){
|
||||||
|
//// maxMsgId = info.getKey();
|
||||||
|
//// }
|
||||||
//=======
|
//=======
|
||||||
// public void processReconnect(ISession session) {
|
// public void processReconnect(ISession session) {
|
||||||
// String key = RedisUtil.getInstence().getKey(RedisKey.INDICATION_OFFLINE, Integer.toString(session.getUid()));
|
// String key = RedisUtil.getInstence().getKey(RedisKey.INDICATION_OFFLINE, Integer.toString(session.getUid()));
|
||||||
|
@ -259,6 +275,9 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
||||||
// PlayerInfoProto.UpdateBagIndication build = PlayerInfoProto.UpdateBagIndication.newBuilder().addAllItem(allItemList).setType(0).build();
|
// PlayerInfoProto.UpdateBagIndication build = PlayerInfoProto.UpdateBagIndication.newBuilder().addAllItem(allItemList).setType(0).build();
|
||||||
// MessageUtil.sendIndicationMessage(session,1,MessageTypeProto.MessageType.UPDATE_BAG_INDICATION_VALUE,build,true);
|
// MessageUtil.sendIndicationMessage(session,1,MessageTypeProto.MessageType.UPDATE_BAG_INDICATION_VALUE,build,true);
|
||||||
// }
|
// }
|
||||||
|
// if(userInMem.getMapManager().getEndlessMapInfo().getSeason()!=MapLogic.getEndlessSeason()){
|
||||||
|
// MapLogic.getInstance().endLessClear(session);
|
||||||
|
// }
|
||||||
// MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
// MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
||||||
// } catch (Exception e) {
|
// } catch (Exception e) {
|
||||||
// LOGGER.error("the uid={} processFlush wrong ,e={}",session.getUid(),e);
|
// LOGGER.error("the uid={} processFlush wrong ,e={}",session.getUid(),e);
|
||||||
|
@ -409,7 +428,7 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
||||||
// key = RedisUtil.getInstence().getKey(RedisKey.RESPONSE_OFFLINE, Integer.toString(session.getUid()));
|
// key = RedisUtil.getInstence().getKey(RedisKey.RESPONSE_OFFLINE, Integer.toString(session.getUid()));
|
||||||
// RedisUtil.getInstence().set(key,gson.toJson(session.getIndexToMessage()));
|
// RedisUtil.getInstence().set(key,gson.toJson(session.getIndexToMessage()));
|
||||||
// }
|
// }
|
||||||
//
|
|
||||||
//
|
//
|
||||||
// public boolean kickOldUser(int uid, String uToken, int errorCode, String errorMsg, long requestTime) {
|
// public boolean kickOldUser(int uid, String uToken, int errorCode, String errorMsg, long requestTime) {
|
||||||
// if (GameMessageHandler.currentSessions.size() != 0 && GameMessageHandler.currentSessions.keySet().contains(uid)) {
|
// if (GameMessageHandler.currentSessions.size() != 0 && GameMessageHandler.currentSessions.keySet().contains(uid)) {
|
||||||
|
@ -441,24 +460,244 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
||||||
//// // 那么当前连接应该已经断开,客户端不会收到该消息,则当前设备不会被踢下线
|
//// // 那么当前连接应该已经断开,客户端不会收到该消息,则当前设备不会被踢下线
|
||||||
//// //如果用其他设备登录,则当前设备能够收到这条消息,则当前设备被踢下线
|
//// //如果用其他设备登录,则当前设备能够收到这条消息,则当前设备被踢下线
|
||||||
//// errorCode = ErrorCode.LOGIN_IN_OTHER;
|
//// errorCode = ErrorCode.LOGIN_IN_OTHER;
|
||||||
|
//>>>>>>> 3c59042b88571e9eaa811ea7140537965aeac324
|
||||||
//// }
|
//// }
|
||||||
//// LOGGER.info("kickOldUser->uid={},errorCode={};sendErrorMessageByChannel!", uid, errorCode);
|
//// RedisUtil.getInstence().del(key);
|
||||||
//// sendErrorMessageByChannel(oldChannl, errorCode, errorMsg);
|
|
||||||
//// }
|
//// }
|
||||||
//
|
//// key = RedisUtil.getInstence().getKey(RedisKey.RESPONSE_OFFLINE, Integer.toString(session.getUid()));
|
||||||
// offLine(oldSession);
|
//// type = new TypeToken<Map<Integer, byte[]>>(){}.getType();
|
||||||
//// oldSession.close();
|
//// Object responsInRedis = RedisUtil.getInstence().get(key);
|
||||||
// return true;
|
//// session.setFiveReady(1);
|
||||||
// }
|
//// String indicationIndexInRedisKey = RedisUtil.getInstence().getKey(RedisKey.INDICATION_OFFLINE_INDEX, Integer.toString(session.getUid()));
|
||||||
//
|
//// String indicationIndexInRedis =(String) RedisUtil.getInstence().get(indicationIndexInRedisKey);
|
||||||
// @Override
|
//// if(!StringUtil.isEmpty(indicationIndexInRedis)){
|
||||||
// public void readIdel(GameSession gameSession) {
|
//// maxMsgId= Integer.parseInt(indicationIndexInRedis);
|
||||||
// // TODO
|
//// }
|
||||||
// final ISession session = (ISession) gameSession;
|
////
|
||||||
// readIdea(session);
|
//// session.updateIndicationIndex(maxMsgId);
|
||||||
// }
|
//// if(responsInRedis!=null){
|
||||||
//
|
//// Map<Integer, byte[]> response = gson.fromJson(responsInRedis.toString(), type);
|
||||||
//>>>>>>> 843e4f921d5bc65ced6568bf5fc4b58b2b17cf54
|
//// if(response!=null && !response.isEmpty()){
|
||||||
|
//// session.setIndexToMessage(new ConcurrentHashMap<Integer, byte[]> (response));
|
||||||
|
//// Integer index = response.keySet().iterator().next();
|
||||||
|
//// session.setIndex(index);
|
||||||
|
//// RedisUtil.getInstence().del(key);
|
||||||
|
//// LOGGER.info("the uid={} cache repsponse is ={},session={}",session.getUid(),index,session.getCtx().channel());
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// }
|
||||||
|
//// LOGGER.info("the uid={} reconnect,the maxid={} ",session.getUid(),maxMsgId);
|
||||||
|
//// User userInMem = UserManager.getUserInMem(session.getUid());
|
||||||
|
//// if(userInMem!=null){
|
||||||
|
//// ActivityLogic.getInstance().updateActivityMissionProgress(userInMem, ActivityType.OnlineReward,0);
|
||||||
|
//// try {
|
||||||
|
//// StoreLogic.checkStoreRefresh(userInMem,userInMem.getStoreManager().getStoreInfoMap());
|
||||||
|
//// GlobalDataManaager.checkNeedReFlush(session, userInMem, PlayerInfoProto.FivePlayerUpdateIndication.newBuilder());
|
||||||
|
//// List<CommonProto.Item> allItemList = ItemUtil.getAllItem(userInMem,false);
|
||||||
|
//// if(!allItemList.isEmpty()){
|
||||||
|
//// PlayerInfoProto.UpdateBagIndication build = PlayerInfoProto.UpdateBagIndication.newBuilder().addAllItem(allItemList).setType(0).build();
|
||||||
|
//// MessageUtil.sendIndicationMessage(session,1,MessageTypeProto.MessageType.UPDATE_BAG_INDICATION_VALUE,build,true);
|
||||||
|
//// }
|
||||||
|
//// MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
||||||
|
//// } catch (Exception e) {
|
||||||
|
//// LOGGER.error("the uid={} processFlush wrong ,e={}",session.getUid(),e);
|
||||||
|
//// }
|
||||||
|
//// }
|
||||||
|
//// MessageUtil.sendMessageWithoutBack(session,1, MessageTypeProto.MessageType.RECONNECT_RESPONSE_VALUE,null,true);
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// private boolean sessionInit(ISession session, PacketNetData packetNetData) {
|
||||||
|
//// int uid = packetNetData.getUserId();
|
||||||
|
//// int token = packetNetData.getToken();
|
||||||
|
//// session.setUid(uid);
|
||||||
|
//// String tokenKey = RedisKey.getKey(RedisKey.TOKEN, String.valueOf(uid),false);
|
||||||
|
//// if(null==tokenKey||tokenKey.isEmpty()){
|
||||||
|
//// return false;
|
||||||
|
//// }
|
||||||
|
//// String tokenK = (String)RedisUtil.getInstence().get(tokenKey);
|
||||||
|
//// if(null==tokenK||tokenK.isEmpty()){
|
||||||
|
//// return false;
|
||||||
|
//// }
|
||||||
|
//// int serverToken = Integer.parseInt((String)RedisUtil.getInstence().get(tokenKey));
|
||||||
|
//// if (token == serverToken){
|
||||||
|
//// session.setToken(token);
|
||||||
|
//// session.setUserLoginTime(System.currentTimeMillis()/1000);
|
||||||
|
//// return true;
|
||||||
|
//// }
|
||||||
|
//// return true;
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
////
|
||||||
|
//// private int dealRepeatLogin(ISession newSession) {
|
||||||
|
//// int uid = newSession.getUid();
|
||||||
|
//// if (OnlineUserManager.checkUidOnline(uid)){
|
||||||
|
//// ISession iSession = OnlineUserManager.getSessionByUid(uid);
|
||||||
|
//// if(iSession == newSession){
|
||||||
|
//// return 0;
|
||||||
|
//// }
|
||||||
|
//// serverKick(iSession,"您的账号已经在其他设备上登陆,请确认账号安全!");
|
||||||
|
//// return 1;
|
||||||
|
//// }
|
||||||
|
//// return 0;
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// private int checkIndex(ISession iSession, PacketNetData packetNetData) {
|
||||||
|
//// /* if(packetNetData.getMsgId() == MessageTypeProto.MessageType.LOGIN_REQUEST_VALUE || packetNetData.getMsgId() == MessageTypeProto.MessageType.RECONNECT_REQUEST_VALUE){
|
||||||
|
//// return 0;
|
||||||
|
//// }*/
|
||||||
|
//// int index = packetNetData.getIndex();
|
||||||
|
//// if (iSession.getIndex() >= index){
|
||||||
|
//// byte[] message = iSession.getCacheMessage(index);
|
||||||
|
//// if (message==null){
|
||||||
|
//// //TODO error
|
||||||
|
//// LOGGER.info("the uid={},the msg={} is processing,the index={},the sessionIndex={}",iSession.getUid(), MessageTypeProto.MessageType.valueOf(packetNetData.getMsgId()),index,iSession.getIndex());
|
||||||
|
//// return 1;
|
||||||
|
//// }else {
|
||||||
|
//// LOGGER.info("the uid={},the msg={} reback",iSession.getUid(), MessageTypeProto.MessageType.valueOf(packetNetData.getMsgId()));
|
||||||
|
//// iSession.writeAndFlush(message);
|
||||||
|
//// return 1;
|
||||||
|
//// }
|
||||||
|
//// }else {
|
||||||
|
//// iSession.setIndex(index);
|
||||||
|
//// }
|
||||||
|
//// return 0;
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// private void ackIndication(ISession iSession, int ackId) {
|
||||||
|
//// LOGGER.info("the uid={},the ackId={}",iSession.getUid(),ackId);
|
||||||
|
//// iSession.clearIndication(ackId);
|
||||||
|
//// MessageUtil.sendAck(iSession,ackId);
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// private void dealHeartBeat(ISession session) {
|
||||||
|
//// session.setHeartBreatNums(3);
|
||||||
|
//// MessageUtil.sendHeartBeat(session);
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// private int checkToken(ISession session, PacketNetData packetNetData) {
|
||||||
|
//// if (session.getToken() != packetNetData.getToken()){
|
||||||
|
//// return 1;
|
||||||
|
//// }
|
||||||
|
//// return 0;
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
////
|
||||||
|
//// @Override
|
||||||
|
//// public void offLine(GameSession gameSession) {
|
||||||
|
////
|
||||||
|
//// ISession session = (ISession) gameSession;
|
||||||
|
//// LOGGER.info("player offLine ..{}",session.getUid());
|
||||||
|
//// synchronized (session) {
|
||||||
|
//// if (session.getUid() == 0) {
|
||||||
|
//// LOGGER.error("offLine->uid={}", session.getUid());
|
||||||
|
//// return;
|
||||||
|
//// }
|
||||||
|
//// if(session.getOfflineType() == ErrorCode.reloginCode){
|
||||||
|
//// return;
|
||||||
|
//// }
|
||||||
|
//// User user = UserManager.getUserInMem(session.getUid());
|
||||||
|
//// if(user == null){
|
||||||
|
//// LOGGER.info("the uid={},not in mem",session.getUid());
|
||||||
|
//// return;
|
||||||
|
//// }
|
||||||
|
//// KtEventUtils.onKtEvent(user, ParamEventBean.UserLoginOutEvent,1);
|
||||||
|
//// KtEventUtils.onKtEvent(user, ParamEventBean.UserLogin,1);
|
||||||
|
//// LOGGER.info("player={} offLine ...",user.getId());
|
||||||
|
//// OnlineUserManager.userOffline(session.getUid());
|
||||||
|
//// if (session.getCtx() != null) {
|
||||||
|
//// GameMessageHandler.allChannels.remove(session.getCtx().channel());
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// GameMessageHandler.currentSessions.remove(session.getUid());
|
||||||
|
//// processUserOfflineData(user,session);
|
||||||
|
////
|
||||||
|
//// }
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// private void processUserOfflineData(User user,ISession session){
|
||||||
|
//// try {
|
||||||
|
//// GuildLogic.updateMyPos(user);
|
||||||
|
//// if(session.getFiveReady()==1){
|
||||||
|
//// PlayerManager playerInfoManager = user.getPlayerInfoManager();
|
||||||
|
//// playerInfoManager.setOffLineTime(TimeUtils.now());
|
||||||
|
//// long onlineTime = playerInfoManager.getOffLineTime() - session.getLoginTime();
|
||||||
|
//// playerInfoManager.addOnlineTime(onlineTime);
|
||||||
|
//// //更新在线时长
|
||||||
|
//// ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.OnlineReward,(int)(onlineTime/TimeUtils.ONE_SECOND));
|
||||||
|
//// MongoUtil.getInstence().lastUpdate();
|
||||||
|
//// session.setFiveReady(0);
|
||||||
|
//// }
|
||||||
|
//// backUpMsgToRedis(session);
|
||||||
|
//// } catch (Exception e) {
|
||||||
|
//// e.printStackTrace();
|
||||||
|
//// } finally {
|
||||||
|
//// //保证数据的保存
|
||||||
|
//// }
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// private void backUpMsgToRedis(ISession session){
|
||||||
|
//// ConcurrentHashMap<Integer, ISession.IndicationMsg> indexToIndication = session.getIndexToIndication();
|
||||||
|
//// LOGGER.info("the uid={} offline.the indication size={}",session.getUid(),indexToIndication.size());
|
||||||
|
//// if(!indexToIndication.isEmpty() ){
|
||||||
|
//// String key = RedisUtil.getInstence().getKey(RedisKey.INDICATION_OFFLINE, Integer.toString(session.getUid()));
|
||||||
|
//// RedisUtil.getInstence().set(key,gson.toJson(indexToIndication));
|
||||||
|
//// }
|
||||||
|
//// String key = RedisUtil.getInstence().getKey(RedisKey.INDICATION_OFFLINE_INDEX, Integer.toString(session.getUid()));
|
||||||
|
//// RedisUtil.getInstence().set(key,String.valueOf(session.getIndicationIndex()));
|
||||||
|
////
|
||||||
|
//// key = RedisUtil.getInstence().getKey(RedisKey.RESPONSE_OFFLINE, Integer.toString(session.getUid()));
|
||||||
|
//// RedisUtil.getInstence().set(key,gson.toJson(session.getIndexToMessage()));
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
////
|
||||||
|
//// public boolean kickOldUser(int uid, String uToken, int errorCode, String errorMsg, long requestTime) {
|
||||||
|
//// if (GameMessageHandler.currentSessions.size() != 0 && GameMessageHandler.currentSessions.keySet().contains(uid)) {
|
||||||
|
//// if (requestTime != 0 && requestTime < GameMessageHandler.currentSessions.get(uid).getUserLoginTime()) {
|
||||||
|
//// LOGGER.info("kickOldUser->uid={},requestTime={},userLoginTime={}",
|
||||||
|
//// uid, requestTime, GameMessageHandler.currentSessions.get(uid).getUserLoginTime());
|
||||||
|
//// return false;
|
||||||
|
//// }
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// if (!OnlineUserManager.checkUidOnline(uid)) {
|
||||||
|
//// LOGGER.info("kickOldUser->uid={};isNotOnline", uid);
|
||||||
|
//// return false;
|
||||||
|
//// }
|
||||||
|
//// ISession oldSession = OnlineUserManager.getSessionByUid(uid);
|
||||||
|
//// if (oldSession == null) {
|
||||||
|
//// LOGGER.info("kickOldUser->uid={};oldSessionisNull", uid);
|
||||||
|
//// OnlineUserManager.userOffline(uid);
|
||||||
|
//// return false;
|
||||||
|
//// }
|
||||||
|
//// oldSession.setOfflineType(errorCode);
|
||||||
|
////
|
||||||
|
////// if (oldSession.getCtx() != null && !uToken.equals(oldSession.getToken())) {
|
||||||
|
////// Channel oldChannl = oldSession.getCtx().channel();
|
||||||
|
////// if (errorCode == ErrorCode.LOGIN_IN_OTHER_GAMESERVER) {
|
||||||
|
////// OnlineUserLogics.removeFromOnline(uid);
|
||||||
|
////// //转化为踢人消息,
|
||||||
|
////// // 如果当前设备重新登录或重连,登录的其他服务器
|
||||||
|
////// // 那么当前连接应该已经断开,客户端不会收到该消息,则当前设备不会被踢下线
|
||||||
|
////// //如果用其他设备登录,则当前设备能够收到这条消息,则当前设备被踢下线
|
||||||
|
////// errorCode = ErrorCode.LOGIN_IN_OTHER;
|
||||||
|
////// }
|
||||||
|
////// LOGGER.info("kickOldUser->uid={},errorCode={};sendErrorMessageByChannel!", uid, errorCode);
|
||||||
|
////// sendErrorMessageByChannel(oldChannl, errorCode, errorMsg);
|
||||||
|
////// }
|
||||||
|
////
|
||||||
|
//// offLine(oldSession);
|
||||||
|
////// oldSession.close();
|
||||||
|
//// return true;
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
//// @Override
|
||||||
|
//// public void readIdel(GameSession gameSession) {
|
||||||
|
//// // TODO
|
||||||
|
//// final ISession session = (ISession) gameSession;
|
||||||
|
//// readIdea(session);
|
||||||
|
//// }
|
||||||
|
////
|
||||||
|
////>>>>>>> 843e4f921d5bc65ced6568bf5fc4b58b2b17cf54
|
||||||
public BaseHandler getHandler(int msgNum) {
|
public BaseHandler getHandler(int msgNum) {
|
||||||
return handlers.get(msgNum);
|
return handlers.get(msgNum);
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,8 @@ dependencies {
|
||||||
compile project(":gamecommon")
|
compile project(":gamecommon")
|
||||||
testCompile group: 'junit', name: 'junit', version: '4.12'
|
testCompile group: 'junit', name: 'junit', version: '4.12'
|
||||||
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
|
compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.25'
|
||||||
compile("com.fasterxml.jackson.core:jackson-core:2.3.1")
|
compile("com.fasterxml.jackson.core:jackson-core:2.10.1")
|
||||||
compile("com.fasterxml.jackson.core:jackson-databind:2.3.3")
|
compile("com.fasterxml.jackson.core:jackson-databind:2.10.1")
|
||||||
}
|
}
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
|
|
|
@ -39,6 +39,8 @@ public class SGlobalActivity implements BaseConfig {
|
||||||
|
|
||||||
private int openRanking;
|
private int openRanking;
|
||||||
|
|
||||||
|
private int[] openRules;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
|
@ -130,4 +132,8 @@ public class SGlobalActivity implements BaseConfig {
|
||||||
public int getOpenRanking() {
|
public int getOpenRanking() {
|
||||||
return openRanking;
|
return openRanking;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int[] getOpenRules() {
|
||||||
|
return openRules;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -64,6 +64,10 @@ public class SGuildSetting implements BaseConfig {
|
||||||
|
|
||||||
private String participation;
|
private String participation;
|
||||||
|
|
||||||
|
private int warTime;
|
||||||
|
|
||||||
|
private int[][] renameCost;
|
||||||
|
|
||||||
public static SGuildSetting sGuildSetting;
|
public static SGuildSetting sGuildSetting;
|
||||||
|
|
||||||
|
|
||||||
|
@ -189,4 +193,12 @@ public class SGuildSetting implements BaseConfig {
|
||||||
public String getParticipation() {
|
public String getParticipation() {
|
||||||
return participation;
|
return participation;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getWarTime() {
|
||||||
|
return warTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[][] getRenameCost() {
|
||||||
|
return renameCost;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -23,6 +23,8 @@ public class SLotteryRewardConfig implements BaseConfig {
|
||||||
|
|
||||||
private int[] openRules;
|
private int[] openRules;
|
||||||
|
|
||||||
|
private int star;
|
||||||
|
|
||||||
private static Map<Integer, List<SLotteryRewardConfig>> sLotteryRewardConfigsByPoolId;
|
private static Map<Integer, List<SLotteryRewardConfig>> sLotteryRewardConfigsByPoolId;
|
||||||
private static Map<Integer, Integer> sLotteryRewardWeightByPoolId;
|
private static Map<Integer, Integer> sLotteryRewardWeightByPoolId;
|
||||||
|
|
||||||
|
@ -82,4 +84,8 @@ public class SLotteryRewardConfig implements BaseConfig {
|
||||||
public int[] getOpenRules() {
|
public int[] getOpenRules() {
|
||||||
return openRules;
|
return openRules;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getStar() {
|
||||||
|
return star;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -31,6 +31,8 @@ public class SLotterySetting implements BaseConfig {
|
||||||
|
|
||||||
private int lotteryType;
|
private int lotteryType;
|
||||||
|
|
||||||
|
private int mergePool;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void init() throws Exception {
|
public void init() throws Exception {
|
||||||
|
@ -89,4 +91,8 @@ public class SLotterySetting implements BaseConfig {
|
||||||
public int getLotteryType() {
|
public int getLotteryType() {
|
||||||
return lotteryType;
|
return lotteryType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getMergePool() {
|
||||||
|
return mergePool;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -13,6 +13,8 @@ public class SLotterySpecialConfig implements BaseConfig {
|
||||||
|
|
||||||
private int id;
|
private int id;
|
||||||
|
|
||||||
|
private int differentType;
|
||||||
|
|
||||||
private int type;
|
private int type;
|
||||||
|
|
||||||
private int count;
|
private int count;
|
||||||
|
@ -23,6 +25,7 @@ public class SLotterySpecialConfig implements BaseConfig {
|
||||||
|
|
||||||
private int pool_id;
|
private int pool_id;
|
||||||
|
|
||||||
|
|
||||||
private static Map<Integer, List<SLotterySpecialConfig>> lotterySpecialConfigMap;
|
private static Map<Integer, List<SLotterySpecialConfig>> lotterySpecialConfigMap;
|
||||||
|
|
||||||
|
|
||||||
|
@ -68,5 +71,7 @@ public class SLotterySpecialConfig implements BaseConfig {
|
||||||
return pool_id;
|
return pool_id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getDifferentType() {
|
||||||
|
return differentType;
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue