精英怪奖励 & 充值通过邮件发送道具

back_recharge
wangyuan 2019-06-20 17:26:39 +08:00
parent 02d683718c
commit 97ce706ddf
5 changed files with 32 additions and 24 deletions

View File

@ -81,4 +81,5 @@ public interface BIReason {
int RINGFIRE_LOAD_CONSUME = 1021;
int SUDDENLY_REWARD = 1022;
}

View File

@ -1639,16 +1639,17 @@ public class MapLogic {
MessageUtil.sendErrorResponse(session,0, messageType.getNumber(), "战斗异常!");
return;
}
FightInfoProto.FightEndResponse.Builder builderResponse = FightInfoProto.FightEndResponse
.newBuilder()
.setResult(resultCode);
if(resultCode == 1){
SMonsterGroup sMonsterGroup = SMonsterGroup.getsMonsterGroupMap().get(mapManager.getSuddenlyBoss());
CommonProto.Drop.Builder dropBuilder =ItemUtil.drop(user, sMonsterGroup.getRewardgroup(),1.0f,0,BIReason.SUDDENLY_REWARD);
builderResponse.setEnventDrop(dropBuilder);
mapManager.findSuddenlyBoss(0,0);
}
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
FightInfoProto.FightEndResponse fightEndResponse = FightInfoProto.FightEndResponse
.newBuilder()
.setResult(resultCode)
.build();
MessageUtil.sendMessage(session, 1, messageType.getNumber(), fightEndResponse, true);
MessageUtil.sendMessage(session, 1, messageType.getNumber(), builderResponse.build(), true);
}

View File

@ -21,7 +21,7 @@ public class MailingSystemManager {
public static void init(ConfigurableApplicationContext configurableApplicationContext) throws Exception {
//TODO 测试用
//初始化系统邮件信息
MailingSystem mailingSystem = MongoUtil.getInstence().getMyMongoTemplate().findById(MailingSystem.getCollectionName(), Integer.toString(GameApplication.serverId), MailingSystem.class);
MailingSystem mailingSystem = MongoUtil.getInstence().getMyMongoTemplate().findById(MailingSystem.getCollectionName(), GameApplication.serverId, MailingSystem.class);
if (mailingSystem == null){
mailingSystem = new MailingSystem();
addMailingSystem(mailingSystem);

View File

@ -1,15 +1,17 @@
package com.ljsd.jieling.logic.store;
import com.ljsd.jieling.config.SActivityRewardConfig;
import com.ljsd.jieling.config.SErrorCodeEerverConfig;
import com.ljsd.jieling.config.SRechargeCommodityConfig;
import com.ljsd.jieling.db.mongo.MongoUtil;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.logic.OnlineUserManager;
import com.ljsd.jieling.logic.activity.ActivityLogic;
import com.ljsd.jieling.logic.activity.ActivityType;
import com.ljsd.jieling.logic.dao.RechargeInfo;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mail.MailLogic;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.MessageTypeProto;
@ -70,7 +72,7 @@ public class BuyGoodsLogic {
int[][] baseReward = sRechargeCommodityConfig.getBaseReward();
int length = baseReward.length;
CommonProto.Drop.Builder drop = null;
String rewardStr="";
if(buyCount == 1){
if(type==GiftGoodsType.GROTHFOUND){
@ -105,15 +107,15 @@ public class BuyGoodsLogic {
for(int j=0;j<reward.length;j++){
result[i++] = reward[j];
}
}
drop = ItemUtil.drop(user, result, BIReason.RECHARGE_REWARD);
rewardStr = ItemUtil.getMailReward(result);
}else{
drop = ItemUtil.drop(user, baseReward, BIReason.RECHARGE_REWARD);
// drop = ItemUtil.drop(user, baseReward, BIReason.RECHARGE_REWARD);
rewardStr = ItemUtil.getMailReward(baseReward);
}
}else{
drop = ItemUtil.drop(user, baseReward, BIReason.RECHARGE_REWARD);
// drop = ItemUtil.drop(user, baseReward, BIReason.RECHARGE_REWARD);
rewardStr = ItemUtil.getMailReward(baseReward);
}
int saveAmt = rechargeInfo.getSaveAmt();
@ -126,16 +128,11 @@ public class BuyGoodsLogic {
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RechargeTotal,rechargeInfo.getSaveAmt(),null);
buyGoodsTimes.put(goodsId,buyCount);
rechargeInfo.setBuyGoodsTimes(buyGoodsTimes);
ISession sessionByUid = OnlineUserManager.getSessionByUid(uid);
if(sessionByUid!=null){
PlayerInfoProto.BuyGoodsDropIndication.Builder builder = PlayerInfoProto.BuyGoodsDropIndication.newBuilder().setDrop(drop);
MessageUtil.sendIndicationMessage(sessionByUid,1,MessageTypeProto.MessageType.BUY_GOODS_DROP_INDICATION_VALUE,builder.build(),true);
try {
MongoUtil.getInstence().lastUpdate();
} catch (Exception e) {
e.printStackTrace();
}
}
String title = SErrorCodeEerverConfig.getI18NMessage("recharge_title");
String content = SErrorCodeEerverConfig.getI18NMessage("recharge_txt");
int nowTime =(int) (TimeUtils.now()/1000);
MailLogic.getInstance().sendMail(user.getId(),title,content,rewardStr,nowTime, Global.MAIL_EFFECTIVE_TIME);
}

View File

@ -177,6 +177,15 @@ public class ItemUtil {
return getReward(itemMap,cardMap,equipMap,randomMap);
}
public static String getMailReward (int[][] dropGroupIds) throws Exception {
Map<Integer, Integer> itemMap = new HashMap<>();
Map<Integer, Integer> cardMap = new HashMap<>();
Map<Integer, Integer> equipMap = new HashMap<>();
Map<Integer,Integer> randomMap = new HashMap<>();
selectItemArr(dropGroupIds,cardMap,itemMap,equipMap,randomMap);
return getReward(itemMap,cardMap,equipMap,randomMap);
}
public static void combineReward(int[] dropGroupIds,float dropRatio, Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap, Map<Integer, Integer> equipMap, Map<Integer, Integer> randomMap){
for (int dropGroupId :dropGroupIds){
SRewardGroup sRewardGroup = SRewardGroup.getsRewardItemMap().get(dropGroupId);