Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
e009ee3191
|
@ -1238,4 +1238,29 @@ public class TimeUtils {
|
|||
return now();
|
||||
}
|
||||
|
||||
/**
|
||||
* 判断两个时间是否隔开周几的几点
|
||||
* @param lastTime
|
||||
* @param curTime
|
||||
* @param dayOfWeek
|
||||
* @param hourOfDay
|
||||
* @return
|
||||
*/
|
||||
public static boolean isSpanTime(long lastTime,long curTime,int dayOfWeek,int hourOfDay){
|
||||
long curWeekdayStartTime = getCurWeekdayStartTime(dayOfWeek, hourOfDay);
|
||||
if(lastTime>=curWeekdayStartTime){
|
||||
return false;
|
||||
}
|
||||
if(curTime>=curWeekdayStartTime){
|
||||
return true;
|
||||
}else{
|
||||
curWeekdayStartTime=curWeekdayStartTime-WEEK;
|
||||
if(lastTime<curWeekdayStartTime){
|
||||
return true;
|
||||
}else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -22,7 +22,7 @@ import java.util.*;
|
|||
public class CommonStaticConfig extends AbstractClassStaticConfig {
|
||||
|
||||
private Set<Integer> notDelete;
|
||||
private int initPos = 0;
|
||||
private int initPos;
|
||||
private SGameSetting gameSetting;
|
||||
|
||||
private int maxLevel; //百味居、工坊相关
|
||||
|
|
|
@ -171,5 +171,7 @@ public interface BIReason {
|
|||
|
||||
int TREASURE_BUY_LEVEL_CONSUME = 1043;//孙龙宝藏等级快速购买
|
||||
|
||||
int TREASURE_RESET_CONCUME = 1044;//孙龙宝藏重置删除积分
|
||||
|
||||
|
||||
}
|
|
@ -294,9 +294,6 @@ public class GlobalDataManaager {
|
|||
ActivityLogic.getInstance().flushEveryDay(user,fBuilder);
|
||||
PlayerLogic.getInstance().vipflushEveryDay(user,fBuilder);
|
||||
PlayerLogic.getInstance().flushUserdataEvery(user,fBuilder);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH,0);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_REFRESH,0);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_WEEK_REFRESH,0);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.BLOODY_REFRESH,0);
|
||||
FriendLogic.getInstance().refreshState(session);
|
||||
|
||||
|
|
|
@ -63,7 +63,7 @@ public class ActivityLogic {
|
|||
//幸运转盘活动刷新
|
||||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.LUCK_WHEEL);
|
||||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.LUCK_WHEEL_ADVANCE);
|
||||
|
||||
ActivityLogic.getInstance().resumeActivity(user,ActivityType.TREASURE);
|
||||
|
||||
Set<Integer> upFiveActivityTypes = new HashSet<>();
|
||||
upFiveActivityTypes.add(ActivityType.SevenLogin);
|
||||
|
|
|
@ -25,12 +25,22 @@ public class TreasureActivity extends AbstractActivity {
|
|||
super(id);
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void onResume(User user) throws Exception {
|
||||
// user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_MONTH_REFRESH, id);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_WEEK_REFRESH, id);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_REFRESH, id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initActivity(User user) throws Exception {
|
||||
user.getPlayerInfoManager().setHadBuyTreasure(0);
|
||||
LOGGER.info("戒灵秘宝初始化...");
|
||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_MONTH_REFRESH, sGlobalActivity.getId());
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_WEEK_REFRESH, sGlobalActivity.getId());
|
||||
user.getUserMissionManager().onGameEvent(user, GameEvent.TREASH_REFRESH, sGlobalActivity.getId());
|
||||
ActivityMission activityMission = new ActivityMission();
|
||||
List<Integer> levels = new ArrayList<>(STreasureSunlongConfig.levelTreasureConfigMap.keySet());
|
||||
if(levels.contains(0)){
|
||||
|
|
|
@ -2,8 +2,11 @@ package com.ljsd.jieling.logic.dao;
|
|||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.config.classsStaticCfg.TaskStaticConfig;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.item.ItemLogic;
|
||||
import com.ljsd.jieling.logic.mission.*;
|
||||
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
|
||||
import com.ljsd.jieling.logic.mission.main.*;
|
||||
|
@ -11,12 +14,14 @@ import com.ljsd.jieling.network.session.ISession;
|
|||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import util.MathUtils;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import config.*;
|
||||
import manager.STableManager;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
@ -89,28 +94,37 @@ public class UserMissionManager extends MongoBase {
|
|||
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication1,true);
|
||||
break;
|
||||
case TREASH_WEEK_REFRESH:
|
||||
int[] dailyRefreshIds = resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData);
|
||||
|
||||
int[] weekRefreshIds = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData);
|
||||
CommonProto.RefreshTask.Builder task1 = treasureIndicationBuild(1, dailyRefreshIds);
|
||||
CommonProto.RefreshTask.Builder task2 = treasureIndicationBuild(2, weekRefreshIds);
|
||||
PlayerInfoProto.TreasureRefreshIndication indication2 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task1.build()).addTasks(task2.build()).build();
|
||||
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication2,true);
|
||||
|
||||
if(weekRefreshIds!=null){
|
||||
CommonProto.RefreshTask.Builder task2= treasureIndicationBuild(2, weekRefreshIds);
|
||||
PlayerInfoProto.TreasureRefreshIndication indication2 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task2.build()).build();
|
||||
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication2,true);
|
||||
}
|
||||
break;
|
||||
case TREASH_MONTH_REFRESH:
|
||||
user.getPlayerInfoManager().setTreasureLevel(0);
|
||||
Item item = user.getItemManager().getItem(Global.TREASURE_SCORE);
|
||||
if(item!=null){
|
||||
if(item.getItemNum()!=0){
|
||||
Map<Integer,Integer> treasureScore = new HashMap<>();
|
||||
treasureScore.put(Global.TREASURE_SCORE,item.getItemNum());
|
||||
try {
|
||||
ItemUtil.itemCost(user,treasureScore, BIReason.TREASURE_RESET_CONCUME,1);
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("戒灵秘宝月任务初始化");
|
||||
int[] dailyRefreshIds1 = resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData);
|
||||
int[] weekRefreshIds1 = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData);
|
||||
// int[] dailyRefreshIds1 = resetTreasureTaskInfo(1,missionTypeEnumListMap,treasureCumulationData);
|
||||
// int[] weekRefreshIds1 = resetTreasureTaskInfo(2,missionTypeEnumListMap,treasureWeekCumulationData);
|
||||
int[] monthRefreshIds1 = resetTreasureTaskInfo(3,missionTypeEnumListMap,treasureMonthCumulationData);
|
||||
|
||||
CommonProto.RefreshTask.Builder task3 = treasureIndicationBuild(1, dailyRefreshIds1);
|
||||
CommonProto.RefreshTask.Builder task4 = treasureIndicationBuild(2, weekRefreshIds1);
|
||||
// CommonProto.RefreshTask.Builder task3 = treasureIndicationBuild(1, dailyRefreshIds1);
|
||||
// CommonProto.RefreshTask.Builder task4 = treasureIndicationBuild(2, weekRefreshIds1);
|
||||
CommonProto.RefreshTask.Builder task5 = treasureIndicationBuild(3, monthRefreshIds1);
|
||||
PlayerInfoProto.TreasureRefreshIndication indication3 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task3.build()).addTasks(task4.build()).addTasks(task5.build()).build();
|
||||
PlayerInfoProto.TreasureRefreshIndication indication3 = PlayerInfoProto.TreasureRefreshIndication.newBuilder().addTasks(task5.build()).build();
|
||||
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.TREASURE_REFRESH_INDICATION_VALUE,indication3,true);
|
||||
|
||||
// openMission(user,GameEvent.TREASH_WEEK_REFRESH,missionTypeEnumListMap,parm);
|
||||
break;
|
||||
case SERVENHAPPY_REFRESH:
|
||||
List<STreasureTaskConfig> sTreasureTaskConfigs = null;
|
||||
|
@ -282,14 +296,11 @@ public class UserMissionManager extends MongoBase {
|
|||
|
||||
private int[] resetTreasureTaskInfo(int type,Map<GameMisionType, List<MissionStateChangeInfo>> missionTypeEnumListMap,CumulationData treasureCumulationData){
|
||||
//周刷新检测
|
||||
if(type==3){
|
||||
treasureMissionIdsType.setWeekRefresh((int)(TimeUtils.now()/1000));
|
||||
}
|
||||
if(type==2){
|
||||
if(treasureMissionIdsType.getWeekRefresh()>= TimeUtils.getCurWeekdayStartTime(1,5)){
|
||||
if(treasureMissionIdsType.getWeekRefresh()!=0&&!TimeUtils.isSpanTime(treasureMissionIdsType.getWeekRefresh(),TimeUtils.now(),1,5)){
|
||||
return null;
|
||||
}
|
||||
treasureMissionIdsType.setWeekRefresh((int)TimeUtils.now()/1000);
|
||||
treasureMissionIdsType.setWeekRefresh(TimeUtils.now());
|
||||
}
|
||||
int[] typeMissionNum = SSpecialConfig.getOnceArrayValue(SSpecialConfig.SUNLONG_DAILYTASKS);
|
||||
List<Integer> taskTypeMap = STreasureSunlongTaskConfig.taskTypeMap.get(type);
|
||||
|
@ -319,7 +330,14 @@ public class UserMissionManager extends MongoBase {
|
|||
}
|
||||
treasureCumulationData.reset();
|
||||
updateString("treasureMissionIdsType",treasureMissionIdsType);
|
||||
updateString("treasureCumulationData",treasureCumulationData);
|
||||
if(type==1){
|
||||
updateString("treasureCumulationData",treasureCumulationData);
|
||||
}else if(type==2){
|
||||
updateString("treasureWeekCumulationData",treasureCumulationData);
|
||||
}else if(type==3){
|
||||
updateString("treasureMonthCumulationData",treasureCumulationData);
|
||||
|
||||
}
|
||||
return tasks;
|
||||
}
|
||||
private CommonProto.RefreshTask.Builder treasureIndicationBuild(int type,int[] refreshIds){
|
||||
|
|
|
@ -182,8 +182,10 @@ public class GuildFightLogic {
|
|||
Family.FamilyBuildBuffInfo.Builder buffInfo = Family.FamilyBuildBuffInfo.newBuilder();
|
||||
buffInfo.setBuildId(i + 1);
|
||||
int[] buildBuffs = buffCache.get(String.valueOf(i + 1));
|
||||
for(Integer buff:buildBuffs){
|
||||
buffInfo.addBuffId(buff);
|
||||
if(buildBuffs!=null){
|
||||
for(Integer buff:buildBuffs){
|
||||
buffInfo.addBuffId(buff);
|
||||
}
|
||||
}
|
||||
fightInfo.addBuildBuff(buffInfo);
|
||||
}
|
||||
|
|
|
@ -197,6 +197,7 @@ public class GuildLogic {
|
|||
MessageUtil.sendErrorResponse(session,0,msgId,"已加入过公会");
|
||||
return;
|
||||
}
|
||||
|
||||
Map<Integer, GuildApply> applyGuildPersonInfos = GuilidManager.getApplyGuildInfos(session.getUid(), 1);
|
||||
SGuildSetting guildSetting = SGuildSetting.sGuildSetting;
|
||||
if(applyGuildPersonInfos.size()>=guildSetting.getApplyLimit()){
|
||||
|
@ -204,6 +205,10 @@ public class GuildLogic {
|
|||
return;
|
||||
}
|
||||
for(Integer applyGuildId : applyGuilds){
|
||||
if(GuilidManager.guildInfoMap.get(applyGuildId).getJoinType()!=0&&applyGuilds.size()==1){
|
||||
MessageUtil.sendErrorResponse(session,0,msgId,"该公会限制条件已修改,请刷新页面");
|
||||
return;
|
||||
}
|
||||
GuildApply guildApply = new GuildApply(uid,applyGuildId);
|
||||
Map<Integer, GuildApply> applyGuildFamilyInfos = GuilidManager.getApplyGuildInfos(applyGuildId, 0);
|
||||
if(applyGuildFamilyInfos.size()>=guildSetting.getBeApplyLimit()){
|
||||
|
@ -247,7 +252,7 @@ public class GuildLogic {
|
|||
return;
|
||||
}
|
||||
if(guildInfo.getJoinType()!=1){
|
||||
MessageUtil.sendErrorResponse(session,0,msgId,"该工会限制条件已修改");
|
||||
MessageUtil.sendErrorResponse(session,0,msgId,"该公会限制条件已修改,请刷新页面");
|
||||
return;
|
||||
}
|
||||
if(user.getPlayerInfoManager().getLevel()<guildInfo.getIntoLevel()){
|
||||
|
|
|
@ -16,13 +16,13 @@ public class TreasureMissionType extends AbstractMissionType{
|
|||
|
||||
private Map<Integer,Integer> takeTimes = new HashMap<>();
|
||||
|
||||
private int weekRefresh;
|
||||
private long weekRefresh;
|
||||
|
||||
public int getWeekRefresh() {
|
||||
public long getWeekRefresh() {
|
||||
return weekRefresh;
|
||||
}
|
||||
|
||||
public void setWeekRefresh(int weekRefresh) {
|
||||
public void setWeekRefresh(long weekRefresh) {
|
||||
this.weekRefresh = weekRefresh;
|
||||
}
|
||||
|
||||
|
|
|
@ -597,7 +597,7 @@ public class ItemUtil {
|
|||
*/
|
||||
public static void treasureLevelUp(User user) throws Exception {
|
||||
STreasureSunlongConfig levelConfig = STreasureSunlongConfig.levelTreasureConfigMap.get(user.getPlayerInfoManager().getTreasureLevel());
|
||||
while(ItemUtil.itemCost(user,levelConfig.getIntegral(), BIReason.TREASURE_LEVEL_UP_CONCUME,1)){
|
||||
while(levelConfig.getIntegral()!=null&&ItemUtil.itemCost(user,levelConfig.getIntegral(), BIReason.TREASURE_LEVEL_UP_CONCUME,1)){
|
||||
user.getPlayerInfoManager().addTreasureLevel();
|
||||
levelConfig = STreasureSunlongConfig.levelTreasureConfigMap.get(user.getPlayerInfoManager().getTreasureLevel());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue