Merge branch 'master' of http://60.1.1.230/backend/jieling_server
commit
3b384d0698
|
@ -4,6 +4,8 @@ import com.ljsd.jieling.core.VipPrivilegeType;
|
|||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.SignInEvent;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
|
@ -55,8 +57,15 @@ public class SignInHandler extends BaseHandler {
|
|||
throw new ErrorCodeException("次数不足");
|
||||
}
|
||||
PlayerLogic.getInstance().checkAndUpdate(user, VipPrivilegeType.SIGN_AGAIN, 1);
|
||||
|
||||
boolean todayFirstSign = user.getPlayerInfoManager().getSignTotay() == 0;
|
||||
user.getPlayerInfoManager().setSignTotay(1);
|
||||
|
||||
if (todayFirstSign) {
|
||||
//累计签到事件
|
||||
Poster.getPoster().dispatchEvent(new SignInEvent(user.getId()));
|
||||
}
|
||||
|
||||
int[] reward = sign.getreward();
|
||||
int[][] cost = new int[1][];
|
||||
cost[0] = reward;
|
||||
|
|
|
@ -66,5 +66,6 @@ public interface ActivityType {
|
|||
int COPY_PASS = 55; // 开服福利 副本限时通过奖励
|
||||
|
||||
int NEW_EIGHT_LOGIN = 56;//新的八日登录
|
||||
int SIGN_BOX= 57;//累计签到宝箱
|
||||
|
||||
}
|
||||
|
|
|
@ -31,7 +31,7 @@ public enum ActivityTypeEnum {
|
|||
COPY_EXPERT(ActivityType.COPY_EXPERT, CopyExpectRankActivity::new),
|
||||
LEVEL_EXPERT(ActivityType.LEVEL_EXPERT, LevelExpectActivity::new),
|
||||
STAMINA_EXPERT(ActivityType.STAMINA_EXPERT, StaminaExpectRankActivity::new),
|
||||
SIGN_IN(ActivityType.SIGN_IN, SignInSumActivity::new),
|
||||
//SIGN_IN(ActivityType.SIGN_IN, SignInSumActivity::new),//因为签到没有走活动,所以SignInSunActivity类用作了累计签到奖励活动,此类暂时先不删
|
||||
RECHARGE_NUM(ActivityType.RECHARGE_NUM, RechargeSumActivity::new),
|
||||
ESPECIALEQUIP_EXPERT(ActivityType.ESPECIALEQUIP_EXPERT, EspecialEquipExpectActivity::new),
|
||||
SOULEQUIP_EXPERT(ActivityType.SOULEQUIP_EXPERT, SoulEquipExpectActivity::new),
|
||||
|
@ -49,7 +49,8 @@ public enum ActivityTypeEnum {
|
|||
ECPEDITION_ACTIVITY(ActivityType.ECPEDITION_ACTIVITY,DefaultEmptyActivity::new),
|
||||
COPY_PASS(ActivityType.COPY_PASS,ChapterRewardActivity::new),
|
||||
NEW_EIGHT_LOGIN(ActivityType.NEW_EIGHT_LOGIN,NewEightActivity::new),
|
||||
BEAUTY_BAG(ActivityType.BEAUTY_BAG,LimitRandomCardActivity::new)
|
||||
BEAUTY_BAG(ActivityType.BEAUTY_BAG,LimitRandomCardActivity::new),
|
||||
SIGN_BOX(ActivityType.SIGN_BOX,SignInSumActivity::new)
|
||||
|
||||
;
|
||||
private int type;
|
||||
|
|
|
@ -1,15 +1,32 @@
|
|||
package com.ljsd.jieling.logic.activity;
|
||||
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||
import com.ljsd.jieling.logic.activity.event.SignInEvent;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import config.SActivityRewardConfig;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
||||
/**
|
||||
* 签到不走活动 没有逻辑处理
|
||||
*/
|
||||
@Deprecated
|
||||
class SignInSumActivity extends AbstractActivity {
|
||||
|
||||
//签到宝箱领完第七天之后,重置进度
|
||||
public static int RESET_DAYS_AFTER_RECEIVED = 7;
|
||||
|
||||
public SignInSumActivity(int id) {
|
||||
super(id);
|
||||
Poster.getPoster().listenEvent(this, SignInEvent.class);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onEvent(IEvent event) throws Exception {
|
||||
if(!(event instanceof SignInEvent)) return;
|
||||
update(UserManager.getUser(((SignInEvent) event).getUid()),1);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -17,4 +34,23 @@ class SignInSumActivity extends AbstractActivity {
|
|||
activityMission.setV(count + activityMission.getV());
|
||||
}
|
||||
|
||||
@Override
|
||||
boolean takeRewardsProcess(ISession session, SActivityRewardConfig sActivityRewardConfig, ActivityProgressInfo activityProgressInfo) throws Exception {
|
||||
return checkValue(session, sActivityRewardConfig, activityProgressInfo);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean takeReward(ISession session, int missionId) throws Exception {
|
||||
boolean result = super.takeReward(session, missionId);
|
||||
if (result) {
|
||||
//取得活动奖励配置,判断下如果是7天的宝箱,则重置进度,takeReward成功之后,sActivityRewardConfig一定在
|
||||
SActivityRewardConfig config = SActivityRewardConfig.getsActivityRewardConfigByMissionId(missionId);
|
||||
if (config.getValues()[0][0]== RESET_DAYS_AFTER_RECEIVED) {
|
||||
reSetValue(UserManager.getUser(session.getUid()));
|
||||
}
|
||||
ActivityMission activityMission = UserManager.getUser(session.getUid()).getActivityManager().getActivityMissionMap().get(this.id);
|
||||
sendActivityProgress(session, activityMission, null);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
package com.ljsd.jieling.logic.activity.event;
|
||||
|
||||
|
||||
/**
|
||||
* 每日签到事件
|
||||
* 用作处理累计签到宝箱
|
||||
*/
|
||||
public class SignInEvent implements IEvent{
|
||||
private int uid;
|
||||
|
||||
public SignInEvent(int uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
|
||||
public int getUid() {
|
||||
return uid;
|
||||
}
|
||||
|
||||
public void setUid(int uid) {
|
||||
this.uid = uid;
|
||||
}
|
||||
}
|
|
@ -48,6 +48,7 @@ public class HeroFiveStarGetEventHandler implements IEventHandler {
|
|||
long lasttime = rechargeInfo.getTypeBagMap().get(((HeroFiveStarGetEvent) event).getStar());
|
||||
|
||||
int diffHourTemp = (int) ((now - lasttime) / 3600 / 1000);
|
||||
//做一个验证,如果前一次的成长礼没有超出购买时间,才增加次数,否则重置为1次
|
||||
if (diffHourTemp < 2) {
|
||||
rechargeInfo.addDyGoodsCanBuyTimes(goodsId);
|
||||
}else {
|
||||
|
|
Loading…
Reference in New Issue