generated from root/miduo_server
战报功能优化
parent
097e2ff566
commit
411ea5e007
|
|
@ -39,32 +39,10 @@ public class HttpRequestController {
|
||||||
public String getFightRecord (HttpServletRequest request, HttpServletResponse response) throws Exception {
|
public String getFightRecord (HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
// 玩家id和战斗id(玩家id_服务器id_战斗类型_时间戳)
|
// 玩家id和战斗id(玩家id_服务器id_战斗类型_时间戳)
|
||||||
String uid = request.getParameter("uid");
|
String uid = request.getParameter("uid");
|
||||||
String fightid = request.getParameter("fightid");
|
String fightId = request.getParameter("fightid");
|
||||||
// 拼接参数
|
// 拼接参数
|
||||||
String cmd = "fightrecord " + fightid;
|
String cmd = "fightrecord one " + fightId;
|
||||||
// 读库找到玩家信息
|
return sendGm(uid,cmd);
|
||||||
CUserInfo cUserInfo = userInfoDao.findUserInfoById(uid);
|
|
||||||
// 获取玩家服务器ip和端口
|
|
||||||
String rpcString = RedisUtil.getInstence().getObject(RedisUserKey.LOGIC_SERVER_INFO, String.valueOf(cUserInfo.getServerid()), String.class, -1);
|
|
||||||
if (null == rpcString) {
|
|
||||||
return "获取玩家服务器端口失败,服务器id错误";
|
|
||||||
}
|
|
||||||
// ip
|
|
||||||
String thriftIp = rpcString.split(":")[0];
|
|
||||||
// 端口
|
|
||||||
String thriftPort = rpcString.split(":")[1];
|
|
||||||
if (thriftIp == null || thriftIp.isEmpty() || null == thriftPort || thriftPort.isEmpty()) {
|
|
||||||
return "获取玩家服务器端口为空";
|
|
||||||
}
|
|
||||||
// 通信游戏服
|
|
||||||
Result result = RPCClient.gmSend(cmd, thriftIp, thriftPort);
|
|
||||||
if (result.getResultCode() != 0) {
|
|
||||||
LOGGER.error("->userid:{},fightId:{}",uid,fightid);
|
|
||||||
LOGGER.error("->code:{},result:{}",result.resultCode,result.getResultMsg());
|
|
||||||
return "游戏服返回战报记录数据结果失败";
|
|
||||||
}
|
|
||||||
// 返回
|
|
||||||
return result.getResultMsg() == null ? "":result.getResultMsg();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -76,29 +54,9 @@ public class HttpRequestController {
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value = "/clearFightRecord", method = {RequestMethod.POST, RequestMethod.GET})
|
@RequestMapping(value = "/clearFightRecord", method = {RequestMethod.POST, RequestMethod.GET})
|
||||||
public String clearFightRecord (HttpServletRequest request, HttpServletResponse response) throws Exception {
|
public String clearFightRecord (HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
|
|
||||||
String uid = request.getParameter("uid");
|
String uid = request.getParameter("uid");
|
||||||
|
|
||||||
String cmd = "fightrecord delete";
|
String cmd = "fightrecord delete";
|
||||||
|
return sendGm(uid,cmd);
|
||||||
CUserInfo cUserInfo = userInfoDao.findUserInfoById(uid);
|
|
||||||
|
|
||||||
String rpcString = RedisUtil.getInstence().getObject(RedisUserKey.LOGIC_SERVER_INFO, String.valueOf(cUserInfo.getServerid()), String.class, -1);
|
|
||||||
if (null == rpcString) {
|
|
||||||
return "获取玩家服务器端口失败,服务器id错误";
|
|
||||||
}
|
|
||||||
String thriftIp = rpcString.split(":")[0];
|
|
||||||
String thriftPort = rpcString.split(":")[1];
|
|
||||||
if (thriftIp == null || thriftIp.isEmpty() || null == thriftPort || thriftPort.isEmpty()) {
|
|
||||||
return "获取玩家服务器端口为空";
|
|
||||||
}
|
|
||||||
Result result = RPCClient.gmSend(cmd, thriftIp, thriftPort);
|
|
||||||
if (result.getResultCode() != 0) {
|
|
||||||
LOGGER.error("->userid:{}",uid);
|
|
||||||
LOGGER.error("->code:{},result:{}",result.resultCode,result.getResultMsg());
|
|
||||||
return "游戏服返回战报记录数据结果失败";
|
|
||||||
}
|
|
||||||
return "ok";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -110,13 +68,20 @@ public class HttpRequestController {
|
||||||
*/
|
*/
|
||||||
@RequestMapping(value = "/getAllFightRecord", method = {RequestMethod.POST, RequestMethod.GET})
|
@RequestMapping(value = "/getAllFightRecord", method = {RequestMethod.POST, RequestMethod.GET})
|
||||||
public String getAllFightRecord (HttpServletRequest request, HttpServletResponse response) throws Exception {
|
public String getAllFightRecord (HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
|
|
||||||
String uid = request.getParameter("uid");
|
String uid = request.getParameter("uid");
|
||||||
|
|
||||||
String cmd = "fightrecord all " + uid;
|
String cmd = "fightrecord all " + uid;
|
||||||
|
return sendGm(uid,cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 发送gm到游戏服
|
||||||
|
* @param uid
|
||||||
|
* @param cmd
|
||||||
|
* @return
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
private String sendGm(String uid, String cmd) throws Exception {
|
||||||
CUserInfo cUserInfo = userInfoDao.findUserInfoById(uid);
|
CUserInfo cUserInfo = userInfoDao.findUserInfoById(uid);
|
||||||
|
|
||||||
String rpcString = RedisUtil.getInstence().getObject(RedisUserKey.LOGIC_SERVER_INFO, String.valueOf(cUserInfo.getServerid()), String.class, -1);
|
String rpcString = RedisUtil.getInstence().getObject(RedisUserKey.LOGIC_SERVER_INFO, String.valueOf(cUserInfo.getServerid()), String.class, -1);
|
||||||
if (null == rpcString) {
|
if (null == rpcString) {
|
||||||
return "获取玩家服务器端口失败,服务器id错误";
|
return "获取玩家服务器端口失败,服务器id错误";
|
||||||
|
|
@ -128,11 +93,11 @@ public class HttpRequestController {
|
||||||
}
|
}
|
||||||
Result result = RPCClient.gmSend(cmd, thriftIp, thriftPort);
|
Result result = RPCClient.gmSend(cmd, thriftIp, thriftPort);
|
||||||
if (result.getResultCode() != 0) {
|
if (result.getResultCode() != 0) {
|
||||||
LOGGER.error("->userid:{}",uid);
|
LOGGER.error("获取战报返回错误,cmd:{},code:{},result:{}",cmd,result.resultCode,result.getResultMsg());
|
||||||
LOGGER.error("->code:{},result:{}",result.resultCode,result.getResultMsg());
|
|
||||||
return "游戏服返回战报记录数据结果失败";
|
return "游戏服返回战报记录数据结果失败";
|
||||||
}
|
}
|
||||||
return result.getResultMsg();
|
|
||||||
|
return result.getResultMsg() == null ? "":result.getResultMsg();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue