需求:gm可查询最早晋升神尊11、12级得三人
parent
ddf90096dc
commit
2aa1651e99
|
@ -381,6 +381,8 @@ public class RedisKey {
|
||||||
|
|
||||||
public static final String GM_ACTIVITY_INFO = "GM_ACTIVITY_INFO";//GM活动信息
|
public static final String GM_ACTIVITY_INFO = "GM_ACTIVITY_INFO";//GM活动信息
|
||||||
|
|
||||||
|
public static final String GOD_LEVEL_UP_TIME = "GOD_LEVEL_UP_TIME";//晋升神尊等级排序
|
||||||
|
|
||||||
public static Set<String> familyKey = new HashSet<>();
|
public static Set<String> familyKey = new HashSet<>();
|
||||||
/**
|
/**
|
||||||
* 四灵试炼,0:首次通关,1:最低战力
|
* 四灵试炼,0:首次通关,1:最低战力
|
||||||
|
|
|
@ -3,11 +3,11 @@ package com.ljsd.jieling.handler;
|
||||||
import com.ljsd.jieling.logic.mail.MailLogic;
|
import com.ljsd.jieling.logic.mail.MailLogic;
|
||||||
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
import com.ljsd.jieling.netty.cocdex.PacketNetData;
|
||||||
import com.ljsd.jieling.network.session.ISession;
|
import com.ljsd.jieling.network.session.ISession;
|
||||||
import rpc.protocols.MessageTypeProto;
|
|
||||||
import rpc.protocols.PlayerInfoProto;
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
import rpc.protocols.MessageTypeProto;
|
||||||
|
import rpc.protocols.PlayerInfoProto;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
@ -28,6 +28,5 @@ public class TakeMailHandler extends BaseHandler {
|
||||||
PlayerInfoProto.TakeMailRequest takeMailRequest = PlayerInfoProto.TakeMailRequest.parseFrom(message);
|
PlayerInfoProto.TakeMailRequest takeMailRequest = PlayerInfoProto.TakeMailRequest.parseFrom(message);
|
||||||
List<String> mailIdsList = takeMailRequest.getMailIdsList();
|
List<String> mailIdsList = takeMailRequest.getMailIdsList();
|
||||||
MailLogic.getInstance().takeMail(iSession,mailIdsList, userId);
|
MailLogic.getInstance().takeMail(iSession,mailIdsList, userId);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,84 @@
|
||||||
|
package com.ljsd.jieling.jbean.gm;
|
||||||
|
|
||||||
|
import com.ljsd.GameApplication;
|
||||||
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||||
|
import util.TimeUtils;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Author hj
|
||||||
|
* @Date 2022/12/8 16:00:38
|
||||||
|
* @Description:
|
||||||
|
* @Version 1.0
|
||||||
|
*/
|
||||||
|
public class UserGodLvVo {
|
||||||
|
//角色id
|
||||||
|
private int uid;
|
||||||
|
//角色名称
|
||||||
|
private String name;
|
||||||
|
//区服id
|
||||||
|
private String serverId;
|
||||||
|
//创角时间
|
||||||
|
private String createTime;
|
||||||
|
//神尊等级
|
||||||
|
private int godLv;
|
||||||
|
//神尊等级到达时间
|
||||||
|
private String upTime;
|
||||||
|
|
||||||
|
public UserGodLvVo(User user) {
|
||||||
|
this.uid = user.getId();
|
||||||
|
this.name = user.getPlayerInfoManager().getNickName();
|
||||||
|
this.serverId = String.valueOf(GameApplication.serverId);
|
||||||
|
this.createTime = TimeUtils.getTimeStamp2(user.getPlayerInfoManager().getCreateTime());
|
||||||
|
this.godLv = PlayerLogic.getInstance().getGodPrivilegeLv(user);
|
||||||
|
this.upTime = TimeUtils.getTimeStamp2(TimeUtils.now());
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getUid() {
|
||||||
|
return uid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUid(int uid) {
|
||||||
|
this.uid = uid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getName() {
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setName(String name) {
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getServerId() {
|
||||||
|
return serverId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setServerId(String serverId) {
|
||||||
|
this.serverId = serverId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getCreateTime() {
|
||||||
|
return createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreateTime(String createTime) {
|
||||||
|
this.createTime = createTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getGodLv() {
|
||||||
|
return godLv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGodLv(int godLv) {
|
||||||
|
this.godLv = godLv;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUpTime() {
|
||||||
|
return upTime;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUpTime(String upTime) {
|
||||||
|
this.upTime = upTime;
|
||||||
|
}
|
||||||
|
}
|
|
@ -304,6 +304,7 @@ public class GlobalDataManaager implements IManager {
|
||||||
new SummonTreasureHandler();
|
new SummonTreasureHandler();
|
||||||
new ArchitectureUnLockHandler();
|
new ArchitectureUnLockHandler();
|
||||||
new SaveHeroForceEventHandler();
|
new SaveHeroForceEventHandler();
|
||||||
|
new AddItemHandler();
|
||||||
new GmActivityLogic();
|
new GmActivityLogic();
|
||||||
ChampionshipLogic.minuteCheck(true);
|
ChampionshipLogic.minuteCheck(true);
|
||||||
GuildFightLogic.minuteCheckForCarFight();
|
GuildFightLogic.minuteCheckForCarFight();
|
||||||
|
|
|
@ -4,20 +4,20 @@ import java.util.Map;
|
||||||
|
|
||||||
public class AddItemEvent implements IEvent {
|
public class AddItemEvent implements IEvent {
|
||||||
|
|
||||||
private int useId;
|
private int userId;
|
||||||
Map<Integer, Integer> useItemMap;
|
Map<Integer, Long> useItemMap;
|
||||||
|
|
||||||
public AddItemEvent(int useId, Map<Integer, Integer> useItemMap) {
|
public AddItemEvent(int userId, Map<Integer, Long> useItemMap) {
|
||||||
this.useId = useId;
|
this.userId = userId;
|
||||||
this.useItemMap = useItemMap;
|
this.useItemMap = useItemMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Map<Integer, Integer> getUseItemMap() {
|
public Map<Integer, Long> getUseItemMap() {
|
||||||
return useItemMap;
|
return useItemMap;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getUseId() {
|
public int getUserId() {
|
||||||
return useId;
|
return userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,45 @@
|
||||||
|
package com.ljsd.jieling.logic.activity.eventhandler;
|
||||||
|
|
||||||
|
import com.ljsd.GameApplication;
|
||||||
|
import com.ljsd.jieling.db.redis.RedisKey;
|
||||||
|
import com.ljsd.jieling.db.redis.RedisUtil;
|
||||||
|
import com.ljsd.jieling.jbean.gm.UserGodLvVo;
|
||||||
|
import com.ljsd.jieling.logic.activity.IEventHandler;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.AddItemEvent;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.IEvent;
|
||||||
|
import com.ljsd.jieling.logic.activity.event.Poster;
|
||||||
|
import com.ljsd.jieling.logic.dao.UserManager;
|
||||||
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
import com.ljsd.jieling.logic.player.PlayerLogic;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lvxinran
|
||||||
|
* @date 2020/1/7
|
||||||
|
* @discribe
|
||||||
|
*/
|
||||||
|
public class AddItemHandler implements IEventHandler{
|
||||||
|
public AddItemHandler() {
|
||||||
|
Poster.getPoster().listenEvent(this, AddItemEvent.class);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onEvent(IEvent event) throws Exception {
|
||||||
|
if (!(event instanceof AddItemEvent)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
AddItemEvent itemEvent = (AddItemEvent) event;
|
||||||
|
User user = UserManager.getUser(itemEvent.getUserId());
|
||||||
|
// 包含神尊经验道具,itemId:1352
|
||||||
|
if (itemEvent.getUseItemMap().containsKey(1352)){
|
||||||
|
int lv = PlayerLogic.getInstance().getGodPrivilegeLv(user);
|
||||||
|
String key = RedisKey.GOD_LEVEL_UP_TIME + ":" + GameApplication.serverId + ":" + lv;
|
||||||
|
String uid = String.valueOf(user.getId());
|
||||||
|
UserGodLvVo userGodLvVo = RedisUtil.getInstence().getMapValue(key, uid, UserGodLvVo.class);
|
||||||
|
if (userGodLvVo == null){
|
||||||
|
userGodLvVo = new UserGodLvVo(user);
|
||||||
|
RedisUtil.getInstence().putMapEntry(key, uid, userGodLvVo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -712,144 +712,7 @@ public class ItemUtil {
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public static void addItem(User user, Map<Integer, Long> itemMap,CommonProto.Drop.Builder dropBuilder,int reason) throws Exception {
|
public static void addItem(User user, Map<Integer, Long> itemMap,CommonProto.Drop.Builder dropBuilder,int reason) throws Exception {
|
||||||
if (itemMap.isEmpty()) {
|
addItemByMail(user,itemMap,dropBuilder,reason);
|
||||||
return;
|
|
||||||
}
|
|
||||||
EquipManager equipManager=user.getEquipManager();
|
|
||||||
List<CommonProto.Item> itemProtoList = new CopyOnWriteArrayList<>();
|
|
||||||
ItemManager itemManager = user.getItemManager();
|
|
||||||
List<CommonProto.Item> sendToFront = new CopyOnWriteArrayList<>();
|
|
||||||
//超过上限不能直接获得
|
|
||||||
Map<Integer,Integer> extraItem = new HashMap<>(itemMap.size());
|
|
||||||
List<Integer>changeEquipList=null;
|
|
||||||
for (Map.Entry<Integer, Long> entry : itemMap.entrySet()) {
|
|
||||||
SItem sItem = SItem.getsItemMap().get (entry.getKey());
|
|
||||||
if (sItem.getItemBaseType()==6){
|
|
||||||
equipManager.addEquipList(entry.getKey());
|
|
||||||
}
|
|
||||||
if (sItem.getItemType()==3 && reason != BIReason.EQUIP_UNLOAD_REWARD
|
|
||||||
&& reason != BIReason.UPHERO_DECOMPOS_HERO_REWARD && reason != BIReason.DECOMPOS_HERO_REWARD){
|
|
||||||
if (changeEquipList==null) {
|
|
||||||
changeEquipList=new ArrayList<>();
|
|
||||||
}
|
|
||||||
itemManager.setEquipBookMap(entry.getKey(),entry.getValue());
|
|
||||||
changeEquipList.add(entry.getKey());
|
|
||||||
}
|
|
||||||
long itemNumlimit = sItem.getItemNumlimit();
|
|
||||||
long itemNum = entry.getValue().intValue();
|
|
||||||
if(itemNum <= 0){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (itemNum >= itemNumlimit){
|
|
||||||
itemNum = itemNumlimit;
|
|
||||||
}
|
|
||||||
Item item = itemManager.getItem(entry.getKey());
|
|
||||||
if (item == null) {
|
|
||||||
item = itemManager.newItem(entry.getKey(), itemNum);
|
|
||||||
} else {
|
|
||||||
if(sItem.getId()==Global.MISSING_ROOM_ITEM&&reason==BIReason.ADVENTURE_BASE_REWARD){
|
|
||||||
itemNumlimit = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(user.getPlayerInfoManager().getLevel()).getMazeTreasureMax();
|
|
||||||
}
|
|
||||||
//数量超过了
|
|
||||||
if(item.getItemNum()> itemNumlimit){
|
|
||||||
|
|
||||||
//如果是寻龙玉,直接返回不给
|
|
||||||
if(sItem.getId()==Global.MISSING_ROOM_ITEM&&reason==BIReason.ADVENTURE_BASE_REWARD){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if(reason==BIReason.TAKE_MAIL_REWARD){
|
|
||||||
throw new ErrorCodeException(ErrorCode.BAG_FULL);
|
|
||||||
}else{
|
|
||||||
extraItem.put(entry.getKey(), (int) (extraItem.getOrDefault(entry.getKey(),0)+entry.getValue()));
|
|
||||||
}
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
if (item.getItemNum() + entry.getValue() > itemNumlimit){
|
|
||||||
if(sItem.getId()==Global.MISSING_ROOM_ITEM&&reason==BIReason.ADVENTURE_BASE_REWARD){
|
|
||||||
item.setItemNum((int) (item.getItemNum() + entry.getValue()));
|
|
||||||
}else{
|
|
||||||
if(reason==BIReason.TAKE_MAIL_REWARD){
|
|
||||||
throw new ErrorCodeException(ErrorCode.BAG_FULL);
|
|
||||||
}else{
|
|
||||||
extraItem.put(entry.getKey(), (int) (extraItem.getOrDefault(entry.getKey(),0)+entry.getValue()));
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}else{
|
|
||||||
item.setItemNum(item.getItemNum() + entry.getValue());
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(itemNum>=0){
|
|
||||||
itemProtoList.add(CBean2Proto.getItem(item,itemNum));
|
|
||||||
}
|
|
||||||
|
|
||||||
// 触发任务,东海寻仙
|
|
||||||
if (sItem.getItemType() == GlobalItemType.TRANSFORMATION_CARD){
|
|
||||||
long count = itemNum;
|
|
||||||
while (count >= Integer.MAX_VALUE){
|
|
||||||
user.getUserMissionManager().onGameEvent(user, GameEvent.DONGHAIXUNXIAN_UPDATE,MissionType.GET_TRANSFIGURATION_CARD_NUM,sItem.getQuantity(),Integer.MAX_VALUE);
|
|
||||||
count-=Integer.MAX_VALUE;
|
|
||||||
}
|
|
||||||
user.getUserMissionManager().onGameEvent(user, GameEvent.DONGHAIXUNXIAN_UPDATE,MissionType.GET_TRANSFIGURATION_CARD_NUM,sItem.getQuantity(),(int)count);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ReportUtil.onReportEvent(user,ReportEventEnum.GET_ITEM.getType(),itemNum,String.valueOf(reason),item.getItemId());
|
|
||||||
int eventType = ParamEventBean.UserItemEvent;
|
|
||||||
if(currencyMap.contains(entry.getKey())){
|
|
||||||
eventType = ParamEventBean.UserCurrencyEvent;
|
|
||||||
}
|
|
||||||
KtEventUtils.onKtEvent(user, eventType,reason,GlobalsDef.addReason,entry.getKey(),itemNum,item.getItemNum());
|
|
||||||
|
|
||||||
baseItemReport(user,item.getItemId(),(int)itemNum,1,reason);
|
|
||||||
|
|
||||||
if(sItem.getId() == Global.EXP){
|
|
||||||
userLevelUp(user,itemNum);
|
|
||||||
}
|
|
||||||
if(sItem.getId() == Global.TREASURE_SCORE){
|
|
||||||
treasureLevelUp(user);
|
|
||||||
}
|
|
||||||
extraDropAop(user,dropBuilder,sItem);
|
|
||||||
sendToFront.add(CBean2Proto.getItem(item,-1));
|
|
||||||
if(sItem.getItemType()==GlobalItemType.EQUIP){
|
|
||||||
if(reason!=BIReason.EQUIP_UNLOAD_REWARD&&reason!=BIReason.DECOMPOS_HERO_REWARD&&reason!=BIReason.UPHERO_DECOMPOS_HERO_REWARD){
|
|
||||||
user.getUserMissionManager().onGameEvent(user,GameEvent.GET_EQUIP,sItem.getId(),(int)itemNum);
|
|
||||||
ReportUtil.onReportEvent(user,ReportEventEnum.GET_EQUIP.getType(),sItem.getId(),(int)itemNum,reason);
|
|
||||||
}
|
|
||||||
} else if (sItem.getItemType() == GlobalItemType.SOUL_MARK) {
|
|
||||||
user.getUserMissionManager().onGameEvent(user, GameEvent.GOT_SOUL_MARK, sItem.getId(), (int)itemNum);
|
|
||||||
}
|
|
||||||
if(sItem.getId()==Global.DAILY_TASK_REMOVE_ITEM){
|
|
||||||
user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_TASK_TYPE,(int)itemNum,user);
|
|
||||||
}
|
|
||||||
//日志记录
|
|
||||||
ItemLogic.getInstance().addItemLog(new ItemLog(user,0,reason,item,itemNum));
|
|
||||||
}
|
|
||||||
//发送装备图鉴修改推送
|
|
||||||
SendEquipBookIndication(user.getId(),itemManager,changeEquipList);
|
|
||||||
|
|
||||||
for(Map.Entry<Integer,Integer> entry:extraItem.entrySet()){
|
|
||||||
itemProtoList.add(CBean2Proto.getItem(itemManager.getItemMap().get(entry.getKey()),entry.getValue()));
|
|
||||||
}
|
|
||||||
if (dropBuilder != null) {
|
|
||||||
dropBuilder.addAllItemlist(itemProtoList);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!sendToFront.isEmpty()||extraItem.size()>0){
|
|
||||||
MessageUtil.sendBagIndication(user.getId(),0,sendToFront,extraItem.size()>0);
|
|
||||||
}
|
|
||||||
if(extraItem.size()>0){
|
|
||||||
StringBuilder builder = new StringBuilder();
|
|
||||||
for(Map.Entry<Integer,Integer> entry:extraItem.entrySet()){
|
|
||||||
builder.append(entry.getKey()).append("#").append(entry.getValue());
|
|
||||||
String title = SErrorCodeEerverConfig.getI18NMessage("item_max_mail_title");
|
|
||||||
SItem item = SItem.getsItemMap().get(entry.getKey());
|
|
||||||
String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("item_max_mail_content",new String[]{item.getName(),String.valueOf(item.getItemNumlimit())},new int[]{1,0},"#");
|
|
||||||
MailLogic.getInstance().sendMail(user.getId(),title,content,builder.toString(),TimeUtils.nowInt(),Global.MAIL_EFFECTIVE_TIME);
|
|
||||||
builder = new StringBuilder();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -870,18 +733,17 @@ public class ItemUtil {
|
||||||
Map<Integer,Integer> extraItem = new HashMap<>(itemMap.size());
|
Map<Integer,Integer> extraItem = new HashMap<>(itemMap.size());
|
||||||
List<Integer>changeEquipList=null;
|
List<Integer>changeEquipList=null;
|
||||||
for (Map.Entry<Integer, Long> entry : itemMap.entrySet()) {
|
for (Map.Entry<Integer, Long> entry : itemMap.entrySet()) {
|
||||||
SItem sItem = SItem.getsItemMap().get(entry.getKey());
|
SItem sItem = SItem.getsItemMap().get (entry.getKey());
|
||||||
if (sItem.getItemBaseType()==6){
|
if (sItem.getItemBaseType()==6){
|
||||||
equipManager.addEquipList(entry.getKey());
|
equipManager.addEquipList(entry.getKey());
|
||||||
}
|
}
|
||||||
if (sItem.getItemType()==3){
|
if (sItem.getItemType()==3 && reason != BIReason.EQUIP_UNLOAD_REWARD && reason != BIReason.UPHERO_DECOMPOS_HERO_REWARD && reason != BIReason.DECOMPOS_HERO_REWARD){
|
||||||
if (changeEquipList==null) {
|
if (changeEquipList==null) {
|
||||||
changeEquipList=new ArrayList<>();
|
changeEquipList=new ArrayList<>();
|
||||||
}
|
}
|
||||||
itemManager.setEquipBookMap(entry.getKey(),entry.getValue());
|
itemManager.setEquipBookMap(entry.getKey(),entry.getValue());
|
||||||
changeEquipList.add(entry.getKey());
|
changeEquipList.add(entry.getKey());
|
||||||
}
|
}
|
||||||
|
|
||||||
long itemNumlimit = sItem.getItemNumlimit();
|
long itemNumlimit = sItem.getItemNumlimit();
|
||||||
long itemNum = entry.getValue().intValue();
|
long itemNum = entry.getValue().intValue();
|
||||||
if(itemNum <= 0){
|
if(itemNum <= 0){
|
||||||
|
@ -931,8 +793,21 @@ public class ItemUtil {
|
||||||
itemProtoList.add(CBean2Proto.getItem(item,itemNum));
|
itemProtoList.add(CBean2Proto.getItem(item,itemNum));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 触发任务,东海寻仙
|
||||||
|
if (sItem.getItemType() == GlobalItemType.TRANSFORMATION_CARD){
|
||||||
|
long count = itemNum;
|
||||||
|
while (count >= Integer.MAX_VALUE){
|
||||||
|
user.getUserMissionManager().onGameEvent(user, GameEvent.DONGHAIXUNXIAN_UPDATE,MissionType.GET_TRANSFIGURATION_CARD_NUM,sItem.getQuantity(),Integer.MAX_VALUE);
|
||||||
|
count-=Integer.MAX_VALUE;
|
||||||
|
}
|
||||||
|
user.getUserMissionManager().onGameEvent(user, GameEvent.DONGHAIXUNXIAN_UPDATE,MissionType.GET_TRANSFIGURATION_CARD_NUM,sItem.getQuantity(),(int)count);
|
||||||
|
}
|
||||||
|
|
||||||
ReportUtil.onReportEvent(user,ReportEventEnum.GET_ITEM.getType(),itemNum,String.valueOf(reason),item.getItemId());
|
int eventType = ParamEventBean.UserItemEvent;
|
||||||
|
if(currencyMap.contains(entry.getKey())){
|
||||||
|
eventType = ParamEventBean.UserCurrencyEvent;
|
||||||
|
}
|
||||||
|
KtEventUtils.onKtEvent(user, eventType,reason,GlobalsDef.addReason,entry.getKey(),itemNum,item.getItemNum());
|
||||||
|
|
||||||
baseItemReport(user,item.getItemId(),(int)itemNum,1,reason);
|
baseItemReport(user,item.getItemId(),(int)itemNum,1,reason);
|
||||||
|
|
||||||
|
@ -947,18 +822,18 @@ public class ItemUtil {
|
||||||
if(sItem.getItemType()==GlobalItemType.EQUIP){
|
if(sItem.getItemType()==GlobalItemType.EQUIP){
|
||||||
if(reason!=BIReason.EQUIP_UNLOAD_REWARD&&reason!=BIReason.DECOMPOS_HERO_REWARD&&reason!=BIReason.UPHERO_DECOMPOS_HERO_REWARD){
|
if(reason!=BIReason.EQUIP_UNLOAD_REWARD&&reason!=BIReason.DECOMPOS_HERO_REWARD&&reason!=BIReason.UPHERO_DECOMPOS_HERO_REWARD){
|
||||||
user.getUserMissionManager().onGameEvent(user,GameEvent.GET_EQUIP,sItem.getId(),(int)itemNum);
|
user.getUserMissionManager().onGameEvent(user,GameEvent.GET_EQUIP,sItem.getId(),(int)itemNum);
|
||||||
ReportUtil.onReportEvent(user,ReportEventEnum.GET_EQUIP.getType(),sItem.getId(),itemNum,reason);
|
ReportUtil.onReportEvent(user,ReportEventEnum.GET_EQUIP.getType(),sItem.getId(),(int)itemNum,reason);
|
||||||
}
|
}
|
||||||
} else if (sItem.getItemType() == GlobalItemType.SOUL_MARK) {
|
}
|
||||||
user.getUserMissionManager().onGameEvent(user, GameEvent.GOT_SOUL_MARK, sItem.getId(), itemNum);
|
if (sItem.getItemType() == GlobalItemType.SOUL_MARK) {
|
||||||
|
user.getUserMissionManager().onGameEvent(user, GameEvent.GOT_SOUL_MARK, sItem.getId(), (int)itemNum);
|
||||||
}
|
}
|
||||||
if(sItem.getId()==Global.DAILY_TASK_REMOVE_ITEM){
|
if(sItem.getId()==Global.DAILY_TASK_REMOVE_ITEM){
|
||||||
user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_TASK_TYPE,itemNum,user);
|
user.getUserMissionManager().onGameEvent(user,GameEvent.DAILY_TASK_TYPE,(int)itemNum,user);
|
||||||
}
|
}
|
||||||
//日志记录
|
//日志记录
|
||||||
ItemLogic.getInstance().addItemLog(new ItemLog(user,0,reason,item,itemNum));
|
ItemLogic.getInstance().addItemLog(new ItemLog(user,0,reason,item,itemNum));
|
||||||
}
|
}
|
||||||
|
|
||||||
//发送装备图鉴修改推送
|
//发送装备图鉴修改推送
|
||||||
SendEquipBookIndication(user.getId(),itemManager,changeEquipList);
|
SendEquipBookIndication(user.getId(),itemManager,changeEquipList);
|
||||||
|
|
||||||
|
@ -968,6 +843,7 @@ public class ItemUtil {
|
||||||
if (dropBuilder != null) {
|
if (dropBuilder != null) {
|
||||||
dropBuilder.addAllItemlist(itemProtoList);
|
dropBuilder.addAllItemlist(itemProtoList);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!sendToFront.isEmpty()||extraItem.size()>0){
|
if(!sendToFront.isEmpty()||extraItem.size()>0){
|
||||||
MessageUtil.sendBagIndication(user.getId(),0,sendToFront,extraItem.size()>0);
|
MessageUtil.sendBagIndication(user.getId(),0,sendToFront,extraItem.size()>0);
|
||||||
}
|
}
|
||||||
|
@ -977,15 +853,21 @@ public class ItemUtil {
|
||||||
builder.append(entry.getKey()).append("#").append(entry.getValue());
|
builder.append(entry.getKey()).append("#").append(entry.getValue());
|
||||||
String title = SErrorCodeEerverConfig.getI18NMessage("item_max_mail_title");
|
String title = SErrorCodeEerverConfig.getI18NMessage("item_max_mail_title");
|
||||||
SItem item = SItem.getsItemMap().get(entry.getKey());
|
SItem item = SItem.getsItemMap().get(entry.getKey());
|
||||||
String content = SErrorCodeEerverConfig.getI18NMessage("item_max_mail_content",new String[]{item.getName(),String.valueOf(item.getItemNumlimit())});
|
String content = SErrorCodeEerverConfig.getI18NMessageNeedConvert("item_max_mail_content",new String[]{item.getName(),String.valueOf(item.getItemNumlimit())},new int[]{1,0},"#");
|
||||||
MailLogic.getInstance().sendMail(user.getId(),title,content,builder.toString(),TimeUtils.nowInt(),Global.MAIL_EFFECTIVE_TIME);
|
MailLogic.getInstance().sendMail(user.getId(),title,content,builder.toString(),TimeUtils.nowInt(),Global.MAIL_EFFECTIVE_TIME);
|
||||||
builder = new StringBuilder();
|
builder = new StringBuilder();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Poster.getPoster().dispatchEvent(new AddItemEvent(user.getId(),itemMap));
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
///发送装备图鉴修改推送
|
|
||||||
|
/**
|
||||||
|
* 发送装备图鉴修改推送
|
||||||
|
* @param _uid
|
||||||
|
* @param _itemManage
|
||||||
|
* @param _equipList
|
||||||
|
*/
|
||||||
private static void SendEquipBookIndication(int _uid,ItemManager _itemManage, List<Integer>_equipList){
|
private static void SendEquipBookIndication(int _uid,ItemManager _itemManage, List<Integer>_equipList){
|
||||||
if (_equipList==null||_equipList.isEmpty())return;
|
if (_equipList==null||_equipList.isEmpty())return;
|
||||||
List<CommonProto.EquipBookInfo>equipList=new ArrayList<>();
|
List<CommonProto.EquipBookInfo>equipList=new ArrayList<>();
|
||||||
|
|
Loading…
Reference in New Issue