限时头像框bug修改
parent
5bb9c26ed9
commit
0fd8be20c5
|
@ -7,11 +7,8 @@ import com.ljsd.jieling.globals.BIReason;
|
|||
import com.ljsd.jieling.handler.BaseHandler;
|
||||
import com.ljsd.jieling.logic.dao.UserManager;
|
||||
import com.ljsd.jieling.logic.dao.root.User;
|
||||
import com.ljsd.jieling.logic.item.ItemLogic;
|
||||
import com.ljsd.jieling.util.ItemUtil;
|
||||
import config.SItem;
|
||||
import config.SPlayerHeadIcon;
|
||||
import manager.STableManager;
|
||||
import org.springframework.stereotype.Component;
|
||||
import rpc.protocols.MessageTypeProto;
|
||||
import rpc.protocols.PlayerInfoProto;
|
||||
|
|
|
@ -490,14 +490,16 @@ public class PlayerManager extends MongoBase {
|
|||
Long time = headFrameValidTime.getOrDefault(headFrame,0L);
|
||||
// 当前时间,秒
|
||||
long now = TimeUtils.now() / 1000;
|
||||
// 默认头像框id
|
||||
int headFrameId = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getDefaultPicture();
|
||||
// 头像框不为永久且时间到期
|
||||
if (time != 0 && now > time){
|
||||
// 赋值默认
|
||||
if (time != 0 && now >= time){
|
||||
// 删除过期头像
|
||||
removeHeadFrameValidTime(headFrame);
|
||||
|
||||
// 默认头像框id
|
||||
int headFrameId = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getDefaultPicture();
|
||||
// 赋值默认头像
|
||||
setHeadFrame(headFrameId);
|
||||
// 删除
|
||||
removeHeadFrameValidTime(headFrameId);
|
||||
|
||||
return headFrameId;
|
||||
}
|
||||
return headFrame;
|
||||
|
|
|
@ -88,11 +88,23 @@ public class CBean2Proto {
|
|||
List<CommonProto.HeadFrameList> headFrameLists = new ArrayList<>();
|
||||
// 获取玩家已使用头像框列表
|
||||
Map<Integer, Long> validTime = user.getPlayerInfoManager().getHeadFrameValidTime();
|
||||
validTime.forEach((k,v)->{
|
||||
CommonProto.HeadFrameList.Builder build = CommonProto.HeadFrameList.newBuilder();
|
||||
build.setHeadFrameId(k).setValidTime(v.intValue());
|
||||
headFrameLists.add(build.build());
|
||||
});
|
||||
|
||||
long now = TimeUtils.now() / 1000;
|
||||
|
||||
Iterator<Map.Entry<Integer, Long>> it = validTime.entrySet().iterator();
|
||||
while (it.hasNext()){
|
||||
Map.Entry<Integer, Long> next = it.next();
|
||||
// 过期的删除,其他返回给客户端
|
||||
if (next.getValue() != 0 && now >= next.getValue()){
|
||||
it.remove();
|
||||
}else {
|
||||
CommonProto.HeadFrameList.Builder build = CommonProto.HeadFrameList.newBuilder();
|
||||
build.setHeadFrameId(next.getKey()).setValidTime(next.getValue().intValue());
|
||||
headFrameLists.add(build.build());
|
||||
}
|
||||
}
|
||||
// 数据库更新
|
||||
user.getPlayerInfoManager().setHeadFrameValidTime(validTime);
|
||||
return headFrameLists;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue