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 5e01baabd..3ccf009f1 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 @@ -16,6 +16,7 @@ import com.ljsd.jieling.logic.dao.UserManager; import com.ljsd.jieling.logic.dao.root.Recharge; import com.ljsd.jieling.logic.dao.root.User; import com.ljsd.jieling.logic.dao.root.UserInfo; +import com.ljsd.jieling.logic.dao.root.UserOrderMail; import com.ljsd.jieling.logic.expedition.ExpeditionLogic; import com.ljsd.jieling.logic.fight.CombatLogic; import com.ljsd.jieling.logic.hardStage.HardStageLogic; @@ -142,6 +143,12 @@ public class UserLevelEventHandler implements IEventHandler,IPrivilegeChange{ long limitOpenTime = TimeUtils.stringToTimeLong2("2021-08-19 00:00:00"); Query query = new Query(Criteria.where("openId").is(user.getPlayerInfoManager().getOpenId())); List userInfo = coreMongoTemplate.find(query, UserInfo.class); + UserOrderMail userOrderMail = coreMongoTemplate.findOne(query,UserOrderMail.class); + if(userOrderMail != null ){ + if(userOrderMail.getIsGetOrderMail() ==1){ + return; + } + } for (UserInfo u:userInfo) { if(u == null){ continue; @@ -149,18 +156,8 @@ public class UserLevelEventHandler implements IEventHandler,IPrivilegeChange{ if(u.getIsGetOrderMail() == 1){ return; } - /* User defInMem = UserManager.getUserInMem(Integer.parseInt(u.getUid())); - if(defInMem == null){ - continue; - } - if(defInMem.getPlayerInfoManager().getCreateTime()< limitOpenTime){ - continue; - } - if(defInMem.getPlayerInfoManager().isGetOrderMail()){ - return; - }*/ } - boolean isChange = false; + for (UserInfo u:userInfo){ User defInMem = UserManager.getUserInMem(Integer.parseInt(u.getUid())); if(defInMem == null){ @@ -175,17 +172,13 @@ public class UserLevelEventHandler implements IEventHandler,IPrivilegeChange{ 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); + UserOrderMail userOrderMailData = new UserOrderMail(u.getOpenId(),1); + coreMongoTemplate.insert(userOrderMailData,"user_order_mail"); 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/UserOrderMail.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/UserOrderMail.java new file mode 100644 index 000000000..09d5cd076 --- /dev/null +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/root/UserOrderMail.java @@ -0,0 +1,36 @@ +package com.ljsd.jieling.logic.dao.root; + +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.mapping.Document; +import org.springframework.data.mongodb.core.mapping.Field; + +@Document(collection = "user_order_mail") +public class UserOrderMail { + @Id + private String openId; + + @Field(value = "isGetOrderMail") + private int isGetOrderMail; + + public UserOrderMail(String openId, int isGetOrderMail) { + this.openId = openId; + this.isGetOrderMail = isGetOrderMail; + } + + public int getIsGetOrderMail() { + return isGetOrderMail; + } + + public void setIsGetOrderMail(int isGetOrderMail) { + this.isGetOrderMail = isGetOrderMail; + } + + + public String getOpenId() { + return openId; + } + + public void setOpenId(String openId) { + this.openId = openId; + } +}