限时头像框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.handler.BaseHandler;
|
||||||
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.item.ItemLogic;
|
|
||||||
import com.ljsd.jieling.util.ItemUtil;
|
import com.ljsd.jieling.util.ItemUtil;
|
||||||
import config.SItem;
|
|
||||||
import config.SPlayerHeadIcon;
|
import config.SPlayerHeadIcon;
|
||||||
import manager.STableManager;
|
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
import rpc.protocols.MessageTypeProto;
|
import rpc.protocols.MessageTypeProto;
|
||||||
import rpc.protocols.PlayerInfoProto;
|
import rpc.protocols.PlayerInfoProto;
|
||||||
|
|
|
@ -490,14 +490,16 @@ public class PlayerManager extends MongoBase {
|
||||||
Long time = headFrameValidTime.getOrDefault(headFrame,0L);
|
Long time = headFrameValidTime.getOrDefault(headFrame,0L);
|
||||||
// 当前时间,秒
|
// 当前时间,秒
|
||||||
long now = TimeUtils.now() / 1000;
|
long now = TimeUtils.now() / 1000;
|
||||||
|
// 头像框不为永久且时间到期
|
||||||
|
if (time != 0 && now >= time){
|
||||||
|
// 删除过期头像
|
||||||
|
removeHeadFrameValidTime(headFrame);
|
||||||
|
|
||||||
// 默认头像框id
|
// 默认头像框id
|
||||||
int headFrameId = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getDefaultPicture();
|
int headFrameId = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getDefaultPicture();
|
||||||
// 头像框不为永久且时间到期
|
// 赋值默认头像
|
||||||
if (time != 0 && now > time){
|
|
||||||
// 赋值默认
|
|
||||||
setHeadFrame(headFrameId);
|
setHeadFrame(headFrameId);
|
||||||
// 删除
|
|
||||||
removeHeadFrameValidTime(headFrameId);
|
|
||||||
return headFrameId;
|
return headFrameId;
|
||||||
}
|
}
|
||||||
return headFrame;
|
return headFrame;
|
||||||
|
|
|
@ -88,11 +88,23 @@ public class CBean2Proto {
|
||||||
List<CommonProto.HeadFrameList> headFrameLists = new ArrayList<>();
|
List<CommonProto.HeadFrameList> headFrameLists = new ArrayList<>();
|
||||||
// 获取玩家已使用头像框列表
|
// 获取玩家已使用头像框列表
|
||||||
Map<Integer, Long> validTime = user.getPlayerInfoManager().getHeadFrameValidTime();
|
Map<Integer, Long> validTime = user.getPlayerInfoManager().getHeadFrameValidTime();
|
||||||
validTime.forEach((k,v)->{
|
|
||||||
|
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();
|
CommonProto.HeadFrameList.Builder build = CommonProto.HeadFrameList.newBuilder();
|
||||||
build.setHeadFrameId(k).setValidTime(v.intValue());
|
build.setHeadFrameId(next.getKey()).setValidTime(next.getValue().intValue());
|
||||||
headFrameLists.add(build.build());
|
headFrameLists.add(build.build());
|
||||||
});
|
}
|
||||||
|
}
|
||||||
|
// 数据库更新
|
||||||
|
user.getPlayerInfoManager().setHeadFrameValidTime(validTime);
|
||||||
return headFrameLists;
|
return headFrameLists;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue