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