周卡打开
parent
9e22fed4ad
commit
fb69e8de2e
|
@ -34,8 +34,7 @@ public class WeekCardHandler extends BaseHandler<ActivityProto.WeekCardRewardReq
|
|||
|
||||
@Override
|
||||
public void processWithProto(ISession session, ActivityProto.WeekCardRewardRequest proto) throws Exception{
|
||||
return;
|
||||
/*User user = UserManager.getUser(session.getUid());
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
int weekId = proto.getId();
|
||||
Map<Integer, WeekCardInfo> weekCard = user.getPlayerInfoManager().getWeekCard();
|
||||
ActivityProto.WeekCardRewardResponse.Builder res = ActivityProto.WeekCardRewardResponse.newBuilder();
|
||||
|
@ -71,6 +70,5 @@ public class WeekCardHandler extends BaseHandler<ActivityProto.WeekCardRewardReq
|
|||
singleWeekCard.setLeaveGetRewardDays(TimeUtils.getDayOfWeek());
|
||||
user.getPlayerInfoManager().setWeekCard(weekCard);
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.WeekCardRewardResponse.getNumber(), res.build(), true);
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
|
|
@ -34,10 +34,7 @@ public class WeekCardInfoHandler extends BaseHandler<ActivityProto.WeekCardInfo
|
|||
*/
|
||||
@Override
|
||||
public void processWithProto(ISession session, ActivityProto.WeekCardInfoRequest proto) throws Exception{
|
||||
ActivityProto.WeekCardInfoResponse.Builder res = ActivityProto.WeekCardInfoResponse.newBuilder();
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.WeekCardInfoResponse.getNumber(), res.build(), true);
|
||||
return;
|
||||
/*User user = UserManager.getUser(session.getUid());
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
int[] weekType = WeekCardLogic.getInstance().getWeekCardType(user);
|
||||
if(weekType == null){
|
||||
return;
|
||||
|
@ -45,6 +42,6 @@ public class WeekCardInfoHandler extends BaseHandler<ActivityProto.WeekCardInfo
|
|||
ActivityProto.WeekCardInfoResponse.Builder res = ActivityProto.WeekCardInfoResponse.newBuilder();
|
||||
List<CommonProto.WeekCard> weekCardList = WeekCardLogic.getInstance().initAllWeekCardInfo(user);
|
||||
res.addAllAllWeekCardInfo(weekCardList);
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.WeekCardInfoResponse.getNumber(), res.build(), true);*/
|
||||
MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.WeekCardInfoResponse.getNumber(), res.build(), true);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -407,8 +407,6 @@ public class GlobalDataManaager implements IManager {
|
|||
public static void checkNeedReFlush(ISession session,User user,PlayerInfoProto.FivePlayerUpdateIndication.Builder fBuilder) throws Exception {
|
||||
// 需要隔天刷新的字段统一在这里处理
|
||||
if (TimeUtils.isOverTime(0,user.getPlayerInfoManager().getLoginTime())) {
|
||||
//周卡每日刷新
|
||||
//WeekCardLogic.getInstance().sendWeekCardInitInfo(session);
|
||||
//活动刷新
|
||||
ActivityLogic.getInstance().flushEveryDay(user,fBuilder);
|
||||
PlayerLogic.getInstance().vipflushEveryDay(user,fBuilder);
|
||||
|
@ -434,6 +432,10 @@ public class GlobalDataManaager implements IManager {
|
|||
SevenWorldLogic.getInstance().sevenWorldInfoIndication(session);
|
||||
// 御剑行
|
||||
RidingSwardLogic.getInstance().zeroClearRidingSwardByUser(user);
|
||||
//周卡每日刷新
|
||||
WeekCardLogic.getInstance().sendWeekCardInitInfo(session);
|
||||
//周卡邮件发放未领取奖励
|
||||
WeekCardLogic.getInstance().sendWeekCardRewardMail(session);
|
||||
|
||||
// GuildChallengeLogic.getInstance().resetBossDamage(user);
|
||||
if(TimeUtils.isSpanTime(user.getPlayerInfoManager().getLoginTime(),TimeUtils.now(),1,0)){
|
||||
|
|
|
@ -1,22 +1,25 @@
|
|||
package com.ljsd.jieling.logic.activity.activityLogic;
|
||||
|
||||
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.logic.OnlineUserManager;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.WeekCardInfo;
|
||||
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.util.MessageUtil;
|
||||
import config.SErrorCodeEerverConfig;
|
||||
import config.SWeekcardConfig;
|
||||
import config.SWeekcardRotationConfig;
|
||||
import manager.STableManager;
|
||||
import rpc.protocols.ActivityProto;
|
||||
import rpc.protocols.CommonProto;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import util.StringUtil;
|
||||
import util.TimeUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
|
||||
public class WeekCardLogic {
|
||||
|
||||
|
@ -25,7 +28,6 @@ public class WeekCardLogic {
|
|||
|
||||
public static class Instance {
|
||||
public final static WeekCardLogic instance = new WeekCardLogic();
|
||||
|
||||
}
|
||||
|
||||
public static WeekCardLogic getInstance() {
|
||||
|
@ -39,7 +41,54 @@ public class WeekCardLogic {
|
|||
res.addAllAllWeekCardInfo(weekCardList);
|
||||
//MessageUtil.sendMessage(session, 1, MessageTypeProto.MessageType.WeekCardIndicationInfoResponse, res.build(), true);
|
||||
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.WeekCardIndicationInfoResponse_VALUE,res.build(),true);
|
||||
}
|
||||
|
||||
public void sendWeekCardRewardMail(ISession session)throws Exception{
|
||||
//发每周未领取的奖励
|
||||
User user = UserManager.getUser(session.getUid());
|
||||
Map<Integer, WeekCardInfo> weekCard = user.getPlayerInfoManager().getWeekCard();
|
||||
Map<Integer,Integer>dropMap = new HashMap<>();
|
||||
boolean isSave = false;
|
||||
for(WeekCardInfo weekCardVal:weekCard.values()){
|
||||
Map<Integer, SWeekcardConfig> config = STableManager.getConfig(SWeekcardConfig.class);
|
||||
if(!config.containsKey(weekCardVal.getId())){
|
||||
continue;
|
||||
}
|
||||
if(!weekCardVal.isBuy()){
|
||||
continue;
|
||||
}
|
||||
if(TimeUtils.isSameWeek7(weekCardVal.getBugTime())){
|
||||
continue;
|
||||
}
|
||||
if(Calendar.DAY_OF_WEEK - weekCardVal.getLeaveGetRewardDays()>0){
|
||||
for(int i= (Calendar.DAY_OF_WEEK - weekCardVal.getLeaveGetRewardDays());i>0;i--){
|
||||
int [][]drop =config.get(weekCardVal.getId()).getBaseReward();
|
||||
for(int[] single:drop){
|
||||
if(dropMap.containsKey(single[0])){
|
||||
dropMap.put(single[0],dropMap.get(single[0])+single[1]);
|
||||
}else{
|
||||
dropMap.put(single[0],single[1]);
|
||||
}
|
||||
}
|
||||
}
|
||||
weekCardVal.setBuy(false);
|
||||
weekCardVal.setBugTime(0);
|
||||
isSave =true;
|
||||
int [][] dropArray= dropMap.entrySet().stream().map(n->new int[]{n.getKey(),n.getValue()}).toArray(int[][]::new);
|
||||
/*String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("MsRankContent",new Object[]{(i + 1)},new int[0],"#");
|
||||
MailLogic.getInstance().sendMail(arenaRankfilt.get(i), title, content,
|
||||
StringUtil.parseArrayToString(config.getSeasonReward()), TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME);*/
|
||||
MailLogic.getInstance().sendMail(user.getId(), "周卡未领取奖励", "周卡奖励",
|
||||
StringUtil.parseArrayToString(dropArray), TimeUtils.nowInt(), Global.MAIL_EFFECTIVE_TIME);
|
||||
}else{
|
||||
weekCardVal.setBuy(false);
|
||||
weekCardVal.setBugTime(0);
|
||||
isSave = true;
|
||||
}
|
||||
if(isSave){
|
||||
user.getPlayerInfoManager().setWeekCard(weekCard);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public List<CommonProto.WeekCard> initAllWeekCardInfo(User user) throws Exception{
|
||||
|
@ -54,7 +103,6 @@ public class WeekCardLogic {
|
|||
boolean isSaveToDb =false;
|
||||
List<CommonProto.WeekCard> weekCardList=new ArrayList<>();
|
||||
for(int i= 1;i<weekCardType.length;i++){
|
||||
//if(config.containsKey(weekCardType[i])){
|
||||
CommonProto.WeekCard.Builder weekCardProto = CommonProto.WeekCard.newBuilder();
|
||||
//周卡是否存在 判断是否过期
|
||||
if(!weekCard.containsKey(weekCardType[i])){
|
||||
|
@ -75,7 +123,6 @@ public class WeekCardLogic {
|
|||
weekCardProto.setIsBuy(singleWeekCard.isBuy());
|
||||
weekCardProto.setLeaveGetRewardDays(TimeUtils.getDayOfWeek()-singleWeekCard.getLeaveGetRewardDays());
|
||||
weekCardList.add(weekCardProto.build());
|
||||
//}
|
||||
}
|
||||
if(isSaveToDb){
|
||||
user.getPlayerInfoManager().setWeekCard(weekCard);
|
||||
|
@ -106,10 +153,14 @@ public class WeekCardLogic {
|
|||
if(level == 0){
|
||||
level = user.getPlayerInfoManager().getLevel();
|
||||
}
|
||||
if(level>=cardType[0][0]&&level<=cardType[1][0]){
|
||||
return cardType[0];
|
||||
if(cardType.length>1){
|
||||
if(level>=cardType[0][0]&&level<=cardType[1][0]){
|
||||
return cardType[0];
|
||||
}else {
|
||||
return cardType[1];
|
||||
}
|
||||
}else {
|
||||
return cardType[1];
|
||||
return cardType[0];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -402,8 +402,8 @@ public class BuyGoodsNewLogic {
|
|||
}
|
||||
//周卡
|
||||
if(type==GiftGoodsType.WEEKCARD){
|
||||
//WeekCardLogic.getInstance().buyWeekCard(user,config.getId());
|
||||
//WeekCardLogic.getInstance().sendWeekCardInitInfo(session);
|
||||
WeekCardLogic.getInstance().buyWeekCard(user,config.getId());
|
||||
WeekCardLogic.getInstance().sendWeekCardInitInfo(session);
|
||||
}
|
||||
if(drop!=null&&session!=null){
|
||||
PlayerInfoProto.DirectBuyIndication build = PlayerInfoProto.DirectBuyIndication.newBuilder().setDrop(drop).build();
|
||||
|
|
Loading…
Reference in New Issue