数据存贮优化
parent
bf43560c87
commit
13b8946115
|
|
@ -228,7 +228,7 @@ public class BeanUtil {
|
|||
return key;
|
||||
}
|
||||
//将DBObject转为map
|
||||
private static <K, V> Map<K, V> dbObject2Map(DBObject dbObject, Field field, MongoRoot root) throws Exception {
|
||||
private static <K, V> Map<K, V> dbObject2Map(DBObject dbObject, Field field) throws Exception {
|
||||
ParameterizedType pt = (ParameterizedType) field.getGenericType();
|
||||
Type[] types = pt.getActualTypeArguments();
|
||||
|
||||
|
|
@ -244,7 +244,7 @@ public class BeanUtil {
|
|||
Iterator<Object> iterator = values.iterator();
|
||||
while (iterator.hasNext()){
|
||||
Object next = iterator.next();
|
||||
Object obj = getObj(next,actualTypeArgument, root);
|
||||
Object obj = getObj(next,actualTypeArgument);
|
||||
objects.add(obj);
|
||||
}
|
||||
Object key = getKey(entry.getKey(), (Class)types[0]);
|
||||
|
|
@ -252,7 +252,7 @@ public class BeanUtil {
|
|||
return map;
|
||||
}
|
||||
|
||||
Object obj = getObj(entry.getValue(), (Class)type, root);
|
||||
Object obj = getObj(entry.getValue(), (Class)type);
|
||||
// Object value = ((Class)types[1]).newInstance();
|
||||
// Object obj = dbObject2Bean((DBObject) entry.getValue(), value, root);
|
||||
Object key = getKey(entry.getKey(), (Class)types[0]);
|
||||
|
|
@ -268,7 +268,7 @@ public class BeanUtil {
|
|||
return false;
|
||||
}
|
||||
//将dbobj转为普通对象
|
||||
private static Object getObj(Object dbobj, Class<?> clazz, MongoRoot root) throws Exception {
|
||||
private static Object getObj(Object dbobj, Class<?> clazz) throws Exception {
|
||||
Object obj = getBaseObj(dbobj, clazz);
|
||||
if(obj == null){
|
||||
Constructor constructor = clazz.getDeclaredConstructor();
|
||||
|
|
@ -276,18 +276,18 @@ public class BeanUtil {
|
|||
constructor.setAccessible(true);
|
||||
obj = constructor.newInstance();
|
||||
constructor.setAccessible(isAccessible);
|
||||
dbObject2Bean((DBObject) dbobj, obj, root);
|
||||
dbObject2Bean((DBObject) dbobj, obj);
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
//将DBObject转为set
|
||||
private static <T> Set<T> dbObject2Set(DBObject dbObject, Field field, MongoRoot root) throws Exception {
|
||||
private static <T> Set<T> dbObject2Set(DBObject dbObject, Field field) throws Exception {
|
||||
ParameterizedType pt = (ParameterizedType) field.getGenericType();
|
||||
Type[] types = pt.getActualTypeArguments();
|
||||
Set set = ConcurrentHashMap.<T> newKeySet();
|
||||
BasicDBList dbList = (BasicDBList)dbObject;
|
||||
for (Object dbobj : dbList) {
|
||||
Object obj = getObj(dbobj, (Class)types[0], root);
|
||||
Object obj = getObj(dbobj, (Class)types[0]);
|
||||
set.add(obj);
|
||||
}
|
||||
return set;
|
||||
|
|
@ -304,12 +304,12 @@ public class BeanUtil {
|
|||
return clazz.isArray();
|
||||
}
|
||||
//将DBObject转换为数组
|
||||
private static Object[] dbObject2Array(DBObject dbObject, Class<?> clazz, MongoRoot root) throws Exception {
|
||||
private static Object[] dbObject2Array(DBObject dbObject, Class<?> clazz) throws Exception {
|
||||
BasicDBList basicDBList = (BasicDBList)dbObject;
|
||||
Object[] objs = (Object[])Array.newInstance(clazz.getComponentType(), basicDBList.size());
|
||||
for(int i=0; i<basicDBList.size(); i++){
|
||||
Object dbobj = (Object)basicDBList.get(i);
|
||||
Object obj = getObj(dbobj, clazz.getComponentType(), root);
|
||||
Object obj = getObj(dbobj, clazz.getComponentType());
|
||||
objs[i] = obj;
|
||||
}
|
||||
return objs;
|
||||
|
|
@ -328,19 +328,19 @@ public class BeanUtil {
|
|||
return false;
|
||||
}
|
||||
//将DBObject转为list
|
||||
private static <T> List<T> dbObject2List(DBObject dbObject, Field field, MongoRoot root) throws Exception {
|
||||
private static <T> List<T> dbObject2List(DBObject dbObject, Field field) throws Exception {
|
||||
ParameterizedType pt = (ParameterizedType) field.getGenericType();
|
||||
Type[] types = pt.getActualTypeArguments();
|
||||
List list = new CopyOnWriteArrayList<T>();
|
||||
BasicDBList dbList = (BasicDBList)dbObject;
|
||||
for (Object dbobj : dbList) {
|
||||
Object obj = getObj(dbobj, (Class)types[0], root);
|
||||
Object obj = getObj(dbobj, (Class)types[0]);
|
||||
list.add(obj);
|
||||
}
|
||||
return list;
|
||||
}
|
||||
//DBObject转换为Bean对象
|
||||
public static Object dbObject2Bean(DBObject dbObject, Object bean, MongoRoot root) throws Exception {
|
||||
public static Object dbObject2Bean(DBObject dbObject, Object bean) throws Exception {
|
||||
if (bean == null) {
|
||||
return null;
|
||||
}
|
||||
|
|
@ -357,10 +357,11 @@ public class BeanUtil {
|
|||
// ((MongoBase)bean).setRoot((MongoRoot) root);
|
||||
// continue;
|
||||
// }
|
||||
else if(varName.equals("bsave")){
|
||||
((MongoRoot)bean).setBsave(true);
|
||||
continue;
|
||||
} else {
|
||||
// else if(varName.equals("bsave")){
|
||||
// ((MongoRoot)bean).setBsave(true);
|
||||
// continue;
|
||||
// }
|
||||
else {
|
||||
object = dbObject.get(varName);
|
||||
}
|
||||
if (object == null) {
|
||||
|
|
@ -377,18 +378,18 @@ public class BeanUtil {
|
|||
if (obj != null) {
|
||||
field.set(bean, obj);
|
||||
} else if (isMap(fieldClazz)) {
|
||||
obj = dbObject2Map((DBObject) object, field, root);
|
||||
obj = dbObject2Map((DBObject) object, field);
|
||||
} else if (isSet(fieldClazz)) {
|
||||
obj = dbObject2Set((DBObject) object, field, root);
|
||||
obj = dbObject2Set((DBObject) object, field);
|
||||
} else if (isArray(fieldClazz)) {
|
||||
obj = dbObject2Array((DBObject) object, fieldClazz, root);
|
||||
obj = dbObject2Array((DBObject) object, fieldClazz);
|
||||
} else if (isList(fieldClazz)) {
|
||||
obj = dbObject2List((DBObject) object, field, root);
|
||||
obj = dbObject2List((DBObject) object, field);
|
||||
} else if (isByteArray(fieldClazz)) {
|
||||
obj = object;
|
||||
} else {
|
||||
obj = fieldClazz.newInstance();
|
||||
obj = dbObject2Bean((DBObject) object, obj, root);
|
||||
obj = dbObject2Bean((DBObject) object, obj);
|
||||
}
|
||||
field.set(bean, obj);
|
||||
// 恢复访问控制权限
|
||||
|
|
@ -404,7 +405,7 @@ public class BeanUtil {
|
|||
return null;
|
||||
}
|
||||
T bean = clazz.newInstance();
|
||||
dbObject2Bean(dbObject, bean, (MongoRoot)bean);
|
||||
dbObject2Bean(dbObject, bean);
|
||||
return bean;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,9 +23,10 @@ public class LjsdMongoTemplate {
|
|||
}
|
||||
|
||||
public <T> void save(T obj) throws Exception {
|
||||
MongoRoot root = (MongoRoot)obj;
|
||||
mongoTemplate.save(obj,root.getCollection());
|
||||
root.setBsave(true);
|
||||
// MongoRoot root = (MongoRoot)obj;
|
||||
// mongoTemplate.save(obj,root.getCollection());
|
||||
// root.setBsave(true);
|
||||
mongoTemplate.save(obj);
|
||||
}
|
||||
|
||||
public <T> void saveWithoutMongoRoot(T obj) throws Exception {
|
||||
|
|
|
|||
|
|
@ -7,54 +7,26 @@ import java.lang.ref.WeakReference;
|
|||
//使用下划线,是为了在json转换时,能转为正确的值
|
||||
public abstract class MongoBase {
|
||||
|
||||
private String mongoKey; //该级对应的mongodb的key
|
||||
|
||||
private String rootId;
|
||||
@Transient
|
||||
private boolean _save;
|
||||
|
||||
private String mongoKey; //该级对应的mongodb的key
|
||||
@Transient
|
||||
private String rootCollection;
|
||||
|
||||
@Transient
|
||||
private String rootId;
|
||||
|
||||
@Transient
|
||||
private LjsdMongoTemplate _myMongoTemplate;
|
||||
|
||||
public void init(String id, LjsdMongoTemplate _myMongoTemplate ,String rootCollection ,String mongoKey, boolean _save) {
|
||||
public void init(String id,String mongoKey) {
|
||||
this.rootId = id;
|
||||
this.rootCollection = rootCollection;
|
||||
this._myMongoTemplate = _myMongoTemplate;
|
||||
this.mongoKey = mongoKey;
|
||||
this._save = _save;
|
||||
}
|
||||
|
||||
public void init(String id, LjsdMongoTemplate _myMongoTemplate ,String rootCollection ,String mongoKey) {
|
||||
this.rootId = id;
|
||||
this.rootCollection = rootCollection;
|
||||
this._myMongoTemplate = _myMongoTemplate;
|
||||
this.mongoKey = mongoKey;
|
||||
this._save = true;
|
||||
public void updateString(String fieldName, Object value) {
|
||||
MongoUpdateCacheThreadLocal.addUpdateRequest(this, mongoKey + "." + fieldName, value);
|
||||
}
|
||||
|
||||
public void updateString(MongoBase dataBase, String fieldName, Object value) {
|
||||
|
||||
MongoUpdateCacheThreadLocal.addUpdateRequest(this, dataBase.get_myMongoTemplate(), dataBase.getRootCollection(), dataBase.getRootId(),
|
||||
mongoKey + "." + fieldName, value);
|
||||
public void removeString(String key) {
|
||||
MongoUpdateCacheThreadLocal.removeRequest(this, key);
|
||||
}
|
||||
|
||||
|
||||
public void updateString(String fieldName, MongoBase value) {
|
||||
MongoUpdateCacheThreadLocal.addUpdateRequest(value, value.get_myMongoTemplate(), value.getRootCollection(), value.getRootId(),
|
||||
mongoKey + "." + fieldName, value);
|
||||
}
|
||||
|
||||
|
||||
public void removeString(String key, MongoBase value) {
|
||||
MongoUpdateCacheThreadLocal.removeRequest(this, value.get_myMongoTemplate(), value.getRootCollection(), value.getRootId(), key);
|
||||
}
|
||||
|
||||
|
||||
public String getMongoKey() {
|
||||
return mongoKey;
|
||||
}
|
||||
|
|
@ -63,14 +35,6 @@ public abstract class MongoBase {
|
|||
this.mongoKey = mongoKey;
|
||||
}
|
||||
|
||||
public boolean is_save() {
|
||||
return _save;
|
||||
}
|
||||
|
||||
public void set_save(boolean _save) {
|
||||
this._save = _save;
|
||||
}
|
||||
|
||||
public String getRootCollection() {
|
||||
return rootCollection;
|
||||
}
|
||||
|
|
@ -86,12 +50,4 @@ public abstract class MongoBase {
|
|||
public void setRootId(String rootId) {
|
||||
this.rootId = rootId;
|
||||
}
|
||||
|
||||
public LjsdMongoTemplate get_myMongoTemplate() {
|
||||
return _myMongoTemplate;
|
||||
}
|
||||
|
||||
public void set_myMongoTemplate(LjsdMongoTemplate _myMongoTemplate) {
|
||||
this._myMongoTemplate = _myMongoTemplate;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,8 @@
|
|||
package com.ljsd.common.mogodb;
|
||||
|
||||
import ch.qos.logback.core.joran.util.beans.BeanUtil;
|
||||
import com.mongodb.BasicDBObject;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
public class MongoUpdateCache {
|
||||
static class UpdateRequest {
|
||||
|
|
@ -24,23 +20,38 @@ public class MongoUpdateCache {
|
|||
}
|
||||
|
||||
//key:String, collection + ":" + id
|
||||
private final Map<String, List<UpdateRequest>> requestMap = new HashMap<>();
|
||||
private final Map<String, Map<String, UpdateRequest>> requestMap = new HashMap<>();
|
||||
|
||||
protected void addUpdateRequest(MongoBase mongoBase, String collection, String id, String fullKey, Object value, int opCode) {
|
||||
String key = collection + ":" + id;
|
||||
List<UpdateRequest> listRequest = requestMap.get(key);
|
||||
|
||||
protected void addUpdateRequest(MongoBase mongoBase, String fullKey, Object value, int opCode) {
|
||||
String key = mongoBase.getRootCollection() + ":" + mongoBase.getRootId();
|
||||
Map<String, UpdateRequest> listRequest = requestMap.get(key);
|
||||
if (listRequest == null) {
|
||||
listRequest = new ArrayList<UpdateRequest>();
|
||||
listRequest = new HashMap<>();
|
||||
requestMap.put(key, listRequest);
|
||||
} else {
|
||||
Iterator<Map.Entry<String, UpdateRequest>> it = listRequest.entrySet().iterator();
|
||||
while (it.hasNext()) {
|
||||
Map.Entry<String, UpdateRequest> entry = it.next();
|
||||
String key1 = entry.getKey();
|
||||
if (fullKey.contains(key1)) {
|
||||
return;
|
||||
}
|
||||
if (key1.contains(fullKey)) {
|
||||
it.remove();
|
||||
}
|
||||
}
|
||||
}
|
||||
UpdateRequest request = new UpdateRequest(fullKey, value, opCode, mongoBase);
|
||||
listRequest.add(request);
|
||||
listRequest.put(fullKey, request);
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected void update(LjsdMongoTemplate ljsdMongoTemplate) throws IllegalAccessException {
|
||||
BasicDBObject searchQuery = new BasicDBObject();
|
||||
|
||||
for (Map.Entry<String, List<UpdateRequest>> entry : requestMap.entrySet()) {
|
||||
for (Map.Entry<String, Map<String, UpdateRequest>> entry : requestMap.entrySet()) {
|
||||
String[] strs = entry.getKey().split(":");
|
||||
String collection = strs[0];
|
||||
String id = strs[1];
|
||||
|
|
@ -49,23 +60,27 @@ public class MongoUpdateCache {
|
|||
BasicDBObject valueDBObj = new BasicDBObject();
|
||||
BasicDBObject dbobj = new BasicDBObject();
|
||||
BasicDBObject removedbobj = new BasicDBObject();
|
||||
for (UpdateRequest request : entry.getValue()) {
|
||||
for (UpdateRequest request : entry.getValue().values()) {
|
||||
if (request.opCode == 2) {
|
||||
removedbobj.append(request.fullKey, request.value);
|
||||
continue;
|
||||
}
|
||||
valueDBObj.append(request.fullKey, ljsdMongoTemplate.convertToMongoType(request.value));
|
||||
request.mongoBase.set_save(false);
|
||||
}
|
||||
|
||||
boolean flag = false;
|
||||
if (!valueDBObj.isEmpty()) {
|
||||
dbobj.append("$set", valueDBObj);
|
||||
flag = true;
|
||||
}
|
||||
|
||||
if (!removedbobj.isEmpty()) {
|
||||
dbobj.append("$unset", removedbobj);
|
||||
flag = true;
|
||||
}
|
||||
if (flag){
|
||||
ljsdMongoTemplate.updateValue(collection, searchQuery, dbobj);
|
||||
}
|
||||
|
||||
ljsdMongoTemplate.updateValue(collection, searchQuery, dbobj);
|
||||
|
||||
}
|
||||
requestMap.clear();
|
||||
|
|
|
|||
|
|
@ -4,34 +4,29 @@ import java.util.HashMap;
|
|||
import java.util.Map;
|
||||
|
||||
public class MongoUpdateCacheThreadLocal {
|
||||
private final static ThreadLocal<Map<LjsdMongoTemplate, MongoUpdateCache>> mongoUpdateCacheThreadLocal = new ThreadLocal<>();
|
||||
private final static ThreadLocal<MongoUpdateCache> mongoUpdateCacheThreadLocal = new ThreadLocal<>();
|
||||
|
||||
private static MongoUpdateCache getMongoUpdateCache(LjsdMongoTemplate ljsdMongoTemplate) {
|
||||
Map<LjsdMongoTemplate, MongoUpdateCache> mongoUpdateCacheMap = mongoUpdateCacheThreadLocal.get();
|
||||
if (mongoUpdateCacheMap == null) {
|
||||
mongoUpdateCacheMap = new HashMap<LjsdMongoTemplate, MongoUpdateCache>();
|
||||
mongoUpdateCacheThreadLocal.set(mongoUpdateCacheMap);
|
||||
}
|
||||
MongoUpdateCache mongoUpdateCache = mongoUpdateCacheMap.get(ljsdMongoTemplate);
|
||||
private static MongoUpdateCache getMongoUpdateCache() {
|
||||
MongoUpdateCache mongoUpdateCache = mongoUpdateCacheThreadLocal.get();
|
||||
if (mongoUpdateCache == null) {
|
||||
mongoUpdateCache = new MongoUpdateCache();
|
||||
mongoUpdateCacheMap.put(ljsdMongoTemplate, mongoUpdateCache);
|
||||
mongoUpdateCacheThreadLocal.set(mongoUpdateCache);
|
||||
}
|
||||
return mongoUpdateCache;
|
||||
}
|
||||
|
||||
protected static void addUpdateRequest(MongoBase mongoBase, LjsdMongoTemplate ljsdMongoTemplate, String collection, String id, String fullKey, Object value) {
|
||||
MongoUpdateCache mongoUpdateCache = getMongoUpdateCache(ljsdMongoTemplate);
|
||||
mongoUpdateCache.addUpdateRequest(mongoBase, collection, id, fullKey, value, 1);
|
||||
protected static void addUpdateRequest(MongoBase mongoBase, String fullKey, Object value) {
|
||||
MongoUpdateCache mongoUpdateCache = getMongoUpdateCache();
|
||||
mongoUpdateCache.addUpdateRequest(mongoBase, fullKey, value, 1);
|
||||
}
|
||||
|
||||
protected static void removeRequest(MongoBase mongoBase, LjsdMongoTemplate ljsdMongoTemplate, String collection, String id, String fullKey) {
|
||||
MongoUpdateCache mongoUpdateCache = getMongoUpdateCache(ljsdMongoTemplate);
|
||||
mongoUpdateCache.addUpdateRequest(mongoBase, collection, id, fullKey, "", 2);
|
||||
protected static void removeRequest(MongoBase mongoBase, String fullKey) {
|
||||
MongoUpdateCache mongoUpdateCache = getMongoUpdateCache();
|
||||
mongoUpdateCache.addUpdateRequest(mongoBase, fullKey, "", 2);
|
||||
}
|
||||
|
||||
protected static void update(LjsdMongoTemplate ljsdMongoTemplate) throws IllegalAccessException {
|
||||
MongoUpdateCache mongoUpdateCache = getMongoUpdateCache(ljsdMongoTemplate);
|
||||
MongoUpdateCache mongoUpdateCache = getMongoUpdateCache();
|
||||
mongoUpdateCache.update(ljsdMongoTemplate);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ public class TestMongo {
|
|||
public static void main(String[] args) {
|
||||
try {
|
||||
ljsdMongoTemplate = getLjsdMongoTemplate();
|
||||
PlayerForTest.init(ljsdMongoTemplate);
|
||||
// save();
|
||||
PlayerForTest one = findOne();
|
||||
update(one);
|
||||
|
|
|
|||
|
|
@ -14,11 +14,12 @@ public class BaseInfoForTest extends MongoBase {
|
|||
|
||||
public BaseInfoForTest(){
|
||||
cardTestInfoMap = new ConcurrentHashMap<>();
|
||||
this.setRootCollection(PlayerForTest._COLLECTION_NAME);
|
||||
this.setMongoKey("baseInfoForTest");
|
||||
}
|
||||
|
||||
public void addCard(int cardId,CardTestInfo cardTestInfo) throws Exception {
|
||||
cardTestInfo.init(cardTestInfo.getRootId(),cardTestInfo.get_myMongoTemplate(),cardTestInfo.getRootCollection(),
|
||||
getMongoKey() + ".cardTestInfoMap." + cardId);
|
||||
cardTestInfo.init(cardTestInfo.getRootId(),getMongoKey() + ".cardTestInfoMap." + cardId);
|
||||
updateString("cardMap." +cardId, cardTestInfo);
|
||||
cardTestInfoMap.put(cardId,cardTestInfo);
|
||||
}
|
||||
|
|
@ -28,7 +29,7 @@ public class BaseInfoForTest extends MongoBase {
|
|||
}
|
||||
|
||||
public void setName(String name) throws Exception {
|
||||
updateString(this,"name", name);
|
||||
updateString("name", name);
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
|
|
@ -37,7 +38,7 @@ public class BaseInfoForTest extends MongoBase {
|
|||
}
|
||||
|
||||
public void setAge(int age) throws Exception {
|
||||
updateString(this,"age", name);
|
||||
updateString("age", name);
|
||||
this.age = age;
|
||||
}
|
||||
|
||||
|
|
@ -46,7 +47,7 @@ public class BaseInfoForTest extends MongoBase {
|
|||
}
|
||||
|
||||
public void setOtherInfoMsg(Map<String, String> otherInfoMsg) throws Exception {
|
||||
updateString(this,"otherInfoMsg", name);
|
||||
updateString("otherInfoMsg", name);
|
||||
this.otherInfoMsg = otherInfoMsg;
|
||||
}
|
||||
|
||||
|
|
@ -54,10 +55,13 @@ public class BaseInfoForTest extends MongoBase {
|
|||
String value = otherInfoMsg.get(id);
|
||||
if (value!=null){
|
||||
otherInfoMsg.remove(id);
|
||||
removeString("otherInfoMsg." + id,this);
|
||||
removeString("otherInfoMsg." + id);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public String getMongoKey() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,12 +9,12 @@ public class CardTestInfo extends MongoBase {
|
|||
private String level;
|
||||
|
||||
public void setId(String id) {
|
||||
updateString(this,"id",id);
|
||||
updateString("id",id);
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public void setLevel(String level) throws Exception {
|
||||
updateString(this,"level",level);
|
||||
updateString("level",level);
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
|
|
@ -25,4 +25,9 @@ public class CardTestInfo extends MongoBase {
|
|||
public String getLevel() {
|
||||
return level;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getMongoKey() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,19 +6,13 @@ import com.ljsd.common.mogodb.MongoRoot;
|
|||
import java.util.Map;
|
||||
|
||||
public class PlayerForTest extends MongoRoot {
|
||||
private final static String _COLLECTION_NAME = "play_test";
|
||||
public final static String _COLLECTION_NAME = "play_test";
|
||||
private BaseInfoForTest baseInfoForTest;
|
||||
|
||||
private static LjsdMongoTemplate _ljsdMongoTemplate;
|
||||
|
||||
public static void init( LjsdMongoTemplate ljsdMongoTemplate){
|
||||
_ljsdMongoTemplate = ljsdMongoTemplate;
|
||||
}
|
||||
|
||||
public PlayerForTest(int playerId,BaseInfoForTest baseInfoForTest){
|
||||
setId(String.valueOf(playerId));
|
||||
this.baseInfoForTest = baseInfoForTest;
|
||||
baseInfoForTest.init(String.valueOf(playerId),_ljsdMongoTemplate,_COLLECTION_NAME,"baseInfoForTest",false);
|
||||
baseInfoForTest.init(String.valueOf(playerId),"baseInfoForTest");
|
||||
}
|
||||
|
||||
// public PlayerForTest(){
|
||||
|
|
|
|||
|
|
@ -3,12 +3,12 @@ package com.ljsd;
|
|||
import com.ljsd.jieling.config.ServerConfig;
|
||||
import com.ljsd.jieling.config.json.ServerConfiguration;
|
||||
import com.ljsd.jieling.config.json.ServerProperties;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.logic.STableManager;
|
||||
import com.ljsd.jieling.logic.dao.MailingSystemManager;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.netty.server.NettyGameServer;
|
||||
import com.ljsd.jieling.network.NettyProperties;
|
||||
import com.ljsd.jieling.network.NettyServerAutoConfiguration;
|
||||
|
|
@ -43,7 +43,6 @@ public class GameApplication {
|
|||
public static ServerProperties serverProperties;
|
||||
private static NettyGameServer nettyServer = null;
|
||||
public static int serverId = 0;
|
||||
// public static ServerProperties serverProperties;
|
||||
public static boolean start = false;
|
||||
|
||||
public static ServerConfig serverConfig;
|
||||
|
|
@ -71,10 +70,11 @@ public class GameApplication {
|
|||
|
||||
RedisUtil.getInstence().init(configurableApplicationContext);
|
||||
|
||||
MongoUtil.getInstence().init(configurableApplicationContext);
|
||||
|
||||
STableManager.initialize("com.ljsd.jieling.config");
|
||||
|
||||
UserManager.init(configurableApplicationContext);
|
||||
MailingSystemManager.init(configurableApplicationContext);
|
||||
// MailingSystemManager.init(configurableApplicationContext);
|
||||
ThreadManager threadManager = new ThreadManager();
|
||||
threadManager.init(configurableApplicationContext);
|
||||
MapLogic.getInstance().init(configurableApplicationContext);
|
||||
|
|
@ -82,7 +82,7 @@ public class GameApplication {
|
|||
final NettyServerAutoConfiguration netServerConfig = configurableApplicationContext.getBean(NettyServerAutoConfiguration.class);
|
||||
NettyProperties properties = netServerConfig.getNettyProperties();
|
||||
//todo 设置开服时间
|
||||
ServerConfig serverConfigTmp = UserManager.ljsdMongoTemplate.findById(1, ServerConfig.class);
|
||||
ServerConfig serverConfigTmp = MongoUtil.getInstence().getMyMongoTemplate().findById(1, ServerConfig.class);
|
||||
if( null == serverConfigTmp ){
|
||||
serverConfigTmp = new ServerConfig();
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
|
|
@ -91,7 +91,7 @@ public class GameApplication {
|
|||
serverConfigTmp.setOpenTime(format);
|
||||
serverConfigTmp.setCacheOpenTime(serverOenTime);
|
||||
serverConfigTmp.setId(1);
|
||||
UserManager.ljsdMongoTemplate.saveWithoutMongoRoot(serverConfigTmp);
|
||||
MongoUtil.getInstence().getMyMongoTemplate().saveWithoutMongoRoot(serverConfigTmp);
|
||||
}else{
|
||||
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
String openTime = serverConfigTmp.getOpenTime();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
package com.ljsd.jieling.db.mongo;
|
||||
|
||||
public class MongoKey {
|
||||
|
||||
public final static String playerManager = "playerManager";
|
||||
|
||||
public final static String itemManager = "itemManager";
|
||||
|
||||
public final static String heroManager = "heroManager";
|
||||
|
||||
public final static String mapManager = "mapManager";
|
||||
|
||||
public final static String missionManager = "missionManager";
|
||||
|
||||
public final static String teamPosManager = "teamPosManager";
|
||||
|
||||
public final static String mailManager = "mailManager";
|
||||
|
||||
public final static String equipManager = "equipManager";
|
||||
|
||||
public final static String adventureManager = "adventureManager";
|
||||
|
||||
public final static String pokemonManager = "pokemonManager";
|
||||
|
||||
public final static String workShopController = "workShopController";
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
package com.ljsd.jieling.db.mongo;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
import com.ljsd.common.mogodb.LjsdMongoTemplate;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
|
||||
public class MongoUtil {
|
||||
|
||||
private static final Logger LOGGER = LoggerFactory.getLogger(MongoUtil.class);
|
||||
|
||||
private Gson gson = new Gson();
|
||||
|
||||
private static int MAX_TRY_TIMES = 3; //最大尝试次数,保障获取/存储成功
|
||||
private static int FAILED_SLEEP = 2; //每次失败最大停顿时间
|
||||
|
||||
private MongoUtil() {
|
||||
}
|
||||
|
||||
public static MongoUtil getInstence() {
|
||||
return MongoUtil.InnerClass.instance;
|
||||
}
|
||||
|
||||
private static class InnerClass {
|
||||
private static final MongoUtil instance = new MongoUtil();
|
||||
}
|
||||
|
||||
private LjsdMongoTemplate myMongoTemplate;
|
||||
|
||||
|
||||
public void init(ConfigurableApplicationContext configurableApplicationContext){
|
||||
myMongoTemplate =configurableApplicationContext.getBean(LjsdMongoTemplate.class);
|
||||
}
|
||||
|
||||
public LjsdMongoTemplate getMyMongoTemplate() {
|
||||
return myMongoTemplate;
|
||||
}
|
||||
|
||||
public void lastUpdate() throws Exception {
|
||||
this.myMongoTemplate.lastUpdate();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -4,7 +4,7 @@ import com.ljsd.jieling.globals.Global;
|
|||
import com.ljsd.jieling.globals.GlobalGm;
|
||||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.dao.Mail;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
|
@ -13,7 +13,6 @@ import com.ljsd.jieling.protocols.MessageTypeProto;
|
|||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import com.ljsd.jieling.util.TimeUtils;
|
||||
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,9 @@
|
|||
package com.ljsd.jieling.handler;
|
||||
|
||||
import com.ljsd.jieling.config.SCHero;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.STableManager;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.HeroManager;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.ljsd.jieling.handler;
|
||||
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
|
@ -37,7 +37,7 @@ public class GetAllItemHandler extends BaseHandler {
|
|||
LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},itemStartIndex={}",
|
||||
userId, token,msgId,msgIndex,itemStartIndex);
|
||||
boolean isSendFinish = false;
|
||||
User user = UserManager.getUserForLogin(userId);
|
||||
User user = UserManager.getUser(userId);
|
||||
List<CommonProto.Item> allItemList = ItemUtil.getAllItem(user);
|
||||
int endItemIndes = itemStartIndex + Global.SEND_ITEM_COUNT;
|
||||
if (itemStartIndex < allItemList.size()) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
package com.ljsd.jieling.handler;
|
||||
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
|
@ -37,7 +36,7 @@ public class GetPlayerInfoHandler extends BaseHandler{
|
|||
LOGGER.info("processMessage->uid={},token={},msgId={},msgIndex={},messageNum={},messageStr={}",
|
||||
userId, token,msgId,msgIndex,getPlayerInfoRequest.getNum(),getPlayerInfoRequest.getStr());
|
||||
|
||||
User user = UserManager.getUserForLogin(userId);
|
||||
User user = UserManager.getUser(userId);
|
||||
|
||||
CommonProto.Player player = CBean2Proto.getPlayer(userId, user.getPlayerInfoManager(), user.getMapManager().getMaxMapId(), user.getMapManager().getCurMapId());
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.ljsd.jieling.handler;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
|
|
|||
|
|
@ -1,22 +1,15 @@
|
|||
package com.ljsd.jieling.handler;
|
||||
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.item.ItemLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Component
|
||||
public class UseAndPriceItemHandler extends BaseHandler {
|
||||
|
||||
|
|
|
|||
|
|
@ -33,12 +33,13 @@ public class Cell extends MongoBase {
|
|||
}
|
||||
|
||||
public void setPointId(int pointId) throws Exception {
|
||||
updateString(this,"pointId", pointId);
|
||||
updateString("pointId", pointId);
|
||||
this.pointId = pointId;
|
||||
}
|
||||
|
||||
public void setEventId(int eventId) throws Exception {
|
||||
updateString(this,"eventId", eventId);
|
||||
updateString("eventId", eventId);
|
||||
this.eventId = eventId;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import com.ljsd.jieling.handler.map.behavior.BaseBehavior;
|
|||
import com.ljsd.jieling.handler.mission.Mission;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.TeamPosHeroInfo;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
|
|
|||
|
|
@ -3,12 +3,10 @@ package com.ljsd.jieling.handler.map;
|
|||
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.handler.map.Cell;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
|
||||
|
|
@ -30,6 +28,12 @@ public class MapManager extends MongoBase {
|
|||
|
||||
private Map<Integer, CrossMapCell> crossMapInfos = new ConcurrentHashMap<>();
|
||||
|
||||
public MapManager() {
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.setMongoKey(MongoKey.mapManager);
|
||||
}
|
||||
|
||||
|
||||
public Map<Integer, Cell> getMapInfo() {
|
||||
return mapInfo;
|
||||
}
|
||||
|
|
@ -39,7 +43,7 @@ public class MapManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void updateCrossMapInfos(int key, CrossMapCell crossMapCell) throws Exception {
|
||||
updateString(this, "mapInfo." + key, crossMapCell);
|
||||
updateString("mapInfo." + key, crossMapCell);
|
||||
crossMapInfos.put(key, crossMapCell);
|
||||
}
|
||||
|
||||
|
|
@ -48,7 +52,7 @@ public class MapManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setCurMapId(int curMapId) throws Exception {
|
||||
updateString(this,"curMapId", curMapId);
|
||||
updateString("curMapId", curMapId);
|
||||
this.curMapId = curMapId;
|
||||
}
|
||||
|
||||
|
|
@ -57,17 +61,17 @@ public class MapManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setCurXY(int curXY) throws Exception {
|
||||
updateString(this,"curXY", curXY);
|
||||
updateString("curXY", curXY);
|
||||
this.curXY = curXY;
|
||||
}
|
||||
|
||||
public void addOrUpdateCell(int key, Cell cell) throws Exception {
|
||||
updateString(this,"mapInfo." + key, cell);
|
||||
updateString("mapInfo." + key, cell);
|
||||
this.mapInfo.put(key, cell);
|
||||
}
|
||||
|
||||
public void setMapInfo(Map<Integer, Cell> mapInfo) throws Exception {
|
||||
updateString(this, "mapInfo", mapInfo);
|
||||
updateString( "mapInfo", mapInfo);
|
||||
this.mapInfo = mapInfo;
|
||||
}
|
||||
|
||||
|
|
@ -81,7 +85,7 @@ public class MapManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setTypeEight(Map<Integer, Cell> typeEight) throws Exception {
|
||||
updateString(this, "typeEight", typeEight);
|
||||
updateString( "typeEight", typeEight);
|
||||
this.typeEight = typeEight;
|
||||
}
|
||||
|
||||
|
|
@ -90,7 +94,7 @@ public class MapManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setHeroes(Set<String> heroes) throws Exception {
|
||||
updateString(this, "heroes", heroes);
|
||||
updateString( "heroes", heroes);
|
||||
this.heroes = heroes;
|
||||
}
|
||||
|
||||
|
|
@ -99,12 +103,12 @@ public class MapManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setWalkCells(Set<Integer> walkCells) throws Exception {
|
||||
updateString(this, "walkCells", walkCells);
|
||||
updateString( "walkCells", walkCells);
|
||||
this.walkCells = walkCells;
|
||||
}
|
||||
|
||||
public void addWalkCells(Set<Integer> walkCells) throws Exception {
|
||||
updateString(this, "walkCells", walkCells);
|
||||
updateString( "walkCells", walkCells);
|
||||
if (this.walkCells == null) {
|
||||
this.walkCells = walkCells;
|
||||
} else {
|
||||
|
|
@ -117,7 +121,8 @@ public class MapManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setMaxMapId(int maxMapId) throws Exception {
|
||||
updateString(this, "maxMapId", maxMapId);
|
||||
updateString( "maxMapId", maxMapId);
|
||||
this.maxMapId = maxMapId;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package com.ljsd.jieling.handler.map.behavior;
|
||||
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
|
||||
public abstract class BaseBehavior {
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.ljsd.jieling.handler.map.EventType;
|
|||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.handler.mission.Mission;
|
||||
import com.ljsd.jieling.handler.mission.MissionLogic;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package com.ljsd.jieling.handler.map.behavior;
|
|||
|
||||
import com.ljsd.jieling.handler.map.Cell;
|
||||
import com.ljsd.jieling.handler.map.EventType;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import com.ljsd.jieling.config.SCMapConfig;
|
|||
import com.ljsd.jieling.handler.map.*;
|
||||
import com.ljsd.jieling.handler.mission.Mission;
|
||||
import com.ljsd.jieling.handler.mission.MissionLogic;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import com.ljsd.jieling.util.CellUtil;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.ljsd.jieling.handler.map.behavior;
|
||||
|
||||
import com.ljsd.jieling.handler.map.EventType;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
|
|||
|
|
@ -3,17 +3,14 @@ package com.ljsd.jieling.handler.map.behavior;
|
|||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.handler.map.Cell;
|
||||
import com.ljsd.jieling.handler.map.EventType;
|
||||
import com.ljsd.jieling.handler.map.MapManager;
|
||||
import com.ljsd.jieling.logic.dao.Hero;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.FightInfoProto;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import com.ljsd.jieling.util.CBean2Proto;
|
||||
import com.ljsd.jieling.util.MessageUtil;
|
||||
import com.ljsd.jieling.util.MonsterUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import com.ljsd.jieling.handler.map.EventType;
|
|||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.handler.mission.Mission;
|
||||
import com.ljsd.jieling.handler.mission.MissionLogic;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package com.ljsd.jieling.handler.map.behavior;
|
|||
|
||||
import com.ljsd.jieling.handler.map.EventType;
|
||||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.ljsd.jieling.handler.map.behavior;
|
||||
|
||||
import com.ljsd.jieling.handler.map.EventType;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import com.ljsd.jieling.util.MathUtils;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import com.ljsd.jieling.handler.map.EventType;
|
|||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.handler.mission.Mission;
|
||||
import com.ljsd.jieling.handler.mission.MissionLogic;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import com.ljsd.jieling.handler.map.EventType;
|
|||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.handler.mission.Mission;
|
||||
import com.ljsd.jieling.handler.mission.MissionLogic;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
|
|||
|
|
@ -1,15 +1,11 @@
|
|||
package com.ljsd.jieling.handler.map.behavior;
|
||||
|
||||
import com.ljsd.jieling.config.SItem;
|
||||
import com.ljsd.jieling.handler.map.EventType;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
@Component
|
||||
public class ScoutBehavior extends BaseBehavior {
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package com.ljsd.jieling.handler.map.behavior;
|
|||
|
||||
import com.ljsd.jieling.handler.map.Cell;
|
||||
import com.ljsd.jieling.handler.map.EventType;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.ljsd.jieling.handler.map.behavior;
|
||||
|
||||
import com.ljsd.jieling.handler.map.EventType;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import com.ljsd.jieling.handler.map.EventType;
|
|||
import com.ljsd.jieling.handler.map.MapLogic;
|
||||
import com.ljsd.jieling.handler.mission.Mission;
|
||||
import com.ljsd.jieling.handler.mission.MissionLogic;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MapInfoProto;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public class Mission extends MongoBase {
|
|||
}
|
||||
|
||||
public void setMissionInfo(String missionInfo) throws Exception {
|
||||
updateString(this,"missionInfo", missionInfo);
|
||||
updateString("missionInfo", missionInfo);
|
||||
this.missionInfo = missionInfo;
|
||||
}
|
||||
|
||||
|
|
@ -59,7 +59,8 @@ public class Mission extends MongoBase {
|
|||
}
|
||||
|
||||
public void updateMapPoints(int pointId, int eventId) throws Exception {
|
||||
updateString(this,"mapPoints." + pointId, eventId);
|
||||
updateString("mapPoints." + pointId, eventId);
|
||||
this.mapPoints.put(pointId, eventId);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package com.ljsd.jieling.handler.mission;
|
|||
|
||||
import com.ljsd.jieling.config.SMissionEventsConfig;
|
||||
import com.ljsd.jieling.handler.map.Cell;
|
||||
import com.ljsd.jieling.logic.dao.User;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package com.ljsd.jieling.handler.mission;
|
|||
|
||||
import com.google.common.collect.Sets;
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
|
@ -15,6 +17,13 @@ public class MissionManager extends MongoBase {
|
|||
|
||||
private Set<Integer> takeRewardMissions = Sets.newConcurrentHashSet();
|
||||
|
||||
|
||||
public MissionManager(){
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.setMongoKey(MongoKey.missionManager);
|
||||
}
|
||||
|
||||
|
||||
public Map<Integer, Mission> getDoingMissions() {
|
||||
return doingMissions;
|
||||
}
|
||||
|
|
@ -29,21 +38,22 @@ public class MissionManager extends MongoBase {
|
|||
|
||||
public void updateDoingMissions(Map<Integer, Mission> doingMissions) throws Exception {
|
||||
this.doingMissions = doingMissions;
|
||||
updateString(this, "doingMissions", doingMissions);
|
||||
updateString( "doingMissions", doingMissions);
|
||||
}
|
||||
|
||||
public void updateOneDoingMissions(int missionId, Mission mission) throws Exception {
|
||||
this.doingMissions.put(missionId, mission);
|
||||
updateString(this, "doingMissions." + missionId, mission);
|
||||
updateString( "doingMissions." + missionId, mission);
|
||||
}
|
||||
|
||||
public void updateFinishMissions(Set<Integer> finishMissions) throws Exception {
|
||||
this.finishMissions = finishMissions;
|
||||
updateString(this, "finishMissions", finishMissions);
|
||||
updateString( "finishMissions", finishMissions);
|
||||
}
|
||||
|
||||
public void addTakeRewardMissions(int missionId) throws Exception {
|
||||
takeRewardMissions.add(missionId);
|
||||
updateString(this, "takeRewardMissions", takeRewardMissions);
|
||||
updateString( "takeRewardMissions", takeRewardMissions);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
|
||||
import java.util.HashMap;
|
||||
|
|
@ -11,6 +13,8 @@ public class AdventureManager extends MongoBase {
|
|||
private Map<Integer,AdventureStateInfo> adventureStateInfoMap;
|
||||
|
||||
public AdventureManager(){
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.setMongoKey(MongoKey.adventureManager);
|
||||
adventureStateInfoMap = new HashMap<>();
|
||||
}
|
||||
|
||||
|
|
@ -23,7 +27,7 @@ public class AdventureManager extends MongoBase {
|
|||
public void clearStation(int position){
|
||||
AdventureStateInfo adventureStateInfo = adventureStateInfoMap.get(position);
|
||||
if (adventureStateInfo!=null){
|
||||
removeString("adventureStateInfoMap." + position, adventureStateInfo);
|
||||
removeString("adventureStateInfoMap." + position);
|
||||
adventureStateInfoMap.remove(position);
|
||||
}
|
||||
|
||||
|
|
@ -36,4 +40,5 @@ public class AdventureManager extends MongoBase {
|
|||
public void setAdventureStateInfoMap(Map<Integer, AdventureStateInfo> adventureStateInfoMap) {
|
||||
this.adventureStateInfoMap = adventureStateInfoMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,4 +34,5 @@ public class AdventureStateInfo extends MongoBase {
|
|||
public int getPosition() {
|
||||
return position;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public class AutoIncrement extends MongoBase {
|
|||
}
|
||||
|
||||
public void setCnt(int cnt) throws Exception {
|
||||
updateString(this,"cnt", cnt);
|
||||
updateString("cnt", cnt);
|
||||
this.cnt = cnt;
|
||||
}
|
||||
public AutoIncrement(String name){
|
||||
|
|
@ -30,4 +30,5 @@ public class AutoIncrement extends MongoBase {
|
|||
public int getCnt() {
|
||||
return cnt;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,24 +1,31 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.logic.dao.root.MailingSystem;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
public class AutoIncrementManager extends MongoBase {
|
||||
|
||||
private Map<String,AutoIncrement> autoIncrementMap = new ConcurrentHashMap<>();
|
||||
|
||||
public AutoIncrementManager(){
|
||||
this.setRootCollection(MailingSystem._COLLECTION_NAME);
|
||||
this.setMongoKey("autoIncrementManager");
|
||||
}
|
||||
|
||||
public Map<String,AutoIncrement> getAutoIncrementMap() {
|
||||
return autoIncrementMap;
|
||||
}
|
||||
|
||||
public void addAutoIncrement(AutoIncrement autoIncrement) throws Exception {
|
||||
autoIncrement.init(autoIncrement.getRootId(), autoIncrement.get_myMongoTemplate(), autoIncrement.getRootCollection(),
|
||||
getMongoKey() + ".autoIncrementMap." + autoIncrement.getName());
|
||||
autoIncrement.init(autoIncrement.getRootId(), getMongoKey() + ".autoIncrementMap." + autoIncrement.getName());
|
||||
updateString("autoIncrementMap." + autoIncrement.getName(), autoIncrement);
|
||||
autoIncrementMap.put(autoIncrement.getName(),autoIncrement);
|
||||
}
|
||||
public AutoIncrement getAutoIncrement(String key){
|
||||
return autoIncrementMap.get(key);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -204,7 +204,7 @@ public class Equip extends MongoBase {
|
|||
}
|
||||
|
||||
public void setEquipId(int equipId) throws Exception {
|
||||
updateString(this,"equipId",equipId);
|
||||
updateString("equipId",equipId);
|
||||
this.equipId = equipId;
|
||||
}
|
||||
|
||||
|
|
@ -213,7 +213,7 @@ public class Equip extends MongoBase {
|
|||
}
|
||||
|
||||
public void setLevel(int level) throws Exception {
|
||||
updateString(this,"level",level);
|
||||
updateString("level",level);
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
|
|
@ -222,7 +222,7 @@ public class Equip extends MongoBase {
|
|||
}
|
||||
|
||||
public void setStar(int star) throws Exception {
|
||||
updateString(this,"star",star);
|
||||
updateString("star",star);
|
||||
this.star = star;
|
||||
}
|
||||
|
||||
|
|
@ -231,7 +231,7 @@ public class Equip extends MongoBase {
|
|||
}
|
||||
|
||||
public void setHeroId(String heroId) throws Exception {
|
||||
updateString(this,"heroId",heroId);
|
||||
updateString("heroId",heroId);
|
||||
this.heroId = heroId;
|
||||
}
|
||||
|
||||
|
|
@ -242,4 +242,5 @@ public class Equip extends MongoBase {
|
|||
public Map<Integer, Integer> getSecondValueByIdMap() {
|
||||
return secondValueByIdMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
|
@ -10,6 +12,10 @@ public class EquipManager extends MongoBase {
|
|||
private Map<String,Equip> equipMap;
|
||||
|
||||
public EquipManager() {
|
||||
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.setMongoKey(MongoKey.equipManager);
|
||||
|
||||
this.equipMap = new HashMap<>();
|
||||
}
|
||||
|
||||
|
|
@ -19,9 +25,8 @@ public class EquipManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void remove(String equipId){
|
||||
Equip equip = equipMap.get(equipId);
|
||||
if (equip!=null){
|
||||
removeString("equipMap." + equipId, equip);
|
||||
if (equipMap.containsKey(equipId)){
|
||||
removeString("equipMap." + equipId);
|
||||
equipMap.remove(equipId);
|
||||
}
|
||||
}
|
||||
|
|
@ -29,4 +34,5 @@ public class EquipManager extends MongoBase {
|
|||
public Map<String, Equip> getEquipMap() {
|
||||
return equipMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,8 +72,8 @@ public class Hero extends MongoBase {
|
|||
}
|
||||
this.skillList.addAll(skillIds);
|
||||
}
|
||||
updateString(this,"star",star);
|
||||
updateString(this,"skillList",skillList);
|
||||
updateString("star",star);
|
||||
updateString("skillList",skillList);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ public class Hero extends MongoBase {
|
|||
}
|
||||
|
||||
public void setTemplateId(int templateId) throws Exception {
|
||||
updateString(this,"templateId",templateId);
|
||||
updateString("templateId",templateId);
|
||||
this.templateId = templateId;
|
||||
}
|
||||
|
||||
|
|
@ -91,17 +91,17 @@ public class Hero extends MongoBase {
|
|||
}
|
||||
|
||||
public void setCurHp(float curHp) throws Exception {
|
||||
updateString(this,"curHp",curHp);
|
||||
updateString("curHp",curHp);
|
||||
this.curHp = curHp;
|
||||
}
|
||||
|
||||
public void setLevel(int level) throws Exception {
|
||||
updateString(this,"level",level);
|
||||
updateString("level",level);
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
public void setStar(int star) throws Exception {
|
||||
updateString(this,"star",star);
|
||||
updateString("star",star);
|
||||
this.star = star;
|
||||
}
|
||||
|
||||
|
|
@ -136,19 +136,19 @@ public class Hero extends MongoBase {
|
|||
}
|
||||
|
||||
public void setEquipByPositionMap(Map<Integer, String> equipByPositionMap) throws Exception {
|
||||
updateString(this,"equipByPositionMap",equipByPositionMap);
|
||||
updateString("equipByPositionMap",equipByPositionMap);
|
||||
this.equipByPositionMap = equipByPositionMap;
|
||||
}
|
||||
|
||||
public void updateEquipPositionMap(int position,String equipId) throws Exception {
|
||||
updateString(this,"equipByPositionMap." + position ,equipId);
|
||||
updateString("equipByPositionMap." + position ,equipId);
|
||||
this.equipByPositionMap.put(position,equipId);
|
||||
}
|
||||
|
||||
public void removeEquip(int position){
|
||||
String value = this.equipByPositionMap.get(position);
|
||||
if (value!=null){
|
||||
removeString("equipByPositionMap." + position, this);
|
||||
removeString("equipByPositionMap." + position);
|
||||
this.equipByPositionMap.remove(position);
|
||||
}
|
||||
}
|
||||
|
|
@ -158,7 +158,7 @@ public class Hero extends MongoBase {
|
|||
}
|
||||
|
||||
public void setBreakId(int breakId) throws Exception {
|
||||
updateString(this,"breakId",breakId);
|
||||
updateString("breakId",breakId);
|
||||
this.breakId = breakId;
|
||||
}
|
||||
|
||||
|
|
@ -167,19 +167,19 @@ public class Hero extends MongoBase {
|
|||
}
|
||||
|
||||
public void updateEnergy(int energy,int updateTime) throws Exception {
|
||||
updateString(this,"energy",energy);
|
||||
updateString(this,"lastUpdateEnergyTime",energy);
|
||||
updateString("energy",energy);
|
||||
updateString("lastUpdateEnergyTime",energy);
|
||||
this.energy = energy;
|
||||
this.lastUpdateEnergyTime = updateTime;
|
||||
}
|
||||
|
||||
public void setCreateTime(int createTime) throws Exception {
|
||||
updateString(this,"createTime",createTime);
|
||||
updateString("createTime",createTime);
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
public void setLastUpdateEnergyTime(int lastUpdateEnergyTime) throws Exception {
|
||||
updateString(this,"lastUpdateEnergyTime",lastUpdateEnergyTime);
|
||||
updateString("lastUpdateEnergyTime",lastUpdateEnergyTime);
|
||||
this.lastUpdateEnergyTime = lastUpdateEnergyTime;
|
||||
}
|
||||
|
||||
|
|
@ -190,4 +190,5 @@ public class Hero extends MongoBase {
|
|||
public int getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,20 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class HeroManager extends MongoBase {
|
||||
|
||||
private Map<String, Hero> heroMap;
|
||||
|
||||
public HeroManager() {
|
||||
heroMap = new HashMap();
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.setMongoKey(MongoKey.heroManager);
|
||||
}
|
||||
|
||||
public Map<String, Hero> getItemMap() {
|
||||
|
|
@ -22,7 +27,7 @@ public class HeroManager extends MongoBase {
|
|||
|
||||
public void addHero(Hero hero) throws Exception {
|
||||
//绑定关系
|
||||
hero.init(hero.getId(),hero.get_myMongoTemplate(), hero.getRootCollection(),getMongoKey() + ".heroMap." + hero.getId());
|
||||
hero.init(hero.getId(),getMongoKey() + ".heroMap." + hero.getId());
|
||||
updateString("heroMap." + hero.getId(), hero);
|
||||
heroMap.put(hero.getId(), hero);
|
||||
}
|
||||
|
|
@ -32,16 +37,14 @@ public class HeroManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void removeHero(String heroId) {
|
||||
Hero hero = heroMap.get(heroId);
|
||||
if (hero!=null){
|
||||
removeString("heroMap." + heroId, hero);
|
||||
if (heroMap.containsKey(heroId)){
|
||||
removeString("heroMap." + heroId);
|
||||
heroMap.remove(heroId);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
public Map<String, Hero> getHeroMap() {
|
||||
return heroMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ public class Item extends MongoBase {
|
|||
}
|
||||
|
||||
public void setItemId(int itemId) throws Exception {
|
||||
updateString(this,"itemId", itemId);
|
||||
updateString("itemId", itemId);
|
||||
this.itemId = itemId;
|
||||
}
|
||||
|
||||
|
|
@ -37,7 +37,7 @@ public class Item extends MongoBase {
|
|||
}
|
||||
|
||||
public void setItemNum(int itemNum) throws Exception {
|
||||
updateString(this,"itemNum", itemNum);
|
||||
updateString("itemNum", itemNum);
|
||||
this.itemNum = itemNum;
|
||||
}
|
||||
|
||||
|
|
@ -46,7 +46,7 @@ public class Item extends MongoBase {
|
|||
}
|
||||
|
||||
public void setEndingTime(int endingTime) throws Exception {
|
||||
updateString(this,"endingTime", endingTime);
|
||||
updateString("endingTime", endingTime);
|
||||
this.endingTime = endingTime;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,17 +1,19 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.config.SItem;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
public class ItemManager extends MongoBase {
|
||||
|
||||
private Map<Integer, Item> itemMap = new ConcurrentHashMap<>();
|
||||
|
||||
public ItemManager() {
|
||||
itemMap = new HashMap();
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.setMongoKey(MongoKey.itemManager);
|
||||
}
|
||||
|
||||
public Map<Integer, Item> getItemMap() {
|
||||
|
|
@ -23,7 +25,7 @@ public class ItemManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void addItem(Item item) throws Exception {
|
||||
item.init(item.getRootId(),item.get_myMongoTemplate(), item.getRootCollection(), getMongoKey() + ".itemMap." + item.getItemId());
|
||||
item.init(item.getRootId(), getMongoKey() + ".itemMap." + item.getItemId());
|
||||
updateString("itemMap." + item.getItemId(), item);
|
||||
itemMap.put(item.getItemId(), item);
|
||||
}
|
||||
|
|
@ -36,7 +38,7 @@ public class ItemManager extends MongoBase {
|
|||
Item item = itemMap.get(key);
|
||||
if (item!=null){
|
||||
itemMap.remove(key);
|
||||
removeString(getMongoKey() + ".itemMap." + key, item);
|
||||
removeString(getMongoKey() + ".itemMap." + key);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -45,5 +47,4 @@ public class ItemManager extends MongoBase {
|
|||
addItem(item);
|
||||
return item;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public class Mail extends MongoBase {
|
|||
this.mailType = mailType;
|
||||
}
|
||||
public void setState(int state) throws Exception {
|
||||
updateString(this,"state", state);
|
||||
updateString("state", state);
|
||||
this.state = state;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,21 +1,27 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
public class MailManager extends MongoBase {
|
||||
|
||||
private Map<String, Mail> mailMap = new ConcurrentHashMap<>();
|
||||
|
||||
public MailManager(){
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.setMongoKey(MongoKey.mailManager);
|
||||
}
|
||||
|
||||
public Map<String, Mail> getMailMap() {
|
||||
return mailMap;
|
||||
}
|
||||
|
||||
public void addMail(Mail mail) throws Exception {
|
||||
mail.init(mail.getId(),mail.get_myMongoTemplate(),mail.getRootCollection(), getMongoKey() + ".mailMap." + mail.getId());
|
||||
mail.init(mail.getId(), getMongoKey() + ".mailMap." + mail.getId());
|
||||
updateString("mailMap." + mail.getId(), mail);
|
||||
mailMap.put(mail.getId(), mail);
|
||||
}
|
||||
|
|
@ -23,10 +29,9 @@ public class MailManager extends MongoBase {
|
|||
return mailMap.get(key);
|
||||
}
|
||||
public void removeMail(String key) {
|
||||
Mail mail = mailMap.get(key);
|
||||
if (mail!=null){
|
||||
if (mailMap.containsKey(key)){
|
||||
mailMap.remove(key);
|
||||
removeString(getMongoKey() + ".mailMap." + key, mail);
|
||||
removeString(getMongoKey() + ".mailMap." + key);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,49 +0,0 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.common.mogodb.LjsdMongoTemplate;
|
||||
import com.ljsd.common.mogodb.MongoRoot;
|
||||
|
||||
public class MailingSystem extends MongoRoot {
|
||||
public static final String _COLLECTION_NAME = "mailingSystem";
|
||||
|
||||
private static LjsdMongoTemplate _myMongoDBPool;
|
||||
private SystemMailManager systemMailManager;
|
||||
private SysMailManager sysMailManager;
|
||||
private AutoIncrementManager cAutoIncrementManager;
|
||||
@Override
|
||||
public String getCollection() {
|
||||
return _COLLECTION_NAME;
|
||||
}
|
||||
public static String getCollectionName() {
|
||||
return _COLLECTION_NAME;
|
||||
}
|
||||
|
||||
|
||||
public MailingSystem(){
|
||||
String id = Integer.toString(GameApplication.serverId);
|
||||
setId(id);
|
||||
systemMailManager = new SystemMailManager();
|
||||
sysMailManager = new SysMailManager();
|
||||
cAutoIncrementManager = new AutoIncrementManager();
|
||||
|
||||
//綁定关系
|
||||
systemMailManager.init(id, _myMongoDBPool, _COLLECTION_NAME,"systemMailManager", false);
|
||||
sysMailManager.init(id, _myMongoDBPool, _COLLECTION_NAME,"sysMailManager", false);
|
||||
cAutoIncrementManager.init(id, _myMongoDBPool, _COLLECTION_NAME,"autoIncrementManager", false);
|
||||
}
|
||||
public static void init(LjsdMongoTemplate ljsdMongoTemplate) {
|
||||
_myMongoDBPool = ljsdMongoTemplate;
|
||||
}
|
||||
public SystemMailManager getSystemMailManager() {
|
||||
return systemMailManager;
|
||||
}
|
||||
|
||||
public SysMailManager getSysMailManager() {
|
||||
return sysMailManager;
|
||||
}
|
||||
|
||||
public AutoIncrementManager getcAutoIncrementManager() {
|
||||
return cAutoIncrementManager;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,7 +1,9 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
|
||||
import com.ljsd.common.mogodb.LjsdMongoTemplate;
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.logic.dao.root.MailingSystem;
|
||||
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||
import com.ljsd.jieling.util.TimeUtils;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
|
|
@ -14,27 +16,24 @@ public class MailingSystemManager {
|
|||
|
||||
private static Map<Integer, MailingSystem> mailingSystemMap = new ConcurrentHashMap<>();
|
||||
|
||||
public static LjsdMongoTemplate ljsdMongoTemplate;
|
||||
|
||||
public static void init(ConfigurableApplicationContext configurableApplicationContext) throws Exception {
|
||||
ljsdMongoTemplate =configurableApplicationContext.getBean(LjsdMongoTemplate.class);
|
||||
MailingSystem.init(ljsdMongoTemplate);
|
||||
//TODO 测试用
|
||||
//初始化系统邮件信息
|
||||
MailingSystem mailingSystem = ljsdMongoTemplate.findById(MailingSystem.getCollectionName(), Integer.toString(1), MailingSystem.class);
|
||||
MailingSystem mailingSystem = MongoUtil.getInstence().getMyMongoTemplate().findById(MailingSystem.getCollectionName(), Integer.toString(1), MailingSystem.class);
|
||||
if (mailingSystem == null){
|
||||
mailingSystem = new MailingSystem();
|
||||
addMailingSystem(mailingSystem);
|
||||
int nowTime = (int)(TimeUtils.now()/1000);
|
||||
mailingSystem.getSysMailManager().addSystemMail(new SysMail(1));
|
||||
MailingSystemManager.ljsdMongoTemplate.lastUpdate();
|
||||
// MailingSystemManager.ljsdMongoTemplate.lastUpdate();
|
||||
MailLogic.getInstance().sendSystemMail("开服邮件",new ArrayList<>(),"DSKGSD",nowTime,"1#5000|2#100",30*24*60*60,"IDIP",0,"0");
|
||||
}
|
||||
}
|
||||
|
||||
public static void addMailingSystem(MailingSystem mailingSystem) throws Exception {
|
||||
mailingSystemMap.put(Integer.valueOf(mailingSystem.getId()), mailingSystem);
|
||||
ljsdMongoTemplate.save(mailingSystem);
|
||||
MongoUtil.getInstence().getMyMongoTemplate().save(mailingSystem);
|
||||
}
|
||||
|
||||
public static boolean isUserExist(int id) {
|
||||
|
|
@ -42,6 +41,6 @@ public class MailingSystemManager {
|
|||
}
|
||||
|
||||
public static MailingSystem getMailingSystem() {
|
||||
return mailingSystemMap.get(1);
|
||||
return mailingSystemMap.get(GameApplication.serverId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ package com.ljsd.jieling.logic.dao;
|
|||
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.config.SWorkShopSetting;
|
||||
import com.ljsd.jieling.util.MathUtils;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
public class PlayerManager extends MongoBase {
|
||||
|
||||
|
|
@ -33,8 +33,10 @@ public class PlayerManager extends MongoBase {
|
|||
|
||||
private String clientVersion;
|
||||
|
||||
|
||||
|
||||
public PlayerManager(){
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.setMongoKey(MongoKey.playerManager);
|
||||
}
|
||||
|
||||
public String getOpenId() {
|
||||
return openId;
|
||||
|
|
@ -49,7 +51,7 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setNickName(String nickName) throws Exception {
|
||||
updateString(this,"nickName", nickName);
|
||||
updateString("nickName", nickName);
|
||||
this.nickName = nickName;
|
||||
}
|
||||
|
||||
|
|
@ -58,7 +60,7 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setLevel(int level) throws Exception {
|
||||
updateString(this,"level", level);
|
||||
updateString("level", level);
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
|
|
@ -67,7 +69,7 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setExp(int exp) throws Exception {
|
||||
updateString(this,"exp", exp);
|
||||
updateString("exp", exp);
|
||||
this.exp = exp;
|
||||
}
|
||||
|
||||
|
|
@ -76,7 +78,7 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setVipLevel(int vipLevel) throws Exception {
|
||||
updateString(this,"vipLevel", vipLevel);
|
||||
updateString("vipLevel", vipLevel);
|
||||
this.vipLevel = vipLevel;
|
||||
}
|
||||
|
||||
|
|
@ -85,7 +87,7 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setFamilyId(String familyId) throws Exception {
|
||||
updateString(this,"familyId", familyId);
|
||||
updateString("familyId", familyId);
|
||||
this.familyId = familyId;
|
||||
}
|
||||
|
||||
|
|
@ -94,7 +96,7 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setHead(String head) throws Exception {
|
||||
updateString(this,"head", head);
|
||||
updateString("head", head);
|
||||
this.head = head;
|
||||
}
|
||||
|
||||
|
|
@ -103,7 +105,7 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setGold(long gold) throws Exception {
|
||||
updateString(this,"gold", gold);
|
||||
updateString("gold", gold);
|
||||
this.gold = gold;
|
||||
}
|
||||
|
||||
|
|
@ -112,7 +114,7 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setGem(int gem) throws Exception {
|
||||
updateString(this,"gem", gem);
|
||||
updateString("gem", gem);
|
||||
this.gem = gem;
|
||||
}
|
||||
|
||||
|
|
@ -121,7 +123,7 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setChargeGem(int chargeGem) throws Exception {
|
||||
updateString(this,"chargeGem", chargeGem);
|
||||
updateString("chargeGem", chargeGem);
|
||||
this.chargeGem = chargeGem;
|
||||
}
|
||||
|
||||
|
|
@ -130,12 +132,12 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setMapId(int mapId) throws Exception {
|
||||
updateString(this,"mapId", mapId);
|
||||
updateString("mapId", mapId);
|
||||
this.mapId = mapId;
|
||||
}
|
||||
|
||||
public void setCreateTime(long createTime) throws Exception {
|
||||
updateString(this,"createTime", createTime);
|
||||
updateString("createTime", createTime);
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
|
|
@ -148,7 +150,7 @@ public class PlayerManager extends MongoBase {
|
|||
}
|
||||
|
||||
public void setClientVersion(String clientVersion) throws Exception {
|
||||
updateString(this,"clientVersion", clientVersion);
|
||||
updateString("clientVersion", clientVersion);
|
||||
this.clientVersion = clientVersion;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -26,7 +26,7 @@ public class Pokemon extends MongoBase {
|
|||
if( integer != null){
|
||||
level = integer+1 ;
|
||||
}
|
||||
updateString(this,"comonpentsLevelMap."+comonpentId,level);
|
||||
updateString("comonpentsLevelMap."+comonpentId,level);
|
||||
this.comonpentsLevelMap.put(comonpentId,level);
|
||||
}
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ public class Pokemon extends MongoBase {
|
|||
}
|
||||
|
||||
public void setAllStage(int allStage) throws Exception {
|
||||
updateString(this,"allStage."+allStage,allStage);
|
||||
updateString("allStage."+allStage,allStage);
|
||||
this.allStage = allStage;
|
||||
}
|
||||
|
||||
|
|
@ -46,4 +46,5 @@ public class Pokemon extends MongoBase {
|
|||
public Map<Integer, Integer> getComonpentsLevelMap() {
|
||||
return comonpentsLevelMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
|
@ -9,11 +11,14 @@ public class PokemonManager extends MongoBase {
|
|||
private Map<Integer,Pokemon> pokemonMap;
|
||||
|
||||
public PokemonManager() {
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.setMongoKey(MongoKey.pokemonManager);
|
||||
|
||||
this.pokemonMap = new HashMap<>();
|
||||
}
|
||||
|
||||
public void addPokemon(Pokemon pokemon) throws Exception {
|
||||
updateString("pokemonMap." + pokemon.getId(),pokemon);
|
||||
updateString("pokemonMap." + pokemon.getId(), this);
|
||||
pokemonMap.put(pokemon.getId(),pokemon);
|
||||
}
|
||||
|
||||
|
|
@ -21,4 +26,5 @@ public class PokemonManager extends MongoBase {
|
|||
public Map<Integer, Pokemon> getPokemonMap() {
|
||||
return pokemonMap;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public class Skill extends MongoBase {
|
|||
}
|
||||
|
||||
public void setSkillId(int skillId) throws Exception {
|
||||
updateString(this,"skillId", skillId);
|
||||
updateString("skillId", skillId);
|
||||
this.skillId = skillId;
|
||||
}
|
||||
|
||||
|
|
@ -32,7 +32,7 @@ public class Skill extends MongoBase {
|
|||
}
|
||||
|
||||
public void setSkillType(int skillType) throws Exception {
|
||||
updateString(this,"skillType",skillType);
|
||||
updateString("skillType",skillType);
|
||||
this.skillType = skillType;
|
||||
}
|
||||
|
||||
|
|
@ -41,7 +41,7 @@ public class Skill extends MongoBase {
|
|||
}
|
||||
|
||||
public void setLevel(int level) throws Exception {
|
||||
updateString(this,"level",level);
|
||||
updateString("level",level);
|
||||
this.level = level;
|
||||
}
|
||||
|
||||
|
|
@ -50,7 +50,7 @@ public class Skill extends MongoBase {
|
|||
}
|
||||
|
||||
public void setStar(int star) throws Exception {
|
||||
updateString(this,"star",star);
|
||||
updateString("star",star);
|
||||
this.star = star;
|
||||
}
|
||||
|
||||
|
|
@ -61,4 +61,5 @@ public class Skill extends MongoBase {
|
|||
public void setEffectIdList(List<Integer> effectIdList) {
|
||||
this.effectIdList = effectIdList;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ public class SysMail extends MongoBase {
|
|||
|
||||
}
|
||||
public void setSysMailIds(List<Integer> sysMailIds) throws Exception {
|
||||
updateString(this,"sysMailIds", sysMailIds);
|
||||
updateString("sysMailIds", sysMailIds);
|
||||
this.sysMailIds = sysMailIds;
|
||||
}
|
||||
|
||||
|
|
@ -31,4 +31,5 @@ public class SysMail extends MongoBase {
|
|||
this.roleUid = uid;
|
||||
this.sysMailIds = new CopyOnWriteArrayList<>();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.logic.dao.root.MailingSystem;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
|
@ -8,12 +9,18 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||
public class SysMailManager extends MongoBase {
|
||||
private Map<Integer,SysMail> sysMailMap = new ConcurrentHashMap<>();
|
||||
|
||||
public SysMailManager(){
|
||||
this.setRootCollection(MailingSystem._COLLECTION_NAME);
|
||||
this.setMongoKey("sysMailManager");
|
||||
}
|
||||
|
||||
|
||||
public Map<Integer,SysMail> getSystemMailMap() {
|
||||
return sysMailMap;
|
||||
}
|
||||
|
||||
public void addSystemMail(SysMail sysMail) throws Exception {
|
||||
sysMail.init(sysMail.getRootId(),sysMail.get_myMongoTemplate(),sysMail.getRootCollection(), getMongoKey() + ".sysMailMap." + sysMail.getRoleUid());
|
||||
sysMail.init(sysMail.getRootId(), getMongoKey() + ".sysMailMap." + sysMail.getRoleUid());
|
||||
updateString("sysMailMap." + sysMail.getRoleUid(), sysMail);
|
||||
sysMailMap.put(sysMail.getRoleUid(),sysMail);
|
||||
}
|
||||
|
|
@ -29,4 +36,5 @@ public class SysMailManager extends MongoBase {
|
|||
}
|
||||
return sysMail;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,4 +87,5 @@ public class SystemMail extends MongoBase {
|
|||
public String getVersion() {
|
||||
return version;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.logic.dao.root.MailingSystem;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
|
@ -8,6 +9,11 @@ import java.util.concurrent.ConcurrentHashMap;
|
|||
public class SystemMailManager extends MongoBase {
|
||||
private Map<Integer,SystemMail> systemMailMap = new ConcurrentHashMap<>();
|
||||
|
||||
public SystemMailManager(){
|
||||
this.setRootCollection(MailingSystem._COLLECTION_NAME);
|
||||
this.setMongoKey("systemMailManager");
|
||||
}
|
||||
|
||||
public Map<Integer,SystemMail> getSystemMailMap() {
|
||||
return systemMailMap;
|
||||
}
|
||||
|
|
@ -23,4 +29,5 @@ public class SystemMailManager extends MongoBase {
|
|||
public String getName (){
|
||||
return "systemMail";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
|
||||
import java.util.*;
|
||||
|
|
@ -12,6 +14,8 @@ public class TeamPosManager extends MongoBase {
|
|||
private Map<Integer,List<TeamPosForPokenInfo>> teamPosForPoken;
|
||||
|
||||
public TeamPosManager(){
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
this.setMongoKey(MongoKey.missionManager);
|
||||
teamNames = new HashMap<>(3);
|
||||
teamPosForHero = new HashMap<>(3);
|
||||
teamPosForPoken = new HashMap<>(3);
|
||||
|
|
@ -19,7 +23,7 @@ public class TeamPosManager extends MongoBase {
|
|||
|
||||
public void changeName(int teamId,String teamName) throws Exception {
|
||||
teamNames.put(teamId,teamName);
|
||||
updateString(this,"teamNames",teamNames);
|
||||
updateString("teamNames",teamNames);
|
||||
}
|
||||
|
||||
public void changeTeamInfo(int teamId, List<CommonProto.TeamHeroInfo> heroIds, List<CommonProto.TeamPokemonInfo> pokemonoIds) throws Exception {
|
||||
|
|
@ -35,8 +39,8 @@ public class TeamPosManager extends MongoBase {
|
|||
}
|
||||
teamPosForHero.put(teamId,teamPosHeroInfoList);
|
||||
teamPosForPoken.put(teamId,teamPosForPokenInfos);
|
||||
updateString(this,"teamPosForHero",teamPosForHero);
|
||||
updateString(this,"teamPosForPoken",teamPosForPoken);
|
||||
updateString("teamPosForHero",teamPosForHero);
|
||||
updateString("teamPosForPoken",teamPosForPoken);
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -51,7 +55,7 @@ public class TeamPosManager extends MongoBase {
|
|||
teamPosHeroInfoList.add(teamPosHeroInfo);
|
||||
}
|
||||
teamPosForHero.put(1,teamPosHeroInfoList);
|
||||
updateString(this,"teamPosForHero",teamPosForHero);
|
||||
updateString("teamPosForHero",teamPosForHero);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -66,4 +70,5 @@ public class TeamPosManager extends MongoBase {
|
|||
public Map<Integer, List<TeamPosForPokenInfo>> getTeamPosForPoken() {
|
||||
return teamPosForPoken;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,56 +1,50 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
|
||||
|
||||
import com.ljsd.common.mogodb.LjsdMongoTemplate;
|
||||
import com.ljsd.jieling.config.SGameSetting;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.handler.map.MapManager;
|
||||
import com.ljsd.jieling.handler.mission.Mission;
|
||||
import com.ljsd.jieling.handler.mission.MissionManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import com.ljsd.jieling.util.TimeUtils;
|
||||
import org.springframework.context.ConfigurableApplicationContext;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
||||
public class UserManager {
|
||||
|
||||
private static Map<Integer, User> userMap = new ConcurrentHashMap<>();
|
||||
private static Map<String, User> userMap = new ConcurrentHashMap<>();
|
||||
|
||||
public static LjsdMongoTemplate ljsdMongoTemplate;
|
||||
|
||||
public static void init(ConfigurableApplicationContext configurableApplicationContext) {
|
||||
ljsdMongoTemplate =configurableApplicationContext.getBean(LjsdMongoTemplate.class);
|
||||
User.init(ljsdMongoTemplate);
|
||||
}
|
||||
|
||||
public static void addUser(User user) {
|
||||
userMap.put(user._getIntId(), user);
|
||||
userMap.put(user.getId(), user);
|
||||
}
|
||||
|
||||
public static boolean isUserExist(int uid) {
|
||||
return userMap.containsKey(uid);
|
||||
}
|
||||
|
||||
public static User getUserForLogin(int uid) throws Exception {
|
||||
User user = userMap.get(uid);
|
||||
if (user != null) {
|
||||
user = ljsdMongoTemplate.findById(User.getCollectionName(), Integer.toString(uid), User.class);
|
||||
}
|
||||
if (user == null) {
|
||||
user = registerUser(uid);
|
||||
}else{
|
||||
refreshUserLoginInfo(user);
|
||||
}
|
||||
return user;
|
||||
}
|
||||
|
||||
private static void refreshUserLoginInfo(User user) {
|
||||
//TODO
|
||||
}
|
||||
// public static User getUserForLogin(int uid) throws Exception {
|
||||
// User user = userMap.get(uid);
|
||||
// if (user != null) {
|
||||
// user = MongoUtil.getInstence().getMyMongoTemplate().findById(User.getCollectionName(), Integer.toString(uid), User.class);
|
||||
// }
|
||||
// if (user == null) {
|
||||
// user = registerUser(uid);
|
||||
// }else{
|
||||
// refreshUserLoginInfo(user);
|
||||
// }
|
||||
// return user;
|
||||
// }
|
||||
//
|
||||
// private static void refreshUserLoginInfo(User user) {
|
||||
// //TODO
|
||||
// }
|
||||
|
||||
public static User userLogin(int uid) throws Exception {
|
||||
User user = ljsdMongoTemplate.findById(User.getCollectionName(), Integer.toString(uid), User.class);
|
||||
User user = MongoUtil.getInstence().getMyMongoTemplate().findById(User.getCollectionName(), Integer.toString(uid), User.class);
|
||||
if (user == null) {
|
||||
user = registerUser(uid);
|
||||
}else {
|
||||
|
|
@ -66,7 +60,7 @@ public class UserManager {
|
|||
User user = new User(uid);
|
||||
initPlayer(user);
|
||||
UserManager.addUser(user);
|
||||
ljsdMongoTemplate.save(user);
|
||||
MongoUtil.getInstence().getMyMongoTemplate().save(user);
|
||||
return user;
|
||||
}
|
||||
|
||||
|
|
@ -104,7 +98,7 @@ public class UserManager {
|
|||
if (user != null) {
|
||||
return user;
|
||||
}
|
||||
user =ljsdMongoTemplate.findById(User.getCollectionName(), Integer.toString(uid), User.class);
|
||||
user = MongoUtil.getInstence().getMyMongoTemplate().findById(User.getCollectionName(), Integer.toString(uid), User.class);
|
||||
if (user == null) {
|
||||
throw new Exception("UserManager::getUser null exception");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,8 @@ package com.ljsd.jieling.logic.dao;
|
|||
|
||||
import com.ljsd.common.mogodb.MongoBase;
|
||||
import com.ljsd.jieling.config.SWorkShopSetting;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.logic.dao.root.MailingSystem;
|
||||
import com.ljsd.jieling.util.MathUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -20,7 +22,11 @@ public class WorkShopController extends MongoBase {
|
|||
private int cookExp;
|
||||
|
||||
public WorkShopController(){
|
||||
this.setRootCollection(MailingSystem._COLLECTION_NAME);
|
||||
this.setMongoKey(MongoKey.workShopController);
|
||||
|
||||
this.openBlueStateMap = new HashMap<>();
|
||||
|
||||
}
|
||||
|
||||
public void add(int type,int openId) throws Exception {
|
||||
|
|
@ -28,7 +34,7 @@ public class WorkShopController extends MongoBase {
|
|||
openBlueStateMap.put(type,new ArrayList<>());
|
||||
}
|
||||
openBlueStateMap.get(type).add(openId);
|
||||
updateString(this,"openBlueStateMap." + type, openBlueStateMap.get(type));
|
||||
updateString("openBlueStateMap." + type, openBlueStateMap.get(type));
|
||||
}
|
||||
|
||||
public void addWorkShopExp(int addExp) throws Exception {
|
||||
|
|
@ -88,7 +94,7 @@ public class WorkShopController extends MongoBase {
|
|||
}
|
||||
|
||||
public void setWorkShopLevel(int workShopLevel) throws Exception {
|
||||
updateString(this,"workShopLevel", workShopLevel);
|
||||
updateString("workShopLevel", workShopLevel);
|
||||
this.workShopLevel = workShopLevel;
|
||||
}
|
||||
|
||||
|
|
@ -97,17 +103,17 @@ public class WorkShopController extends MongoBase {
|
|||
}
|
||||
|
||||
public void setWorkShopExp(int workShopExp) throws Exception {
|
||||
updateString(this,"workShopExp", workShopExp);
|
||||
updateString("workShopExp", workShopExp);
|
||||
this.workShopExp = workShopExp;
|
||||
}
|
||||
|
||||
public void setCookLevel(int cookLevel) throws Exception {
|
||||
updateString(this,"cookLevel", cookLevel);
|
||||
updateString("cookLevel", cookLevel);
|
||||
this.cookLevel = cookLevel;
|
||||
}
|
||||
|
||||
public void setCookExp(int cookExp) throws Exception {
|
||||
updateString(this,"cookExp", cookExp);
|
||||
updateString("cookExp", cookExp);
|
||||
this.cookExp = cookExp;
|
||||
}
|
||||
|
||||
|
|
@ -122,4 +128,5 @@ public class WorkShopController extends MongoBase {
|
|||
public int getCookExp() {
|
||||
return cookExp;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,55 @@
|
|||
package com.ljsd.jieling.logic.dao.root;
|
||||
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.common.mogodb.LjsdMongoTemplate;
|
||||
import com.ljsd.common.mogodb.MongoRoot;
|
||||
import com.ljsd.jieling.logic.dao.AutoIncrementManager;
|
||||
import com.ljsd.jieling.logic.dao.SysMailManager;
|
||||
import com.ljsd.jieling.logic.dao.SystemMailManager;
|
||||
|
||||
public class MailingSystem {
|
||||
public static final String _COLLECTION_NAME = "mailingSystem";
|
||||
|
||||
private String id;
|
||||
|
||||
private SystemMailManager systemMailManager;
|
||||
private SysMailManager sysMailManager;
|
||||
private AutoIncrementManager cAutoIncrementManager;
|
||||
|
||||
|
||||
public MailingSystem(){
|
||||
this.id = Integer.toString(GameApplication.serverId);
|
||||
systemMailManager = new SystemMailManager();
|
||||
sysMailManager = new SysMailManager();
|
||||
cAutoIncrementManager = new AutoIncrementManager();
|
||||
|
||||
//綁定关系
|
||||
systemMailManager.init(id,"systemMailManager");
|
||||
sysMailManager.init(id,"sysMailManager");
|
||||
cAutoIncrementManager.init(id,"autoIncrementManager");
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public static String getCollectionName() {
|
||||
return _COLLECTION_NAME;
|
||||
}
|
||||
|
||||
public SystemMailManager getSystemMailManager() {
|
||||
return systemMailManager;
|
||||
}
|
||||
|
||||
public SysMailManager getSysMailManager() {
|
||||
return sysMailManager;
|
||||
}
|
||||
|
||||
public AutoIncrementManager getcAutoIncrementManager() {
|
||||
return cAutoIncrementManager;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,15 +1,16 @@
|
|||
package com.ljsd.jieling.logic.dao;
|
||||
package com.ljsd.jieling.logic.dao.root;
|
||||
|
||||
import com.ljsd.common.mogodb.LjsdMongoTemplate;
|
||||
import com.ljsd.common.mogodb.MongoRoot;
|
||||
import com.ljsd.jieling.db.mongo.MongoKey;
|
||||
import com.ljsd.jieling.handler.map.MapManager;
|
||||
import com.ljsd.jieling.handler.mission.MissionManager;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
|
||||
public class User extends MongoRoot {
|
||||
public class User {
|
||||
|
||||
public static final String _COLLECTION_NAME = "user";
|
||||
|
||||
private static LjsdMongoTemplate _myMongoDBPool;
|
||||
private String id;
|
||||
|
||||
private PlayerManager playerManager;
|
||||
|
||||
|
|
@ -34,10 +35,12 @@ public class User extends MongoRoot {
|
|||
private WorkShopController workShopController;
|
||||
|
||||
|
||||
//构造函数必须要声明,否则从mongodb读出来反编译成类不通过
|
||||
public User(){
|
||||
}
|
||||
|
||||
public User(int uid){
|
||||
String suid = Integer.toString(uid);
|
||||
setId(suid);
|
||||
this.id = Integer.toString(uid);
|
||||
this.playerManager = new PlayerManager();
|
||||
this.itemManager = new ItemManager();
|
||||
this.heroManager = new HeroManager();
|
||||
|
|
@ -51,27 +54,25 @@ public class User extends MongoRoot {
|
|||
this.workShopController = new WorkShopController();
|
||||
|
||||
//綁定关系
|
||||
this.playerManager.init(suid, _myMongoDBPool, _COLLECTION_NAME,"playerManager", false);
|
||||
this.itemManager.init(suid, _myMongoDBPool, _COLLECTION_NAME,"itemManager", false);
|
||||
this.heroManager.init(suid, _myMongoDBPool, _COLLECTION_NAME,"heroManager", false);
|
||||
this.mapManager.init(suid, _myMongoDBPool, _COLLECTION_NAME,"mapManager", false);
|
||||
this.missionManager.init(suid, _myMongoDBPool, _COLLECTION_NAME,"missionManager", false);
|
||||
this.teamPosManager.init(suid, _myMongoDBPool, _COLLECTION_NAME,"teamPosManager",false);
|
||||
this.mailManager.init(suid, _myMongoDBPool, _COLLECTION_NAME,"mailManager",false);
|
||||
this.equipManager.init(suid, _myMongoDBPool, _COLLECTION_NAME,"equipManager",false);
|
||||
this.adventureManager.init(suid, _myMongoDBPool, _COLLECTION_NAME,"adventureManager",false);
|
||||
this.pokemonManager.init(suid, _myMongoDBPool, _COLLECTION_NAME,"pokemonManager",false);
|
||||
this.workShopController.init(suid, _myMongoDBPool, _COLLECTION_NAME,"workShopController",false);
|
||||
this.playerManager.init(id, MongoKey.playerManager);
|
||||
this.itemManager.init(id, MongoKey.itemManager);
|
||||
this.heroManager.init(id, MongoKey.heroManager);
|
||||
this.mapManager.init(id, MongoKey.mapManager);
|
||||
this.missionManager.init(id, MongoKey.missionManager);
|
||||
this.teamPosManager.init(id, MongoKey.teamPosManager);
|
||||
this.mailManager.init(id, MongoKey.mailManager);
|
||||
this.equipManager.init(id, MongoKey.equipManager);
|
||||
this.adventureManager.init(id, MongoKey.adventureManager);
|
||||
this.pokemonManager.init(id, MongoKey.pokemonManager);
|
||||
this.workShopController.init(id, MongoKey.workShopController);
|
||||
}
|
||||
|
||||
|
||||
public static void init(LjsdMongoTemplate ljsdMongoTemplate) {
|
||||
_myMongoDBPool = ljsdMongoTemplate;
|
||||
public String getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getCollection() {
|
||||
return _COLLECTION_NAME;
|
||||
public void setId(String id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
||||
public static String getCollectionName() {
|
||||
|
|
@ -6,6 +6,8 @@ import com.ljsd.jieling.config.SAdventureSetting;
|
|||
import com.ljsd.jieling.config.SFoodsConfig;
|
||||
import com.ljsd.jieling.handler.map.MapManager;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.hero.HeroLogic;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
|
|
|
|||
|
|
@ -5,6 +5,8 @@ import com.ljsd.jieling.config.*;
|
|||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.HeroInfoProto;
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
package com.ljsd.jieling.logic.item;
|
||||
|
||||
import com.ljsd.jieling.config.*;
|
||||
import com.ljsd.jieling.globals.GlobalItemType;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import com.ljsd.jieling.util.*;
|
||||
import com.sun.org.apache.bcel.internal.generic.IF_ACMPEQ;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,12 +2,11 @@ package com.ljsd.jieling.logic.item;
|
|||
|
||||
import com.ljsd.jieling.config.*;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.globals.GlobalItemType;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.HeroInfoProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
import com.ljsd.jieling.protocols.PlayerInfoProto;
|
||||
import com.ljsd.jieling.util.CBean2Proto;
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@ package com.ljsd.jieling.logic.mail;
|
|||
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.MailingSystem;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||
|
|
@ -186,7 +189,7 @@ public class MailLogic {
|
|||
SystemMailManager systemMailManager = mailingSystem.getSystemMailManager();
|
||||
int id = getSystemMailId(autoIncrementManager,name);
|
||||
systemMailManager.addSystemMail(new SystemMail(id,title,userList,content,sendTime,reward,effectiveTime,sendName,registerEndTime,version));
|
||||
MailingSystemManager.ljsdMongoTemplate.lastUpdate();
|
||||
// MailingSystemManager.ljsdMongoTemplate.lastUpdate();
|
||||
}
|
||||
|
||||
private static int getSystemMailId(AutoIncrementManager autoIncrementManager,String name) throws Exception {
|
||||
|
|
|
|||
|
|
@ -100,7 +100,7 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
|||
packetNetData.getMsgId()== MessageTypeProto.MessageType.RECONNECT_REQUEST_VALUE){
|
||||
|
||||
//初始化session
|
||||
if (sessionInit(session,packetNetData)){
|
||||
if (!sessionInit(session,packetNetData)){
|
||||
MessageUtil.sendErrorCode(session,0,"您的账号token不正确,请退出游戏重新登陆!");
|
||||
return;
|
||||
}
|
||||
|
|
@ -120,10 +120,10 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
|||
return;
|
||||
}
|
||||
//检查token
|
||||
if (checkToken(session,packetNetData) != 0 ){
|
||||
MessageUtil.sendErrorCode(session,0,"您的账号token不正确,请退出游戏重新登陆!");
|
||||
return;
|
||||
}
|
||||
// if (checkToken(session,packetNetData) != 0 ){
|
||||
// MessageUtil.sendErrorCode(session,0,"您的账号token不正确,请退出游戏重新登陆!");
|
||||
// return;
|
||||
// }
|
||||
if (checkIndex(session,packetNetData) != 0){
|
||||
return;
|
||||
}
|
||||
|
|
@ -155,7 +155,7 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
|||
int token = packetNetData.getToken();
|
||||
session.setUid(uid);
|
||||
String tokenKey = RedisKey.getKey(RedisKey.TOKEN, String.valueOf(uid),false);
|
||||
int serverToken = (int)RedisUtil.getInstence().get(tokenKey);
|
||||
int serverToken = Integer.parseInt((String)RedisUtil.getInstence().get(tokenKey));
|
||||
if (token == serverToken){
|
||||
session.setToken(token);
|
||||
return true;
|
||||
|
|
@ -193,6 +193,7 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
|||
}
|
||||
|
||||
private void dealHeartBeat(ISession session) {
|
||||
session.setHeartBreatNums(3);
|
||||
MessageUtil.sendHeartBeat(session);
|
||||
}
|
||||
|
||||
|
|
@ -273,8 +274,8 @@ public class ProtocolsManager implements ProtocolsAbstract {
|
|||
@Override
|
||||
public void readIdel(GameSession gameSession) {
|
||||
// TODO
|
||||
final ISession session = (ISession) gameSession;
|
||||
readIdea(session);
|
||||
// final ISession session = (ISession) gameSession;
|
||||
// readIdea(session);
|
||||
}
|
||||
|
||||
public BaseHandler getHandler(MessageTypeProto.MessageType messageType) {
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.ljsd.jieling.config.SItem;
|
|||
import com.ljsd.jieling.config.SRewardGroup;
|
||||
import com.ljsd.jieling.globals.GlobalItemType;
|
||||
import com.ljsd.jieling.logic.dao.*;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.protocols.CommonProto;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.ljsd.jieling.util;
|
||||
|
||||
import com.google.protobuf.GeneratedMessage;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.netty.PackageConstant;
|
||||
import com.ljsd.jieling.netty.cocdex.Tea;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
|
|
@ -48,7 +48,7 @@ public class MessageUtil {
|
|||
public static void sendMessage(ISession session, int result, int msgId, GeneratedMessage generatedMessage, boolean flush) {
|
||||
byte[] byteBuf = wrappedBuffer(session.getUid(), session.getToken(), session.getIndex(), result, msgId, generatedMessage);
|
||||
try {
|
||||
UserManager.ljsdMongoTemplate.lastUpdate();
|
||||
MongoUtil.getInstence().lastUpdate();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue