From 5c26dc3c102623a7e27e5b33b7a1d663e9db1c92 Mon Sep 17 00:00:00 2001 From: gaojie Date: Fri, 22 Feb 2019 17:51:13 +0800 Subject: [PATCH] FIX --- .../jmfy/controller/RechargeController.java | 6 +++- .../jmfy/controller/SendMailController.java | 33 +++++++++++++++---- .../com/jmfy/controller/UserController.java | 10 ++++-- src/main/java/com/jmfy/util/MD5Util.java | 2 +- 4 files changed, 40 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/jmfy/controller/RechargeController.java b/src/main/java/com/jmfy/controller/RechargeController.java index bc885af..3548bd8 100644 --- a/src/main/java/com/jmfy/controller/RechargeController.java +++ b/src/main/java/com/jmfy/controller/RechargeController.java @@ -46,7 +46,7 @@ public class RechargeController { String productId = parameterMap.get("productId"); String payType = parameterMap.get("payType"); String sig = MD5Util.encrypByMd5(pOrderId+serverCode+creditId+userId+amount+stone+time+YsjConstant.TW_GameKey); - if (sig.equals(sign)){ + if (!sig.equals(sign)){ FindPlayerResult findPlayerResult = new FindPlayerResult("1010","sign derify failed",null); return JsonUtil.getInstence().getGson().toJson(findPlayerResult); } @@ -101,4 +101,8 @@ public class RechargeController { } return JsonUtil.getInstence().getGson().toJson(resultVo); } + public static void main (String [] args){ + String s = MD5Util.encrypByMd5("test12345678909"+10212+10005616+"cs1147"+0.99+60+1550828074000L+YsjConstant.TW_GameKey); + System.out.println(s); + } } diff --git a/src/main/java/com/jmfy/controller/SendMailController.java b/src/main/java/com/jmfy/controller/SendMailController.java index 67b5828..ec9c74a 100644 --- a/src/main/java/com/jmfy/controller/SendMailController.java +++ b/src/main/java/com/jmfy/controller/SendMailController.java @@ -41,18 +41,19 @@ public class SendMailController { String sign = parameterMap.get("sign"); //验证sign String sig = MD5Util.encrypByMd5(userId+roleId+serverCode+gameCode+serialNo+packageId+YsjConstant.TW_GameKey); - if (sig.equals(sign)){ + if (!sig.equals(sign)){ FindPlayerResult findPlayerResult = new FindPlayerResult("1010","sign derify failed",null); return JsonUtil.getInstence().getGson().toJson(findPlayerResult); } CUserInfo cUserInfo = cuserDao.getUserInfobyNameAndServerId(userId, Integer.parseInt(serverCode)); if (Integer.parseInt(roleId) != cUserInfo.getUserId()){ - ResultVo resultVo = new ResultVo("1038", "该用户无此角色"); - return JsonUtil.getInstence().getGson().toJson(resultVo); + ResultVo resultVo = new ResultVo("1038", "no userInfo"); + return JsonUtil.getInstence().getGson().toJson(resultVo); } - String rewardItems = packageId.replaceAll(",","#").replaceAll(";","|"); +// String rewardItems = packageId.replaceAll(",","#").replaceAll(";","|"); + String rewardItems = getNewRewardItem(packageId); String userAddress = cuserDao.findUserInfo(Integer.parseInt(serverCode), cUserInfo.getUserId()); - LOGGER.info("userAddress : "+ userAddress); + LOGGER.info("userAddress={},rewardItems={} ",userAddress,rewardItems); if (userAddress != null){ String[] split = userAddress.split(":"); String ip = split[0]; @@ -63,14 +64,32 @@ public class SendMailController { LOGGER.info("serviceKey : "+ serviceKey); try { rPCClient = ClientAdapterPo.getClientAdapterPo(serviceKey); - rPCClient.getClient().sendMail(cUserInfo.getUserId(), rewardItems,URLDecoder.decode(title, "UTF-8"),URLDecoder.decode(content, "UTF-8"));//0 充值 1: 邮件奖励 + rPCClient.getClient().sendMail(cUserInfo.getUserId(), rewardItems,URLDecoder.decode(title, "UTF-8"),URLDecoder.decode(content, "UTF-8")); } catch (Exception e) { e.printStackTrace(); } } - ResultVo resultVo = new ResultVo("0000", "发币成功"); + ResultVo resultVo = new ResultVo("0000", "success"); return JsonUtil.getInstence().getGson().toJson(resultVo); } + private String getNewRewardItem(String packageId) { + StringBuilder rewardItems = new StringBuilder(); + String[] split = packageId.split(";"); + for (String string :split){ + String[] split1 = string.split(","); + if (rewardItems.length() == 0){ + rewardItems = new StringBuilder(split1[1] + "#" + split1[2] + "#" + split1[0]); + }else { + rewardItems.append("|").append(split1[1]).append("#").append(split1[2]).append("#").append(split1[0]); + } + } + return rewardItems.toString(); + } + + public static void main (String [] args){ + String s = MD5Util.encrypByMd5("cs1147"+10005616+10212+"TWDK"+"skdfjskfdjslakdfjals"+"1,1001,100;1,1002,1000"+YsjConstant.TW_GameKey); + System.out.println(s); + } } diff --git a/src/main/java/com/jmfy/controller/UserController.java b/src/main/java/com/jmfy/controller/UserController.java index 94ec055..764cd8f 100644 --- a/src/main/java/com/jmfy/controller/UserController.java +++ b/src/main/java/com/jmfy/controller/UserController.java @@ -7,10 +7,12 @@ import com.jmfy.util.YsjConstant; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; +import java.net.URLEncoder; import java.util.ArrayList; import java.util.Enumeration; import java.util.HashMap; @@ -28,7 +30,7 @@ public class UserController { String serverCode = parameterMap.get("serverCode"); String sign = parameterMap.get("sign"); String sig = MD5Util.encrypByMd5(YsjConstant.TW_GameKey + userId + serverCode); - if (sig.equals(sign)){ + if (!sig.equals(sign)){ FindPlayerResult findPlayerResult = new FindPlayerResult("1010","sign derify failed",null); return JsonUtil.getInstence().getGson().toJson(findPlayerResult); } @@ -40,10 +42,14 @@ public class UserController { }else { List playerInfos = new ArrayList<>(); CUser cUser = cuserDao.getCUser(cUserInfo.getUserId(), cUserInfo.getServerid()); - playerInfos.add(new PlayerInfo(cUser.getUserName(),cUser.getLevel(),String.valueOf(cUser.getId()),serverCode)); + playerInfos.add(new PlayerInfo(URLEncoder.encode(cUser.getUserName(), "utf-8"),cUser.getLevel(),String.valueOf(cUser.getId()),serverCode)); FindPlayerResult findPlayerResult = new FindPlayerResult("1000","success",playerInfos); return JsonUtil.getInstence().getGson().toJson(findPlayerResult); } } + public static void main (String [] args){ + String s = MD5Util.encrypByMd5(YsjConstant.TW_GameKey + "cs1147" + 10212); + System.out.println(s); + } } diff --git a/src/main/java/com/jmfy/util/MD5Util.java b/src/main/java/com/jmfy/util/MD5Util.java index 03c1c87..e8c53fe 100644 --- a/src/main/java/com/jmfy/util/MD5Util.java +++ b/src/main/java/com/jmfy/util/MD5Util.java @@ -22,7 +22,7 @@ public class MD5Util { System.out.println("32result: " + buf.toString());// 32位的加密 System.out.println("16result: " + buf.toString().substring(8, 24));// 16位的加密 - return buf.toString(); + return buf.toString().toUpperCase(); } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block