diff --git a/serverlogic/src/main/java/com/ljsd/jieling/config/reportData/DataMessageUtils.java b/serverlogic/src/main/java/com/ljsd/jieling/config/reportData/DataMessageUtils.java index 03bfff0e3..405db9b1a 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/config/reportData/DataMessageUtils.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/config/reportData/DataMessageUtils.java @@ -15,10 +15,10 @@ import com.ljsd.jieling.util.http.HttpPool; import org.apache.http.HttpResponse; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.message.BasicNameValuePair; +import util.StringUtil; import java.io.UnsupportedEncodingException; -import java.util.ArrayList; -import java.util.List; +import java.util.*; import java.util.concurrent.BlockingQueue; public class DataMessageUtils { @@ -29,8 +29,11 @@ public class DataMessageUtils { private static Gson gson = new Gson(); private static final String sendUrl = "https://gskuld.receiver.extranet.kt007.com:8081/skuld/game/common/"; - private static final String sendTaskUrl37 = "http://pvt.api.m.37.com/hd/postTaskInfo/" + SDK37Constans.pid + "/" + SDK37Constans.gid; - private static final String sendRoleUrl37 = "http://pvt.api.m.37.com/report/roleChangeReport/" + SDK37Constans.pid + "/" + SDK37Constans.gid; + private static final Map sendTaskUrl37Map = new HashMap<>(); + private static final String sendTaskUrl37 = "http://pvt.api.m.37.com/hd/postTaskInfo/" ; + private static final Map sendRoleUrl37Map = new HashMap<>(); + private static final String sendRoleUrl37 = "http://pvt.api.m.37.com/report/roleChangeReport/"; + private static final String sendChatContent37 = "http://cm3.api.37.com.cn/Content/_checkContent/"; //入队列 public static void addLogQueue(Object info) { @@ -59,16 +62,29 @@ public class DataMessageUtils { String sendToUrl; List sendForm = new ArrayList<>(); if (object instanceof Report37TaskBean) { - sendToUrl = sendTaskUrl37; + long key =(long)((Report37TaskBean) object).getGid()*10000+((Report37TaskBean) object).getPid(); + sendToUrl = sendTaskUrl37Map.get((long)((Report37TaskBean) object).getGid()*10000+((Report37TaskBean) object).getPid()); + if(sendToUrl==null){ + sendToUrl = sendTaskUrl37 + ((Report37TaskBean) object).getPid() + "/" + ((Report37TaskBean) object).getGid(); + sendTaskUrl37Map.put(key,sendToUrl); + } sendForm = ((Report37TaskBean) object).getPairList(); } else if (object instanceof Report37RoleLeveBean) { + long key =(long)((Report37RoleLeveBean) object).getGid()*10000+((Report37RoleLeveBean) object).getPid(); + sendToUrl = sendRoleUrl37Map.get((long)((Report37RoleLeveBean) object).getGid()*10000+((Report37RoleLeveBean) object).getPid()); + if(sendToUrl==null){ + sendToUrl = sendRoleUrl37 + ((Report37RoleLeveBean) object).getPid() + "/" + ((Report37RoleLeveBean) object).getGid(); + sendRoleUrl37Map.put(key,sendToUrl); + } sendToUrl = sendRoleUrl37; sendForm = ((Report37RoleLeveBean) object).getPairList(); } else { sendToUrl = ""; } try { - HttpPool.sendPostForm(sendToUrl, new UrlEncodedFormEntity(sendForm, "utf-8")); + if(!StringUtil.isEmpty(sendToUrl)){ + HttpPool.sendPostForm(sendToUrl, new UrlEncodedFormEntity(sendForm, "utf-8")); + } } catch (Exception e) { } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37Bean.java b/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37Bean.java index fb351251d..c9fe2b5a6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37Bean.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37Bean.java @@ -12,8 +12,8 @@ public abstract class Report37Bean implements Report37Param{ private String zone_name; public Report37Bean() { - this.pid = Integer.valueOf(SDK37Constans.pid); - this.gid = Integer.valueOf(SDK37Constans.gid); + this.pid = 0; + this.gid = 0; this.event_time = (int)(System.currentTimeMillis()/1000); this.zone_id = String.valueOf(GameApplication.serverId); this.zone_name = String.valueOf(GameApplication.serverId); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37RoleLeveBean.java b/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37RoleLeveBean.java index 9750b2d4f..0c891c8b6 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37RoleLeveBean.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37RoleLeveBean.java @@ -43,7 +43,7 @@ public class Report37RoleLeveBean extends Report37Bean{ pairList.add(new BasicNameValuePair("zone_id", getZone_id())); pairList.add(new BasicNameValuePair("zone_name", getZone_id())); pairList.add(new BasicNameValuePair("pid", String.valueOf(getPid()))); - pairList.add(new BasicNameValuePair("gid", getZone_id())); + pairList.add(new BasicNameValuePair("gid", String.valueOf(getGid()))); return pairList; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37TaskBean.java b/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37TaskBean.java index a2fdd1a83..01369a232 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37TaskBean.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Report37TaskBean.java @@ -33,7 +33,7 @@ public class Report37TaskBean extends Report37Bean { pairList.add(new BasicNameValuePair("zone_id", getZone_id())); pairList.add(new BasicNameValuePair("zone_name", getZone_id())); pairList.add(new BasicNameValuePair("pid", String.valueOf(getPid()))); - pairList.add(new BasicNameValuePair("gid", getZone_id())); + pairList.add(new BasicNameValuePair("gid", String.valueOf(getGid()))); return pairList; } diff --git a/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Repot37EventUtil.java b/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Repot37EventUtil.java index 24961a7ee..54bc0f883 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Repot37EventUtil.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/dataReport/reportBeans_37/Repot37EventUtil.java @@ -26,6 +26,8 @@ public class Repot37EventUtil { String taskName = String.valueOf(parm[1]); report37TaskBean.setTask_id(String.valueOf(taskId));//todo report37TaskBean.setTask_name(taskName); + report37TaskBean.setGid(user.getPlayerInfoManager().getGid()); + report37TaskBean.setPid(user.getPlayerInfoManager().getPid()); String signStr = report37TaskBean.getEvent_time() + report37TaskBean.getUid() + report37TaskBean.getZone_id() + report37TaskBean.getRoleid() + report37TaskBean.getTask_id()+SDK37Constans.appkey; report37TaskBean.setSign(MD5Util.encrypByMd5(signStr)); DataMessageUtils.addLogQueue(report37TaskBean); @@ -45,14 +47,13 @@ public class Repot37EventUtil { report37RoleLeveBean.setTotal_online_time(user.getPlayerInfoManager().getOnlineTime()); report37RoleLeveBean.setGuild_id("");//todo report37RoleLeveBean.setGuild_name("0");//todo + report37RoleLeveBean.setGid(user.getPlayerInfoManager().getGid()); + report37RoleLeveBean.setPid(user.getPlayerInfoManager().getPid()); String signSt = report37RoleLeveBean.getEvent_time() + report37RoleLeveBean.getUid() + report37RoleLeveBean.getZone_id() + report37RoleLeveBean.getRoleid() + SDK37Constans.appkey; report37RoleLeveBean.setSign(MD5Util.encrypByMd5(signSt)); DataMessageUtils.addLogQueue(report37RoleLeveBean); break; - } - - } public static T hadResReport(Class clazz,User user, Report37EventType eventType, Object... parm){ switch (eventType) { @@ -63,8 +64,8 @@ public class Repot37EventUtil { report37CheckChat.setUid(String.valueOf(user.getPlayerInfoManager().getOpenId()));//uid report37CheckChat.setActor_name(user.getPlayerInfoManager().getNickName()); report37CheckChat.setActor_id(String.valueOf(user.getId())); - report37CheckChat.setGid(SDK37Constans.gid); - report37CheckChat.setPid(SDK37Constans.pid); + report37CheckChat.setGid(String.valueOf(user.getPlayerInfoManager().getGid())); + report37CheckChat.setPid(String.valueOf(user.getPlayerInfoManager().getPid())); report37CheckChat.setDsid(String.valueOf(GameApplication.serverId)); report37CheckChat.setType(parm[0].toString());//类型 report37CheckChat.setContent(parm[1].toString());//内容 diff --git a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java index 98f5611cb..de874400d 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/db/redis/RedisKey.java @@ -192,6 +192,8 @@ public class RedisKey { public final static String CDKEY = "CDKEY"; public final static String GLOBAL_SYS_PRO = "GLOBAL_SYS_PRO"; + public final static String PIDGIDTEMP = "PIDGIDTEMP"; + public static Set familyKey = new HashSet<>(); static { diff --git a/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java b/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java index d02a310e8..5c9b907ac 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/handler/LoginRequestHandler.java @@ -99,6 +99,20 @@ public class LoginRequestHandler extends BaseHandler=2){ String openId = split[0]; String chanel = split[1]; - user = UserManager.userLogin(userId,openId,chanel,pid); + user = UserManager.userLogin(userId,openId,chanel,pid,gid); }else{ - user = UserManager.userLogin(userId,openIdFront,"",pid); + user = UserManager.userLogin(userId,openIdFront,"",pid,gid); } // String newToken = UserManager.getNewToken(userId); diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java index 58c0cb167..2a848b9e8 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/PlayerManager.java @@ -22,6 +22,8 @@ public class PlayerManager extends MongoBase { private int pid; + private int gid; + private String nickName; private int level; @@ -497,6 +499,7 @@ public class PlayerManager extends MongoBase { this.phoneBindInfo = phoneBindInfo; } + public void setPid(int pid) { updateString("pid",pid); this.pid = pid; @@ -506,6 +509,14 @@ public class PlayerManager extends MongoBase { return pid; } + public int getGid() { + return gid; + } + + public void setGid(int gid) { + updateString("gid",gid); + this.gid = gid; + } public Set getSysMailIds() { return sysMailIds; diff --git a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java index 4e5b7d131..1d7fc3b9e 100644 --- a/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java +++ b/serverlogic/src/main/java/com/ljsd/jieling/logic/dao/UserManager.java @@ -38,12 +38,12 @@ public class UserManager { return userMap.containsKey(uid); } - public static User userLogin(int uid,String openId,String channel,int pid) throws Exception { + public static User userLogin(int uid,String openId,String channel,int pid,int gid) throws Exception { User user = null; if (!UserManager.isUserExist(uid)){ user = MongoUtil.getInstence().getMyMongoTemplate().findById(User.getCollectionName(), uid, User.class); if (user == null) { - user = registerUser(uid,openId,channel,pid); + user = registerUser(uid,openId,channel,pid,gid); } UserManager.addUser(user); }else{ @@ -53,16 +53,16 @@ public class UserManager { } - private static User registerUser(int uid,String openId,String channel,int pid) throws Exception { + private static User registerUser(int uid,String openId,String channel,int pid,int gid) throws Exception { User user = new User(uid); - initPlayer(user,openId,channel,pid); + initPlayer(user,openId,channel,pid,gid); UserManager.addUser(user); MongoUtil.getInstence().getMyMongoTemplate().save(user); PlayerLogic.getInstance().sendTestWelfareMail(user,1,1); return user; } - private static void initPlayer(User user,String openId,String channel,int pid) throws Exception { + private static void initPlayer(User user,String openId,String channel,int pid,int gid) throws Exception { SGameSetting gameSetting = STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting(); PlayerManager playerManager = user.getPlayerInfoManager(); long now = TimeUtils.now(); @@ -81,6 +81,7 @@ public class UserManager { playerManager.setPhoneBindInfo(new PhoneBindInfo("")); playerManager.setChannel(channel); playerManager.setPid(pid); + playerManager.setGid(gid); playerManager.setHeadFrame(STableManager.getFigureConfig(CommonStaticConfig.class).getGameSetting().getDefaultPicture()); SPlayerLevelConfig sPlayerLevelConfig = SPlayerLevelConfig.getsPlayerLevelConfigMap().get(1); playerManager.setMaxStamina(sPlayerLevelConfig.getMaxEnergy());