From a128c5ea74d0d089235c8c660c4ad693c78dc203 Mon Sep 17 00:00:00 2001 From: xuexinpeng Date: Thu, 19 Aug 2021 17:00:48 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A6=96=E5=8F=91=E9=82=AE=E4=BB=B6=E6=9B=B4?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../logic/activity/UserLevelEventHandler.java | 40 +++++++++++++------ .../ljsd/jieling/logic/dao/root/UserInfo.java | 12 ++++++ 2 files changed, 40 insertions(+), 12 deletions(-) diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/UserLevelEventHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/UserLevelEventHandler.java index 0f5fae98b..5e01baabd 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/UserLevelEventHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/activity/UserLevelEventHandler.java @@ -143,7 +143,13 @@ public class UserLevelEventHandler implements IEventHandler,IPrivilegeChange{ Query query = new Query(Criteria.where("openId").is(user.getPlayerInfoManager().getOpenId())); List userInfo = coreMongoTemplate.find(query, UserInfo.class); for (UserInfo u:userInfo) { - User defInMem = UserManager.getUserInMem(Integer.parseInt(u.getUid())); + if(u == null){ + continue; + } + if(u.getIsGetOrderMail() == 1){ + return; + } + /* User defInMem = UserManager.getUserInMem(Integer.parseInt(u.getUid())); if(defInMem == null){ continue; } @@ -152,23 +158,33 @@ public class UserLevelEventHandler implements IEventHandler,IPrivilegeChange{ } if(defInMem.getPlayerInfoManager().isGetOrderMail()){ return; - } + }*/ } + boolean isChange = false; for (UserInfo u:userInfo){ User defInMem = UserManager.getUserInMem(Integer.parseInt(u.getUid())); if(defInMem == null){ continue; } - if(12 <= defInMem.getPlayerInfoManager().getLevel()){ - //发邮件 - int [][] reward = SSpecialConfig.getTwiceArrayValue(SSpecialConfig.PRE_LOAD_REWARD); - String mailReward = ItemUtil.getMailReward(reward); - String title = SErrorCodeEerverConfig.getI18NMessage("PreLoadTitle"); - String content = SErrorCodeEerverConfig.getI18NMessage("PreLoadContent"); - int nowTime = (int) (TimeUtils.now() / 1000); - MailLogic.getInstance().sendSpecialMail(defInMem.getId(), title, content, mailReward, nowTime, 0,1,1); - defInMem.getPlayerInfoManager().setGetOrderMail(true); - return; + if(defInMem.getPlayerInfoManager().getCreateTime() >= limitOpenTime){ + if(12 <= defInMem.getPlayerInfoManager().getLevel()){ + //发邮件 + int [][] reward = SSpecialConfig.getTwiceArrayValue(SSpecialConfig.PRE_LOAD_REWARD); + String mailReward = ItemUtil.getMailReward(reward); + String title = SErrorCodeEerverConfig.getI18NMessage("PreLoadTitle"); + String content = SErrorCodeEerverConfig.getI18NMessage("PreLoadContent"); + int nowTime = (int) (TimeUtils.now() / 1000); + MailLogic.getInstance().sendSpecialMail(defInMem.getId(), title, content, mailReward, nowTime, 0,1,1); + //defInMem.getPlayerInfoManager().setGetOrderMail(true); + u.setIsGetOrderMail(1); + isChange = true; + break; + } + } + } + if(isChange){ + for (UserInfo u:userInfo){ + coreMongoTemplate.save(u,"user_info"); } } } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/UserInfo.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/UserInfo.java index 808ac5be4..e5f3fc382 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/UserInfo.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/UserInfo.java @@ -24,6 +24,10 @@ public class UserInfo { @Field(value = "uid") private String uid; + @Field(value = "isGetOrderMail") + private int isGetOrderMail; + + public UserInfo(int id, String openId, String serverId, String platform, String uid) { this.id = id; this.openId = openId; @@ -71,4 +75,12 @@ public class UserInfo { public void setUid(String uid) { this.uid = uid; } + + public int getIsGetOrderMail() { + return isGetOrderMail; + } + + public void setIsGetOrderMail(int isGetOrderMail) { + this.isGetOrderMail = isGetOrderMail; + } }