diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/LjsdMongoTemplate.java b/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/LjsdMongoTemplate.java index 9275c548e..310853696 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/LjsdMongoTemplate.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/LjsdMongoTemplate.java @@ -7,8 +7,8 @@ import com.ljsd.common.mogodb.MongoUpdateImp; import com.ljsd.jieling.db.mongo.core.ServerAreaInfoManager; import com.ljsd.jieling.logic.dao.ServerConfig; import com.ljsd.jieling.logic.dao.root.GlobalSystemControl; -import com.ljsd.jieling.logic.dao.root.GuildInfo; -import com.mongodb.*; +import com.mongodb.BasicDBObject; +import com.mongodb.DBCollection; import config.SMServerArenaSetting; import manager.STableManager; import org.slf4j.Logger; @@ -49,7 +49,7 @@ public class LjsdMongoTemplate implements MongoUpdateImp { otherMonogTemplate.save(obj); } - public void saveWithoutMongoRoot(T obj) throws Exception { + public void saveWithoutMongoRoot(T obj) { MongoTemplate monogTemplate = MongoUtil.getInstence().getMonogTemplate(GameApplication.serverId); monogTemplate.save(obj); } @@ -73,8 +73,7 @@ public class LjsdMongoTemplate implements MongoUpdateImp { } else { MongoTemplate mongoTemplate = MongoUtil.mongoTemplateMap.get(GameApplication.serverId); if (mongoTemplate != null) { - List all = mongoTemplate.findAll(clazz); - return all; + return mongoTemplate.findAll(clazz); } // for (MongoTemplate mongoTemplate : MongoUtil.mongoTemplateMap.values()) { @@ -86,7 +85,7 @@ public class LjsdMongoTemplate implements MongoUpdateImp { //return mongoTemplate.findAll(clazz,collectionName); } - public List findAllByCondition(Query query, Class entityClass) throws Exception { + public List findAllByCondition(Query query, Class entityClass) { List list = new ArrayList<>(); ServerAreaInfoManager serverArenaInfoManagerCache = AreaManager.serverArenaInfoManagerCache; @@ -131,7 +130,7 @@ public class LjsdMongoTemplate implements MongoUpdateImp { } return otherMonogTemplate.findById(id,clazz,collectionName); } - public T findByIdMy(String collectionName, String id, Class clazz) throws Exception { + public T findByIdMy(String collectionName, String id, Class clazz) { //int serverIdByUid = AreaManager.getInstance().getServerIdByUid(Integer.parseInt(id), GameApplication.serverId); MongoTemplate otherMonogTemplate = getMongoTemplate(GameApplication.serverId); if(otherMonogTemplate==null){ @@ -197,11 +196,7 @@ public class LjsdMongoTemplate implements MongoUpdateImp { // public MongoTemplate getMongoTemplate(int serverId) { - MongoTemplate otherMonogTemplate = MongoUtil.getInstence().getMonogTemplate(serverId); - if (otherMonogTemplate == null) { - return null; - } - return otherMonogTemplate; + return MongoUtil.getInstence().getMonogTemplate(serverId); } public void updateMongoData( Map> updateRequestMap) { @@ -215,7 +210,7 @@ public class LjsdMongoTemplate implements MongoUpdateImp { BasicDBObject dbobj = new BasicDBObject(); BasicDBObject removedbobj = new BasicDBObject(); - MongoTemplate otherMonogTemplate=null; + MongoTemplate otherMonogTemplate; if(collection.equals("guildInfo")){ Integer guilderverId = MongoUtil.getInstence().findGuilderverId(Integer.parseInt(id)); otherMonogTemplate = MongoUtil.getInstence().getMonogTemplate(guilderverId); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoUtil.java index b69a517a3..c4b78428e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/mongo/MongoUtil.java @@ -28,7 +28,6 @@ import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintWriter; -import java.lang.reflect.Type; import java.net.UnknownHostException; import java.util.*; @@ -98,9 +97,9 @@ public class MongoUtil { int maxLevel = level + randomLevel; long befor3Day = System.currentTimeMillis() - BEFOR_3_DAY; - criatira.andOperator(Criteria.where("id").nin(uid), + criatira.andOperator(Criteria.where("id").nin(uid),//不包含自己 Criteria.where("playerManager.level").gte(minLevel), Criteria.where("playerManager.level").lte(maxLevel), - Criteria.where("playerManager.loginTime").gte(befor3Day));//不包含自己 + Criteria.where("playerManager.loginTime").gte(befor3Day)); Query query = new Query(criatira).limit(size * 2 + 1); query.fields().include("playerManager"); return this.myMongoTemplate.findAllByCondition(query, User.class); @@ -138,20 +137,13 @@ public class MongoUtil { @Override public boolean shouldSkipField(FieldAttributes arg0) { Transient annotation = arg0.getAnnotation(Transient.class); - if (annotation != null) { - return true; - } - return false; + return annotation != null; } - }).registerTypeAdapter(Map.class, new JsonSerializer() { - @Override - public JsonElement serialize(AbstractMap abstractMap, Type type, JsonSerializationContext jsonSerializationContext) { - TreeMap treeMap = new TreeMap<>(abstractMap); - JsonParser jp = new JsonParser(); - JsonElement je = jp.parse(String.valueOf(JSON.toJSON(treeMap))); - return je; - } - } + }).registerTypeAdapter(Map.class, (JsonSerializer) (abstractMap, type, jsonSerializationContext) -> { + TreeMap treeMap = new TreeMap<>(abstractMap); + JsonParser jp = new JsonParser(); + return jp.parse(String.valueOf(JSON.toJSON(treeMap))); + } ).create(); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java index 6ae407ea9..564d6d7e3 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisUtil.java @@ -1356,33 +1356,52 @@ public class RedisUtil { * 获取key */ private String getKeyImpl(String type,String key) { - if (RedisKey.PLAYER_INFO_CACHE.equals(type) || RedisKey.FAMILY_INFO.equals(type) || - RedisKey.PIDGIDTEMP.equals(type) || RedisKey.SERVER_WORLDLEVE_INFO.equals(type) || - RedisKey.FAMILY_RED_PACKAGE.equals(type) || "red_remain_list".equals(type) || - RedisKey.FAMILY_RED_PACKAGE_INCRE_ID.equals(type) || "red_already_list".equals(type) || - RedisKey.CAR_DEALY_GUILD_FIGHT_PEOPLE_NUM.equals(type) || - RedisKey.SERVER_SPLIT_INFO.equals(type) || RedisKey.FAMILY_LOGS.equals(type) || - RedisKey.SERVER_SPLIT_MAIL_INFO.equals(type) || RedisKey.CROSS_ARENA_ROBOT_INFO.equals(type) || - RedisKey.CROSS_SERVICE_ARENA.equals(type) || RedisKey.WORLD_ARENA_RANK_MY_MATH.equals(type) || - RedisKey.WORLD_ARENA_MY_PRON.equals(type) || RedisKey.WORLD_ARENA_RRECORD.equals(type) || - RedisKey.TOKEN.equals(type) || RedisKey.USER_SERVER_INFO.equals(type) || - RedisKey.CDKEY.equals(type) || RedisKey.ServerArenaJob.equals(type) || - RedisKey.CROSS_SERVER_GROUP.equals(type) || RedisKey.HERO_HOT_RANK.equals(type) || - RedisKey.USER_LIKE_HERO_HOT_RANK.equals(type) || RedisKey.CROSS_YUXULUNDAO_RANK.equals(type) || - RedisKey.CROSS_YUXULUNDAO_ROBOT_INFO.equals(type) || RedisKey.CROSS_YUXULUNDAO_RECORD.equals(type) || RedisKey.CROSS_YUXULUNDAO_RANK_PERSON.equals(type) || - RedisKey.CROSS_LINGMAISECRET_INFO.equals(type) || RedisKey.CROSS_LINGMAISECRET_RECORD.equals(type) || RedisKey.CROSS_LINGMAI_RANK_PERSON.equals(type)) - { - return type + RedisKey.Delimiter_colon + key; + Set predefinedKeys = new HashSet<>(); + predefinedKeys.add(RedisKey.PLAYER_INFO_CACHE); + predefinedKeys.add(RedisKey.FAMILY_INFO); + predefinedKeys.add(RedisKey.PIDGIDTEMP); + predefinedKeys.add(RedisKey.SERVER_WORLDLEVE_INFO); + predefinedKeys.add(RedisKey.FAMILY_RED_PACKAGE); + predefinedKeys.add(RedisKey.FAMILY_RED_PACKAGE_INCRE_ID); + predefinedKeys.add("red_remain_list"); + predefinedKeys.add("red_already_list"); + predefinedKeys.add(RedisKey.CAR_DEALY_GUILD_FIGHT_PEOPLE_NUM); + predefinedKeys.add(RedisKey.SERVER_SPLIT_INFO); + predefinedKeys.add(RedisKey.FAMILY_LOGS); + predefinedKeys.add(RedisKey.SERVER_SPLIT_MAIL_INFO); + predefinedKeys.add(RedisKey.CROSS_ARENA_ROBOT_INFO); + predefinedKeys.add(RedisKey.CROSS_SERVICE_ARENA); + predefinedKeys.add(RedisKey.WORLD_ARENA_RANK_MY_MATH); + predefinedKeys.add(RedisKey.WORLD_ARENA_MY_PRON); + predefinedKeys.add(RedisKey.WORLD_ARENA_RRECORD); + predefinedKeys.add(RedisKey.TOKEN); + predefinedKeys.add(RedisKey.USER_SERVER_INFO); + predefinedKeys.add(RedisKey.CDKEY); + predefinedKeys.add(RedisKey.ServerArenaJob); + predefinedKeys.add(RedisKey.CROSS_SERVER_GROUP); + predefinedKeys.add(RedisKey.HERO_HOT_RANK); + predefinedKeys.add(RedisKey.USER_LIKE_HERO_HOT_RANK); + predefinedKeys.add(RedisKey.CROSS_YUXULUNDAO_RANK); + predefinedKeys.add(RedisKey.CROSS_YUXULUNDAO_ROBOT_INFO); + predefinedKeys.add(RedisKey.CROSS_YUXULUNDAO_RECORD); + predefinedKeys.add(RedisKey.CROSS_YUXULUNDAO_RANK_PERSON); + predefinedKeys.add(RedisKey.CROSS_LINGMAISECRET_INFO); + predefinedKeys.add(RedisKey.CROSS_LINGMAISECRET_RECORD); + predefinedKeys.add(RedisKey.CROSS_LINGMAI_RANK_PERSON); + + String delimiter = RedisKey.Delimiter_colon; + if (predefinedKeys.contains(type)){ + return type + delimiter + key; } if (!RedisKey.newAreaCacChe.contains(type) && !RedisKey.rankCacChe.contains(type) && key.length() == 8) { Integer serverId = RedisUtil.getInstence().getObject(RedisKey.CUser_ServerId_Key, key, Integer.class, GlobalsDef.REDIS_OVER_TIME_DAY * 10); if (serverId != null) { - return serverId + RedisKey.Delimiter_colon + type + RedisKey.Delimiter_colon + key; + return serverId + delimiter + type + delimiter + key; } } - return AreaManager.areaId + RedisKey.Delimiter_colon + type + RedisKey.Delimiter_colon + key; + return AreaManager.areaId + delimiter + type + delimiter + key; } /** diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java index 2387eec84..e75a17402 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/hardStage/StartHardStageRequestHandler.java @@ -46,6 +46,7 @@ import java.util.Comparator; import java.util.List; import java.util.Map; +@SuppressWarnings("unused") public class StartHardStageRequestHandler extends BaseHandler { @Override @@ -59,7 +60,7 @@ public class StartHardStageRequestHandler extends BaseHandler dropList = new ArrayList(); + List dropList = new ArrayList<>(); SHardStage nodeConfig = SHardStage.getConfigMap().get(nodeId); long createTime = user.getPlayerInfoManager().getCreateTime(); @@ -135,7 +136,7 @@ public class StartHardStageRequestHandler extends BaseHandler itemMap = itemObj.getItemMap().entrySet().stream().collect(Collectors.toMap(e->e.getKey(),e->Integer.parseInt(e.getValue().toString()))); + Map itemMap = itemObj.getItemMap().entrySet().stream().collect(Collectors.toMap(Map.Entry::getKey, e->Integer.parseInt(e.getValue().toString()))); combineItem.putAll(itemObj.getCardMap()); combineItem.putAll(itemObj.getEquipMap()); combineItem.putAll(itemMap); @@ -305,11 +280,7 @@ public class ItemUtil { } /** - * @param user - * @param dropGroupIds - * @param dropRatio - * @return - * @throws Exception + * 获取奖励 根据邮件 */ public static String getMailReward (User user,int[] dropGroupIds,float dropRatio) throws Exception { ItemMap itemObj = new ItemMap();