每日累充,网页支付特殊处理
parent
bb904c6d9f
commit
385db300e4
|
@ -724,6 +724,31 @@ public class TimeUtils {
|
|||
return c.getTime();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取几天后的当前时间点
|
||||
* @return
|
||||
*/
|
||||
public static long getTomorrowZero() {
|
||||
Calendar c = Calendar.getInstance();
|
||||
c.add(Calendar.DATE, 1);
|
||||
c.set(Calendar.HOUR_OF_DAY, 0);
|
||||
c.set(Calendar.MINUTE, 0);
|
||||
c.set(Calendar.SECOND, 0);
|
||||
return c.getTimeInMillis();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取几天后的当前时间点
|
||||
* @return
|
||||
*/
|
||||
public static long getTomorrowZero2() {
|
||||
Calendar c = Calendar.getInstance();
|
||||
c.set(Calendar.HOUR_OF_DAY, 23);
|
||||
c.set(Calendar.MINUTE, 59);
|
||||
c.set(Calendar.SECOND, 30);
|
||||
return c.getTimeInMillis();
|
||||
}
|
||||
|
||||
/**
|
||||
* 设置几分钟之后的时间点
|
||||
*
|
||||
|
@ -1578,8 +1603,7 @@ public class TimeUtils {
|
|||
calendar.set(Calendar.MINUTE, 0);
|
||||
calendar.set(Calendar.HOUR_OF_DAY, 0);
|
||||
calendar.set(Calendar.MILLISECOND, 0);
|
||||
long todayZero = calendar.getTimeInMillis();
|
||||
return todayZero;
|
||||
return calendar.getTimeInMillis();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -392,6 +392,10 @@ public class RedisKey {
|
|||
*/
|
||||
public static final String SEVEN_WORLD_INTEGRAL_RANK = "SEVEN_WORLD_INTEGRAL_RANK";
|
||||
|
||||
/**
|
||||
* 网页支付特殊处理用
|
||||
*/
|
||||
public static final String WEB_PAY = "WEB_PAY";
|
||||
|
||||
public static Set<String> newAreaCacChe = new HashSet<>();//进程排行 合区统一
|
||||
|
||||
|
|
|
@ -26,7 +26,6 @@ import com.ljsd.jieling.logic.mission.GameEvent;
|
|||
import com.ljsd.jieling.logic.mission.event.MissionEventDistributor;
|
||||
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||
import com.ljsd.jieling.logic.store.StoreLogic;
|
||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||
import com.ljsd.jieling.network.session.ISession;
|
||||
import com.ljsd.jieling.tools.Utils;
|
||||
import com.ljsd.jieling.util.InnerMessageUtil;
|
||||
|
@ -90,6 +89,8 @@ public class ActivityLogic implements IEventHandler{
|
|||
}
|
||||
//更新每日充值
|
||||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.DAILY_RECHARGE);
|
||||
// 每日充值网页支付特殊处理
|
||||
ActivityLogic.getInstance().webPayHandlerLogin(user);
|
||||
//更新每日累计充值
|
||||
ActivityLogic.getInstance().resumeActivity(user, ActivityType.RECHARGE_NUM);
|
||||
//更新首日充值st
|
||||
|
@ -119,9 +120,28 @@ public class ActivityLogic implements IEventHandler{
|
|||
upFiveActivityTypes.add(ActivityType.LUCK_WHEEL_ADVANCE);
|
||||
upFiveActivityTypes.add(ActivityType.RECHARGE_NUM);
|
||||
upFivePlayerActivity(user, upFiveActivityTypes, fBuilder);
|
||||
}
|
||||
|
||||
/**
|
||||
* 网页支付特殊处理登陆
|
||||
* @param user
|
||||
*
|
||||
*/
|
||||
private void webPayHandlerLogin(User user){
|
||||
// 获取key
|
||||
String subKey = RedisUtil.getInstence().getKey(String.valueOf(user.getId()), String.valueOf(ActivityType.DAILY_RECHARGE),false);
|
||||
String key = RedisUtil.getInstence().getKey(RedisKey.WEB_PAY, subKey);
|
||||
|
||||
|
||||
Object result = RedisUtil.getInstence().get(key);
|
||||
if (result == null){
|
||||
return;
|
||||
}
|
||||
// 网页支付在登陆之前充值的金额
|
||||
double value = (double) result;
|
||||
// 玩家缓存更新
|
||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.DAILY_RECHARGE,(int)(value*1000));
|
||||
// 删除key
|
||||
RedisUtil.getInstence().del(key);
|
||||
}
|
||||
|
||||
public void flushForLogin(User user,ISession iSession) throws Exception {
|
||||
|
|
|
@ -4,7 +4,6 @@ import com.ljsd.GameApplication;
|
|||
import com.ljsd.jieling.config.reportData.DataMessageUtils;
|
||||
import com.ljsd.jieling.core.VipPrivilegeType;
|
||||
import com.ljsd.jieling.db.mongo.MongoUtil;
|
||||
import com.ljsd.jieling.db.mongo.core.ServerBanPro;
|
||||
import com.ljsd.jieling.db.redis.RedisKey;
|
||||
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||
import com.ljsd.jieling.exception.ErrorCode;
|
||||
|
@ -12,7 +11,6 @@ import com.ljsd.jieling.exception.ErrorCodeException;
|
|||
import com.ljsd.jieling.globals.BIReason;
|
||||
import com.ljsd.jieling.globals.Global;
|
||||
import com.ljsd.jieling.jbean.ActivityMission;
|
||||
import com.ljsd.jieling.jbean.ActivityProgressInfo;
|
||||
import com.ljsd.jieling.ktbeans.ReportEventEnum;
|
||||
import com.ljsd.jieling.ktbeans.ReportUtil;
|
||||
import com.ljsd.jieling.logic.GlobalDataManaager;
|
||||
|
@ -324,18 +322,16 @@ public class BuyGoodsNewLogic {
|
|||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RechargeTotal,(int)(price*1000));
|
||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.LUCKYCAT,(int)(price*1000));
|
||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.DAILY_RECHARGE,(int)(price*1000));
|
||||
webPayHandlerBuy(user,price);
|
||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RECHARGE_NUM,(int)(price*1000));
|
||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.JADE_DYNASTY_RECHARGE_SUM,(int)(price*1000));
|
||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.RECHARGE_SUM_DAY, (int)(user.getPlayerInfoManager().getRechargedaily()*1000) );
|
||||
ActivityLogic.getInstance().updateActivityMissionProgress(user, ActivityType.FIND_FAIRY_FESTIVAL, (int)(price*1000));
|
||||
|
||||
AyyncWorker ayyncWorker = new AyyncWorker(user, true, new AynMissionWorker(GameEvent.RECHARGE_TOTAL,(int)(price*1000))) ;
|
||||
|
||||
ProtocolsManager.getInstance().updateAyncWorker(ayyncWorker);
|
||||
|
||||
|
||||
ISession session = OnlineUserManager.getSessionByUid(user.getId());
|
||||
|
||||
PlayerInfoProto.RefreshRechargeIndication.Builder builder = PlayerInfoProto.RefreshRechargeIndication.newBuilder();
|
||||
builder.setAmount(info.getRr());
|
||||
builder.setMonthSaveAmt(info.getMonthRr());
|
||||
|
@ -343,6 +339,28 @@ public class BuyGoodsNewLogic {
|
|||
MessageUtil.sendIndicationMessage(session,1, MessageTypeProto.MessageType.REFRESH_RECHARGE_INDICATION_VALUE,builder.build(),true);
|
||||
}
|
||||
|
||||
/**
|
||||
* 网页支付特殊处理
|
||||
* @param user
|
||||
* @param price
|
||||
*/
|
||||
private static void webPayHandlerBuy(User user, double price){
|
||||
// 当天没有登陆,购买礼包操作
|
||||
if (TimeUtils.isOverTime(0,user.getPlayerInfoManager().getLoginTime())){
|
||||
// 获取key
|
||||
String subKey = RedisUtil.getInstence().getKey(String.valueOf(user.getId()), String.valueOf(ActivityType.DAILY_RECHARGE),false);
|
||||
String key = RedisUtil.getInstence().getKey(RedisKey.WEB_PAY, subKey);
|
||||
// 计算金额
|
||||
double num = Optional.ofNullable(RedisUtil.getInstence().get(key))
|
||||
.map(v-> (double)v + price)
|
||||
.orElse(price);
|
||||
// 明天零点(实际是今天的23:59:30)
|
||||
long tomorrowZero = TimeUtils.getTomorrowZero2();
|
||||
// 赋值
|
||||
RedisUtil.getInstence().set(key,String.valueOf(num),tomorrowZero-TimeUtils.now());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 处理特殊类型发货
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue