修改入库读库错误

back_recharge
lvxinran 2021-04-27 15:53:23 +08:00
parent 91db235c90
commit 43e10b0ea8
10 changed files with 62 additions and 132 deletions

View File

@ -84,10 +84,7 @@ public class MongoConfig {
private CustomConversions customConversions() {
List<Converter<?, ?>> converterList = new ArrayList<Converter<?, ?>>();
converterList.add(new MongoPropertyConverter());
converterList.add(new MongoPerpetualConverter());
converterList.add(new MongoTimeLimitConverter());
converterList.add(new MongoReceiveConverter());
converterList.add(new MongoPushConverter());
converterList.add(new MongoRechargeConverter());
return new CustomConversions(converterList);
}

View File

@ -1,29 +0,0 @@
package com.ljsd.jieling.db.mongo;
import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
import com.ljsd.jieling.globals.GlobalItemType;
import com.ljsd.jieling.logic.store.newRechargeInfo.RechargeType;
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.*;
import com.mongodb.BasicDBObject;
import config.SRechargeCommodityNewConfig;
import manager.STableManager;
import org.bson.json.JsonWriterSettings;
import org.springframework.core.convert.converter.Converter;
import org.springframework.data.convert.ReadingConverter;
@ReadingConverter
public class MongoPerpetualConverter implements Converter<BasicDBObject, PerpetualWelfareBag> {
Gson gson = new Gson();
@Override
public PerpetualWelfareBag convert(BasicDBObject source) {
SRechargeCommodityNewConfig config = STableManager.getConfig(SRechargeCommodityNewConfig.class).get(source.getInt("modId"));
Class<? extends PerpetualWelfareBag> target = PerpetualWelfareBag.class;
if(config.getOtype() == RechargeType.perpetual.getType()){
target = PerpetualWelfareBag.class;
}
String s = gson.toJson(source);
PerpetualWelfareBag bag = JSON.parseObject(s,target);
return bag;
}
}

View File

@ -1,25 +0,0 @@
package com.ljsd.jieling.db.mongo;
import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
import com.ljsd.jieling.logic.store.newRechargeInfo.RechargeType;
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.PushWelfareBag;
import com.mongodb.BasicDBObject;
import config.SRechargeCommodityNewConfig;
import manager.STableManager;
import org.springframework.core.convert.converter.Converter;
public class MongoPushConverter implements Converter<BasicDBObject, PushWelfareBag> {
Gson gson = new Gson();
@Override
public PushWelfareBag convert(BasicDBObject source) {
SRechargeCommodityNewConfig config = STableManager.getConfig(SRechargeCommodityNewConfig.class).get(source.getInt("modId"));
Class<? extends PushWelfareBag> target = PushWelfareBag.class;
if(config.getOtype() == RechargeType.perpetual.getType()){
target = PushWelfareBag.class;
}
String s = gson.toJson(source);
PushWelfareBag bag = JSON.parseObject(s,target);
return bag;
}
}

View File

@ -1,25 +0,0 @@
package com.ljsd.jieling.db.mongo;
import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
import com.ljsd.jieling.logic.store.newRechargeInfo.RechargeType;
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.ReceiveWelfareBag;
import com.mongodb.BasicDBObject;
import config.SRechargeCommodityNewConfig;
import manager.STableManager;
import org.springframework.core.convert.converter.Converter;
public class MongoReceiveConverter implements Converter<BasicDBObject, ReceiveWelfareBag> {
Gson gson = new Gson();
@Override
public ReceiveWelfareBag convert(BasicDBObject source) {
SRechargeCommodityNewConfig config = STableManager.getConfig(SRechargeCommodityNewConfig.class).get(source.getInt("modId"));
Class<? extends ReceiveWelfareBag> target = ReceiveWelfareBag.class;
if(config.getOtype() == RechargeType.perpetual.getType()){
target = ReceiveWelfareBag.class;
}
String s = gson.toJson(source);
ReceiveWelfareBag bag = JSON.parseObject(s,target);
return bag;
}
}

View File

@ -0,0 +1,36 @@
package com.ljsd.jieling.db.mongo;
import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
import com.ljsd.jieling.logic.store.newRechargeInfo.RechargeType;
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.*;
import com.mongodb.BasicDBObject;
import config.SRechargeCommodityNewConfig;
import manager.STableManager;
import org.springframework.core.convert.converter.Converter;
import org.springframework.data.convert.ReadingConverter;
@ReadingConverter
public class MongoRechargeConverter implements Converter<BasicDBObject, AbstractWelfareBag> {
@Override
public AbstractWelfareBag convert(BasicDBObject source) {
Gson gson = new Gson();
SRechargeCommodityNewConfig config = STableManager.getConfig(SRechargeCommodityNewConfig.class).get(source.getInt("modId"));
Class<? extends AbstractWelfareBag> target =null;
if(config.getOtype() == RechargeType.timeLimit.getType()){
target = TimeLimitWelfareBag.class;
}else if(config.getOtype() ==RechargeType.perpetual.getType()){
target = PerpetualWelfareBag.class;
}else if(config.getOtype()==RechargeType.receive.getType()){
target = ReceiveWelfareBag.class;
}else if(config.getOtype()==RechargeType.push.getType()){
target = PushWelfareBag.class;
}
String s = gson.toJson(source);
AbstractWelfareBag abstractWelfareBag = JSON.parseObject(s, target);
return abstractWelfareBag;
}
}

View File

@ -1,26 +0,0 @@
package com.ljsd.jieling.db.mongo;
import com.alibaba.fastjson.JSON;
import com.google.gson.Gson;
import com.ljsd.jieling.logic.store.newRechargeInfo.RechargeType;
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.PerpetualWelfareBag;
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.TimeLimitWelfareBag;
import com.mongodb.BasicDBObject;
import config.SRechargeCommodityNewConfig;
import manager.STableManager;
import org.springframework.core.convert.converter.Converter;
public class MongoTimeLimitConverter implements Converter<BasicDBObject, TimeLimitWelfareBag> {
Gson gson = new Gson();
@Override
public TimeLimitWelfareBag convert(BasicDBObject source) {
SRechargeCommodityNewConfig config = STableManager.getConfig(SRechargeCommodityNewConfig.class).get(source.getInt("modId"));
Class<? extends TimeLimitWelfareBag> target = TimeLimitWelfareBag.class;
if(config.getOtype() == RechargeType.timeLimit.getType()){
target = TimeLimitWelfareBag.class;
}
String s = gson.toJson(source);
TimeLimitWelfareBag bag = JSON.parseObject(s,target);
return bag;
}
}

View File

@ -4,6 +4,7 @@ import com.ljsd.jieling.jbean.ActivityMission;
import com.ljsd.jieling.jbean.ActivityProgressInfo;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.AbstractWelfareBag;
import com.ljsd.jieling.logic.store.newRechargeInfo.bean.ReceiveWelfareBag;
import com.ljsd.jieling.network.session.ISession;
import config.SActivityRewardConfig;
@ -24,8 +25,8 @@ class GrowthFundActivity extends AbstractActivity {
int[][] values = sActivityRewardConfig.getValues();
User user = UserManager.getUser(session.getUid());
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
ReceiveWelfareBag bag = user.getPlayerInfoManager().getNewRechargeInfo().getReceiveMap().get(sGlobalActivity.getCanBuyRechargeId()[0]);
Integer buyTimes = bag.getBuyTimes();
AbstractWelfareBag bag = user.getPlayerInfoManager().getNewRechargeInfo().getReceiveMap().get(sGlobalActivity.getCanBuyRechargeId()[0]);
int buyTimes = bag.getBuyTimes();
if(buyTimes == 0){
return false;
}

View File

@ -173,8 +173,8 @@ public class BuyGoodsNewLogic {
//成功购买
if (goodsId == GlobalsDef.DAILY_GOODS_FAST_ID) {
//每日礼包一键购买之后,把所有单个的每日礼包的购买次数加一
for (int gId : SSpecialConfig.getOnceArrayValue("YIJIANGOUMAI")) {
PerpetualWelfareBag pbag = info.getPerpetualMap().get(gId);
for (int gId : SSpecialConfig.getOnceArrayValue(SSpecialConfig.YIJIANGOUMAI)) {
AbstractWelfareBag pbag = info.getPerpetualMap().get(gId);
pbag.setBuyTimes(pbag.getBuyTimes()+1);
}
}
@ -699,15 +699,15 @@ public class BuyGoodsNewLogic {
NewRechargeInfo info = user.getPlayerInfoManager().getNewRechargeInfo();
List<Integer> found1 = SRechargeCommodityNewConfig.getConfigListByType(GiftGoodsType.FOUND_ONE);
List<Integer> found2 = SRechargeCommodityNewConfig.getConfigListByType(GiftGoodsType.FOUND_TWO);
for(ReceiveWelfareBag bag : info.getReceiveMap().values()){
for(AbstractWelfareBag bag : info.getReceiveMap().values()){
for(int id :found1){
if(bag.getModId() == id && canReward(bag)){
sendReward(user.getId(),id,bag,GiftGoodsType.FOUND_ONE);
if(bag.getModId() == id && canReward((ReceiveWelfareBag) bag)){
sendReward(user.getId(),id,(ReceiveWelfareBag) bag,GiftGoodsType.FOUND_ONE);
}
}
for(int id :found2){
if(bag.getModId() == id && canReward(bag)){
sendReward(user.getId(),id,bag,GiftGoodsType.FOUND_TWO);
if(bag.getModId() == id && canReward((ReceiveWelfareBag)bag)){
sendReward(user.getId(),id,(ReceiveWelfareBag) bag,GiftGoodsType.FOUND_TWO);
}
}
}

View File

@ -19,10 +19,10 @@ public class NewRechargeInfo extends MongoBase {
private long firstTime;//首冲时间
private int isDayFirst;
private Map<Integer,PerpetualWelfareBag> perpetualMap = new HashMap<>();//永久礼包
private Map<Integer,TimeLimitWelfareBag> timeLimitMap = new HashMap<>();//限时刷新礼包
private Map<Integer,ReceiveWelfareBag> receiveMap = new HashMap<>();//限时刷新礼包
private Map<Integer,PushWelfareBag> pushMap = new HashMap<>();//推送礼包
private Map<Integer,AbstractWelfareBag> perpetualMap = new HashMap<>();//永久礼包
private Map<Integer,AbstractWelfareBag> timeLimitMap = new HashMap<>();//限时刷新礼包
private Map<Integer,AbstractWelfareBag> receiveMap = new HashMap<>();//限时刷新礼包
private Map<Integer,AbstractWelfareBag> pushMap = new HashMap<>();//推送礼包
private long lostTime; //上次记录时间
private int mainLineLost; //记录主线失败次数
@ -31,7 +31,7 @@ public class NewRechargeInfo extends MongoBase {
public boolean checkOneGoodsIsOverTimeByPrivilege(int privilegeId){
for(PerpetualWelfareBag bag : perpetualMap.values()){
for(AbstractWelfareBag bag : perpetualMap.values()){
if(!bag.isOpen()){
continue;
}
@ -69,7 +69,7 @@ public class NewRechargeInfo extends MongoBase {
public List<Integer> getPushList(){
List<Integer> list = new ArrayList<>();
for(PushWelfareBag bag : pushMap.values()){
for(AbstractWelfareBag bag : pushMap.values()){
if(bag.isOpen()){
list.add(bag.getModId());
}
@ -133,22 +133,22 @@ public class NewRechargeInfo extends MongoBase {
updateString("isDayFirst",isDayFirst);
}
public Map<Integer, PerpetualWelfareBag> getPerpetualMap() {
public Map<Integer, AbstractWelfareBag> getPerpetualMap() {
return perpetualMap;
}
public Map<Integer, TimeLimitWelfareBag> getTimeLimitMap() {
public Map<Integer, AbstractWelfareBag> getTimeLimitMap() {
return timeLimitMap;
}
public Map<Integer, ReceiveWelfareBag> getReceiveMap() {
public Map<Integer, AbstractWelfareBag> getReceiveMap() {
return receiveMap;
}
public Map<Integer, PushWelfareBag> getPushMap() {
public Map<Integer, AbstractWelfareBag> getPushMap() {
return pushMap;
}
@ -220,19 +220,19 @@ public class NewRechargeInfo extends MongoBase {
updateString("isFirst",isFirst);
}
public void setPerpetualMap(Map<Integer, PerpetualWelfareBag> perpetualMap) {
public void setPerpetualMap(Map<Integer, AbstractWelfareBag> perpetualMap) {
this.perpetualMap = perpetualMap;
}
public void setTimeLimitMap(Map<Integer, TimeLimitWelfareBag> timeLimitMap) {
public void setTimeLimitMap(Map<Integer, AbstractWelfareBag> timeLimitMap) {
this.timeLimitMap = timeLimitMap;
}
public void setReceiveMap(Map<Integer, ReceiveWelfareBag> receiveMap) {
public void setReceiveMap(Map<Integer, AbstractWelfareBag> receiveMap) {
this.receiveMap = receiveMap;
}
public void setPushMap(Map<Integer, PushWelfareBag> pushMap) {
public void setPushMap(Map<Integer, AbstractWelfareBag> pushMap) {
this.pushMap = pushMap;
}

View File

@ -32,6 +32,7 @@ public class AbstractWelfareBag extends MongoBase{
private boolean isUserBuyRefresh;
public AbstractWelfareBag(User user,SRechargeCommodityNewConfig config){
this.setRootCollection(User._COLLECTION_NAME);
setModId(config.getId());
setType(config.getOtype());
setLimit(config.getLimit());