fix jewl
parent
78f86421be
commit
e7de571f02
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,14 +1,14 @@
|
|||
/*package com.ljsd.common.mogodb;
|
||||
package com.ljsd.common.mogodb;
|
||||
|
||||
import com.ljsd.common.mogodb.test.pojo.BaseInfoForTest;
|
||||
import com.mongodb.BasicDBObject;
|
||||
|
||||
import com.ljsd.common.mogodb.test.pojo.PlayerForTest;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.ReadingConverter;
|
||||
import org.springframework.data.mongodb.core.mapping.Document;
|
||||
@ReadingConverter
|
||||
public class MongoRootConverter implements Converter<Document, PlayerForTest> {
|
||||
|
||||
public class MongoRootConverter implements Converter<BasicDBObject, BaseInfoForTest> {
|
||||
@Override
|
||||
public PlayerForTest convert(Document source) {
|
||||
public BaseInfoForTest convert(BasicDBObject source) {
|
||||
System.out.println("123");
|
||||
return null;
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
|
|
@ -1,20 +1,27 @@
|
|||
package com.ljsd.common.mogodb;
|
||||
package com.ljsd.jieling.db.mongo;
|
||||
|
||||
import com.mongodb.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import com.ljsd.common.mogodb.LjsdMongoTemplate;
|
||||
import com.ljsd.common.mogodb.MongoRootConverter;
|
||||
import com.ljsd.common.mogodb.MongoSettingsProperties;
|
||||
import com.mongodb.MongoClientOptions;
|
||||
import com.mongodb.MongoClientURI;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.mongodb.MongoDbFactory;
|
||||
import org.springframework.data.mongodb.core.MongoTemplate;
|
||||
import org.springframework.data.mongodb.core.SimpleMongoDbFactory;
|
||||
import org.springframework.data.mongodb.core.convert.CustomConversions;
|
||||
import org.springframework.data.mongodb.core.convert.DefaultDbRefResolver;
|
||||
import org.springframework.data.mongodb.core.convert.DefaultMongoTypeMapper;
|
||||
import org.springframework.data.mongodb.core.convert.MappingMongoConverter;
|
||||
import org.springframework.data.mongodb.core.mapping.MongoMappingContext;
|
||||
|
||||
import java.net.UnknownHostException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Configuration
|
||||
public class MongoConfig {
|
||||
|
@ -67,9 +74,20 @@ public class MongoConfig {
|
|||
DefaultDbRefResolver dbRefResolver = new DefaultDbRefResolver(this.mongoDbFactory());
|
||||
MappingMongoConverter converter = new MappingMongoConverter(dbRefResolver, this.mongoMappingContext());
|
||||
converter.setTypeMapper(new DefaultMongoTypeMapper(null));
|
||||
|
||||
converter.setTypeMapper(new DefaultMongoTypeMapper(null));
|
||||
converter.setCustomConversions(customConversions());
|
||||
converter.afterPropertiesSet();
|
||||
return converter;
|
||||
}
|
||||
|
||||
private CustomConversions customConversions() {
|
||||
List<Converter<?, ?>> converterList = new ArrayList<Converter<?, ?>>();
|
||||
converterList.add(new MongoPropertyConverter());
|
||||
return new CustomConversions(converterList);
|
||||
}
|
||||
|
||||
|
||||
@Bean
|
||||
public MongoTemplate mongoTemplate() throws Exception {
|
||||
return new MongoTemplate(this.mongoDbFactory(), this.mappingMongoConverter1());
|
|
@ -0,0 +1,30 @@
|
|||
package com.ljsd.jieling.db.mongo;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.ljsd.jieling.core.GlobalsDef;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.globals.GlobalItemType;
|
||||
import com.ljsd.jieling.logic.dao.Jewel;
|
||||
import com.ljsd.jieling.logic.dao.PropertyItem;
|
||||
import com.mongodb.BasicDBObject;
|
||||
import config.SItem;
|
||||
import manager.STableManager;
|
||||
import org.bson.json.JsonWriterSettings;
|
||||
import org.springframework.core.convert.converter.Converter;
|
||||
import org.springframework.data.convert.ReadingConverter;
|
||||
|
||||
@ReadingConverter
|
||||
public class MongoPropertyConverter implements Converter<BasicDBObject, PropertyItem> {
|
||||
private static JsonWriterSettings jsonWriterSettings = new JsonWriterSettings();
|
||||
@Override
|
||||
public PropertyItem convert(BasicDBObject source) {
|
||||
SItem equipId = STableManager.getConfig(SItem.class).get(source.getInt("equipId"));
|
||||
Class<? extends PropertyItem> target = PropertyItem.class;
|
||||
if(equipId.getItemType() == GlobalItemType.JEWEL){
|
||||
target = Jewel.class;
|
||||
}
|
||||
String realJson = source.toJson(jsonWriterSettings);
|
||||
PropertyItem propertyItem = JSON.parseObject(realJson,target);
|
||||
return propertyItem;
|
||||
}
|
||||
}
|
|
@ -36,7 +36,7 @@ import com.ljsd.jieling.logic.rank.RankContext;
|
|||
import com.ljsd.jieling.logic.rank.RankEnum;
|
||||
import com.ljsd.jieling.logic.store.StoreLogic;
|
||||
import com.ljsd.jieling.logic.store.StoreType;
|
||||
import com.ljsd.jieling.mission.event.LevelEvent;
|
||||
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.protocols.*;
|
||||
import com.ljsd.jieling.util.*;
|
||||
|
|
|
@ -45,7 +45,7 @@ public class Hero extends MongoBase {
|
|||
|
||||
private int isLock;
|
||||
|
||||
private Set<String> jewelInfo;
|
||||
private Set<String> jewelInfo = new HashSet<>();
|
||||
|
||||
public Hero(){
|
||||
//绑定关系
|
||||
|
|
|
@ -17,6 +17,12 @@ public class Jewel extends PropertyItem {
|
|||
|
||||
private int jewelType;
|
||||
|
||||
public Jewel(){
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
|
||||
}
|
||||
|
||||
|
||||
public Jewel(int uid,int jewelId){
|
||||
this.setRootCollection(User._COLLECTION_NAME);
|
||||
super.setId(KeyGenUtils.produceIdByModule(UUIDEnum.JEWEL, uid));
|
||||
|
|
Loading…
Reference in New Issue