Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
67930da50f
|
@ -23,7 +23,7 @@ public class WorldBossTreasureStaticConfig extends AbstractClassStaticConfig {
|
||||||
Map<Integer,Set<SWorldBossTreasureConfig>> idsByPeriodsTmp = new HashMap<>();
|
Map<Integer,Set<SWorldBossTreasureConfig>> idsByPeriodsTmp = new HashMap<>();
|
||||||
config.forEach((id,item)->{
|
config.forEach((id,item)->{
|
||||||
int[] activityIds = item.getActivityId();
|
int[] activityIds = item.getActivityId();
|
||||||
idsByPeriodsTmp.putIfAbsent(activityIds[0], new HashSet<>());
|
idsByPeriodsTmp.putIfAbsent(activityIds[0], new LinkedHashSet<>());
|
||||||
Set<SWorldBossTreasureConfig> ids = idsByPeriodsTmp.get(activityIds[0]);
|
Set<SWorldBossTreasureConfig> ids = idsByPeriodsTmp.get(activityIds[0]);
|
||||||
for(int i=1;i<activityIds.length;i++){
|
for(int i=1;i<activityIds.length;i++){
|
||||||
idsByPeriodsTmp.putIfAbsent(activityIds[i],ids);
|
idsByPeriodsTmp.putIfAbsent(activityIds[i],ids);
|
||||||
|
|
|
@ -10,7 +10,7 @@ import java.util.Map;
|
||||||
public class WorldTreasureReward extends MongoBase {
|
public class WorldTreasureReward extends MongoBase {
|
||||||
|
|
||||||
private int createTime; //取当天零点 根据其可以推算出期数。
|
private int createTime; //取当天零点 根据其可以推算出期数。
|
||||||
private int round;
|
private int round=1;
|
||||||
private int score;
|
private int score;
|
||||||
private Map<Integer,Integer> rewardStatusMap = new HashMap<>(); //领取状态 1:表示领取基础奖励 2:表示领取额外奖励。
|
private Map<Integer,Integer> rewardStatusMap = new HashMap<>(); //领取状态 1:表示领取基础奖励 2:表示领取额外奖励。
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ public class WorldTreasureReward extends MongoBase {
|
||||||
}
|
}
|
||||||
score = 0;
|
score = 0;
|
||||||
rewardStatusMap = new HashMap<>();
|
rewardStatusMap = new HashMap<>();
|
||||||
|
this.round = round;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -37,6 +37,10 @@ public class WorldTreasureReward extends MongoBase {
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getRound() {
|
public int getRound() {
|
||||||
|
if(round == 0){
|
||||||
|
this.round = 1;
|
||||||
|
updateString("round", round);
|
||||||
|
}
|
||||||
return round;
|
return round;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -82,7 +82,8 @@ public class ExpeditionLogic {
|
||||||
|
|
||||||
ExpeditionManager manager = user.getExpeditionManager();
|
ExpeditionManager manager = user.getExpeditionManager();
|
||||||
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.Expedition);
|
TimeControllerOfFunction openTimeOfFuntionCacheByType = GlobalDataManaager.getInstance().getOpenTimeOfFuntionCacheByType(FunctionIdEnum.Expedition);
|
||||||
if(manager.getCurrentTime()==openTimeOfFuntionCacheByType.getTimes()){
|
|
||||||
|
if(openTimeOfFuntionCacheByType==null||manager.getCurrentTime()==openTimeOfFuntionCacheByType.getTimes()){
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
takeAllReward(user);
|
takeAllReward(user);
|
||||||
|
|
|
@ -1603,9 +1603,9 @@ public class HeroLogic{
|
||||||
float score = sPropertyConfig.getScore();
|
float score = sPropertyConfig.getScore();
|
||||||
|
|
||||||
result += propertyValue*score;
|
result += propertyValue*score;
|
||||||
LOGGER.info("the propertyId={} the value is ={},propertyValue={},score={},result ={},the value={}",propertyId,propertyValue*score,propertyValue,score,result,propertyValue*score);
|
// LOGGER.info("the propertyId={} the value is ={},propertyValue={},score={},result ={},the value={}",propertyId,propertyValue*score,propertyValue,score,result,propertyValue*score);
|
||||||
}
|
}
|
||||||
System.out.println(result);
|
// System.out.println(result);
|
||||||
return (int)result;
|
return (int)result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -130,26 +130,37 @@ public class StoreLogic implements IEventHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(sStoreTypeConfig.getRefreshType()[0]==2&& calendar.get(Calendar.MINUTE) ==0 && sStoreTypeConfig.getRefreshType()[1]==calendar.get(Calendar.HOUR_OF_DAY)){
|
if(sStoreTypeConfig.getRefreshType()[0]==2&& calendar.get(Calendar.MINUTE) ==0){
|
||||||
for(ISession session : OnlineUserManager.sessionMap.values()){
|
|
||||||
if(session.getFiveReady() == 1){
|
|
||||||
User user = UserManager.getUser(session.getUid());
|
|
||||||
if(user.getStoreManager().getStoreInfoMap().containsKey(sStoreTypeConfig.getId())){
|
|
||||||
updateUsersStoreAyync(UserManager.getUser(session.getUid()),user1 -> {
|
|
||||||
StoreInfo storeInfo = user.getStoreManager().getStoreInfoMap().get(sStoreTypeConfig.getId());
|
|
||||||
|
|
||||||
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
|
for(int i = 1;i<sStoreTypeConfig.getRefreshType().length;i++){
|
||||||
if(storeItem == null){
|
if(sStoreTypeConfig.getRefreshType()[i]!=calendar.get(Calendar.HOUR_OF_DAY)){
|
||||||
LOGGER.error("the uid={},the storeID={} is null",user.getId(),sStoreTypeConfig.getId());
|
continue;
|
||||||
return;
|
|
||||||
}
|
|
||||||
storeInfo.setItemNumMap(storeItem);
|
|
||||||
storeInfo.setLastRefreshTime(now);
|
|
||||||
MongoUtil.getInstence().lastUpdate();
|
|
||||||
sendStoreUpdateIndication(user.getId(),storeInfo);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
sendRefreshIndication(sStoreTypeConfig,now);
|
||||||
|
break ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void sendRefreshIndication(SStoreTypeConfig sStoreTypeConfig,long lastRefreshTime) throws Exception {
|
||||||
|
for(ISession session : OnlineUserManager.sessionMap.values()){
|
||||||
|
if(session.getFiveReady() == 1){
|
||||||
|
User user = UserManager.getUser(session.getUid());
|
||||||
|
if(user.getStoreManager().getStoreInfoMap().containsKey(sStoreTypeConfig.getId())){
|
||||||
|
updateUsersStoreAyync(UserManager.getUser(session.getUid()),user1 -> {
|
||||||
|
StoreInfo storeInfo = user.getStoreManager().getStoreInfoMap().get(sStoreTypeConfig.getId());
|
||||||
|
|
||||||
|
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
|
||||||
|
if(storeItem == null){
|
||||||
|
LOGGER.error("the uid={},the storeID={} is null",user.getId(),sStoreTypeConfig.getId());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
storeInfo.setItemNumMap(storeItem);
|
||||||
|
storeInfo.setLastRefreshTime(lastRefreshTime);
|
||||||
|
MongoUtil.getInstence().lastUpdate();
|
||||||
|
sendStoreUpdateIndication(user.getId(),storeInfo);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -219,11 +230,13 @@ public class StoreLogic implements IEventHandler {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(sStoreTypeConfig.getRefreshType()[0] == 2){
|
if(sStoreTypeConfig.getRefreshType()[0] == 2){
|
||||||
if (TimeUtils.isOverAppointRefreshTime(nowTime,storeInfo.getLastRefreshTime(),sStoreTypeConfig.getRefreshType()[1])){
|
for(int i = 0 ; i<sStoreTypeConfig.getRefreshType().length;i++){
|
||||||
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
|
if (TimeUtils.isOverAppointRefreshTime(nowTime,storeInfo.getLastRefreshTime(),sStoreTypeConfig.getRefreshType()[i])){
|
||||||
storeInfo.setLastRefreshTime(nowTime);
|
Map<Integer, Integer> storeItem = getStoreItem(sStoreTypeConfig.getId(), sStoreTypeConfig, user);
|
||||||
storeInfo.setItemNumMap(storeItem);
|
storeInfo.setLastRefreshTime(nowTime);
|
||||||
sendStoreUpdateIndication(user.getId(),storeInfo);
|
storeInfo.setItemNumMap(storeItem);
|
||||||
|
sendStoreUpdateIndication(user.getId(),storeInfo);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -626,12 +639,14 @@ public class StoreLogic implements IEventHandler {
|
||||||
long nowTime = System.currentTimeMillis();
|
long nowTime = System.currentTimeMillis();
|
||||||
switch (type){
|
switch (type){
|
||||||
case 2:
|
case 2:
|
||||||
boolean overTime = TimeUtils.isOverTime(time, storeInfo.getLastRefreshTime());
|
for(int i=1;i<sStoreTypeConfig.getRefreshType().length;i++){
|
||||||
if (overTime){
|
boolean overTime = TimeUtils.isOverTime(i, storeInfo.getLastRefreshTime());
|
||||||
itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
|
if (overTime){
|
||||||
storeInfo.setLastRefreshTime(nowTime);
|
itemNumMap = getStoreItem(sStoreTypeConfig.getId(),sStoreTypeConfig,user);
|
||||||
|
storeInfo.setLastRefreshTime(nowTime);
|
||||||
|
}
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
|
||||||
case 3:
|
case 3:
|
||||||
long lastRefreshTime = storeInfo.getLastRefreshTime();
|
long lastRefreshTime = storeInfo.getLastRefreshTime();
|
||||||
int intervalTime = time*1000*60*60;
|
int intervalTime = time*1000*60*60;
|
||||||
|
|
Loading…
Reference in New Issue