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) {
return sActivityRankingRewardMapByActivityId.get(Id);
return sActivityRankingRewardMapByActivityId.getOrDefault(Id,null);
}
public int getId() {

View File

@ -3,6 +3,7 @@ package com.ljsd.jieling.core;
public interface GlobalsDef {
String DEFAULT_NAME = "无名妖灵师";
int MAP_MISSION_RETURN = -9999;
int MAP_MISSION_FAILURE = -10000;
int CHAIRMAN = 1;
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.SERVER_FIVE_REQEUST_VALUE);
}

View File

@ -565,8 +565,11 @@ public class MapLogic {
cost[0]= new int[]{costId,costNum};
boolean costResult = ItemUtil.itemCost(user,cost,BIReason.ENDLESS_CONSUME_EXECUTION,1);
if(!costResult){
MessageUtil.sendErrorResponse(session,0,messageType.getNumber(),"行动力不足!");
return;
costNum = user.getItemManager().getItem(costId).getItemNum();
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;
}
int[][] values = sAccomplishmentConfig.getValues();
int targetEventValue = values[1][0];
int targetEventValue = values[values.length-1][0];
allMissionProgress.put(missionId,updateValue);
needUpdate = true;
MissionState misisionState = MissionState.DOING;
@ -134,12 +134,15 @@ public class MapMissionManager {
int score = sAccomplishmentConfig.getScore();
addScore+=score;
misisionState= MissionState.FINISH;
// missionValue = updateValue;
}
if(updateValue == -1){
missionValue=1;
updateValue=1;
}else if(updateValue < -1){
updateValue=0;
}
if(copyMissionUpdate){
MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(missionId,misisionState,missionValue);
MissionStateChangeInfo missionStateChangeInfo = new MissionStateChangeInfo(missionId,misisionState,updateValue);
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) {
MapManager mapManager = user.getMapManager();
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;
}
if(missionValue==-1){
return GlobalsDef.MAP_MISSION_RETURN;
}
int[][] value = sAccomplishmentConfig.getValues();
missionValue = 0-missionValue;
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){
return 1;
if((missionValue+2>>value.length)==1){
missionValue = -1;
}else{
missionValue = 0-missionValue;
}

View File

@ -10,6 +10,9 @@ import com.ljsd.jieling.logic.dao.root.User;
public class KillBossInTimeDifficultProcessor implements BaseMissionProcesor {
@Override
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();
SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId());
if(sChallengeConfig.getDifficultType()!=sAccomplishmentConfig.getValues()[0][0]){
@ -19,7 +22,7 @@ public class KillBossInTimeDifficultProcessor implements BaseMissionProcesor {
return GlobalsDef.MAP_MISSION_RETURN;
}
if(time<sAccomplishmentConfig.getValues()[1][0]){
return 1;
return -1;
}
return GlobalsDef.MAP_MISSION_RETURN;
}

View File

@ -10,15 +10,15 @@ import com.ljsd.jieling.logic.dao.root.User;
public class KillMonsterAccProcessor implements BaseMissionProcesor{
@Override
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();
MapManager mapManager = user.getMapManager();
SChallengeConfig sChallengeConfig = SChallengeConfig.sChallengeConfigs.get(mapManager.getCurMapId());
if(configValues[0][0]!=0 && sChallengeConfig.getDifficultType()!=configValues[0][0]){
return GlobalsDef.MAP_MISSION_RETURN;
}
if(missionValue==configValues[configValues.length-1][0]){
return GlobalsDef.MAP_MISSION_RETURN;
}
if(configValues[0].length<2){
return GlobalsDef.MAP_MISSION_RETURN;
}
@ -30,9 +30,6 @@ public class KillMonsterAccProcessor implements BaseMissionProcesor{
}
missionValue++;
}
if(missionValue==configValues[1][0]){
missionValue = -1;
}
return missionValue;
}
}

View File

@ -10,7 +10,7 @@ import com.ljsd.jieling.logic.dao.root.User;
public class NotEventFinishEventDifficultMapProcessor implements BaseMissionProcesor {
@Override
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;
}
@ -31,20 +31,19 @@ public class NotEventFinishEventDifficultMapProcessor implements BaseMissionProc
break;
}
if(eventId==skipEvent[i]){
missionValue = skipEvent[i];
missionValue = -10000;
return missionValue;
}
}
if(flag){
for(int i = 0 ; i < finishEvent.length;i++){
if(eventId==finishEvent[i]){
if(missionValue<0){
if(missionValue==-1){
break;
}
missionValue = missionValue/2;
missionValue++;
}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);
updateActivityMissionProgress(user, ActivityType.SevenLogin, 1);
upFivePlayerActivity(user, ActivityType.SevenLogin, fBuilder);
upFivePlayerActivity(user, ActivityType.RECHARGE_SUM_DAY, fBuilder);
upFivePlayerActivity(user, ActivityType.DAILY_RECHARGE, fBuilder);
}
@ -121,15 +122,13 @@ public class ActivityLogic {
ActivityManager activityManager = user.getActivityManager();
Map<Integer, SGlobalActivity> sGlobalActivityMap = SGlobalActivity.getsGlobalActivityMap();
for (Integer openActivityId : openActivityIds) {
if (activityManager.initAllActivityMission(openActivityId)) {
continue;
}
if(activityManager.getActivityMissionMap().containsKey(openActivityId)){
continue;
SGlobalActivity sGlobalActivity = sGlobalActivityMap.get(openActivityId);
if(!initOtherActivity(user, sGlobalActivity)){
activityManager.initAllActivityMission(openActivityId);
}
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(openActivityId);
if (abstractActivity == null) {
break;
continue;
}
abstractActivity.initActivity(user);
}
@ -164,8 +163,9 @@ public class ActivityLogic {
if (activityMission != null) {
continue;
}
activityManager.initAllActivityMission(activityId);
initOtherActivity(user, sGlobalActivity);
if(!initOtherActivity(user, sGlobalActivity)){
activityManager.initAllActivityMission(activityId);
}
openNewActivityIds.add(activityId);
} else {
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();
switch (type) {
case ActivityType.BLESSACTIVITY:
blessInfoInit(user.getActivityManager(), sGlobalActivity.getId());
break;
return true;
case ActivityType.TREASURE:
case ActivityType.LUCKYCAT:
case ActivityType.SERVERHAPPY:
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(sGlobalActivity.getId());
if (abstractActivity == null) {
break;
return false;
}
abstractActivity.initActivity(user);
return true;
default:
return false;
}
}

View File

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

View File

@ -59,6 +59,8 @@ class ExpectRankActivity extends AbstractActivity {
public void onActivityEnd() throws Exception {
List<SActivityRankingReward> sActivityRankingReward = SActivityRankingReward.getsActivityRankingRewardMapByActivityId(id);
if(null==sActivityRankingReward)
return;
int maxRank = 0;
Map<Integer, Integer> rank2miss = new HashMap<>();
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.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.activity.event.HeroUpStarEvent;
import com.ljsd.jieling.logic.activity.event.IEvent;
import com.ljsd.jieling.logic.activity.event.Poster;
import com.ljsd.jieling.logic.dao.ActivityMission;
import com.ljsd.jieling.logic.dao.Hero;
import com.ljsd.jieling.logic.dao.HeroManager;
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.util.MessageUtil;
import java.util.Map;
class HeroUpExpectRankActivity extends ExpectRankActivity {
@ -22,28 +24,44 @@ class HeroUpExpectRankActivity extends ExpectRankActivity {
@Override
public void onEvent(IEvent event) throws Exception {
if (!(event instanceof HeroUpExpectRankActivity))
if (!(event instanceof HeroUpStarEvent))
return;
User user = UserManager.getUser(((HeroUpStarEvent) event).getUid());
HeroManager heroManager = user.getHeroManager();
SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id).get(0);
if(sActivityRewardConfig==null)
return;
int count = 0;
for (Hero targetHero:heroManager.getHeroMap().values()) {
if(targetHero.getStar()>=sActivityRewardConfig.getValues()[0][0]){
count++;
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
Map<Integer, ActivityProgressInfo> activityProgressInfoMap = activityMission.getActivityProgressInfoMap();
for (SActivityRewardConfig sActivityRewardConfig : SActivityRewardConfig.getsActivityRewardConfigByActivityId(id)) {
if (((HeroUpStarEvent) event).getStar() == sActivityRewardConfig.getValues()[0][0]) {
ActivityProgressInfo activityProgressInfo = activityProgressInfoMap.getOrDefault(sActivityRewardConfig.getId(), null);
if (null == activityProgressInfo)
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
void updateProgress(User user, ActivityMission activityMission, 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);
public void update(User user, int 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) {
super(id);
Poster.getPoster().listenEvent(this, UseItemEvent.class);
//策划说 这个排行榜不开 以后可能会有
//Poster.getPoster().listenEvent(this, UseItemEvent.class);
}
@Override

View File

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

View File

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

View File

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