Merge branch 'master' into master_test
commit
2e3dcc5aa0
|
@ -0,0 +1,80 @@
|
||||||
|
package com.ljsd.jieling.chat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @author lvxinran
|
||||||
|
* @date 2020/7/22
|
||||||
|
* @discribe
|
||||||
|
*/
|
||||||
|
public class ChatRedisEntity {
|
||||||
|
|
||||||
|
private int uid;
|
||||||
|
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
private int type;
|
||||||
|
|
||||||
|
private String message;
|
||||||
|
|
||||||
|
private Long time;
|
||||||
|
|
||||||
|
private int status;
|
||||||
|
|
||||||
|
public ChatRedisEntity(){};
|
||||||
|
|
||||||
|
public ChatRedisEntity(int uid, String name, int type, String message, Long time, int status) {
|
||||||
|
this.uid = uid;
|
||||||
|
this.name = name;
|
||||||
|
this.type = type;
|
||||||
|
this.message = message;
|
||||||
|
this.time = time;
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
|
||||||
|
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 int getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setType(int type) {
|
||||||
|
this.type = type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMessage() {
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMessage(String message) {
|
||||||
|
this.message = message;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Long getTime() {
|
||||||
|
return time;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTime(Long time) {
|
||||||
|
this.time = time;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getStatus() {
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setStatus(int status) {
|
||||||
|
this.status = status;
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,9 @@
|
||||||
package com.ljsd.jieling.chat.logic;
|
package com.ljsd.jieling.chat.logic;
|
||||||
|
|
||||||
|
|
||||||
|
import com.google.gson.Gson;
|
||||||
import com.ljsd.GameApplication;
|
import com.ljsd.GameApplication;
|
||||||
|
import com.ljsd.jieling.chat.ChatRedisEntity;
|
||||||
import com.ljsd.jieling.chat.messge.MessageCache;
|
import com.ljsd.jieling.chat.messge.MessageCache;
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType;
|
import com.ljsd.jieling.dataReport.reportBeans_37.ChatContentType;
|
||||||
|
@ -27,6 +29,7 @@ import com.ljsd.jieling.util.CBean2Proto;
|
||||||
import com.ljsd.jieling.util.MessageUtil;
|
import com.ljsd.jieling.util.MessageUtil;
|
||||||
import com.ljsd.jieling.util.SensitivewordFilter;
|
import com.ljsd.jieling.util.SensitivewordFilter;
|
||||||
import com.ljsd.jieling.util.ShieldedWordUtils;
|
import com.ljsd.jieling.util.ShieldedWordUtils;
|
||||||
|
import util.TimeUtils;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -42,6 +45,8 @@ public class ChatLogic {
|
||||||
return ChatLogic.Instance.instance;
|
return ChatLogic.Instance.instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private Gson gson = new Gson();
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取聊天信息
|
* 获取聊天信息
|
||||||
|
@ -196,10 +201,24 @@ public class ChatLogic {
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
onSendChatSuccess(user,chatType,message);
|
||||||
ReportUtil.onReportEvent(user, ReportEventEnum.SEND_MESSAGE.getType(),String.valueOf(chatType),message);
|
ReportUtil.onReportEvent(user, ReportEventEnum.SEND_MESSAGE.getType(),String.valueOf(chatType),message);
|
||||||
MessageUtil.sendMessage(iSession, 1, msgId, null, true);
|
MessageUtil.sendMessage(iSession, 1, msgId, null, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//记录聊天信息
|
||||||
|
private void onSendChatSuccess(User user,int chatType,String message){
|
||||||
|
RedisUtil redisUtil = RedisUtil.getInstence();
|
||||||
|
String key = RedisKey.getKey(RedisKey.CHAT_INFO_CACHE, String.valueOf(chatType), false);
|
||||||
|
ChatRedisEntity chatRedisEntity = new ChatRedisEntity(user.getId(), user.getPlayerInfoManager().getNickName(), chatType, message, TimeUtils.now(), user.getPlayerInfoManager().getSilence());
|
||||||
|
String chatInfo = gson.toJson(chatRedisEntity);
|
||||||
|
|
||||||
|
long l = redisUtil.lGetListSize(key);
|
||||||
|
if(l>1000){
|
||||||
|
redisUtil.lPop(key);
|
||||||
|
}
|
||||||
|
redisUtil.lSet(key,chatInfo);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 系统消息
|
* 系统消息
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.ljsd.jieling.config.clazzStaticCfg;
|
||||||
|
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
import config.SCHeroRankUpConfig;
|
import config.SCHeroRankUpConfig;
|
||||||
|
import config.SHeroSacrifice;
|
||||||
import config.SLotterySetting;
|
import config.SLotterySetting;
|
||||||
import manager.AbstractClassStaticConfig;
|
import manager.AbstractClassStaticConfig;
|
||||||
import manager.STableManager;
|
import manager.STableManager;
|
||||||
|
@ -19,6 +20,7 @@ public class HeroStaticConfig extends AbstractClassStaticConfig {
|
||||||
private Map<Integer, Map<Integer, Map<Integer, SCHeroRankUpConfig>>> scHeroRankUpConfigByShow;
|
private Map<Integer, Map<Integer, Map<Integer, SCHeroRankUpConfig>>> scHeroRankUpConfigByShow;
|
||||||
private Map<Integer, Map<Integer, Map<Integer, SCHeroRankUpConfig>>> scHeroRankUpConfigByType;
|
private Map<Integer, Map<Integer, Map<Integer, SCHeroRankUpConfig>>> scHeroRankUpConfigByType;
|
||||||
|
|
||||||
|
private Map<Integer,Map<Integer, SHeroSacrifice>> sHeroSacrificeMap;
|
||||||
private Set<Integer> randomHeroIds;
|
private Set<Integer> randomHeroIds;
|
||||||
private Map<Integer,Integer> randomPoolByType;
|
private Map<Integer,Integer> randomPoolByType;
|
||||||
|
|
||||||
|
@ -69,6 +71,12 @@ public class HeroStaticConfig extends AbstractClassStaticConfig {
|
||||||
}
|
}
|
||||||
scHeroRankUpConfigByShow = result;
|
scHeroRankUpConfigByShow = result;
|
||||||
scHeroRankUpConfigByType = calc;
|
scHeroRankUpConfigByType = calc;
|
||||||
|
Map<Integer,Map<Integer, SHeroSacrifice>> sHeroSacrificeMapTemp = new HashMap<>();
|
||||||
|
Map<Integer, SHeroSacrifice> sHeroSacrificeConfig = STableManager.getConfig(SHeroSacrifice.class);
|
||||||
|
for(SHeroSacrifice sacrificeconfig:sHeroSacrificeConfig.values()){
|
||||||
|
sHeroSacrificeMapTemp.computeIfAbsent(sacrificeconfig.getType(),n->new HashMap<>()).put(sacrificeconfig.getKey(),sacrificeconfig);
|
||||||
|
}
|
||||||
|
sHeroSacrificeMap = sHeroSacrificeMapTemp;
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOGGER.error("SCHeroRankUpConfig init fail");
|
LOGGER.error("SCHeroRankUpConfig init fail");
|
||||||
|
@ -98,6 +106,10 @@ public class HeroStaticConfig extends AbstractClassStaticConfig {
|
||||||
return scHeroRankUpConfigByType.get(type).get(heroInitStar);
|
return scHeroRankUpConfigByType.get(type).get(heroInitStar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public SHeroSacrifice getsHeroSacrificeMap(int type,int param) {
|
||||||
|
return sHeroSacrificeMap.get(type).get(param);
|
||||||
|
}
|
||||||
|
|
||||||
public Set<Integer> getRandomHeroIds() {
|
public Set<Integer> getRandomHeroIds() {
|
||||||
return randomHeroIds;
|
return randomHeroIds;
|
||||||
}
|
}
|
||||||
|
|
|
@ -266,6 +266,7 @@ public class RedisKey {
|
||||||
|
|
||||||
public final static String USER_LEVEL_GUILD_INFO = "USER_LEVEL_GUILD_INFO"; //车迟玩法挑战记录
|
public final static String USER_LEVEL_GUILD_INFO = "USER_LEVEL_GUILD_INFO"; //车迟玩法挑战记录
|
||||||
|
|
||||||
|
public static final String CHAT_INFO_CACHE = "CHAT_INFO_CACHE";//聊天信息缓存,gm后台使用
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -123,9 +123,9 @@ public class LoginRequestHandler extends BaseHandler<PlayerInfoProto.LoginReques
|
||||||
if(split.length>=2){
|
if(split.length>=2){
|
||||||
String openId = split[0];
|
String openId = split[0];
|
||||||
String chanel = split[1];
|
String chanel = split[1];
|
||||||
user = UserManager.userLogin(userId,openId,chanel,pid,gid);
|
user = UserManager.userLogin(userId,openId,chanel,pid,gid,loginRequest.getPlatformS(),loginRequest.getIpS());
|
||||||
}else{
|
}else{
|
||||||
user = UserManager.userLogin(userId,openIdFront,"",pid,gid);
|
user = UserManager.userLogin(userId,openIdFront,"",pid,gid,loginRequest.getPlatformS(),loginRequest.getIpS());
|
||||||
}
|
}
|
||||||
|
|
||||||
// String newToken = UserManager.getNewToken(userId);
|
// String newToken = UserManager.getNewToken(userId);
|
||||||
|
|
|
@ -14,9 +14,9 @@ public enum ReportEventEnum {
|
||||||
|
|
||||||
CREATE_ACCOUNT(1,"create_account", new CreateRoleEventHandler(),new String[]{""}),
|
CREATE_ACCOUNT(1,"create_account", new CreateRoleEventHandler(),new String[]{""}),
|
||||||
APP_LOGIN(2,"app_login", new LoginEventHandler(),new String[]{""}),
|
APP_LOGIN(2,"app_login", new LoginEventHandler(),new String[]{""}),
|
||||||
CREATE_ROLE(3,"create_role ", new CreateRoleEventHandler(),new String[]{"role_name"}),
|
CREATE_ROLE(3,"create_role", new CreateRoleEventHandler(),new String[]{"role_name"}),
|
||||||
GUILD(4,"guild", new CommonEventHandler(),new String[]{"step_id","step_name","rewards_list","guild_start_time"}),
|
GUILD(4,"guild", new CommonEventHandler(),new String[]{"step_id","step_name","rewards_list","guild_start_time"}),
|
||||||
LEVEL_UP(5,"level_up", new UserLevelUpEventHandler(),new String[]{"promotion_level","improved_level"}),
|
LEVEL_UP(5,"level_up", new UserLevelUpEventHandler(),new String[]{"level","promotion_level","improved_level"}),
|
||||||
MISSION_START(6,"mission_start", new CommonEventHandler(),new String[]{"mission_id","mission_name"}),
|
MISSION_START(6,"mission_start", new CommonEventHandler(),new String[]{"mission_id","mission_name"}),
|
||||||
MISSION_COMPLETE(7,"mission_complete", new CommonEventHandler(),new String[]{"mission_id","mission_name","reward_list","mission_start_time"}),
|
MISSION_COMPLETE(7,"mission_complete", new CommonEventHandler(),new String[]{"mission_id","mission_name","reward_list","mission_start_time"}),
|
||||||
JOIN_ACTIVITY(8,"join_activity", new CommonEventHandler(),new String[]{"activity_id","activity_name"}),
|
JOIN_ACTIVITY(8,"join_activity", new CommonEventHandler(),new String[]{"activity_id","activity_name"}),
|
||||||
|
@ -39,12 +39,14 @@ public enum ReportEventEnum {
|
||||||
JOIN_GUILD(25,"join_guild", new CommonEventHandler(),new String[]{"guild_id","guild_name","guild_level","guild_people_num","guild_fighting_capacity","guild_create_time"}),
|
JOIN_GUILD(25,"join_guild", new CommonEventHandler(),new String[]{"guild_id","guild_name","guild_level","guild_people_num","guild_fighting_capacity","guild_create_time"}),
|
||||||
QUIT_GUILD(26,"quit_guild", new CommonEventHandler(),new String[]{"guild_id","guild_name","guild_level","guild_people_num","guild_fighting_capacity","guild_create_time"}),
|
QUIT_GUILD(26,"quit_guild", new CommonEventHandler(),new String[]{"guild_id","guild_name","guild_level","guild_people_num","guild_fighting_capacity","guild_create_time"}),
|
||||||
CREATE_ORDER(27,"create_order", new CommonEventHandler(),new String[]{"order_id","order_money_amount","Bundle_id","entrance","item_id","item_name","goods_id","item_list"}),
|
CREATE_ORDER(27,"create_order", new CommonEventHandler(),new String[]{"order_id","order_money_amount","Bundle_id","entrance","item_id","item_name","goods_id","item_list"}),
|
||||||
ORDER_COMPLETE(28,"order_complete", new ChargeAmountEventHandler(),new String[]{"order_id","order_money_amount","Bundle_id","entrance","item_id","item_name","goods_id","item_list"}),
|
ORDER_COMPLETE(28,"order_complete", new ChargeAmountEventHandler(),new String[]{"order_id","order_money_amount","Bundle_id","channel_id","server_id","goods_id","goods_name","item_id","item_num"}),
|
||||||
CHECK_RANKING(29,"check_ranking", new CommonEventHandler(),new String[]{"ranking_type"}),
|
CHECK_RANKING(29,"check_ranking", new CommonEventHandler(),new String[]{"ranking_type"}),
|
||||||
ASK_FOR_BEING_FRIENDS(30,"ask_for_being_friends", new CommonEventHandler(),new String[]{"target_id","target_name","target_level","entrance"}),
|
ASK_FOR_BEING_FRIENDS(30,"ask_for_being_friends", new CommonEventHandler(),new String[]{"target_id","target_name","target_level","entrance"}),
|
||||||
ALLOW_FRIENDS_ASK(31,"allow_friends_ask", new CommonEventHandler(),new String[]{"target_id","target_name","target_level","entrance"}),
|
ALLOW_FRIENDS_ASK(31,"allow_friends_ask", new CommonEventHandler(),new String[]{"target_id","target_name","target_level","entrance"}),
|
||||||
SEND_MESSAGE(32,"send_message", new CommonEventHandler(),new String[]{"message_type","message_content"}),
|
SEND_MESSAGE(32,"send_message", new CommonEventHandler(),new String[]{"message_type","message_content"}),
|
||||||
OPEN_MAIL(33,"open_mail", new CommonEventHandler(),new String[]{""}),
|
OPEN_MAIL(33,"open_mail", new CommonEventHandler(),new String[]{""}),
|
||||||
|
GUIDE(34,"guide", new CommonEventHandler(),new String[]{"step_id"}),
|
||||||
|
|
||||||
VIP_LEVEL_UP(100,"", new VipLevelUpEventHandler(),new String[]{""});
|
VIP_LEVEL_UP(100,"", new VipLevelUpEventHandler(),new String[]{""});
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ljsd.jieling.ktbeans.reportEvent;
|
package com.ljsd.jieling.ktbeans.reportEvent;
|
||||||
|
|
||||||
|
import com.ljsd.GameApplication;
|
||||||
import com.ljsd.jieling.logic.dao.root.User;
|
import com.ljsd.jieling.logic.dao.root.User;
|
||||||
|
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
@ -20,6 +21,11 @@ public class CreateRoleEventHandler extends CommonEventHandler{
|
||||||
|
|
||||||
setProperties.put("role_name",user.getPlayerInfoManager().getNickName());
|
setProperties.put("role_name",user.getPlayerInfoManager().getNickName());
|
||||||
setOnceProperties.put("role_create_time",new Date());
|
setOnceProperties.put("role_create_time",new Date());
|
||||||
|
setOnceProperties.put("server_id",String.valueOf(GameApplication.serverId));
|
||||||
|
setOnceProperties.put("channel_id",user.getPlayerInfoManager().getPid());
|
||||||
|
setOnceProperties.put("platform_id",user.getPlayerInfoManager().getPlatform());
|
||||||
|
setOnceProperties.put("reg_ip",user.getPlayerInfoManager().getIp());
|
||||||
|
|
||||||
userProperties.put(1,setProperties);
|
userProperties.put(1,setProperties);
|
||||||
userProperties.put(2,setOnceProperties);
|
userProperties.put(2,setOnceProperties);
|
||||||
return userProperties;
|
return userProperties;
|
||||||
|
|
|
@ -108,6 +108,11 @@ public class PlayerManager extends MongoBase {
|
||||||
private int luckWheelLimitTime;
|
private int luckWheelLimitTime;
|
||||||
private int luckAdvanceWheelLimitTime;
|
private int luckAdvanceWheelLimitTime;
|
||||||
|
|
||||||
|
private String platform;
|
||||||
|
|
||||||
|
private String ip;
|
||||||
|
|
||||||
|
|
||||||
public PlayerManager(){
|
public PlayerManager(){
|
||||||
this.setRootCollection(User._COLLECTION_NAME);
|
this.setRootCollection(User._COLLECTION_NAME);
|
||||||
}
|
}
|
||||||
|
@ -727,4 +732,23 @@ public class PlayerManager extends MongoBase {
|
||||||
updateString("luckAdvanceWheelLimitTime",luckAdvanceWheelLimitTime);
|
updateString("luckAdvanceWheelLimitTime",luckAdvanceWheelLimitTime);
|
||||||
this.luckAdvanceWheelLimitTime = luckAdvanceWheelLimitTime;
|
this.luckAdvanceWheelLimitTime = luckAdvanceWheelLimitTime;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getPlatform() {
|
||||||
|
return platform;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPlatform(String platform) {
|
||||||
|
this.platform = platform;
|
||||||
|
updateString("platform",platform);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getIp() {
|
||||||
|
return ip;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIp(String ip) {
|
||||||
|
this.ip = ip;
|
||||||
|
updateString("ip",ip);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,12 +41,12 @@ public class UserManager {
|
||||||
return userMap.containsKey(uid);
|
return userMap.containsKey(uid);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static User userLogin(int uid,String openId,String channel,int pid,int gid) throws Exception {
|
public static User userLogin(int uid,String openId,String channel,int pid,int gid,String platform,String ip) throws Exception {
|
||||||
User user = null;
|
User user = null;
|
||||||
if (!UserManager.isUserExist(uid)){
|
if (!UserManager.isUserExist(uid)){
|
||||||
user = MongoUtil.getInstence().getMyMongoTemplate().findById(User.getCollectionName(), uid, User.class);
|
user = MongoUtil.getInstence().getMyMongoTemplate().findById(User.getCollectionName(), uid, User.class);
|
||||||
if (user == null) {
|
if (user == null) {
|
||||||
user = registerUser(uid,openId,channel,pid,gid);
|
user = registerUser(uid,openId,channel,pid,gid,platform,ip);
|
||||||
}
|
}
|
||||||
UserManager.addUser(user);
|
UserManager.addUser(user);
|
||||||
}else{
|
}else{
|
||||||
|
@ -58,17 +58,17 @@ public class UserManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private static User registerUser(int uid,String openId,String channel,int pid,int gid) throws Exception {
|
private static User registerUser(int uid,String openId,String channel,int pid,int gid,String platform,String ip) throws Exception {
|
||||||
User user = new User(uid);
|
User user = new User(uid);
|
||||||
UserManager.addUser(user);
|
UserManager.addUser(user);
|
||||||
initPlayer(user,openId,channel,pid,gid);
|
initPlayer(user,openId,channel,pid,gid,platform,ip);
|
||||||
MongoUtil.getInstence().getMyMongoTemplate().save(user);
|
MongoUtil.getInstence().getMyMongoTemplate().save(user);
|
||||||
PlayerLogic.getInstance().sendTestWelfareMail(user,1,1);
|
PlayerLogic.getInstance().sendTestWelfareMail(user,1,1);
|
||||||
ReportUtil.onReportEvent(user, ReportEventEnum.CREATE_ROLE.getType());
|
ReportUtil.onReportEvent(user, ReportEventEnum.CREATE_ROLE.getType());
|
||||||
return user;
|
return user;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void initPlayer(User user,String openId,String channel,int pid,int gid) throws Exception {
|
private static void initPlayer(User user,String openId,String channel,int pid,int gid,String platform,String ip) throws Exception {
|
||||||
SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
|
SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting();
|
||||||
PlayerManager playerManager = user.getPlayerInfoManager();
|
PlayerManager playerManager = user.getPlayerInfoManager();
|
||||||
long now = TimeUtils.now();
|
long now = TimeUtils.now();
|
||||||
|
@ -89,6 +89,8 @@ public class UserManager {
|
||||||
playerManager.setChannel(channel);
|
playerManager.setChannel(channel);
|
||||||
playerManager.setPid(pid);
|
playerManager.setPid(pid);
|
||||||
playerManager.setGid(gid);
|
playerManager.setGid(gid);
|
||||||
|
playerManager.setPlatform(platform);
|
||||||
|
playerManager.setIp(ip);
|
||||||
playerManager.setHeadFrame(STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getDefaultPicture());
|
playerManager.setHeadFrame(STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getDefaultPicture());
|
||||||
SPlayerLevelConfig sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(1);
|
SPlayerLevelConfig sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(1);
|
||||||
playerManager.setMaxStamina(sPlayerLevelConfig.getMaxEnergy());
|
playerManager.setMaxStamina(sPlayerLevelConfig.getMaxEnergy());
|
||||||
|
|
|
@ -2347,11 +2347,11 @@ public class HeroLogic{
|
||||||
throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT);
|
throw new ErrorCodeException(ErrorCode.HERO_ITEM_NOT);
|
||||||
}
|
}
|
||||||
|
|
||||||
heroManager.removeHero(uid,heroId);
|
// heroManager.removeHero(uid,heroId);
|
||||||
int[][] returnMaterials = sHeroReturn.getRankupReturn();
|
int[][] returnMaterials = sHeroReturn.getRankupReturn();
|
||||||
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel());
|
SHeroLevlConfig sHeroLevlConfig = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel());
|
||||||
int[][] levelReturn = ItemLogic.getInstance().itemReturnPercent(sHeroLevlConfig.getSumConsume(), returnPercent);
|
int[][] levelReturn = ItemLogic.getInstance().itemReturnPercent(sHeroLevlConfig.getSumConsume(), returnPercent);
|
||||||
int returnHero = sHeroReturn.getHeroId();
|
// int returnHero = sHeroReturn.getHeroId();
|
||||||
//进阶材料返还乘万分比
|
//进阶材料返还乘万分比
|
||||||
Map<Integer,Integer> returnItemMap = new HashMap<>();
|
Map<Integer,Integer> returnItemMap = new HashMap<>();
|
||||||
for(int i = 0 ; i <returnMaterials.length;i++){
|
for(int i = 0 ; i <returnMaterials.length;i++){
|
||||||
|
@ -2360,7 +2360,7 @@ public class HeroLogic{
|
||||||
for(int i = 0 ; i <levelReturn.length;i++){
|
for(int i = 0 ; i <levelReturn.length;i++){
|
||||||
returnItemMap.put(levelReturn[i][0],returnItemMap.getOrDefault(levelReturn[i][0],0)+levelReturn[i][1]);
|
returnItemMap.put(levelReturn[i][0],returnItemMap.getOrDefault(levelReturn[i][0],0)+levelReturn[i][1]);
|
||||||
}
|
}
|
||||||
returnItemMap.put(returnHero,1);
|
// returnItemMap.put(returnHero,1);
|
||||||
int[][] resultDrop = new int[returnItemMap.size()][];
|
int[][] resultDrop = new int[returnItemMap.size()][];
|
||||||
int index = 0;
|
int index = 0;
|
||||||
for(Map.Entry<Integer,Integer> entry:returnItemMap.entrySet()){
|
for(Map.Entry<Integer,Integer> entry:returnItemMap.entrySet()){
|
||||||
|
@ -2368,12 +2368,14 @@ public class HeroLogic{
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
CommonProto.Drop.Builder drop = ItemUtil.drop(user, resultDrop, BIReason.HERO_BACK_REWARD);
|
CommonProto.Drop.Builder drop = ItemUtil.drop(user, resultDrop, BIReason.HERO_BACK_REWARD);
|
||||||
CommonProto.Hero.Builder heroProto = drop.getHero(0).toBuilder();
|
hero.setLevel(user,1);
|
||||||
String createHeroId = heroProto.getId();
|
hero.setBreakId(0);
|
||||||
heroProto.setStar(star);
|
// CommonProto.Hero.Builder heroProto = drop.getHero(0).toBuilder();
|
||||||
drop.setHero(0,heroProto.build());
|
// String createHeroId = heroProto.getId();
|
||||||
Hero newHero = user.getHeroManager().getHeroMap().get(createHeroId);
|
// heroProto.setStar(star);
|
||||||
newHero.setStar(star);
|
// drop.setHero(0,heroProto.build());
|
||||||
|
// Hero newHero = user.getHeroManager().getHeroMap().get(createHeroId);
|
||||||
|
// newHero.setStar(star);
|
||||||
HeroInfoProto.HeroReturnResponse build = HeroInfoProto.HeroReturnResponse.newBuilder().setDrop(drop).build();
|
HeroInfoProto.HeroReturnResponse build = HeroInfoProto.HeroReturnResponse.newBuilder().setDrop(drop).build();
|
||||||
MessageUtil.sendMessage(session,1,responseMsgId,build,true);
|
MessageUtil.sendMessage(session,1,responseMsgId,build,true);
|
||||||
|
|
||||||
|
|
|
@ -2,6 +2,7 @@ package com.ljsd.jieling.logic.item;
|
||||||
|
|
||||||
import com.ljsd.jieling.chat.logic.ChatLogic;
|
import com.ljsd.jieling.chat.logic.ChatLogic;
|
||||||
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
|
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
|
||||||
|
import com.ljsd.jieling.config.clazzStaticCfg.HeroStaticConfig;
|
||||||
import com.ljsd.jieling.exception.ErrorCode;
|
import com.ljsd.jieling.exception.ErrorCode;
|
||||||
import com.ljsd.jieling.exception.ErrorCodeException;
|
import com.ljsd.jieling.exception.ErrorCodeException;
|
||||||
import com.ljsd.jieling.globals.BIReason;
|
import com.ljsd.jieling.globals.BIReason;
|
||||||
|
@ -367,7 +368,6 @@ public class ItemLogic {
|
||||||
CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder();
|
CommonProto.Drop.Builder baseBuilder = CommonProto.Drop.newBuilder();
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
HeroManager heroManager = user.getHeroManager();
|
HeroManager heroManager = user.getHeroManager();
|
||||||
StringBuilder reward = new StringBuilder();
|
|
||||||
ErrorCode erroMags = checkHeroResolve(heroIdsList,user);
|
ErrorCode erroMags = checkHeroResolve(heroIdsList,user);
|
||||||
if (null!=erroMags){
|
if (null!=erroMags){
|
||||||
throw new ErrorCodeException(erroMags);
|
throw new ErrorCodeException(erroMags);
|
||||||
|
@ -377,46 +377,25 @@ public class ItemLogic {
|
||||||
//1裸角色卡(没有突破过的角色卡)熔炼后返还的材料=当前等级返还升级材料+item表返还材料
|
//1裸角色卡(没有突破过的角色卡)熔炼后返还的材料=当前等级返还升级材料+item表返还材料
|
||||||
//2有过突破的卡 =当前等级返还升级材料+突破表返还材料
|
//2有过突破的卡 =当前等级返还升级材料+突破表返还材料
|
||||||
Map<Integer, Integer> baseItemMap = new HashMap<>();
|
Map<Integer, Integer> baseItemMap = new HashMap<>();
|
||||||
Map<Integer, Integer> baseCardMap = new HashMap<>();
|
|
||||||
Map<Integer, Integer> baseEquipMap = new HashMap<>();
|
|
||||||
Map<Integer,Integer> baseRandomMap = new HashMap<>();
|
|
||||||
int rankUpReturnPercent= SSpecialConfig.getIntegerValue(SSpecialConfig.HERO_SACRIFICE_PERCENT);
|
int rankUpReturnPercent= SSpecialConfig.getIntegerValue(SSpecialConfig.HERO_SACRIFICE_PERCENT);
|
||||||
for (String heroId : heroIdsList) {
|
for (String heroId : heroIdsList) {
|
||||||
Hero hero = heroManager.getHeroMap().get(heroId);
|
Hero hero = heroManager.getHeroMap().get(heroId);
|
||||||
heroManager.removeHero(uid,heroId);
|
heroManager.removeHero(uid,heroId);
|
||||||
int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel()).getSumConsume();
|
int[][] sumConsume = SHeroLevlConfig.getsHeroLevlConfigMap().get(hero.getLevel()).getSumConsume();
|
||||||
|
SHeroSacrifice starSHeroSacrifice = STableManager.getFigureConfig(HeroStaticConfig.class).getsHeroSacrificeMap(1, hero.getStar());
|
||||||
ItemUtil.combineReward(itemReturnPercent(sumConsume,rankUpReturnPercent),baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
SHeroSacrifice breakSHeroSacrifice = STableManager.getFigureConfig(HeroStaticConfig.class).getsHeroSacrificeMap(2, hero.getBreakId());
|
||||||
int breakId = hero.getBreakId();
|
for(int[] item:sumConsume){
|
||||||
int starBreakId = hero.getStarBreakId();
|
baseItemMap.put(item[0],baseItemMap.getOrDefault(item[0],0)+item[1]);
|
||||||
if(breakId!=0 || starBreakId!=0){
|
|
||||||
SCHeroRankUpConfig scHeroRankUpConfig = STableManager.getConfig(SCHeroRankUpConfig.class).get(breakId);
|
|
||||||
if(scHeroRankUpConfig!=null){
|
|
||||||
int[][] levelUpReturn = scHeroRankUpConfig.getSumConsume();
|
|
||||||
ItemUtil.combineReward(itemReturnPercent(levelUpReturn,rankUpReturnPercent),baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
|
||||||
}
|
|
||||||
scHeroRankUpConfig = STableManager.getConfig(SCHeroRankUpConfig.class).get(starBreakId);
|
|
||||||
if(scHeroRankUpConfig!=null){
|
|
||||||
int[][] levelUpReturn = scHeroRankUpConfig.getSumConsume();
|
|
||||||
ItemUtil.combineReward(itemReturnPercent(levelUpReturn,rankUpReturnPercent),baseItemMap,baseCardMap,baseEquipMap,baseRandomMap);
|
|
||||||
}
|
|
||||||
|
|
||||||
continue;
|
|
||||||
}
|
}
|
||||||
SItem sItem = SItem.getsItemMap().get(hero.getTemplateId());
|
for(int[] item:starSHeroSacrifice.getValue()){
|
||||||
|
baseItemMap.put(item[0],baseItemMap.getOrDefault(item[0],0)+item[1]);
|
||||||
if(null==filterItem){
|
}
|
||||||
if (reward.length() == 0) {
|
for(int[] item:breakSHeroSacrifice.getValue()){
|
||||||
reward = new StringBuilder(sItem.getResolveReward());
|
baseItemMap.put(item[0],baseItemMap.getOrDefault(item[0],0)+item[1]);
|
||||||
} else {
|
|
||||||
reward.append("#").append(sItem.getResolveReward());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ItemUtil.combineReward(user,false, StringUtil.parseFiledInt(reward.toString()),1,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap,-1);
|
int[][] itemArray = ItemUtil.mapToArray(baseItemMap);
|
||||||
|
|
||||||
int reson = BIReason.DECOMPOS_HERO_REWARD;
|
int reson = BIReason.DECOMPOS_HERO_REWARD;
|
||||||
if(null!=filterItem){
|
if(null!=filterItem){
|
||||||
reson= BIReason.UPHERO_DECOMPOS_HERO_REWARD;
|
reson= BIReason.UPHERO_DECOMPOS_HERO_REWARD;
|
||||||
|
@ -428,10 +407,7 @@ public class ItemLogic {
|
||||||
}else {
|
}else {
|
||||||
user.getUserMissionManager().onGameEvent(user,GameEvent.DESPOSE_HERO,heroIdsList.size());
|
user.getUserMissionManager().onGameEvent(user,GameEvent.DESPOSE_HERO,heroIdsList.size());
|
||||||
}
|
}
|
||||||
|
return ItemUtil.drop(user,itemReturnPercent(itemArray,rankUpReturnPercent),reson);
|
||||||
|
|
||||||
ItemUtil.drop(user,baseBuilder,baseItemMap,baseCardMap,baseEquipMap,baseRandomMap, reson);
|
|
||||||
return baseBuilder;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -104,6 +104,9 @@ public class PlayerLogic {
|
||||||
int uid = session.getUid();
|
int uid = session.getUid();
|
||||||
User user = UserManager.getUser(uid);
|
User user = UserManager.getUser(uid);
|
||||||
user.getPlayerInfoManager().updateGuidePoint(type,id);
|
user.getPlayerInfoManager().updateGuidePoint(type,id);
|
||||||
|
if(type==1){
|
||||||
|
ReportUtil.onReportEvent(user,ReportEventEnum.GUILD.getType(),String.valueOf(id));
|
||||||
|
}
|
||||||
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.SAVE_NEW_PLAYER_GUIDE_POINT_RESPONSE_VALUE,null,true);
|
MessageUtil.sendMessage(session,1, MessageTypeProto.MessageType.SAVE_NEW_PLAYER_GUIDE_POINT_RESPONSE_VALUE,null,true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.ljsd.jieling.logic.store;
|
package com.ljsd.jieling.logic.store;
|
||||||
|
|
||||||
|
import com.ljsd.GameApplication;
|
||||||
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
|
import com.ljsd.jieling.config.clazzStaticCfg.CommonStaticConfig;
|
||||||
import com.ljsd.jieling.config.reportData.DataMessageUtils;
|
import com.ljsd.jieling.config.reportData.DataMessageUtils;
|
||||||
import com.ljsd.jieling.core.GlobalsDef;
|
import com.ljsd.jieling.core.GlobalsDef;
|
||||||
|
@ -81,7 +82,6 @@ public class BuyGoodsLogic {
|
||||||
for(int[] item:sRechargeCommodityConfig.getBaseReward()){
|
for(int[] item:sRechargeCommodityConfig.getBaseReward()){
|
||||||
itemList.add(item[0]);
|
itemList.add(item[0]);
|
||||||
}
|
}
|
||||||
ReportUtil.onReportEvent(user, ReportEventEnum.ORDER_COMPLETE.getType(),"",price,"","","","",String.valueOf(goodsId),itemList);
|
|
||||||
// KtEventUtils.onKtEvent(user, ParamEventBean.UserPayEvent,goodsId,System.currentTimeMillis()+"",result.getResultCode(),price*10);
|
// KtEventUtils.onKtEvent(user, ParamEventBean.UserPayEvent,goodsId,System.currentTimeMillis()+"",result.getResultCode(),price*10);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -352,12 +352,14 @@ public class BuyGoodsLogic {
|
||||||
rechargeInfo.updateRefreshMapByKey(sRechargeCommodityConfig.getId(),TimeUtils.now()+sRechargeCommodityConfig.getDailyUpdate()*TimeUtils.DAY);
|
rechargeInfo.updateRefreshMapByKey(sRechargeCommodityConfig.getId(),TimeUtils.now()+sRechargeCommodityConfig.getDailyUpdate()*TimeUtils.DAY);
|
||||||
}
|
}
|
||||||
resultRes.setResultCode(1);
|
resultRes.setResultCode(1);
|
||||||
KtEventUtils.onKtEvent(user, ParamEventBean.UserPayEvent,goodsId,orderId,resultRes.getResultCode(),price);
|
// KtEventUtils.onKtEvent(user, ParamEventBean.UserPayEvent,goodsId,orderId,resultRes.getResultCode(),price);
|
||||||
notifyPaySuccessFul(uid,goodsId,amount != -999);
|
notifyPaySuccessFul(uid,goodsId,amount != -999);
|
||||||
// Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.RECHARGE_BUY.getType(),goodsId));
|
// Poster.getPoster().dispatchEvent(new NewWelfareEvent(user, NewWelfareTypeEnum.RECHARGE_BUY.getType(),goodsId));
|
||||||
MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
MongoUtil.getLjsdMongoTemplate().lastUpdate();
|
||||||
sendGiftGooodsIndication(uid);
|
sendGiftGooodsIndication(uid);
|
||||||
onChargeSuccess(uid,sRechargeCommodityConfig.getPrice(),0);//充值成功上报
|
onChargeSuccess(uid,sRechargeCommodityConfig.getPrice(),0);//充值成功上报
|
||||||
|
Map<Integer, Integer> mapReward = ItemUtil.arrayToMap(baseReward);
|
||||||
|
ReportUtil.onReportEvent(user, ReportEventEnum.ORDER_COMPLETE.getType(),orderId,price,user.getPlayerInfoManager().getGid(),user.getPlayerInfoManager().getPid(),String.valueOf(GameApplication.serverId),String.valueOf(goodsId),sRechargeCommodityConfig.getName(),mapReward.keySet(),mapReward.values());
|
||||||
return resultRes;
|
return resultRes;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -672,7 +672,7 @@ public class ItemUtil {
|
||||||
}
|
}
|
||||||
playerInfoManager.setExp(curExp);
|
playerInfoManager.setExp(curExp);
|
||||||
if (playerInfoManager.getLevel() > oldLevel) {
|
if (playerInfoManager.getLevel() > oldLevel) {
|
||||||
ReportUtil.onReportEvent(user, ReportEventEnum.LEVEL_UP.getType(),1,playerInfoManager.getLevel());
|
ReportUtil.onReportEvent(user, ReportEventEnum.LEVEL_UP.getType(),oldLevel,playerInfoManager.getLevel()-oldLevel,playerInfoManager.getLevel());
|
||||||
user.getUserMissionManager().onGameEvent(user, GameEvent.USER_LEVELUP,oldLevel+1,playerInfoManager.getLevel());
|
user.getUserMissionManager().onGameEvent(user, GameEvent.USER_LEVELUP,oldLevel+1,playerInfoManager.getLevel());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1463,6 +1463,27 @@ public class ItemUtil {
|
||||||
}
|
}
|
||||||
return sourceNum;
|
return sourceNum;
|
||||||
}
|
}
|
||||||
|
public static int[][] mapToArray(Map<Integer,Integer> map){
|
||||||
|
|
||||||
|
int[][] itemArray = new int[map.size()][];
|
||||||
|
int i = 0 ;
|
||||||
|
for(Map.Entry<Integer,Integer> entry:map.entrySet()){
|
||||||
|
itemArray[i] = new int[]{entry.getKey(),entry.getValue()};
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
return itemArray;
|
||||||
|
|
||||||
|
}
|
||||||
|
public static Map<Integer,Integer> arrayToMap(int[][] array){
|
||||||
|
|
||||||
|
Map<Integer,Integer> map = new HashMap<>(array.length);
|
||||||
|
for(int[] itemArray:array ){
|
||||||
|
map.put(itemArray[0],map.getOrDefault(itemArray[0],0)+itemArray[1]);
|
||||||
|
}
|
||||||
|
return map;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private static int parseTheValueByPrivilegeMap(User user,int sourceNum,int privigeId){
|
private static int parseTheValueByPrivilegeMap(User user,int sourceNum,int privigeId){
|
||||||
int privigeValue = PlayerLogic.getInstance().getMaxCountByPrivilegeType(user,privigeId);
|
int privigeValue = PlayerLogic.getInstance().getMaxCountByPrivilegeType(user,privigeId);
|
||||||
|
|
|
@ -0,0 +1,43 @@
|
||||||
|
package config;
|
||||||
|
|
||||||
|
import manager.STableManager;
|
||||||
|
import manager.Table;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
|
|
||||||
|
@Table(name ="HeroSacrifice")
|
||||||
|
public class SHeroSacrifice implements BaseConfig {
|
||||||
|
|
||||||
|
private int id;
|
||||||
|
|
||||||
|
private int type;
|
||||||
|
|
||||||
|
private int key;
|
||||||
|
|
||||||
|
private int[][] value;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void init() throws Exception {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public int getId() {
|
||||||
|
return id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getType() {
|
||||||
|
return type;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getKey() {
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int[][] getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue