Prechádzať zdrojové kódy

fix : 解决鸿蒙系统米大师兼容性问题

bilingfeng 2 mesiacov pred
rodič
commit
bdcb909901

+ 5 - 0
game-module/game-module-base/src/main/java/com/zanxiang/game/module/base/pojo/enums/OsEnum.java

@@ -39,6 +39,11 @@ public enum OsEnum {
      */
     SYSTEM_LINUX(5, "linux", "linux操作系统"),
 
+    /**
+     * 华为 OpenHarmony 系统
+     */
+    SYSTEM_OHOS(6, "ohos", "华为鸿蒙系统"),
+
     /**
      * 前端开发工具
      */

+ 1 - 1
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/SDKApplication.java

@@ -25,7 +25,7 @@ public class SDKApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(SDKApplication.class, args);
-        System.out.println("赞象SDK服务启动成功 <新增IP解析任务队列02> ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象SDK服务启动成功 <解决鸿蒙系统米大师兼容性问题> ( ´・・)ノ(._.`) \n" +
                 " ___________ _   __\n" +
                 "/  ___|  _  \\ | / /\n" +
                 "\\ `--.| | | | |/ / \n" +

+ 4 - 1
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/service/impl/OrderPayServiceImpl.java

@@ -160,7 +160,9 @@ public class OrderPayServiceImpl implements IOrderPayService {
         GamePayWayDTO gamePayWayDTO = null;
         //android用户, 游戏适配米大师支付
         if (Objects.equals(userData.getDeviceSystem(), OsEnum.SYSTEM_ANDROID.getOs())
-                || Objects.equals(userData.getDeviceSystem(), OsEnum.SYSTEM_WINDOW.getOs())) {
+                || Objects.equals(userData.getDeviceSystem(), OsEnum.SYSTEM_WINDOW.getOs())
+                || Objects.equals(userData.getDeviceSystem(), OsEnum.SYSTEM_OHOS.getOs())
+        ) {
             gamePayWayDTO = gamePayWayList.stream().filter(gamePayWay ->
                     Objects.equals(gamePayWay.getPayDeviceId(), PayDeviceEnum.MI_PAY.getPayDeviceId()))
                     .findFirst().orElse(null);
@@ -269,6 +271,7 @@ public class OrderPayServiceImpl implements IOrderPayService {
             if (Objects.equals(userData.getDeviceSystem(), OsEnum.SYSTEM_ANDROID.getOs())
                     || Objects.equals(userData.getDeviceSystem(), OsEnum.SYSTEM_WINDOW.getOs())
                     || Objects.equals(userData.getDeviceSystem(), OsEnum.SYSTEM_DEVTOOLS.getOs())
+                    || Objects.equals(userData.getDeviceSystem(), OsEnum.SYSTEM_OHOS.getOs())
             ) {
                 result = wxApiService.checkSessionKey(userData.getGameId(), user.getOpenId(), user.getSessionKey());
             }

+ 5 - 2
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/service/pay/AliPayService.java

@@ -218,7 +218,9 @@ public class AliPayService extends PayBaseService {
         payParamMap.put("orderId", product.getOutTradeNo());
         //非手机系统, 不走deepLink
         if (!product.getDeviceSystem().contains(OsEnum.SYSTEM_ANDROID.getOs())
-                && !product.getDeviceSystem().contains(OsEnum.SYSTEM_IOS.getOs())) {
+                && !product.getDeviceSystem().contains(OsEnum.SYSTEM_OHOS.getOs())
+                && !product.getDeviceSystem().contains(OsEnum.SYSTEM_IOS.getOs())
+        ) {
             payParamMap.put("data", body);
             return payParamMap;
         }
@@ -254,7 +256,8 @@ public class AliPayService extends PayBaseService {
         Map<String, String> deepLinkParamMap = this.deepLinkParamMap(mobileClientUrl);
         deepLinkAndroid += URIUtil.encodeURIComponent(deepLinkParamMap.get("dataString"), UTF8);
         deepLinkIos += URIUtil.encodeURIComponent(JsonUtil.toString(deepLinkParamMap), UTF8);
-        return Objects.equals(deviceSystem, OsEnum.SYSTEM_ANDROID.getOs()) ? deepLinkAndroid : deepLinkIos;
+        return Objects.equals(deviceSystem, OsEnum.SYSTEM_ANDROID.getOs())
+                || Objects.equals(deviceSystem, OsEnum.SYSTEM_OHOS.getOs()) ? deepLinkAndroid : deepLinkIos;
     }
 
     private Map<String, String> deepLinkParamMap(String mobileClientUrl) {