每日首冲和累计充值天数
parent
dba41c51a3
commit
919163f51b
|
@ -12,8 +12,11 @@ import com.ljsd.jieling.core.HandlerLogicThread;
|
||||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||||
import com.ljsd.jieling.handler.map.MapLogic;
|
import com.ljsd.jieling.handler.map.MapLogic;
|
||||||
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
import com.ljsd.jieling.logic.activity.ActivityLogic;
|
||||||
|
import com.ljsd.jieling.logic.activity.ActivityType;
|
||||||
|
import com.ljsd.jieling.logic.activity.ActivityTypeEnum;
|
||||||
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
import com.ljsd.jieling.logic.arena.ArenaLogic;
|
||||||
import com.ljsd.jieling.logic.dao.GuilidManager;
|
import com.ljsd.jieling.logic.dao.GuilidManager;
|
||||||
|
import com.ljsd.jieling.logic.dao.RechargeInfo;
|
||||||
import com.ljsd.jieling.logic.dao.TimeControllerOfFunction;
|
import com.ljsd.jieling.logic.dao.TimeControllerOfFunction;
|
||||||
import com.ljsd.jieling.logic.dao.UserMissionManager;
|
import com.ljsd.jieling.logic.dao.UserMissionManager;
|
||||||
import com.ljsd.jieling.logic.dao.root.GlobalSystemControl;
|
import com.ljsd.jieling.logic.dao.root.GlobalSystemControl;
|
||||||
|
@ -250,6 +253,8 @@ public class GlobalDataManaager {
|
||||||
ActivityLogic.getInstance().flushEveryDay(user,fBuilder);
|
ActivityLogic.getInstance().flushEveryDay(user,fBuilder);
|
||||||
PlayerLogic.getInstance().vipflushEveryDay(user,fBuilder);
|
PlayerLogic.getInstance().vipflushEveryDay(user,fBuilder);
|
||||||
user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH,0);
|
user.getUserMissionManager().onGameEvent(user, GameEvent.DAILY_REFRESH,0);
|
||||||
|
ActivityLogic.getInstance().resumeActivity(user,ActivityType.DAILY_RECHARGE);
|
||||||
|
user.getPlayerInfoManager().getRechargeInfo().setDailyFirst(1);
|
||||||
FriendLogic.getInstance().refreshState(session);
|
FriendLogic.getInstance().refreshState(session);
|
||||||
// MapLogic.getInstance().towerAutoReset(session,fBuilder);
|
// MapLogic.getInstance().towerAutoReset(session,fBuilder);
|
||||||
if(fBuilder!=null){
|
if(fBuilder!=null){
|
||||||
|
|
|
@ -10,6 +10,7 @@ import com.ljsd.jieling.logic.dao.ActivityMission;
|
||||||
import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
|
import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
|
||||||
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.mission.GameEvent;
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
import com.ljsd.jieling.protocols.CommonProto;
|
import com.ljsd.jieling.protocols.CommonProto;
|
||||||
import com.ljsd.jieling.protocols.MessageTypeProto;
|
import com.ljsd.jieling.protocols.MessageTypeProto;
|
||||||
|
@ -21,20 +22,35 @@ import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public abstract class AbstractActivity implements IActivity {
|
/**
|
||||||
|
* 玩家无关性
|
||||||
|
*/
|
||||||
|
public abstract class AbstractActivity implements IActivity, IEventHandler {
|
||||||
static final Logger LOGGER = LoggerFactory.getLogger(AbstractActivity.class);
|
static final Logger LOGGER = LoggerFactory.getLogger(AbstractActivity.class);
|
||||||
final int rewardResponseValue = MessageTypeProto.MessageType.TAKE_ACTIVITY_REWARD_RESPONSE_VALUE;
|
final int rewardResponseValue = MessageTypeProto.MessageType.TAKE_ACTIVITY_REWARD_RESPONSE_VALUE;
|
||||||
int id;
|
int id; //活动id
|
||||||
|
|
||||||
public AbstractActivity(int id) {
|
public AbstractActivity(int id) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEvent(GameEvent event) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initActivity(User user) throws Exception {
|
public void initActivity(User user) throws Exception {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume(User user) throws Exception {
|
||||||
|
ActivityManager activityManager = user.getActivityManager();
|
||||||
|
activityManager.removeActivity(id);
|
||||||
|
activityManager.initAllActivityMission(id);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void update(User user, int count) {
|
public void update(User user, int count) {
|
||||||
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
ActivityMission activityMission = user.getActivityManager().getActivityMissionMap().get(id);
|
||||||
|
@ -91,12 +107,12 @@ public abstract class AbstractActivity implements IActivity {
|
||||||
if (!takeRewardsProcess(session, sActivityRewardConfig, activityProgressInfo)) {
|
if (!takeRewardsProcess(session, sActivityRewardConfig, activityProgressInfo)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//upto client and db
|
//up miss
|
||||||
int[][] reward = sActivityRewardConfig.getReward();
|
int[][] reward = sActivityRewardConfig.getReward();
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, reward, BIReason.TAKE_ACTIVITY_REWARD);
|
||||||
activityProgressInfo.setState(ActivityType.HAD_TAKED);
|
activityProgressInfo.setState(ActivityType.HAD_TAKED);
|
||||||
activityMission.updateProgressInfo(missionId, activityProgressInfo);
|
activityMission.updateProgressInfo(missionId, activityProgressInfo);
|
||||||
|
//send
|
||||||
sendActivityProgress(session, activityMission, Collections.singleton(missionId));
|
sendActivityProgress(session, activityMission, Collections.singleton(missionId));
|
||||||
KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId);
|
KtEventUtils.onKtEvent(user, ParamEventBean.UserActivityEvent, id, missionId);
|
||||||
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
|
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
|
||||||
|
|
|
@ -245,46 +245,62 @@ public class ActivityLogic {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public void updateActivityMissionProgress(User user,int activityType,int count){
|
public void updateActivityMissionProgress(User user, int activityType, int count) {
|
||||||
|
|
||||||
ActivityManager activityManager = user.getActivityManager();
|
for (Integer id: getOpenActivityIdsByType(user, activityType)) {
|
||||||
Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap();
|
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(id);
|
||||||
for(Map.Entry<Integer,ActivityMission> item : activityMissionMap.entrySet()){
|
|
||||||
ActivityMission activityMission = item.getValue();
|
|
||||||
if(activityMission.getActivityState() != ActivityType.OPEN_STATE){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
Integer activityId= item.getKey();
|
|
||||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
|
||||||
int targetActivityType = sGlobalActivity.getType();
|
|
||||||
if(targetActivityType != activityType){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(activityId);
|
|
||||||
if (abstractActivity == null) {
|
if (abstractActivity == null) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
abstractActivity.update(user,count);
|
abstractActivity.update(user, count);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public void resumeActivity(User user, int activityType) throws Exception{
|
||||||
|
for (Integer id: getOpenActivityIdsByType(user, activityType)) {
|
||||||
|
AbstractActivity abstractActivity = ActivityTypeEnum.getActicityType(id);
|
||||||
|
if (abstractActivity == null) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
abstractActivity.onResume(user);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Set<Integer> getOpenActivityIdsByType(User user, int activityType) {
|
||||||
|
Set<Integer> ids = new HashSet<>();
|
||||||
|
ActivityManager activityManager = user.getActivityManager();
|
||||||
|
Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap();
|
||||||
|
for (Map.Entry<Integer, ActivityMission> item : activityMissionMap.entrySet()) {
|
||||||
|
ActivityMission activityMission = item.getValue();
|
||||||
|
if (activityMission.getActivityState() != ActivityType.OPEN_STATE) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
Integer activityId = item.getKey();
|
||||||
|
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
||||||
|
int targetActivityType = sGlobalActivity.getType();
|
||||||
|
if (targetActivityType != activityType) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
ids.add(activityId);
|
||||||
|
}
|
||||||
|
return ids;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void upFivePlayerActivity(User user,int activityType, PlayerInfoProto.FivePlayerUpdateIndication.Builder fBuilder){
|
public void upFivePlayerActivity(User user, int activityType, PlayerInfoProto.FivePlayerUpdateIndication.Builder fBuilder) {
|
||||||
|
|
||||||
ActivityManager activityManager = user.getActivityManager();
|
ActivityManager activityManager = user.getActivityManager();
|
||||||
Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap();
|
Map<Integer, ActivityMission> activityMissionMap = activityManager.getActivityMissionMap();
|
||||||
for(Map.Entry<Integer,ActivityMission> item : activityMissionMap.entrySet()){
|
for (Map.Entry<Integer, ActivityMission> item : activityMissionMap.entrySet()) {
|
||||||
ActivityMission activityMission = item.getValue();
|
ActivityMission activityMission = item.getValue();
|
||||||
if(activityMission.getActivityState() != ActivityType.OPEN_STATE){
|
if (activityMission.getActivityState() != ActivityType.OPEN_STATE) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
Integer activityId= item.getKey();
|
Integer activityId = item.getKey();
|
||||||
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
SGlobalActivity sGlobalActivity = SGlobalActivity.getsGlobalActivityMap().get(activityId);
|
||||||
int targetActivityType = sGlobalActivity.getType();
|
int targetActivityType = sGlobalActivity.getType();
|
||||||
if(targetActivityType != activityType){
|
if (targetActivityType != activityType) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -293,9 +309,12 @@ public class ActivityLogic {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(fBuilder==null){
|
||||||
|
return;
|
||||||
|
}
|
||||||
long createTime = user.getPlayerInfoManager().getCreateTime();
|
long createTime = user.getPlayerInfoManager().getCreateTime();
|
||||||
int startTime = (int)(sGlobalActivity.getTimeLong(createTime, 1)/1000);
|
int startTime = (int) (sGlobalActivity.getTimeLong(createTime, 1) / 1000);
|
||||||
int endTime = (int)(sGlobalActivity.getTimeLong(createTime, 2)/1000);
|
int endTime = (int) (sGlobalActivity.getTimeLong(createTime, 2) / 1000);
|
||||||
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = abstractActivity.getAllMissInfo(activityMission);
|
List<CommonProto.ActivityInfo.MissionInfo> missionInfos = abstractActivity.getAllMissInfo(activityMission);
|
||||||
fBuilder.addActivityInfo(CommonProto.ActivityInfo.newBuilder().setActivityId(activityId).addAllMission(missionInfos).setStartTime(startTime).setEndTime(endTime).setReallyOpen(activityMission.getOpenType()).build());
|
fBuilder.addActivityInfo(CommonProto.ActivityInfo.newBuilder().setActivityId(activityId).addAllMission(missionInfos).setStartTime(startTime).setEndTime(endTime).setReallyOpen(activityMission.getOpenType()).build());
|
||||||
|
|
||||||
|
|
|
@ -28,5 +28,7 @@ public interface ActivityType {
|
||||||
int SERVERHAPPY =10; //七日狂欢
|
int SERVERHAPPY =10; //七日狂欢
|
||||||
int FORCERANK = 11; //战力排行
|
int FORCERANK = 11; //战力排行
|
||||||
int FORCESTANDARD = 12;//战力达标
|
int FORCESTANDARD = 12;//战力达标
|
||||||
|
int DAILY_RECHARGE = 13;//每日充值
|
||||||
|
int RECHARGE_SUM = 14;//累计充值天数
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,9 @@ public enum ActivityTypeEnum {
|
||||||
TREASUREACTIVITY(ActivityType.TREASURE, TreasureActivity::new),
|
TREASUREACTIVITY(ActivityType.TREASURE, TreasureActivity::new),
|
||||||
LUCKYCAT(ActivityType.LUCKYCAT, LuckyCatActivity::new),
|
LUCKYCAT(ActivityType.LUCKYCAT, LuckyCatActivity::new),
|
||||||
FORCERANK(ActivityType.FORCERANK, ForceRankActivity::new),
|
FORCERANK(ActivityType.FORCERANK, ForceRankActivity::new),
|
||||||
FORCESTANDARD(ActivityType.FORCESTANDARD, ForceStandardActivity::new);
|
FORCESTANDARD(ActivityType.FORCESTANDARD, ForceStandardActivity::new),
|
||||||
|
DAILY_RECHARGE(ActivityType.DAILY_RECHARGE, DailyRechargeActivity::new),
|
||||||
|
RECHARGE_SUM(ActivityType.RECHARGE_SUM, RechargeSumActivity::new);
|
||||||
private int type;
|
private int type;
|
||||||
private Function<Integer, AbstractActivity> toActivityFunction;
|
private Function<Integer, AbstractActivity> toActivityFunction;
|
||||||
private static HashMap<Integer, AbstractActivity> acticityCache = new HashMap<>();
|
private static HashMap<Integer, AbstractActivity> acticityCache = new HashMap<>();
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.ljsd.jieling.logic.activity;
|
||||||
|
|
||||||
|
import com.ljsd.jieling.config.SActivityRewardConfig;
|
||||||
|
import com.ljsd.jieling.logic.dao.ActivityMission;
|
||||||
|
import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
|
||||||
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
|
||||||
|
class DailyRechargeActivity extends AbstractActivity {
|
||||||
|
|
||||||
|
public DailyRechargeActivity(int id) {
|
||||||
|
super(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void updateProgress(ActivityMission activityMission, int count) {
|
||||||
|
activityMission.setValue(count + activityMission.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
|
||||||
|
return checkValue(session, sActivityRewardConfig, activityProgressInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -3,10 +3,8 @@ package com.ljsd.jieling.logic.activity;
|
||||||
import com.ljsd.jieling.config.SActivityRewardConfig;
|
import com.ljsd.jieling.config.SActivityRewardConfig;
|
||||||
import com.ljsd.jieling.logic.dao.ActivityMission;
|
import com.ljsd.jieling.logic.dao.ActivityMission;
|
||||||
import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
|
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.dao.root.User;
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
import com.ljsd.jieling.util.MessageUtil;
|
|
||||||
|
|
||||||
class ForceStandardActivity extends AbstractActivity {
|
class ForceStandardActivity extends AbstractActivity {
|
||||||
|
|
||||||
|
@ -17,19 +15,12 @@ class ForceStandardActivity extends AbstractActivity {
|
||||||
@Override
|
@Override
|
||||||
public void initActivity(User user) throws Exception {
|
public void initActivity(User user) throws Exception {
|
||||||
super.initActivity(user);
|
super.initActivity(user);
|
||||||
update(user,user.getPlayerInfoManager().getMaxForce());
|
update(user, user.getPlayerInfoManager().getMaxForce());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
|
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
|
||||||
int[][] values = sActivityRewardConfig.getValues();
|
return checkValue(session, sActivityRewardConfig, activityProgressInfo);
|
||||||
User user = UserManager.getUser(session.getUid());
|
|
||||||
int value = user.getActivityManager().getActivityMissionMap().get(sActivityRewardConfig.getActivityId()).getValue();
|
|
||||||
if (value < values[0][0]) {
|
|
||||||
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "time not");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -19,6 +19,11 @@ public interface IActivity {
|
||||||
*/
|
*/
|
||||||
void initActivity(User user) throws Exception;
|
void initActivity(User user) throws Exception;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 活动重开
|
||||||
|
*/
|
||||||
|
void onResume(User user)throws Exception;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新活动记录
|
* 更新活动记录
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
package com.ljsd.jieling.logic.activity;
|
||||||
|
|
||||||
|
|
||||||
|
import com.ljsd.jieling.logic.mission.GameEvent;
|
||||||
|
|
||||||
|
public interface IEventHandler {
|
||||||
|
|
||||||
|
void onEvent(GameEvent event);
|
||||||
|
|
||||||
|
}
|
|
@ -29,7 +29,7 @@ public class LuckyCatActivity extends AbstractActivity {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void initActivity(User user){
|
public void initActivity(User user) {
|
||||||
ActivityMission mission = new ActivityMission();
|
ActivityMission mission = new ActivityMission();
|
||||||
List<Integer> luckyMisionIds = new ArrayList<>();
|
List<Integer> luckyMisionIds = new ArrayList<>();
|
||||||
SLuckyCatConfig.getConfigMapByActivityId(id).values().forEach(sLuckyCatConfig ->
|
SLuckyCatConfig.getConfigMapByActivityId(id).values().forEach(sLuckyCatConfig ->
|
||||||
|
@ -41,7 +41,7 @@ public class LuckyCatActivity extends AbstractActivity {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
void updateProgress(ActivityMission activityMission, int count) {
|
void updateProgress(ActivityMission activityMission, int count) {
|
||||||
activityMission.setValue(count);
|
activityMission.setValue(count + activityMission.getValue());
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -78,7 +78,7 @@ public class LuckyCatActivity extends AbstractActivity {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (activityMission.getValue() < sLuckyRewardConfig.getRmbValue()){
|
if (activityMission.getValue() < sLuckyRewardConfig.getRmbValue()) {
|
||||||
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "value illegality");
|
MessageUtil.sendErrorResponse(session, 0, rewardResponseValue, "value illegality");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -105,7 +105,7 @@ public class LuckyCatActivity extends AbstractActivity {
|
||||||
activityProgressInfo.setState(ActivityType.HAD_TAKED);
|
activityProgressInfo.setState(ActivityType.HAD_TAKED);
|
||||||
}
|
}
|
||||||
|
|
||||||
sendActivityProgress(session,activityMission, Collections.singleton(missionId));
|
sendActivityProgress(session, activityMission, Collections.singleton(missionId));
|
||||||
//drop
|
//drop
|
||||||
int[][] reward = new int[1][];
|
int[][] reward = new int[1][];
|
||||||
int[] temp2 = new int[2];
|
int[] temp2 = new int[2];
|
||||||
|
@ -118,8 +118,8 @@ public class LuckyCatActivity extends AbstractActivity {
|
||||||
String nickName = user.getPlayerInfoManager().getNickName();
|
String nickName = user.getPlayerInfoManager().getNickName();
|
||||||
SItem sItem = SItem.getsItemMap().get(temp2[0]);
|
SItem sItem = SItem.getsItemMap().get(temp2[0]);
|
||||||
|
|
||||||
String message = SErrorCodeEerverConfig.getI18NMessage("luck_cat_take_reward_content", new Object[]{nickName,sItem.getName(),temp2[1]});
|
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);
|
ChatLogic.getInstance().sendSysChatMessage(message, Global.LUCKCAT, 0, 0, 0, 0, 0, 0);
|
||||||
|
|
||||||
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
|
PlayerInfoProto.TakeActivityRewardResponse build = PlayerInfoProto.TakeActivityRewardResponse.newBuilder().setDrop(drop).build();
|
||||||
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
|
MessageUtil.sendMessage(session, 1, rewardResponseValue, build, true);
|
||||||
|
|
|
@ -0,0 +1,24 @@
|
||||||
|
package com.ljsd.jieling.logic.activity;
|
||||||
|
|
||||||
|
import com.ljsd.jieling.config.SActivityRewardConfig;
|
||||||
|
import com.ljsd.jieling.logic.dao.ActivityMission;
|
||||||
|
import com.ljsd.jieling.logic.dao.ActivityProgressInfo;
|
||||||
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
|
|
||||||
|
class RechargeSumActivity extends AbstractActivity {
|
||||||
|
|
||||||
|
public RechargeSumActivity(int id) {
|
||||||
|
super(id);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
void updateProgress(ActivityMission activityMission, int count) {
|
||||||
|
activityMission.setValue(count + activityMission.getValue());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
|
||||||
|
return checkValue(session, sActivityRewardConfig, activityProgressInfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -32,7 +32,7 @@ public class ActivityMission extends MongoBase {
|
||||||
openType=0;
|
openType=0;
|
||||||
}
|
}
|
||||||
activityState = ActivityType.OPEN_STATE;
|
activityState = ActivityType.OPEN_STATE;
|
||||||
|
value=0;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -42,6 +42,7 @@ public class ActivityMission extends MongoBase {
|
||||||
activityProgressInfoMap.put(missionId, new ActivityProgressInfo(0,0));
|
activityProgressInfoMap.put(missionId, new ActivityProgressInfo(0,0));
|
||||||
}
|
}
|
||||||
openType=1;
|
openType=1;
|
||||||
|
value=0;
|
||||||
activityState = ActivityType.OPEN_STATE;
|
activityState = ActivityType.OPEN_STATE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ public class RechargeInfo extends MongoBase{
|
||||||
private int isFirst;
|
private int isFirst;
|
||||||
private long createTime;
|
private long createTime;
|
||||||
private int hadBuyFound;
|
private int hadBuyFound;
|
||||||
|
private int isDayFirst;
|
||||||
|
|
||||||
private Map<Integer,Long> levelBagMap = new HashMap<>();
|
private Map<Integer,Long> levelBagMap = new HashMap<>();
|
||||||
|
|
||||||
|
@ -79,6 +80,12 @@ public class RechargeInfo extends MongoBase{
|
||||||
isFirst = first;
|
isFirst = first;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setDailyFirst(int first) {
|
||||||
|
updateString("isFirst",first);
|
||||||
|
isDayFirst = first;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void setCreateTime(long createTime) {
|
public void setCreateTime(long createTime) {
|
||||||
updateString("createTime",createTime);
|
updateString("createTime",createTime);
|
||||||
this.createTime = createTime;
|
this.createTime = createTime;
|
||||||
|
@ -120,6 +127,10 @@ public class RechargeInfo extends MongoBase{
|
||||||
return isFirst;
|
return isFirst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getIsDayFirst() {
|
||||||
|
return isDayFirst;
|
||||||
|
}
|
||||||
|
|
||||||
public int getHadBuyFound() {
|
public int getHadBuyFound() {
|
||||||
return hadBuyFound;
|
return hadBuyFound;
|
||||||
}
|
}
|
||||||
|
|
|
@ -145,6 +145,12 @@ public class BuyGoodsLogic {
|
||||||
String content = SErrorCodeEerverConfig.getI18NMessage("recharge_first_txt");
|
String content = SErrorCodeEerverConfig.getI18NMessage("recharge_first_txt");
|
||||||
MailLogic.getInstance().sendMail(user.getId(),title,content,ItemUtil.getMailReward(sActivityRewardConfig.getReward()),nowTime, Global.MAIL_EFFECTIVE_TIME);
|
MailLogic.getInstance().sendMail(user.getId(),title,content,ItemUtil.getMailReward(sActivityRewardConfig.getReward()),nowTime, Global.MAIL_EFFECTIVE_TIME);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(rechargeInfo.getIsDayFirst()==0){
|
||||||
|
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.DAILY_RECHARGE,price);
|
||||||
|
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RECHARGE_SUM,1);
|
||||||
|
rechargeInfo.setDailyFirst(1);
|
||||||
|
}
|
||||||
if(length>baseReward.length){
|
if(length>baseReward.length){
|
||||||
int[][] result = new int[length][];
|
int[][] result = new int[length][];
|
||||||
int i=0;
|
int i=0;
|
||||||
|
@ -172,7 +178,7 @@ public class BuyGoodsLogic {
|
||||||
int saveAmt = rechargeInfo.getSaveAmt();
|
int saveAmt = rechargeInfo.getSaveAmt();
|
||||||
rechargeInfo.setSaveAmt(price+saveAmt);
|
rechargeInfo.setSaveAmt(price+saveAmt);
|
||||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RechargeTotal,rechargeInfo.getSaveAmt());
|
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RechargeTotal,rechargeInfo.getSaveAmt());
|
||||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.LUCKYCAT,rechargeInfo.getSaveAmt());
|
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.LUCKYCAT,saveAmt);
|
||||||
}
|
}
|
||||||
|
|
||||||
buyGoodsTimes.put(goodsId,buyCount);
|
buyGoodsTimes.put(goodsId,buyCount);
|
||||||
|
|
Loading…
Reference in New Issue