From 58f9d17b8f61d60d81cefa32a26dd597691119d1 Mon Sep 17 00:00:00 2001 From: wangyuan Date: Mon, 26 Aug 2019 20:53:56 +0800 Subject: [PATCH 1/3] fix mail --- .../com/ljsd/jieling/logic/mail/MailLogic.java | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java index 0a4b49a97..d8db6d94a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java @@ -16,6 +16,7 @@ import com.ljsd.jieling.protocols.CommonProto; import com.ljsd.jieling.protocols.MessageTypeProto; import com.ljsd.jieling.protocols.PlayerInfoProto; import com.ljsd.jieling.util.*; +import org.luaj.vm2.ast.Str; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -55,17 +56,20 @@ public class MailLogic { } List cMailList = new CopyOnWriteArrayList<>(); Iterator> iterator = mailMap.entrySet().iterator(); - + int nowTime = (int)(TimeUtils.now()/1000); + Set removeIds = new HashSet<>(); while (iterator.hasNext()){ Map.Entry next = iterator.next(); Mail cMail = next.getValue(); - int nowTime = (int)(TimeUtils.now()/1000); if (cMail.getEffectiveTime() != 0 && (nowTime - cMail.getSendTime()) > cMail.getEffectiveTime()){ - mailManager.removeMail(cMail.getId()); + removeIds.add(cMail.getId()); continue; } cMailList.add(cMail); } + for(String removeId : removeIds){ + mailManager.removeMail(removeId); + } //超过邮件上限, 删除时间最早的一封 int size = cMailList.size(); if (size > Global.MAIL_BOX_CAPACITY){ @@ -123,6 +127,14 @@ public class MailLogic { mailMap.put(mail.getId(),mail); } + public static void main(String[] args) { + Calendar calendar =Calendar.getInstance(); + calendar.set(Calendar.HOUR_OF_DAY,18); + calendar.set(Calendar.MINUTE,30); + System.out.println(calendar.getTime()); + System.out.println(calendar.getTimeInMillis()); + } + /** * 获取所有系统邮件 * From 20a84384657a70a3548603df8ed8faaff5e3658e Mon Sep 17 00:00:00 2001 From: wangyuan Date: Tue, 27 Aug 2019 10:08:28 +0800 Subject: [PATCH 2/3] fix remove store --- .../main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java | 1 - .../main/java/com/ljsd/jieling/logic/store/StoreLogic.java | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java index b56a90e73..d5c49d2fe 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/arena/ArenaLogic.java @@ -389,7 +389,6 @@ public class ArenaLogic { Set arenaRank = RedisUtil.getInstence().getZsetRange(RedisKey.ARENA_RANK,Integer.toString(matchSeason), myScore * low / 10000.0f-1, myScore * high / 10000.0f +1); LOGGER.info("curSeason={},matchSeason={},the uid={},the myscore={},the low={},the high={},mylow={},myhigh={},",curSeason,matchSeason,uid,myScore,low,high,myScore * low / 10000.0f-1,myScore * high / 10000.0f +1); if(arenaRank!=null && !arenaRank.isEmpty()){ - LOGGER.info("arenRank-->{}",arenaRank); arenaRank.remove(Integer.toString(uid)); String s = randomSet(arenaRank); if(!StringUtil.isEmpty(s)){ diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java index 60dbc75c1..19028e01d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/store/StoreLogic.java @@ -127,15 +127,19 @@ public class StoreLogic { long nowTime = System.currentTimeMillis(); StoreManager storeManager = user.getStoreManager(); Iterator> it = storeInfoMap.entrySet().iterator(); + Set removeStoreIds = new HashSet<>(); while(it.hasNext()){ StoreInfo storeInfo = it.next().getValue(); SStoreTypeConfig sStoreTypeConfig = SStoreTypeConfig.getsStoreTypeConfigMap().get(storeInfo.getId()); if (sStoreTypeConfig.getStoreOpenRule() ==2){ if (nowTime > storeInfo.getEndTime()){ - storeManager.removeStoreInfo(storeInfo.getId()); + removeStoreIds.add(storeInfo.getId()); } } } + for(Integer removeStoreId : removeStoreIds){ + storeManager.removeStoreInfo(removeStoreId); + } for(Integer openId :openStoreInfo){ if(!storeInfoMap.containsKey(openId)){ initOneStore(user,openId); From a173bcc00dc19755ecae5c5e6a416809152c856d Mon Sep 17 00:00:00 2001 From: wangyuan Date: Tue, 27 Aug 2019 10:46:22 +0800 Subject: [PATCH 3/3] delete mail --- .../src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java index d8db6d94a..7b76ab044 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/mail/MailLogic.java @@ -65,6 +65,10 @@ public class MailLogic { removeIds.add(cMail.getId()); continue; } + if(cMail.getMailItem()!=null && "2100#15".equals(cMail.getMailItem())){ + removeIds.add(cMail.getId()); + continue; + } cMailList.add(cMail); } for(String removeId : removeIds){