增加代金券消耗榜

master_yuenan
DESKTOP-C3M45P4\dengdan 2025-03-31 10:50:33 +08:00
parent de27a4cadd
commit 7d1a45d045
6 changed files with 85 additions and 26 deletions

View File

@ -45,6 +45,8 @@ public class MoneyBuyGiftHandler extends BaseHandler<PlayerInfoProto.GmBuyGoodRe
}
// 走礼包逻辑发送奖励
BuyGoodsNewLogic.moneyBuyGoods(iSession, goodsId);
int money = config.getOtherBuy1()[0][1];
}
}

View File

@ -49,10 +49,19 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
}
try {
OpenServerActivityEvent event1 = (OpenServerActivityEvent) event;
int rankType = event1.getRankType();
User user = UserManager.getUser(event1.getUid());
equipRankHandle(user);
soulSealRankHandle(user);
heroStarHandle(user);
if(rankType == RankEnum.EQUIP_SCORE_RANK.getType()){
equipRankHandle(user);
}else if(rankType == RankEnum.SOUL_SEAL_RANK.getType()){
soulSealRankHandle(user);
}else if(rankType == RankEnum.HERO_STAR_RANK.getType()){
heroStarHandle(user);
}else if(rankType == RankEnum.MONEY_RANK.getType()){
moneyHandle(user,event1.getCost(),id);
}else{
}
}catch (Exception e){
LOGGER.error("开服冲榜排行榜报错:",e);
}
@ -89,17 +98,34 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
*
* @param user
*/
public static void moneyHandle(User user,int money){
// if(money <= 0){
// return;
// }
// if(isOpen(RankEnum.MONEY_RANK.getType())){
//
// }
// AbstractRank rank = RankContext.getRankEnum(RankEnum.MONEY_RANK.getType());
//// rank.get
// int scoreCompute = heroStarCompute(user);
// rank.addRank(user.getId(),"", scoreCompute);
public static void moneyHandle(User user,int money,int actId){
if(money <= 0){
return;
}
if(!isOpen(RankEnum.MONEY_RANK.getType(),actId)){
return;
}
AbstractRank rank = RankContext.getRankEnum(RankEnum.MONEY_RANK.getType());
int score = (int)rank.getScoreById(user.getId(),"");
int scoreCompute = score + money;
rank.addRank(user.getId(),"", scoreCompute);
}
/**
*
* @param user
*/
public static void fabaoHandle(User user,int cost,int actId){
if(cost <= 0){
return;
}
if(!isOpen(RankEnum.FABAO_RANK.getType(),actId)){
return;
}
AbstractRank rank = RankContext.getRankEnum(RankEnum.FABAO_RANK.getType());
int score = (int)rank.getScoreById(user.getId(),"");
int scoreCompute = score + cost;
rank.addRank(user.getId(),"", scoreCompute);
}
/**
@ -236,6 +262,23 @@ public class OpenServerCompeteRankActivity extends AbstractActivity {
return now >= rankStartTime && now < rankEndTime;
}
/**
*
*/
public static boolean isOpen(int rankType,int actId){
SChongRankInfo info = SChongRankInfo.getMap().getOrDefault(actId,new HashMap<>()).get(rankType);
SGlobalActivity activity = SGlobalActivity.getsGlobalActivityMap().get(actId);
if (info == null || activity == null){
return false;
}
long startTime = ToolsUtil.getTimeLong(activity.getStartTimeLong(),activity.getEndTimeLong(),activity.getTime(),0, 1, activity.getCycleMinute());
long rankStartTime = startTime + info.getOpenTime()*1000L;
long rankEndTime = startTime + info.getCloseTime()*1000L;
long now = TimeUtils.now();
return now >= rankStartTime && now < rankEndTime;
}
/**
* : /

View File

@ -2,9 +2,13 @@ package com.ljsd.jieling.logic.activity.event;
public class OpenServerActivityEvent implements IEvent {
private int uid;
private int cost;//活动相关计次,没有传0
private int rankType;//冲榜的活动类型,新添加的计次活动
public OpenServerActivityEvent(int uid) {
public OpenServerActivityEvent(int uid,int cost,int rankType) {
this.uid = uid;
this.cost = cost;
this.rankType = rankType;
}
public int getUid() {
@ -14,4 +18,20 @@ public class OpenServerActivityEvent implements IEvent {
public void setUid(int uid) {
this.uid = uid;
}
public int getCost() {
return cost;
}
public void setCost(int cost) {
this.cost = cost;
}
public int getRankType() {
return rankType;
}
public void setRankType(int rankType) {
this.rankType = rankType;
}
}

View File

@ -7,6 +7,7 @@ import com.ljsd.jieling.logic.dao.TeamEnum;
import com.ljsd.jieling.logic.dao.TeamPosHeroInfo;
import com.ljsd.jieling.logic.dao.UserManager;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.rank.RankEnum;
import java.util.List;
import java.util.Map;
@ -59,7 +60,7 @@ public class SaveHeroForceEventHandler implements IEventHandler {
CrossServiceLogic.getInstance().saveBasicPlayerToRedis(user);
}
// 开服冲榜
Poster.getPoster().dispatchEvent(new OpenServerActivityEvent(uid));
Poster.getPoster().dispatchEvent(new OpenServerActivityEvent(uid,0, RankEnum.HERO_STAR_RANK.getType()));
}
}

View File

@ -217,7 +217,6 @@ public class PlayerManager extends MongoBase {
private int treasureReplica; //宝物副本
private int exploreKillTotalNum; //探索杀敌总数
private long lastWholeLifeTime;//最近一次领取终身卡的时间
private Map<Integer,ChongRankInfo> chongRankInfos = new HashMap<Integer,ChongRankInfo>();//冲榜活动相关信息
private Map<Integer, Integer> gemDrawCountMap = new HashMap<>();// 命格抽卡次数记录
@ -226,6 +225,7 @@ public class PlayerManager extends MongoBase {
private String serverId;// 区服id
private Map<Integer, TrainingArchitecture> trainingArchitectureMap = new HashMap<>();// 特训建筑列表
public PlayerManager(){
this.setRootCollection(User._COLLECTION_NAME);
}
@ -1551,13 +1551,4 @@ public class PlayerManager extends MongoBase {
updateString("trainingArchitectureMap", this.trainingArchitectureMap);
}
public Map<Integer, ChongRankInfo> getChongRankInfos() {
return chongRankInfos;
}
public void setChongRankInfos(Map<Integer, ChongRankInfo> chongRankInfos) {
this.chongRankInfos = chongRankInfos;
updateString("chongRankInfos", this.chongRankInfos);
}
}

View File

@ -0,0 +1,2 @@
package PACKAGE_NAME;public class JsonExample {
}