挂机邮件
parent
6e5642857a
commit
2b40c77e68
|
@ -68,13 +68,13 @@ public class MainLevelManager extends MongoBase {
|
|||
updateString("lastTime",lastTime);
|
||||
}
|
||||
|
||||
public void afterTakeStateReward(boolean needReset,int lastTakes){
|
||||
public void afterTakeStateReward(boolean needReset,int lastTakes,int time){
|
||||
fightStateInfo.clear();
|
||||
int now = (int)(System.currentTimeMillis()/1000);
|
||||
SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
|
||||
if(needReset){
|
||||
this.startTime = now;
|
||||
this.lastTime = now;
|
||||
this.startTime = time;
|
||||
this.lastTime = time;
|
||||
}else{
|
||||
int adventureRefresh = gameSetting.getAdventureRefresh();
|
||||
this.lastTime = lastTime+lastTakes*adventureRefresh;
|
||||
|
@ -121,6 +121,11 @@ public class MainLevelManager extends MongoBase {
|
|||
return lastTime;
|
||||
}
|
||||
|
||||
public void setLastTime(int lastTime) {
|
||||
this.lastTime = lastTime;
|
||||
updateString("lastTime",lastTime);
|
||||
}
|
||||
|
||||
public Map<Integer, HashSet<String>> getBossIds() {
|
||||
return bossIds;
|
||||
}
|
||||
|
|
|
@ -200,7 +200,7 @@ public class CombatLogic {
|
|||
User user = UserManager.getUser(uid);
|
||||
Map<Integer, CommonProto.Drop> adventureFastReward =null;
|
||||
if(type == 2){
|
||||
adventureFastReward = getNewAdventureReward(user,false);
|
||||
adventureFastReward = getNewAdventureReward(user,false,(int)(TimeUtils.now()/1000));
|
||||
if(adventureFastReward.get(1).getItemlistCount()==0){
|
||||
throw new ErrorCodeException(ErrorCode.REWARD_COLLECTING);
|
||||
}
|
||||
|
@ -226,8 +226,8 @@ public class CombatLogic {
|
|||
KtEventUtils.onKtEvent(user,ParamEventBean.UserGameType,KTGameType.TAKE_SECURE_REWARD.getIndex(),type*10);
|
||||
}
|
||||
|
||||
public Map<Integer,CommonProto.Drop> getNewAdventureReward(User user,boolean sendMail) throws Exception {
|
||||
GetNewAdventureData getNewAdventureData = new GetNewAdventureData(user, sendMail,false).invoke();
|
||||
public Map<Integer,CommonProto.Drop> getNewAdventureReward(User user,boolean sendMail,int time) throws Exception {
|
||||
GetNewAdventureData getNewAdventureData = new GetNewAdventureData(user, sendMail,false).invoke(time);
|
||||
if (getNewAdventureData.is()) return null;
|
||||
CommonProto.Drop.Builder baseBuilder = getNewAdventureData.getBaseBuilder();
|
||||
CommonProto.Drop.Builder randomBuilder = getNewAdventureData.getRandomBuilder();
|
||||
|
@ -884,7 +884,7 @@ public class CombatLogic {
|
|||
return rewardStr;
|
||||
}
|
||||
|
||||
public GetNewAdventureData invoke() throws Exception {
|
||||
public GetNewAdventureData invoke(int time) throws Exception {
|
||||
MainLevelManager mainLevelManager = user.getMainLevelManager();
|
||||
Map<Integer, Integer> fightStateInfo = user.getMainLevelManager().getFightStateInfo();
|
||||
SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
|
||||
|
@ -917,8 +917,8 @@ public class CombatLogic {
|
|||
int fightId = mainLevelManager.getFightId();
|
||||
SMainLevelConfig targetMainLevelConfig = SMainLevelConfig.config.get(fightId);
|
||||
int lastTime = mainLevelManager.getLastTime();
|
||||
int now = (int) (System.currentTimeMillis() / 1000);
|
||||
int times = (now - lastTime)/STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getAdventureRefresh();
|
||||
// int now = (int) (System.currentTimeMillis() / 1000);
|
||||
int times = (time - lastTime)/STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getAdventureRefresh();
|
||||
int maxTimes = adventureOffline - takeTimes;
|
||||
int lastTimeTakes=0;
|
||||
boolean reset = maxTimes<times;
|
||||
|
@ -948,14 +948,14 @@ public class CombatLogic {
|
|||
String randomReward = ItemUtil.getReward(randomItemMap, randomCardMap, randomEquipMap, randomRandomMap);
|
||||
if(randomReward.length()!=0){
|
||||
reward = reward + "|" + randomReward;
|
||||
MailLogic.getInstance().sendMail(user.getId(),title,content,reward,now, Global.MAIL_EFFECTIVE_TIME);
|
||||
MailLogic.getInstance().sendMail(user.getId(),title,content,reward,time, Global.MAIL_EFFECTIVE_TIME);
|
||||
}
|
||||
}
|
||||
mainLevelManager.afterTakeStateReward(true,0);
|
||||
mainLevelManager.afterTakeStateReward(true,0,time);
|
||||
myResult = true;
|
||||
return this;
|
||||
}
|
||||
mainLevelManager.afterTakeStateReward(reset,lastTimeTakes);
|
||||
mainLevelManager.afterTakeStateReward(reset,lastTimeTakes,time);
|
||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap, BIReason.ADVENTURE_BASE_REWARD);
|
||||
ItemUtil.drop(user,randomBuilder,randomItemMap,randomCardMap,randomEquipMap,randomRandomMap,BIReason.ADVENTURE_RANDOM_REWARDD);
|
||||
myResult = false;
|
||||
|
|
|
@ -20,6 +20,7 @@ import com.ljsd.jieling.logic.activity.event.UserForceChangeEvent;
|
|||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.family.GuildLogic;
|
||||
import com.ljsd.jieling.logic.fight.CombatLogic;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||
|
@ -286,21 +287,28 @@ public class PlayerLogic {
|
|||
removePrivileges.add(VipPrivilegeType.UNLOCK_STAR_EXTRA_REWARD);
|
||||
}*/
|
||||
}
|
||||
playerInfoManager.vipFlush(removePrivileges);
|
||||
int vipLevel = user.getPlayerInfoManager().getVipLevel();
|
||||
sendVipDailyOrLevlUpReward(user, vipLevel,BIReason.VIP_DAY_REWARD);
|
||||
if(fBuilder!=null){
|
||||
List<CommonProto.Privilege> privilegeList = new ArrayList<>();
|
||||
Map<Integer, VipInfo> vipInfo = playerInfoManager.getVipInfo();
|
||||
for(Map.Entry<Integer,VipInfo> vipInfoItem : vipInfo.entrySet()){
|
||||
privilegeList.add(CommonProto.Privilege.newBuilder()
|
||||
.setId(vipInfoItem.getKey())
|
||||
. setUsedTimes(vipInfoItem.getValue().getCount())
|
||||
.setEffectTime(vipInfoItem.getValue().getEffectTime())
|
||||
.build());
|
||||
List<CommonProto.Privilege> privilegeList = new ArrayList<>();
|
||||
Map<Integer, VipInfo> vipInfo = playerInfoManager.getVipInfo();
|
||||
for(Map.Entry<Integer,VipInfo> vipInfoItem : vipInfo.entrySet()){
|
||||
if(vipInfoItem.getValue().getEffectTime()!=0 && vipInfoItem.getValue().getEffectTime()<=(TimeUtils.now()/1000)){
|
||||
if(SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(vipInfoItem.getKey()).getPrivilegeType()==VipPrivilegeType.ADVENTURE_BASE_REWARD){
|
||||
CombatLogic.getInstance().getNewAdventureReward(user,true,vipInfoItem.getValue().getEffectTime());
|
||||
}
|
||||
removePrivileges.add(vipInfoItem.getKey());
|
||||
continue;
|
||||
}
|
||||
privilegeList.add(CommonProto.Privilege.newBuilder()
|
||||
.setId(vipInfoItem.getKey())
|
||||
. setUsedTimes(vipInfoItem.getValue().getCount())
|
||||
.setEffectTime(vipInfoItem.getValue().getEffectTime())
|
||||
.build());
|
||||
}
|
||||
if(fBuilder!=null){
|
||||
fBuilder.setHadTakeDailyBox(playerInfoManager.getHadTakeDailyBoxVip()).addAllPrivilege(privilegeList);
|
||||
}
|
||||
playerInfoManager.vipFlush(removePrivileges);
|
||||
|
||||
}
|
||||
|
||||
|
@ -815,9 +823,6 @@ public class PlayerLogic {
|
|||
if(!vipInfo.containsKey(config.getId())){
|
||||
continue;
|
||||
}
|
||||
if(vipInfo.get(config.getId()).getEffectTime()!=0&&vipInfo.get(config.getId()).getEffectTime()<TimeUtils.now()/1000){
|
||||
continue;
|
||||
}
|
||||
typePrivileges.add(config.getId());
|
||||
}
|
||||
if(typePrivileges.isEmpty()){
|
||||
|
|
|
@ -284,7 +284,7 @@ public class BuyGoodsLogic {
|
|||
public static void addNewPrivilege(User user ,int privilege,PlayerInfoProto.PrivilegeIndication.Builder indication) throws Exception {
|
||||
int privilegeType = SPrivilegeTypeConfig.getsPrivilegeTypeConfigMap().get(privilege).getPrivilegeType();
|
||||
if(privilegeType== VipPrivilegeType.ADVENTURE_BASE_REWARD){
|
||||
CombatLogic.getInstance().getNewAdventureReward(user,true);
|
||||
CombatLogic.getInstance().getNewAdventureReward(user,true,(int)(TimeUtils.now()/1000));
|
||||
}
|
||||
user.getPlayerInfoManager().addVipInfo(privilege);
|
||||
VipInfo vipInfo = user.getPlayerInfoManager().getVipInfo().get(privilege);
|
||||
|
|
|
@ -534,7 +534,7 @@ public class CBean2Proto {
|
|||
if(update){
|
||||
mainLevelManager.directUpdateDb();
|
||||
}
|
||||
CombatLogic.GetNewAdventureData getNewAdventureData = new CombatLogic.GetNewAdventureData(user, false,true).invoke();
|
||||
CombatLogic.GetNewAdventureData getNewAdventureData = new CombatLogic.GetNewAdventureData(user, false,true).invoke((int)TimeUtils.now());
|
||||
if (!StringUtil.isEmpty(getNewAdventureData.getRewardStr())){
|
||||
builder.setReward(getNewAdventureData.getRewardStr());
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue