Merge branch 'master' of 60.1.1.230:backend/jieling_server

back_recharge
wangyuan 2019-08-09 10:08:07 +08:00
commit aa519b6112
18 changed files with 100 additions and 61 deletions

View File

@ -44,7 +44,7 @@ public class SActivityRankingReward implements BaseConfig {
} }
public static List<SActivityRankingReward> getsActivityRankingRewardMapByActivityId(int Id) { public static List<SActivityRankingReward> getsActivityRankingRewardMapByActivityId(int Id) {
return sActivityRankingRewardMapByActivityId.get(Id); return sActivityRankingRewardMapByActivityId.getOrDefault(Id,null);
} }
public int getId() { public int getId() {

View File

@ -3,6 +3,7 @@ package com.ljsd.jieling.core;
public interface GlobalsDef { public interface GlobalsDef {
String DEFAULT_NAME = "无名妖灵师"; String DEFAULT_NAME = "无名妖灵师";
int MAP_MISSION_RETURN = -9999; int MAP_MISSION_RETURN = -9999;
int MAP_MISSION_FAILURE = -10000;
int CHAIRMAN = 1; int CHAIRMAN = 1;
int ADMINISTRATORS =2; int ADMINISTRATORS =2;

View File

@ -76,9 +76,7 @@ public class HandlerLogicThread extends Thread{
//日后删除 //日后删除
whiteMsg.add(MessageTypeProto.MessageType.GET_CHAT_MESSAGE_REQUEST_VALUE); whiteMsg.add(MessageTypeProto.MessageType.GET_CHAT_MESSAGE_REQUEST_VALUE);
whiteMsg.add(MessageTypeProto.MessageType.SERVER_FIVE_REQEUST_VALUE);
} }

View File

@ -565,8 +565,11 @@ public class MapLogic {
cost[0]= new int[]{costId,costNum}; cost[0]= new int[]{costId,costNum};
boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1); boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1);
if(!costResult){ if(!costResult){
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!"); costNum = user.getItemManager().getItem(costId).getItemNum();
return; cost[0][1]= costNum;
ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1);
// MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!");
// return;
} }
} }

View File

@ -126,7 +126,7 @@ public class MapMissionManager {
continue; continue;
} }
int[][] values = sAccomplishmentConfig.getValues(); int[][] values = sAccomplishmentConfig.getValues();
int targetEventValue = values[1][0]; int targetEventValue = values[values.length-1][0];
allMissionProgress.put(missionId,updateValue); allMissionProgress.put(missionId,updateValue);
needUpdate = true; needUpdate = true;
MissionState misisionState = MissionState.DOING; MissionState misisionState = MissionState.DOING;
@ -134,12 +134,15 @@ public class MapMissionManager {
int score = sAccomplishmentConfig.getScore(); int score = sAccomplishmentConfig.getScore();
addScore+=score; addScore+=score;
misisionState= MissionState.FINISH; misisionState= MissionState.FINISH;
// missionValue = updateValue;
} }
if(updateValue == -1){ if(updateValue == -1){
missionValue=1; updateValue=1;
}else if(updateValue < -1){
updateValue=0;
} }
if(copyMissionUpdate){ if(copyMissionUpdate){
MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(missionId,misisionState,missionValue); MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(missionId,misisionState,updateValue);
readySendCopyMission(missionStateChangeInfo); readySendCopyMission(missionStateChangeInfo);
} }
} }

View File

@ -12,9 +12,12 @@ public class FinishOptionsDifficultMapProcessor implements BaseMissionProcesor{
public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType,int missionValue) { public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType,int missionValue) {
MapManager mapManager = user.getMapManager(); MapManager mapManager = user.getMapManager();
SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()); SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId());
if(sChallengeConfig.getDifficultType()!=sAccomplishmentConfig.getValues()[1][0]){ if(sChallengeConfig.getDifficultType()!=sAccomplishmentConfig.getValues()[sAccomplishmentConfig.getValues().length-1][0]){
return GlobalsDef.MAP_MISSION_RETURN; return GlobalsDef.MAP_MISSION_RETURN;
} }
if(missionValue==-1){
return GlobalsDef.MAP_MISSION_RETURN;
}
int[][] value = sAccomplishmentConfig.getValues(); int[][] value = sAccomplishmentConfig.getValues();
missionValue = 0-missionValue; missionValue = 0-missionValue;
for(int i = 0 ; i <value.length-1;i++){ for(int i = 0 ; i <value.length-1;i++){
@ -24,8 +27,8 @@ public class FinishOptionsDifficultMapProcessor implements BaseMissionProcesor{
} }
} }
} }
if(missionValue+2>>(value.length+1)==1){ if((missionValue+2>>value.length)==1){
return 1; missionValue = -1;
}else{ }else{
missionValue = 0-missionValue; missionValue = 0-missionValue;
} }

View File

@ -10,6 +10,9 @@ import com.ljsd.jieling.logic.dao.root.User;
public class KillBossInTimeDifficultProcessor implements BaseMissionProcesor { public class KillBossInTimeDifficultProcessor implements BaseMissionProcesor {
@Override @Override
public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType,int missionValue) { public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType,int missionValue) {
if(missionValue==-1){
return GlobalsDef.MAP_MISSION_RETURN;
}
MapManager mapManager = user.getMapManager(); MapManager mapManager = user.getMapManager();
SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()); SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId());
if(sChallengeConfig.getDifficultType()!=sAccomplishmentConfig.getValues()[0][0]){ if(sChallengeConfig.getDifficultType()!=sAccomplishmentConfig.getValues()[0][0]){
@ -19,7 +22,7 @@ public class KillBossInTimeDifficultProcessor implements BaseMissionProcesor {
return GlobalsDef.MAP_MISSION_RETURN; return GlobalsDef.MAP_MISSION_RETURN;
} }
if(time<sAccomplishmentConfig.getValues()[1][0]){ if(time<sAccomplishmentConfig.getValues()[1][0]){
return 1; return -1;
} }
return GlobalsDef.MAP_MISSION_RETURN; return GlobalsDef.MAP_MISSION_RETURN;
} }

View File

@ -10,15 +10,15 @@ import com.ljsd.jieling.logic.dao.root.User;
public class KillMonsterAccProcessor implements BaseMissionProcesor{ public class KillMonsterAccProcessor implements BaseMissionProcesor{
@Override @Override
public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType, int missionValue) { public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType, int missionValue) {
if(missionValue==-1){
return GlobalsDef.MAP_MISSION_RETURN;
}
int[][] configValues = sAccomplishmentConfig.getValues(); int[][] configValues = sAccomplishmentConfig.getValues();
MapManager mapManager = user.getMapManager(); MapManager mapManager = user.getMapManager();
SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId()); SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId());
if(configValues[0][0]!=0 && sChallengeConfig.getDifficultType()!=configValues[0][0]){ if(configValues[0][0]!=0 && sChallengeConfig.getDifficultType()!=configValues[0][0]){
return GlobalsDef.MAP_MISSION_RETURN; return GlobalsDef.MAP_MISSION_RETURN;
} }
if(missionValue==configValues[configValues.length-1][0]){
return GlobalsDef.MAP_MISSION_RETURN;
}
if(configValues[0].length<2){ if(configValues[0].length<2){
return GlobalsDef.MAP_MISSION_RETURN; return GlobalsDef.MAP_MISSION_RETURN;
} }
@ -30,9 +30,6 @@ public class KillMonsterAccProcessor implements BaseMissionProcesor{
} }
missionValue++; missionValue++;
} }
if(missionValue==configValues[1][0]){
missionValue = -1;
}
return missionValue; return missionValue;
} }
} }

View File

@ -10,7 +10,7 @@ import com.ljsd.jieling.logic.dao.root.User;
public class NotEventFinishEventDifficultMapProcessor implements BaseMissionProcesor { public class NotEventFinishEventDifficultMapProcessor implements BaseMissionProcesor {
@Override @Override
public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType, int missionValue) { public int checkAndUpdateMissionProcessor(User user, SAccomplishmentConfig sAccomplishmentConfig, int eventId, int time, MapMissionType mapMissionType, int missionValue) {
if(missionValue==-1){ if(missionValue==-1||missionValue==GlobalsDef.MAP_MISSION_FAILURE){
return GlobalsDef.MAP_MISSION_RETURN; return GlobalsDef.MAP_MISSION_RETURN;
} }
@ -31,20 +31,19 @@ public class NotEventFinishEventDifficultMapProcessor implements BaseMissionProc
break; break;
} }
if(eventId==skipEvent[i]){ if(eventId==skipEvent[i]){
missionValue = skipEvent[i]; missionValue = -10000;
return missionValue;
} }
} }
if(flag){ if(flag){
for(int i = 0 ; i < finishEvent.length;i++){ for(int i = 0 ; i < finishEvent.length;i++){
if(eventId==finishEvent[i]){ if(eventId==finishEvent[i]){
if(missionValue<0){ if(missionValue<0){
if(missionValue==-1){ missionValue++;
break;
}
missionValue = missionValue/2;
}else{ }else{
missionValue =0-1<<(configValues[1][1]-1); missionValue =0-configValues[2][1];
} }
break;
} }
} }
} }

View File

@ -57,6 +57,7 @@ public class ActivityLogic {
user.getPlayerInfoManager().setRechargedaily(0); user.getPlayerInfoManager().setRechargedaily(0);
updateActivityMissionProgress(user, ActivityType.SevenLogin, 1); updateActivityMissionProgress(user, ActivityType.SevenLogin, 1);
upFivePlayerActivity(user, ActivityType.SevenLogin, fBuilder); upFivePlayerActivity(user, ActivityType.SevenLogin, fBuilder);
upFivePlayerActivity(user, ActivityType.RECHARGE_SUM_DAY, fBuilder);
upFivePlayerActivity(user, ActivityType.DAILY_RECHARGE, fBuilder); upFivePlayerActivity(user, ActivityType.DAILY_RECHARGE, fBuilder);
} }
@ -121,15 +122,13 @@ public class ActivityLogic {
ActivityManager activityManager = user.getActivityManager(); ActivityManager activityManager = user.getActivityManager();
Map<Integer, SGlobalActivity> sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap(); Map<Integer, SGlobalActivity> sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap();
for (Integer openActivityId : openActivityIds) { for (Integer openActivityId : openActivityIds) {
if (activityManager.initAllActivityMission(openActivityId)) { SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(openActivityId);
continue; if(!initOtherActivity(user, sGlobalActivity)){
} activityManager.initAllActivityMission(openActivityId);
if(activityManager.getActivityMissionMap().containsKey(openActivityId)){
continue;
} }
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(openActivityId); AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(openActivityId);
if (abstractActivity == null) { if (abstractActivity == null) {
break; continue;
} }
abstractActivity.initActivity(user); abstractActivity.initActivity(user);
} }
@ -164,8 +163,9 @@ public class ActivityLogic {
if (activityMission != null) { if (activityMission != null) {
continue; continue;
} }
activityManager.initAllActivityMission(activityId); if(!initOtherActivity(user, sGlobalActivity)){
initOtherActivity(user, sGlobalActivity); activityManager.initAllActivityMission(activityId);
}
openNewActivityIds.add(activityId); openNewActivityIds.add(activityId);
} else { } else {
ActivityMission activityMission = activityMissionMap.get(activityId); ActivityMission activityMission = activityMissionMap.get(activityId);
@ -183,22 +183,24 @@ public class ActivityLogic {
} }
public void initOtherActivity(User user, SGlobalActivity sGlobalActivity) throws Exception { public boolean initOtherActivity(User user, SGlobalActivity sGlobalActivity) throws Exception {
int type = sGlobalActivity.getType(); int type = sGlobalActivity.getType();
switch (type) { switch (type) {
case ActivityType.BLESSACTIVITY: case ActivityType.BLESSACTIVITY:
blessInfoInit(user.getActivityManager(), sGlobalActivity.getId()); blessInfoInit(user.getActivityManager(), sGlobalActivity.getId());
break; return true;
case ActivityType.TREASURE: case ActivityType.TREASURE:
case ActivityType.LUCKYCAT: case ActivityType.LUCKYCAT:
case ActivityType.SERVERHAPPY: case ActivityType.SERVERHAPPY:
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(sGlobalActivity.getId()); AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(sGlobalActivity.getId());
if (abstractActivity == null) { if (abstractActivity == null) {
break; return false;
} }
abstractActivity.initActivity(user); abstractActivity.initActivity(user);
return true;
default:
return false;
} }
} }

View File

@ -10,7 +10,8 @@ class CopyExpectRankActivity extends ExpectRankActivity {
public CopyExpectRankActivity(int id) { public CopyExpectRankActivity(int id) {
super(id); super(id);
Poster.getPoster().listenEvent(this, StoryEvent.class); //策划说 这个排行榜不开 以后可能会有
// Poster.getPoster().listenEvent(this, StoryEvent.class);
} }
@Override @Override

View File

@ -59,6 +59,8 @@ class ExpectRankActivity extends AbstractActivity {
public void onActivityEnd() throws Exception { public void onActivityEnd() throws Exception {
List<SActivityRankingReward> sActivityRankingReward = SActivityRankingReward.getsActivityRankingRewardMapByActivityId(id); List<SActivityRankingReward> sActivityRankingReward = SActivityRankingReward.getsActivityRankingRewardMapByActivityId(id);
if(null==sActivityRankingReward)
return;
int maxRank = 0; int maxRank = 0;
Map<Integer, Integer> rank2miss = new HashMap<>(); Map<Integer, Integer> rank2miss = new HashMap<>();
for (SActivityRankingReward sActivityRankingReward1 : sActivityRankingReward) { for (SActivityRankingReward sActivityRankingReward1 : sActivityRankingReward) {

View File

@ -2,16 +2,18 @@ package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.config.SActivityRewardConfig; import com.ljsd.jieling.config.SActivityRewardConfig;
import com.ljsd.jieling.db.redis.RedisKey; import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.logic.activity.event.HeroUpStarEvent; import com.ljsd.jieling.logic.activity.event.HeroUpStarEvent;
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.ActivityMission;
import com.ljsd.jieling.logic.dao.Hero; import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
import com.ljsd.jieling.logic.dao.HeroManager;
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.network.session.ISession;
import com.ljsd.jieling.util.MessageUtil;
import java.util.Map;
class HeroUpExpectRankActivity extends ExpectRankActivity { class HeroUpExpectRankActivity extends ExpectRankActivity {
@ -22,28 +24,44 @@ class HeroUpExpectRankActivity extends ExpectRankActivity {
@Override @Override
public void onEvent(IEvent event) throws Exception { public void onEvent(IEvent event) throws Exception {
if (!(event instanceof HeroUpExpectRankActivity)) if (!(event instanceof HeroUpStarEvent))
return; return;
User user = UserManager.getUser(((HeroUpStarEvent) event).getUid()); User user = UserManager.getUser(((HeroUpStarEvent) event).getUid());
HeroManager heroManager = user.getHeroManager(); ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).get(0); Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityProgressInfoMap();
if(sActivityRewardConfig==null)
return; for (SActivityRewardConfig sActivityRewardConfig : SActivityRewardConfig.getsActivityRewardConfigByActivityId(id)) {
int count = 0; if (((HeroUpStarEvent) event).getStar() == sActivityRewardConfig.getValues()[0][0]) {
for (Hero targetHero:heroManager.getHeroMap().values()) { ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(sActivityRewardConfig.getId(), null);
if(targetHero.getStar()>=sActivityRewardConfig.getValues()[0][0]){ if (null == activityProgressInfo)
count++; continue;
activityProgressInfo.setProgrss(activityProgressInfo.getProgrss() + 1);
activityMission.updateProgressInfo(sActivityRewardConfig.getId(), activityProgressInfo);
} }
} }
update(UserManager.getUser(((HeroUpStarEvent) event).getUid()), count); //更新进度
ISession sessionByUid = OnlineUserManager.getSessionByUid(user.getId());
sendActivityProgress(sessionByUid, activityMission, null);
} }
@Override @Override
void updateProgress(User user, ActivityMission activityMission, int count) { public void update(User user, int count) {
activityMission.setValue(count+activityMission.getValue());
String key = RedisKey.getKey(RedisKey.EXPERT_RANK, String.valueOf(id), false); }
RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), count);
@Override
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
int[][] values = sActivityRewardConfig.getValues();
int missionProgress = activityProgressInfo.getProgrss();
if (missionProgress < values[1][0]) {
LOGGER.error("the uid={} the misionId={},the missionProgress={},the require is={} ", session.getUid(), sActivityRewardConfig.getId(), missionProgress, values[0][0]);
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not");
return false;
}
return true;
} }
} }

View File

@ -11,7 +11,8 @@ class StaminaExpectRankActivity extends ExpectRankActivity {
public StaminaExpectRankActivity(int id) { public StaminaExpectRankActivity(int id) {
super(id); super(id);
Poster.getPoster().listenEvent(this, UseItemEvent.class); //策划说 这个排行榜不开 以后可能会有
//Poster.getPoster().listenEvent(this, UseItemEvent.class);
} }
@Override @Override

View File

@ -6,9 +6,15 @@ package com.ljsd.jieling.logic.activity.event;
public class HeroUpStarEvent implements IEvent { public class HeroUpStarEvent implements IEvent {
private int uid; private int uid;
private int star;
public HeroUpStarEvent(int uid) { public HeroUpStarEvent(int uid, int star) {
this.uid = uid; this.uid = uid;
this.star = star;
}
public int getStar() {
return star;
} }
public int getUid() { public int getUid() {

View File

@ -627,10 +627,11 @@ public class HeroLogic {
MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,""); MessageUtil.sendErrorResponse(session,0,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,"");
return; return;
} }
Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId()));
//删除hero //删除hero
recyleHeroBySystem(user,removeHeroIds); recyleHeroBySystem(user,removeHeroIds);
targetHero.upStar( 1 ); targetHero.upStar( 1 );
Poster.getPoster().dispatchEvent(new HeroUpStarEvent(user.getId(),targetHero.getStar()));
targetHero.setStarBreakId(scHeroRankUpConfig.getId()); targetHero.setStarBreakId(scHeroRankUpConfig.getId());
user.getUserMissionManager().onGameEvent(user,GameEvent.HERO_UP,2,targetHero.getTemplateId()); user.getUserMissionManager().onGameEvent(user,GameEvent.HERO_UP,2,targetHero.getTemplateId());
MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,null,true); MessageUtil.sendMessage(session,1,MessageTypeProto.MessageType.UP_HERO_STAR_RESPONSE_VALUE,null,true);

View File

@ -282,7 +282,7 @@ public class StoreLogic {
if(SStoreTypeConfig.getsStoreTypeConfigMap().get(storeId).getStoreType() != StoreType.GIFT_STORE.getType()){ if(SStoreTypeConfig.getsStoreTypeConfigMap().get(storeId).getStoreType() != StoreType.GIFT_STORE.getType()){
user.getUserMissionManager().onGameEvent(user, GameEvent.BUY_MATERIAL,sStoreConfig.getGoods()[0][0],itemNum); user.getUserMissionManager().onGameEvent(user, GameEvent.BUY_MATERIAL,sStoreConfig.getGoods()[0][0],itemNum);
} }
if(itemId==10015){ if(itemId==10005){
Poster.getPoster().dispatchEvent(new GoldEvent(user.getId())); Poster.getPoster().dispatchEvent(new GoldEvent(user.getId()));
} }

View File

@ -34,6 +34,7 @@ public class MinuteTask extends Thread {
public void run() { public void run() {
try { try {
LOGGER.info("MinuteTask start..."); LOGGER.info("MinuteTask start...");
LOGGER.info("online use num::"+ OnlineUserManager.sessionMap.entrySet().size());
HotfixUtil.getInstance().doWork("../conf/hotfix.json"); HotfixUtil.getInstance().doWork("../conf/hotfix.json");
ActivityLogic.getInstance().checkActiviyStatus(); ActivityLogic.getInstance().checkActiviyStatus();
STableManager.updateTablesWithTableNames(true); STableManager.updateTablesWithTableNames(true);