新周卡功能,bug修改1
parent
8e3cc63702
commit
27f92a9de8
|
@ -86,6 +86,7 @@ public class WeekCardActivity extends AbstractActivity {
|
|||
if (null == sGlobalActivity) {
|
||||
throw new ErrorCodeException(ErrorCode.ITEM_NOT_ENOUGH,"周卡活动不存在:"+id);
|
||||
}
|
||||
LOGGER.info("周卡活动结束,发送邮件=========================");
|
||||
List<int[][]> itemArrs = new LinkedList<>();
|
||||
Map<Integer, Map<Integer, Integer>> weekCard = user.getPlayerInfoManager().getWeekCard();
|
||||
Map<Integer, SWeekRewardConfig> rewardConfigMap = STableManager.getConfig(SWeekRewardConfig.class);
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
package com.ljsd.jieling.logic.activity.activityLogic;
|
||||
|
||||
|
||||
import com.ljsd.GameApplication;
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.store.newRechargeInfo.RechargeType;
|
||||
|
@ -42,15 +44,28 @@ public class WeekCardLogic {
|
|||
}
|
||||
|
||||
/**
|
||||
* 获取礼包信息
|
||||
* @param user
|
||||
* 开始时间
|
||||
* @return
|
||||
* @throws Exception
|
||||
*/
|
||||
private AbstractWelfareBag getGift(User user, int giftId){
|
||||
SRechargeCommodityNewConfig config = SRechargeCommodityNewConfig.configMap.get(giftId);
|
||||
RechargeHandler rechargeHandler = RechargeType.getHandler(config.getOtype());
|
||||
return rechargeHandler.getRechargeMap(user).get(giftId);
|
||||
public long getStartTime(User user, int id){
|
||||
long startTime = 0;
|
||||
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(id);
|
||||
// 绝对时间
|
||||
if (activity.getTime() == ActivityType.OPEN_TYPE_TIME){
|
||||
startTime = activity.getStartTimeLong();
|
||||
}
|
||||
// 开服时间
|
||||
if (activity.getTime() == ActivityType.OPEN_TYPE_SERVER) {
|
||||
String openTime = GameApplication.serverConfig.getOpenTime();
|
||||
long timeLong2 = TimeUtils.stringToTimeLong2(openTime);
|
||||
startTime = timeLong2 + activity.getStartTimeLong() * 1000;
|
||||
}
|
||||
// 创角时间
|
||||
if (activity.getTime() == ActivityType.OPEN_TYPE_ROLE) {
|
||||
long timeLong2 = user.getPlayerInfoManager().getCreateTime();
|
||||
startTime = timeLong2 + activity.getStartTimeLong() * 1000;
|
||||
}
|
||||
return startTime;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -60,7 +75,7 @@ public class WeekCardLogic {
|
|||
* @param valueMap
|
||||
* @return
|
||||
*/
|
||||
private CommonProto.WeekCardInfo packagingWeekCardBuilder(int activityId, int cardId, Map<Integer,Integer> valueMap){
|
||||
private CommonProto.WeekCardInfo packagingWeekCardBuilder(User user, int activityId, int cardId, Map<Integer,Integer> valueMap){
|
||||
Map<Integer, SWeekcardConfig> config = STableManager.getConfig(SWeekcardConfig.class);
|
||||
CommonProto.WeekCardInfo.Builder weekCardInfo = CommonProto.WeekCardInfo.newBuilder();
|
||||
// 周卡id
|
||||
|
@ -70,7 +85,7 @@ public class WeekCardLogic {
|
|||
ArrayList<CommonProto.WeekCardDay> list1 = new ArrayList<>();
|
||||
|
||||
// 计算间隔时间
|
||||
long startTimeLong = SGlobalActivity.getsGlobalActivityMap().get(activityId).getStartTimeLong();
|
||||
long startTimeLong = getStartTime(user, activityId);
|
||||
int days = TimeUtils.differentDays(startTimeLong, TimeUtils.now());
|
||||
|
||||
for (int[] ints : sWeekcardConfig.getBaseRewardID()) {
|
||||
|
@ -103,7 +118,7 @@ public class WeekCardLogic {
|
|||
ArrayList<CommonProto.WeekCardInfo> list = new ArrayList<>();
|
||||
Map<Integer, Map<Integer, Integer>> weekCard = user.getPlayerInfoManager().getWeekCard();
|
||||
for (Map.Entry<Integer, Map<Integer, Integer>> entry : weekCard.entrySet()) {
|
||||
CommonProto.WeekCardInfo weekCardInfo = packagingWeekCardBuilder(activtiyId, entry.getKey(), entry.getValue());
|
||||
CommonProto.WeekCardInfo weekCardInfo = packagingWeekCardBuilder(user, activtiyId, entry.getKey(), entry.getValue());
|
||||
list.add(weekCardInfo);
|
||||
}
|
||||
PlayerInfoProto.QueryWeekCardInfoResponse.Builder builder = PlayerInfoProto.QueryWeekCardInfoResponse.newBuilder().addAllWeekcard(list);
|
||||
|
@ -128,7 +143,7 @@ public class WeekCardLogic {
|
|||
|
||||
// 配置表
|
||||
Map<Integer, SWeekRewardConfig> rewardConfigMap = STableManager.getConfig(SWeekRewardConfig.class);
|
||||
CommonProto.WeekCardInfo weekCardInfo = packagingWeekCardBuilder(proto.getActiviteId(), proto.getWeekcardId(), map);
|
||||
CommonProto.WeekCardInfo weekCardInfo = packagingWeekCardBuilder(user, proto.getActiviteId(), proto.getWeekcardId(), map);
|
||||
List<CommonProto.WeekCardDay> dayList = weekCardInfo.getDayList();
|
||||
// 奖励
|
||||
ArrayList<int[][]> reward = new ArrayList<>();
|
||||
|
@ -167,7 +182,7 @@ public class WeekCardLogic {
|
|||
}
|
||||
|
||||
Map<Integer, Integer> map = user.getPlayerInfoManager().getWeekCard().get(weekCardId);
|
||||
CommonProto.WeekCardInfo weekCardInfo = packagingWeekCardBuilder(activityId, weekCardId, map);
|
||||
CommonProto.WeekCardInfo weekCardInfo = packagingWeekCardBuilder(user, activityId, weekCardId, map);
|
||||
PlayerInfoProto.WeekCardInfoIndication.Builder builder = PlayerInfoProto.WeekCardInfoIndication.newBuilder().setWeekcard(weekCardInfo);
|
||||
MessageUtil.sendIndicationMessage(session, 1, MessageTypeProto.MessageType.WeekCardInfoIndication_VALUE, builder.build(), true);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue