back_recharge
gaojie 2019-01-24 17:53:13 +08:00
parent 1ea296dcb2
commit 3964b0b999
5 changed files with 38 additions and 8 deletions

View File

@ -23,7 +23,7 @@ public class MailingSystemManager {
//初始化系统邮件信息 //初始化系统邮件信息
MailingSystem mailingSystem = ljsdMongoTemplate.findById(MailingSystem.getCollectionName(), Integer.toString(1), MailingSystem.class); MailingSystem mailingSystem = ljsdMongoTemplate.findById(MailingSystem.getCollectionName(), Integer.toString(1), MailingSystem.class);
if (mailingSystem == null){ if (mailingSystem == null){
mailingSystem = new MailingSystem(); mailingSystem = new MaXilingSystem();
addMailingSystem(mailingSystem); addMailingSystem(mailingSystem);
int nowTime = (int)(TimeUtils.now()/1000); int nowTime = (int)(TimeUtils.now()/1000);
mailingSystem.getSysMailManager().addSystemMail(new SysMail(1)); mailingSystem.getSysMailManager().addSystemMail(new SysMail(1));

View File

@ -76,6 +76,13 @@ public class CBean2Proto {
return equips; return equips;
} }
public static CommonProto.Equip getEquipProto(Equip equip){
CommonProto.Equip equipProto =CommonProto.Equip.newBuilder()
.setEquipId(equip.getEquipId())
.build();
return equipProto;
}
} }

View File

@ -51,6 +51,15 @@ public class ItemUtil {
addCard(user,cardMap,dropBuilder); addCard(user,cardMap,dropBuilder);
return dropBuilder; return dropBuilder;
} }
public static CommonProto.Drop.Builder drop(User user, Map<int [],Float> dropGroupAndRatioMap) throws Exception {
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
for (Map.Entry<int [],Float> entry :dropGroupAndRatioMap.entrySet()){
int[] dropGroupIds = entry.getKey();
float dropRatio = entry.getValue();
dropBuilder = drop(user, dropGroupIds, dropRatio);
}
return dropBuilder;
}
private static void selectDrop(SRewardGroup sRewardGroup,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap,float dropRatio) { private static void selectDrop(SRewardGroup sRewardGroup,Map<Integer, Integer> itemMap, Map<Integer, Integer> cardMap,Map<Integer,Integer> equipMap,float dropRatio) {
int[] rewardItem = sRewardGroup.getRewardItem(); int[] rewardItem = sRewardGroup.getRewardItem();
StringBuilder rewardStr = new StringBuilder(); StringBuilder rewardStr = new StringBuilder();
@ -132,7 +141,7 @@ public class ItemUtil {
SItem sItem = SItem.getsItemMap().get(itemId); SItem sItem = SItem.getsItemMap().get(itemId);
switch (sItem.getItemType()) { switch (sItem.getItemType()) {
case GlobalItemType.ITEM: case GlobalItemType.ITEM:
putcountMap(itemId, (int) (itemNum * dropRatio), itemMap); putcountMap(itemId,MathUtils.numRount((itemNum * dropRatio)) , itemMap);
break; break;
case GlobalItemType.CARD: case GlobalItemType.CARD:
putcountMap(itemId, itemNum, cardMap); putcountMap(itemId, itemNum, cardMap);
@ -218,7 +227,7 @@ public class ItemUtil {
* @param equipMap * @param equipMap
* @param dropBuilder * @param dropBuilder
*/ */
private static void addEquip(User user, Map<Integer, Integer> equipMap, CommonProto.Drop.Builder dropBuilder) { private static void addEquip(User user, Map<Integer, Integer> equipMap, CommonProto.Drop.Builder dropBuilder) throws Exception {
List<CommonProto.Equip> equipList = new CopyOnWriteArrayList<>(); List<CommonProto.Equip> equipList = new CopyOnWriteArrayList<>();
for (Map.Entry<Integer, Integer> entry : equipMap.entrySet()) { for (Map.Entry<Integer, Integer> entry : equipMap.entrySet()) {
int count = entry.getValue(); int count = entry.getValue();
@ -228,7 +237,11 @@ public class ItemUtil {
} }
dropBuilder.addAllEquipId(equipList); dropBuilder.addAllEquipId(equipList);
} }
private static void addEquip(User user,int equipId ,List<CommonProto.Equip> equipList) { private static void addEquip(User user,int equipId ,List<CommonProto.Equip> equipList) throws Exception {
EquipManager equipManager = user.getEquipManager();
Equip equip = new Equip(user.getId(),equipId);
equipManager.addEquip(equip);
equipList.add(CBean2Proto.getEquipProto(equip));
} }
/** /**

View File

@ -152,18 +152,23 @@ public class MailUtil {
//领取附件 //领取附件
public CommonProto.Drop.Builder takeMail(List<String> mailIdsList, int userId) throws Exception { public CommonProto.Drop.Builder takeMail(List<String> mailIdsList, int userId) throws Exception {
CommonProto.Drop.Builder dropBuilder = CommonProto.Drop.newBuilder();
User user = UserManager.getUser(userId); User user = UserManager.getUser(userId);
MailManager mailManager = user.getMailManager(); MailManager mailManager = user.getMailManager();
StringBuilder mailItem = new StringBuilder();
for (String mailId : mailIdsList){ for (String mailId : mailIdsList){
Mail mail = mailManager.getMail(mailId); Mail mail = mailManager.getMail(mailId);
if (mail == null){ if (mail == null){
continue; continue;
} }
String mailItem = mail.getMailItem(); if (mailItem.length() == 0){
int[][] itemArr = StringUtil.parseFiledInt2(mailItem); mailItem = new StringBuilder(mail.getMailItem());
dropBuilder = ItemUtil.drop(user, itemArr); }else{
mailItem.append("|").append(mail.getMailItem());
}
} }
int[][] itemArr = StringUtil.parseFiledInt2(mailItem.toString());
CommonProto.Drop.Builder dropBuilder = ItemUtil.drop(user, itemArr);
return dropBuilder; return dropBuilder;
} }

View File

@ -89,4 +89,9 @@ public class MathUtils {
return random.nextInt(n); return random.nextInt(n);
} }
public static int numRount(float num){
return Math.round(num);
}
} }