合服右键修改

master
PC-202302260912\Administrator 2023-08-22 16:01:49 +08:00
parent f5f36df928
commit af779d5dfd
2 changed files with 14 additions and 6 deletions

View File

@ -53,12 +53,15 @@ public class MailDaoImpl implements MailDao {
String[] split = mail.getServerId().split(comma);
for (String serverId:split) {
int hefuServerId = HeFuManager.getHefuServerId(Integer.parseInt(serverId));
serverId = String.valueOf(hefuServerId);
int serverInt = Integer.parseInt(serverId);
boolean masterServer = HeFuManager.isMasterServer(serverInt);
if (!masterServer){
continue;
}
Query query = new Query();
//_id区分引号 "1"和1
query.addCriteria(Criteria.where("_id").is(hefuServerId));
String dbName = MongoName.getMongoDBName(hefuServerId);
query.addCriteria(Criteria.where("_id").is(serverInt));
String dbName = MongoName.getMongoDBName(serverInt);
MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName);
//有则更新,没有则新增
WriteResult result = mongoTemplate.upsert(query, update, "mailingSystem");
@ -73,7 +76,6 @@ public class MailDaoImpl implements MailDao {
String[] uid = mail.getUserId().split("#");
String sb = getItemStr(mail);
for (String s : uid) {
// LOGGER.info("sendMail uid=>{},reward=>{}", s.trim(), sb);
MailPersonalCache mailPersonalCache = new MailPersonalCache();
mailPersonalCache.setTitle(mail.getMailTitle());
mailPersonalCache.setContent(mail.getMailContent());
@ -81,7 +83,8 @@ public class MailDaoImpl implements MailDao {
int sendTime = (int) (DateUtil.timeToStamp(mail.getSendTime()) / 1000);
mailPersonalCache.setTime(sendTime);
mailPersonalCache.setValidTime(mail.getEffectTime());
RedisUtil.getInstence().putMapEntry(mail.getServerId(), RedisUserKey.READY_TO_USER_MAIL + RedisUserKey.Delimiter_colon, s.trim(), mailPersonalCache, 240);
int serverId = HeFuManager.getHefuServerId(Integer.parseInt(mail.getServerId()));
RedisUtil.getInstence().putMapEntry(String.valueOf(serverId), RedisUserKey.READY_TO_USER_MAIL + RedisUserKey.Delimiter_colon, s.trim(), mailPersonalCache, 240);
}
}

View File

@ -42,6 +42,11 @@ public class HeFuManager {
return hefuMap.getOrDefault(serverId, serverId);
}
public static boolean isMasterServer(int serverId) {
int masterId = hefuMap.getOrDefault(serverId, serverId);
return masterId == serverId;
}
@PostConstruct
public void init(){
try {