战力排行

back_recharge
zhangshanxue 2019-08-02 13:34:37 +08:00
parent 0f34c27c48
commit 3edd6e7ebc
20 changed files with 241 additions and 76 deletions

View File

@ -43,7 +43,7 @@ public class SLuckyCatConfig implements BaseConfig {
if (!configMapByActivityId.containsKey(id)) {
configMapByActivityId.put(id, new TreeMap<>());
}
configMapByActivityId.get(id).put(sLuckyCatConfig.getActivityId(), sLuckyCatConfig);
configMapByActivityId.get(id).put(sLuckyCatConfig.getId(), sLuckyCatConfig);
}
for (TreeMap<Integer, SLuckyCatConfig> maps : configMapByActivityId.values()) {

View File

@ -108,6 +108,7 @@ public class RedisKey {
public static final String TOWER_RANK = "TOWER_RANK";
public static final String FORCE_RANK = "FORCE_RANK";
public static final String FAMILY_ID = "FAMILY_ID";

View File

@ -0,0 +1,23 @@
package com.ljsd.jieling.handler;
import com.ljsd.jieling.logic.activity.ActivityLogic;
import com.ljsd.jieling.netty.cocdex.PacketNetData;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.protocols.PlayerInfoProto;
import org.springframework.stereotype.Component;
@Component
public class ForceRankHandler extends BaseHandler {
@Override
public MessageTypeProto.MessageType getMessageCode() {
return MessageTypeProto.MessageType.GETF_FORCE_RANK_INFO_REQUEST;
}
@Override
public void process(ISession iSession, PacketNetData netData) throws Exception {
byte[] bytes = netData.parseClientProtoNetData();
PlayerInfoProto.GetForceRankInfoRequest getForceRankInfoRequest = PlayerInfoProto.GetForceRankInfoRequest.parseFrom(bytes);
ActivityLogic.getInstance().getForceRank(iSession,getForceRankInfoRequest.getPage(),getForceRankInfoRequest.getActiviteId());
}
}

View File

@ -23,7 +23,7 @@ public class TakeActivityRewardHandler extends BaseHandler {
PlayerInfoProto.TakeActivityRewardRequest takeActivityRewardRequest = PlayerInfoProto.TakeActivityRewardRequest.parseFrom(bytes);
int missionId = takeActivityRewardRequest.getMissionId();
int activityId = takeActivityRewardRequest.getActivityId();
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(activityId, iSession.getUid());
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(activityId);
if (abstractActivity == null) {
int rewardResponseValue = MessageTypeProto.MessageType.TAKE_ACTIVITY_REWARD_RESPONSE_VALUE;
MessageUtil.sendErrorResponse(iSession, 0, rewardResponseValue, "no_such_activity_type");

View File

@ -26,11 +26,9 @@ import java.util.Map;
public abstract class AbstractActivity implements IActivity {
static final Logger LOGGER = LoggerFactory.getLogger(AbstractActivity.class);
final int rewardResponseValue = MessageTypeProto.MessageType.TAKE_ACTIVITY_REWARD_RESPONSE_VALUE;
int uid;
int id;
public AbstractActivity(int uid, int id) {
this.uid = uid;
public AbstractActivity(int id) {
this.id = id;
}
@ -59,6 +57,10 @@ public abstract class AbstractActivity implements IActivity {
}
}
void updateProgress(User user,ActivityMission activityMission, int count) {
updateProgress(activityMission,count);
}
/**
* default update to progress
* progress value
@ -78,7 +80,7 @@ public abstract class AbstractActivity implements IActivity {
@Override
public void takeReward(ISession session, int missionId) throws Exception {
User user = UserManager.getUser(uid);
User user = UserManager.getUser(session.getUid());
//check cfg
SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId);
if (sActivityRewardConfig == null || sActivityRewardConfig.getActivityId() != id) {
@ -119,10 +121,14 @@ public abstract class AbstractActivity implements IActivity {
int[][] values = sActivityRewardConfig.getValues();
int missionProgress = activityProgressInfo.getProgrss();
if (missionProgress < values[0][0]) {
LOGGER.error("the uid={} the misionId={},the missionProgress={},the require is={} ", uid, sActivityRewardConfig.getId(), missionProgress, values[0][0]);
LOGGER.error("the uid={} the misionId={},the missionProgress={},the require is={} ", session.getUid(), sActivityRewardConfig.getId(), missionProgress, values[0][0]);
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not");
return false;
}
return true;
}
@Override
public void onActivityEnd() throws Exception{ }
}

View File

@ -2,6 +2,8 @@ package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.config.*;
import com.ljsd.jieling.core.VipPrivilegeType;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.handler.activity.BlessInfoConfig;
@ -13,6 +15,7 @@ import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.mission.GameEvent;
import com.ljsd.jieling.network.session.ISession;
import com.ljsd.jieling.protocols.CommonProto;
import com.ljsd.jieling.protocols.MapInfoProto;
import com.ljsd.jieling.protocols.MessageTypeProto;
import com.ljsd.jieling.protocols.PlayerInfoProto;
import com.ljsd.jieling.util.ItemUtil;
@ -21,6 +24,7 @@ import com.ljsd.jieling.util.MessageUtil;
import com.ljsd.jieling.util.TimeUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.data.redis.core.ZSetOperations;
import java.util.*;
@ -54,17 +58,19 @@ public class ActivityLogic {
if(time ==2 ){
continue;
}
long startTime = sGlobalActivity.getTimeLong(0,1);
long endTime = sGlobalActivity.getTimeLong(0,2);
long startTime = sGlobalActivity.getTimeLong(0,time);
long endTime = sGlobalActivity.getTimeLong(0,time);
if(now<startTime){
continue;
}
if(endTime!=0 && now>endTime && openActivityIds.contains(sGlobalActivity.getId())){
openActivityIds.remove(sGlobalActivity.getId());
ActivityTypeEnum.getActicityType(sGlobalActivity.getId()).onActivityEnd();
continue;
}
openActivityIds.add(sGlobalActivity.getId());
}
for(Map.Entry<Integer,ISession> entry:OnlineUserManager.sessionMap.entrySet()){
User user = UserManager.getUserInMem(entry.getKey());
PlayerInfoProto.ActivityUpateIndication.Builder builder = PlayerInfoProto.ActivityUpateIndication.newBuilder();
@ -152,7 +158,7 @@ public class ActivityLogic {
case ActivityType.TREASURE:
case ActivityType.LUCKYCAT:
case ActivityType.SERVERHAPPY:
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(sGlobalActivity.getId(),user.getId());
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(sGlobalActivity.getId());
if (abstractActivity == null) {
break;
}
@ -442,7 +448,7 @@ public class ActivityLogic {
continue;
}
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(activityId,user.getId());
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(activityId);
if (abstractActivity == null) {
continue;
}
@ -1007,4 +1013,46 @@ public class ActivityLogic {
return activityMission;
}
/**
*
*/
public void getForceRank(ISession session,int page,int acitvityId) throws Exception {
if (page == 0) {
page = 1;
}
int start = (page - 1) * 20, end = page * 20 - 1;
List<CommonProto.UseForceInfo> useForceInfoList = new ArrayList<>(20);
Set<ZSetOperations.TypedTuple<String>> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.FORCE_RANK,Integer.toString(acitvityId), start, end);
for(ZSetOperations.TypedTuple<String> item : rankInfo){
String value = item.getValue();
int score =item.getScore().intValue();
int uid = Integer.parseInt(value);
User user = UserManager.getUser(uid);
PlayerManager playerInfoManager = user.getPlayerInfoManager();
CommonProto.UseForceInfo personInfoBuild = CommonProto.UseForceInfo.newBuilder()
.setLeve(playerInfoManager.getLevel())
.setName(playerInfoManager.getNickName())
.setForce(score)
.setRank(++start)
.build();
useForceInfoList.add(personInfoBuild);
}
int uid = session.getUid();
int score = RedisUtil.getInstence().getZSetScore(RedisKey.FORCE_RANK,Integer.toString(acitvityId), Integer.toString(uid)).intValue();
int myRank= RedisUtil.getInstence().getZSetreverseRank(RedisKey.FORCE_RANK,Integer.toString(acitvityId),Integer.toString(uid)).intValue();
PlayerInfoProto.GetForceRankInfoResponse buildResponse = PlayerInfoProto.GetForceRankInfoResponse.newBuilder()
.setMyRank(myRank)
.setMyForce(score)
.addAllUseForceInfo(useForceInfoList)
.build();
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.GETF_FORCE_RANK_INFO_RESPONSE_VALUE,buildResponse,true);
}
}

View File

@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.config.SGlobalActivity;
import java.util.function.BiFunction;
import java.util.function.Function;
public enum ActivityTypeEnum {
@ -18,42 +19,42 @@ public enum ActivityTypeEnum {
FORCERANK(ActivityType.FORCERANK, ForceRankActivity::new),
FORCESTANDARD(ActivityType.FORCESTANDARD, ForceStandardActivity::new);
private int type;
private BiFunction<Integer, Integer, AbstractActivity> toActivityFunction;
private Function<Integer, AbstractActivity> toActivityFunction;
ActivityTypeEnum(int type, BiFunction<Integer, Integer, AbstractActivity> toActivityFunction) {
ActivityTypeEnum(int type, Function<Integer, AbstractActivity> toActivityFunction) {
this.type = type;
this.toActivityFunction = toActivityFunction;
}
public AbstractActivity toActivity(int uid,int id) {
return toActivityFunction.apply(uid, id);
public AbstractActivity toActivity(int id) {
return toActivityFunction.apply(id);
}
public static AbstractActivity getActicityType(int id, int uid) {
public static AbstractActivity getActicityType(int id) {
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
switch ( sGlobalActivity.getType()) {
case ActivityType.OnlineReward:
return ONLINEREWARD.toActivity(uid,id);
return ONLINEREWARD.toActivity(id);
case ActivityType.SevenLogin:
return SEVENLOGIN.toActivity(uid,id);
return SEVENLOGIN.toActivity(id);
case ActivityType.ChapterReward:
return CHAPTERREWARD.toActivity(uid,id);
return CHAPTERREWARD.toActivity(id);
case ActivityType.FirstRecharge:
return FIRSTRECHARGE.toActivity(uid,id);
return FIRSTRECHARGE.toActivity(id);
case ActivityType.RechargeTotal:
return RECHARGETOTAL.toActivity(uid,id);
return RECHARGETOTAL.toActivity(id);
case ActivityType.GrowthFund:
return GROWTHFUND.toActivity(uid,id);
return GROWTHFUND.toActivity(id);
case ActivityType.BLESSACTIVITY:
return BLESSACTIVITY.toActivity(uid,id);
return BLESSACTIVITY.toActivity(id);
case ActivityType.TREASURE:
return TREASUREACTIVITY.toActivity(uid,id);
return TREASUREACTIVITY.toActivity(id);
case ActivityType.LUCKYCAT:
return LUCKYCAT.toActivity(uid,id);
return LUCKYCAT.toActivity(id);
case ActivityType.FORCERANK:
return FORCERANK.toActivity(uid,id);
return FORCERANK.toActivity(id);
case ActivityType.FORCESTANDARD:
return FORCESTANDARD.toActivity(uid,id);
return FORCESTANDARD.toActivity(id);
default:
return null;
}

View File

@ -1,12 +1,10 @@
package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.logic.dao.root.User;
public class BlessActivity extends AbstractActivity {
public BlessActivity(int uid, int id) {
super(uid, id);
public BlessActivity(int id) {
super(id);
}
}

View File

@ -11,14 +11,14 @@ import com.ljsd.jieling.util.MessageUtil;
class ChapterRewardActivity extends AbstractActivity {
public ChapterRewardActivity(int uid, int id) {
super(uid, id);
public ChapterRewardActivity(int id) {
super(id);
}
@Override
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
int[][] values = sActivityRewardConfig.getValues();
User user = UserManager.getUser(uid);
User user = UserManager.getUser(session.getUid());
LevelDifficulty levelDifficulty = user.getLevelDifficultyManager().getLevelDifficultyInfosMap().get(values[0][0]);
if (levelDifficulty == null || levelDifficulty.getState() != Global.FIGHT_CLEARANCE) {
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "not pass");

View File

@ -3,7 +3,7 @@ package com.ljsd.jieling.logic.activity;
public class FirstRechargeActivity extends AbstractActivity {
public FirstRechargeActivity(int uid, int id) {
super(uid, id);
public FirstRechargeActivity(int id) {
super(id);
}
}

View File

@ -2,38 +2,115 @@ package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.config.SActivityRewardConfig;
import com.ljsd.jieling.config.SErrorCodeEerverConfig;
import com.ljsd.jieling.core.GlobalsDef;
import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.logic.dao.ActivityMission;
import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
import com.ljsd.jieling.logic.dao.UserManager;
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.ItemUtil;
import com.ljsd.jieling.util.MessageUtil;
import com.ljsd.jieling.util.TimeUtils;
import org.springframework.data.redis.core.ZSetOperations;
import java.util.*;
class ForceRankActivity extends AbstractActivity {
public ForceRankActivity(int uid, int id) {
super(uid, id);
public ForceRankActivity(int id) {
super(id);
}
@Override
void updateProgress(ActivityMission activityMission, int count) {
void updateProgress(User user, ActivityMission activityMission, int count) {
//历史最高
if (count > activityMission.getValue())
if (count > activityMission.getValue()) {
activityMission.setValue(count);
String key = RedisKey.getKey(RedisKey.FORCE_RANK, String.valueOf(id), false);
RedisUtil.getInstence().zsetAddOne(key, String.valueOf(user.getId()), count);
}
}
@Override
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
return false;
}
@Override
public void onActivityEnd() throws Exception {
List<SActivityRewardConfig> sActivityRewardConfigs = SActivityRewardConfig.getsActivityRewardConfigByActivityId(id);
int maxRank = 0;
Map<Integer, Integer> rank2miss = new HashMap<>();
for (SActivityRewardConfig sActivityRewardConfig : sActivityRewardConfigs) {
int[][] values = sActivityRewardConfig.getValues();
if (values[0].length < 3) {
return false;
return;
}
int value = values[0][2];
int up = values[0][0];
int down = values[0][1];
maxRank = Math.max(maxRank, down);
for (Integer rank : getRankSet(up, down)) {
rank2miss.put(rank, sActivityRewardConfig.getId());
}
}
Set<ZSetOperations.TypedTuple<String>> rankInfo = RedisUtil.getInstence().getZsetreverseRangeWithScores(RedisKey.FORCE_RANK, Integer.toString(id), 0, maxRank);
int rank = 1;
int nowTime = (int) (TimeUtils.now() / 1000);
for (ZSetOperations.TypedTuple<String> item : rankInfo) {
String value = item.getValue();
int uid = Integer.parseInt(value);
User user = UserManager.getUser(uid);
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
if (activityMission == null || activityMission.getActivityState() != ActivityType.OPEN_STATE || activityMission.getOpenType() == 0) {
continue;
}
int missionId = rank2miss.get(rank++);
ActivityProgressInfo activityProgressInfo = activityMission.getActivityProgressInfoMap().get(missionId);
if (activityProgressInfo == null || activityProgressInfo.getState() == ActivityType.HAD_TAKED) {
continue;
}
//check value
SActivityRewardConfig sActivityRewardConfig = SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId);
int[][] values = sActivityRewardConfig.getValues();
if (values[0].length < 3) {
continue;
}
int value2 = values[0][2];
int missionProgress = activityProgressInfo.getProgrss();
if (missionProgress < value) {
LOGGER.error("the uid={} the misionId={},the missionProgress={},the require is={} ", uid, sActivityRewardConfig.getId(), missionProgress, values[0][0]);
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not");
return false;
if (missionProgress < value2) {
continue;
}
return true;
//sendmail
String content = SErrorCodeEerverConfig.getI18NMessage("powerrank_activity_title");
String title = SErrorCodeEerverConfig.getI18NMessage("powerrank_activity_txt", new Object[]{rank});
String mailReward = ItemUtil.getMailReward(sActivityRewardConfig.getReward());
MailLogic.getInstance().sendMail(uid, title, content, mailReward, nowTime, Global.MAIL_EFFECTIVE_TIME);
//暂时不删
// RedisUtil.getInstence().del(key);
}
}
private Set<Integer> getRankSet(int start, int end) {
Set<Integer> set = new HashSet<>();
if (start > end) {
return set;
}
for (int i = start; i <= end; i++) {
set.add(i);
}
return set;
}
}

View File

@ -4,8 +4,8 @@ import com.ljsd.jieling.logic.dao.ActivityMission;
class ForceStandardActivity extends AbstractActivity {
public ForceStandardActivity(int uid, int id) {
super(uid, id);
public ForceStandardActivity(int id) {
super(id);
}
@Override

View File

@ -11,14 +11,14 @@ import com.ljsd.jieling.util.MessageUtil;
class GrowthFundActivity extends AbstractActivity {
public GrowthFundActivity(int uid, int id) {
super(uid, id);
public GrowthFundActivity(int id) {
super(id);
}
@Override
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
int[][] values = sActivityRewardConfig.getValues();
User user = UserManager.getUser(uid);
User user = UserManager.getUser(session.getUid());
int type = values[0][0];
int value = values[0][1];
if(type == 9){

View File

@ -8,6 +8,7 @@ public interface IActivity {
/**
*
*
* @param user
* Todo
*/
@ -20,8 +21,11 @@ public interface IActivity {
/**
*
*
* @param missionId id
*/
void takeReward(ISession session, int missionId) throws Exception;
void onActivityEnd() throws Exception;
}

View File

@ -3,6 +3,7 @@ package com.ljsd.jieling.logic.activity;
import com.ljsd.jieling.chat.logic.ChatLogic;
import com.ljsd.jieling.config.SErrorCodeEerverConfig;
import com.ljsd.jieling.config.SGlobalActivity;
import com.ljsd.jieling.config.SItem;
import com.ljsd.jieling.config.SLuckyCatConfig;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
@ -26,8 +27,8 @@ import java.util.TreeMap;
public class LuckyCatActivity extends AbstractActivity {
public LuckyCatActivity(int uid, int id) {
super(uid, id);
public LuckyCatActivity(int id) {
super(id);
}
@Override
@ -48,7 +49,7 @@ public class LuckyCatActivity extends AbstractActivity {
@Override
public void takeReward(ISession session, int missionId) throws Exception {
User user = UserManager.getUser(uid);
User user = UserManager.getUser(session.getUid());
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) {
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "");
@ -116,7 +117,9 @@ public class LuckyCatActivity extends AbstractActivity {
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId);
String nickName = user.getPlayerInfoManager().getNickName();
String message = SErrorCodeEerverConfig.getI18NMessage("luck_cat_take_reward_content", new Object[]{nickName,temp2[0],temp2[1]});
SItem sItem = SItem.getsItemMap().get(temp2[0]);
String message = SErrorCodeEerverConfig.getI18NMessage("luck_cat_take_reward_content", new Object[]{nickName,sItem.getName(),temp2[1]});
ChatLogic.getInstance().sendSysChatMessage(message, Global.LUCKCAT,0,0,0,0,0,0);
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();

View File

@ -11,8 +11,8 @@ import com.ljsd.jieling.util.TimeUtils;
class OnlineRewardActivity extends AbstractActivity {
public OnlineRewardActivity(int uid, int id) {
super(uid, id);
public OnlineRewardActivity(int id) {
super(id);
}
@Override
@ -21,13 +21,13 @@ class OnlineRewardActivity extends AbstractActivity {
int[][] values = sActivityRewardConfig.getValues();
int missionProgress = activityProgressInfo.getProgrss();
long now = TimeUtils.now();
User user = UserManager.getUser(uid);
User user = UserManager.getUser(session.getUid());
PlayerManager playerInfoManager = user.getPlayerInfoManager();
long loginTime = playerInfoManager.getLoginTime();
int limitTime = values[0][0];
long remainTime = now - loginTime - limitTime * TimeUtils.ONE_MINUTE + missionProgress * TimeUtils.ONE_SECOND;
if (now - loginTime - limitTime * TimeUtils.ONE_MINUTE + missionProgress * TimeUtils.ONE_SECOND < 0) {
LOGGER.error("the uid={} remain time is={}ms,the require time is={}ms", uid, remainTime, limitTime * TimeUtils.ONE_MINUTE);
LOGGER.error("the uid={} remain time is={}ms,the require time is={}ms", session.getUid(), remainTime, limitTime * TimeUtils.ONE_MINUTE);
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not");
return false;
}

View File

@ -11,8 +11,8 @@ import com.ljsd.jieling.util.TimeUtils;
class RechargeTotalActivity extends AbstractActivity {
public RechargeTotalActivity(int uid, int id) {
super(uid, id);
public RechargeTotalActivity(int id) {
super(id);
}
@Override
@ -20,11 +20,11 @@ class RechargeTotalActivity extends AbstractActivity {
int[][] values = sActivityRewardConfig.getValues();
int missionProgress = activityProgressInfo.getProgrss();
long now = TimeUtils.now();
User user = UserManager.getUser(uid);
User user = UserManager.getUser(session.getUid());
RechargeInfo rechargeInfo = user.getPlayerInfoManager().getRechargeInfo();
int days = TimeUtils.differentDays(rechargeInfo.getCreateTime(), now) + 1;
if (missionProgress < values[0][0] || days < values[0][1]) {
LOGGER.error("the uid={} the misionId={},the missionProgress={},the require is={} ", uid, sActivityRewardConfig.getId(), missionProgress, values[0][0]);
LOGGER.error("the uid={} the misionId={},the missionProgress={},the require is={} ", session.getUid(), sActivityRewardConfig.getId(), missionProgress, values[0][0]);
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "not finish");
return false;
}

View File

@ -19,7 +19,7 @@ class SevenLoginActivity extends AbstractActivity {
user.getActivityManager().addActivity(sGlobalActivity.getId(), activityMission);
}
public SevenLoginActivity(int uid, int id) {
super(uid, id);
public SevenLoginActivity(int id) {
super(id);
}
}

View File

@ -25,8 +25,8 @@ import java.util.Map;
public class TreasureActivity extends AbstractActivity {
public TreasureActivity(int uid, int id) {
super(uid, id);
public TreasureActivity(int id) {
super(id);
}
@Override
@ -48,7 +48,7 @@ public class TreasureActivity extends AbstractActivity {
@Override
public void takeReward(ISession session, int missionId) throws Exception {
User user = UserManager.getUser(uid);
User user = UserManager.getUser(session.getUid());
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(id);
if (sGlobalActivity == null || !user.getActivityManager().getActivityMissionMap().containsKey(id)) {
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "");

View File

@ -6,6 +6,8 @@ import com.ljsd.jieling.db.redis.RedisKey;
import com.ljsd.jieling.db.redis.RedisUtil;
import com.ljsd.jieling.globals.BIReason;
import com.ljsd.jieling.globals.Global;
import com.ljsd.jieling.logic.activity.ActivityLogic;
import com.ljsd.jieling.logic.activity.ActivityType;
import com.ljsd.jieling.logic.dao.*;
import com.ljsd.jieling.logic.dao.root.User;
import com.ljsd.jieling.logic.fight.CombatLogic;
@ -216,8 +218,10 @@ public class PlayerLogic {
if(user.getPlayerInfoManager().getMaxForce() < teamForce){
user.getPlayerInfoManager().setMaxForce(teamForce);
user.getUserMissionManager().onGameEvent(user,GameEvent.USER_FORCE_CHANGE);
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FORCERANK,teamForce,null);
}
}
MessageUtil.sendMessage(iSession,1, MessageTypeProto.MessageType.USER_FORCE_CHANGE_RESPONSE_VALUE,null,true);
}