From 3b8cddd2ec71e6945c205b4ecdfede63bcb02f50 Mon Sep 17 00:00:00 2001 From: cengy Date: Wed, 2 Apr 2025 09:36:36 +0800 Subject: [PATCH] =?UTF-8?q?fix(game):=20=E4=BF=AE=E5=A4=8D=E6=AF=8F?= =?UTF-8?q?=E6=97=A5=E6=B8=B8=E6=88=8F=E6=8E=A5=E5=8F=A3=E8=B0=83=E7=94=A8?= =?UTF-8?q?=E8=B7=AF=E5=BE=84=E5=92=8C=E7=AD=BE=E5=90=8D=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 在 MeiTianClient 中添加斜杠以匹配服务端路径 - 修改签名逻辑为服务端 key 加密原文本,确保与服务端保持一致 --- .../java/com/ff/game/api/meitian/client/MeiTianClient.java | 2 +- .../com/ff/game/api/meitian/impl/MeiTianGameServiceImpl.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ff-game/src/main/java/com/ff/game/api/meitian/client/MeiTianClient.java b/ff-game/src/main/java/com/ff/game/api/meitian/client/MeiTianClient.java index c785d98..e712c0e 100644 --- a/ff-game/src/main/java/com/ff/game/api/meitian/client/MeiTianClient.java +++ b/ff-game/src/main/java/com/ff/game/api/meitian/client/MeiTianClient.java @@ -148,7 +148,7 @@ public interface MeiTianClient { * @param data * @return {@link MeiTianGameRecordDetailDTO} */ - @Post("dg/player/playCheckUrl/{merchantId}/{code}/{data}") + @Post("/dg/player/playCheckUrl/{merchantId}/{code}/{data}") MeiTianGameRecordDetailDTO getGameDetail( @Var("merchantId") String merchantId, @Var("code") String code, diff --git a/ff-game/src/main/java/com/ff/game/api/meitian/impl/MeiTianGameServiceImpl.java b/ff-game/src/main/java/com/ff/game/api/meitian/impl/MeiTianGameServiceImpl.java index 03c2bd3..fe60da4 100644 --- a/ff-game/src/main/java/com/ff/game/api/meitian/impl/MeiTianGameServiceImpl.java +++ b/ff-game/src/main/java/com/ff/game/api/meitian/impl/MeiTianGameServiceImpl.java @@ -608,12 +608,12 @@ public class MeiTianGameServiceImpl implements IGamesService { String rawData = JSON.toJSONString(rawMap); String data = null; try { - data = Base64.encode(rawData.getBytes("UTF-8")); + data = Base64.encode(rawData.getBytes(StandardCharsets.UTF_8)); } catch (Exception e) { log.error("[MeiTian] encode rawData failure", e); throw new ApiException(ErrorCode.ERROR.getCode()); } - String code = Md5Utils.md5New(data + key); + String code = Md5Utils.md5New(key + rawData); MeiTianGameRecordDetailDTO responseDTO = meiTianClient.getGameDetail(merchantId, code, data); //判断是否获取成功