特权时间修改,红包时间修改
parent
101d1bcdf3
commit
7c0ac91a44
|
|
@ -138,9 +138,8 @@ public class TimeUtils {
|
|||
public static final String Stand_CeHua_Data_format = "yyyyMMdd HHmmss";
|
||||
|
||||
public static void main(String[] args) {
|
||||
System.out.println(Integer.MAX_VALUE);
|
||||
System.out.println((Integer.MAX_VALUE-now()/1000)/Math.pow(10,9));
|
||||
|
||||
long lastHour = getLastHour(5);
|
||||
System.out.println(lastHour);
|
||||
}
|
||||
/**
|
||||
* 判断是否合法的时间格式(HH:mm:ss)
|
||||
|
|
@ -1319,6 +1318,27 @@ public class TimeUtils {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*获取传入时间的上个几时
|
||||
* @param hour
|
||||
* @return
|
||||
*/
|
||||
public static long getLastHour(long time,int hour){
|
||||
Calendar cal = Calendar.getInstance();
|
||||
cal.setTimeInMillis(time);
|
||||
int i = cal.get(Calendar.HOUR_OF_DAY);
|
||||
cal.set(Calendar.HOUR_OF_DAY,hour);
|
||||
cal.set(Calendar.MINUTE,0);
|
||||
cal.set(Calendar.SECOND,0);
|
||||
cal.set(Calendar.MILLISECOND,0);
|
||||
long result = cal.getTimeInMillis();
|
||||
if(i<5){
|
||||
result = result -TimeUtils.DAY;
|
||||
}
|
||||
return result;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 返回Integer最大值-now()之后变成小于一的小数;
|
||||
* @return
|
||||
|
|
|
|||
|
|
@ -350,6 +350,7 @@ public class PlayerManager extends MongoBase {
|
|||
maxTime = (int)(TimeUtils.now()/1000+config.getContinueTime());
|
||||
}
|
||||
}
|
||||
maxTime = (int)(TimeUtils.getLastHour(maxTime*1000,5)/1000);
|
||||
vipInfo.put(privilageId,new VipInfo(0,maxTime));
|
||||
updateString("vipInfo", vipInfo);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -998,12 +998,12 @@ public class GuildLogic {
|
|||
throw new ErrorCodeException(ErrorCode.SERVER_SELF_DEFINE);
|
||||
}
|
||||
long increment = RedisUtil.getInstence().increment(RedisKey.getKey(RedisKey.FAMILY_RED_PACKAGE_INCRE_ID, "", false));
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_RED_PACKAGE,String.valueOf(user.getPlayerInfoManager().getGuildId()),String.valueOf(increment),new RedPackage(redId,uid));
|
||||
RedisUtil.getInstence().putMapEntry(RedisKey.FAMILY_RED_PACKAGE,String.valueOf(user.getPlayerInfoManager().getGuildId()),String.valueOf(increment),new RedPackage(redId,uid,(int)(TimeUtils.now()/1000),config.getLastTime()));
|
||||
List<String> reward = new ArrayList<>();
|
||||
for(Long count:generate){
|
||||
reward.add(String.valueOf(count));
|
||||
}
|
||||
RedisUtil.getInstence().lSet(RedisKey.getKey("red_remain_list",String.valueOf(increment),false),reward,200000);
|
||||
RedisUtil.getInstence().lSet(RedisKey.getKey("red_remain_list",String.valueOf(increment),false),reward,config.getLastTime());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -1016,7 +1016,12 @@ public class GuildLogic {
|
|||
int guildId = user.getPlayerInfoManager().getGuildId();
|
||||
Map<String, RedPackage> redPackageMap = RedisUtil.getInstence().getMapValues(RedisKey.FAMILY_RED_PACKAGE, String.valueOf(guildId), String.class, RedPackage.class);
|
||||
Family.GetAllRedPackageResponse.Builder builder = Family.GetAllRedPackageResponse.newBuilder();
|
||||
List<String> removeId = new ArrayList<>();
|
||||
for(Map.Entry<String, RedPackage> entry:redPackageMap.entrySet()){
|
||||
if(TimeUtils.now()/1000>entry.getValue().getEffectTime()+entry.getValue().getSendTime()){
|
||||
removeId.add(entry.getKey());
|
||||
continue;
|
||||
}
|
||||
CommonProto.RedPackage.Builder redPackage = CommonProto.RedPackage.newBuilder();
|
||||
redPackage.setGetCount(RedisUtil.getInstence().getMapValues("red_already_list", entry.getKey(),int.class,AcceptRedInfo.class).size());
|
||||
AcceptRedInfo already = RedisUtil.getInstence().getMapEntry("red_already_list", entry.getKey(), String.valueOf(session.getUid()), AcceptRedInfo.class);
|
||||
|
|
@ -1026,6 +1031,10 @@ public class GuildLogic {
|
|||
redPackage.setRedType(entry.getValue().getTypeId());
|
||||
builder.addInfo(redPackage);
|
||||
}
|
||||
for(String id:removeId){
|
||||
RedisUtil.getInstence().removeMapEntrys(RedisKey.FAMILY_RED_PACKAGE, String.valueOf(guildId),id);
|
||||
}
|
||||
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build(),true);
|
||||
}
|
||||
|
||||
|
|
@ -1072,7 +1081,8 @@ public class GuildLogic {
|
|||
PlayerManager playerInfoManager = UserManager.getUser(packInfo.getUid()).getPlayerInfoManager();
|
||||
builder.setSendName(playerInfoManager.getNickName())
|
||||
.setHead(playerInfoManager.getHead())
|
||||
.setHeadFrame(playerInfoManager.getHeadFrame());
|
||||
.setHeadFrame(playerInfoManager.getHeadFrame())
|
||||
.setRemainTime(packInfo.getSendTime()+packInfo.getEffectTime()-(int)(TimeUtils.now()/1000));
|
||||
MessageUtil.sendMessage(session,1,messageType.getNumber(),builder.build(),true);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,6 +11,10 @@ public class RedPackage {
|
|||
|
||||
private int uid;
|
||||
|
||||
private int sendTime;
|
||||
|
||||
private int effectTime;
|
||||
|
||||
|
||||
|
||||
public int getTypeId() {
|
||||
|
|
@ -29,9 +33,27 @@ public class RedPackage {
|
|||
this.uid = uid;
|
||||
}
|
||||
|
||||
public RedPackage(int typeId, int uid) {
|
||||
public int getSendTime() {
|
||||
return sendTime;
|
||||
}
|
||||
|
||||
public void setSendTime(int sendTime) {
|
||||
this.sendTime = sendTime;
|
||||
}
|
||||
|
||||
public int getEffectTime() {
|
||||
return effectTime;
|
||||
}
|
||||
|
||||
public void setEffectTime(int effectTime) {
|
||||
this.effectTime = effectTime;
|
||||
}
|
||||
|
||||
public RedPackage(int typeId, int uid, int sendTime, int effectTime) {
|
||||
this.typeId = typeId;
|
||||
this.uid = uid;
|
||||
this.sendTime = sendTime;
|
||||
this.effectTime = effectTime;
|
||||
}
|
||||
|
||||
public RedPackage() {
|
||||
|
|
|
|||
Loading…
Reference in New Issue