Bläddra i källkod

Merge branch 'dev' of GameCenter/game-center into master

zhimo 10 månader sedan
förälder
incheckning
3bae2d955d

+ 6 - 7
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/controller/api/TencentCallbackApi.java

@@ -21,13 +21,12 @@ public class TencentCallbackApi {
     private IGameTencentAppCallbackService gameTencentAppCallbackService;
 
     // https://api.zanxiangwl.com/gameBack/api/tencentCallback/callback
-    // ?click_id=__CLICK_ID__&click_time=__CLICK_TIME__&impressionTime=__IMPRESSION_TIME__&adgroup_id=__ADGROUP_ID__
-    // &dynamicCreativeId=__DYNAMIC_CREATIVE_ID__&marketing_asset_id=__MARKETING_ASSET_ID__&material_package_id=__MATERIAL_PACKAGE_ID__
-    // &ad_platform_type=__AD_PLATFORM_TYPE__&account_id=__ACCOUNT_ID__&agency_id=__AGENCY_ID__&click_sku_id=__CLICK_SKU_ID__&device_os_type=__DEVICE_OS_TYPE__
-    // &process_time=__PROCESS_TIME__&promotedObjectId=__PROMOTED_OBJECT_ID__&request_id=__REQUEST_ID__&impressionId=__IMPRESSION_ID__&muid=__MUID__
-    // &hash_android_id=__HASH_ANDROID_ID__&ip=__IP__&userAgent=__USER_AGENT__&callback=__CALLBACK__&encryptedPositionId=__ENCRYPTED_POSITION_ID__
-    // &ipv6=__IPV6__&hash_oaid=__HASH_OAID__&&caid=__QAID_CAA__&model=__MODEL__&ipMd5=__IP_MD5__&ipv6Md5=__IPV6_MD5__
-    // &channelPackageId=__CHANNEL_PACKAGE_ID__&deviceOsVersion=__DEVICE_OS_VERSION__
+    // ?clickId=__CLICK_ID__&clickTime=__CLICK_TIME__&adgroupId=__ADGROUP_ID__&dynamicCreativeId=__DYNAMIC_CREATIVE_ID__
+    // &marketingAssetId=__MARKETING_ASSET_ID__&materialPackageId=__MATERIAL_PACKAGE_ID__&adPlatformType=__AD_PLATFORM_TYPE__
+    // &accountId=__ACCOUNT_ID__&agencyId=__AGENCY_ID__&clickSkuId=__CLICK_SKU_ID__&deviceOsType=__DEVICE_OS_TYPE__
+    // &processTime=__PROCESS_TIME__&requestId=__REQUEST_ID__&impressionId=__IMPRESSION_ID__&muid=__MUID__
+    // &hashAndroidId=__HASH_ANDROID_ID__&ip=__IP__&userAgent=__USER_AGENT__&callback=__CALLBACK__
+    // &encryptedPositionId=__ENCRYPTED_POSITION_ID__&ipv6=__IPV6__&hashOaid=__HASH_OAID__&&caid=__QAID_CAA__&ipMd5=__IP_MD5__&ipv6Md5=__IPV6_MD5__
     @GetMapping("/callback")
     public ResultVO<Boolean> callback(GameTencentAppCallbackDTO dto) {
         log.info("腾讯监测链接:{}", JsonUtil.toString(dto));

+ 7 - 3
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameOceanengineAppCallbackServiceImpl.java

@@ -43,11 +43,15 @@ implements IGameOceanengineAppCallbackService {
         AgentRpcVO agent = agentRpc.getByByteAccountId(dto.getAdvertiserId()).getData();
         if (agent == null) {
             log.error("头条检测链接数据找不到渠道:{}", JsonUtil.toString(dto));
-            return false;
         }
         GameOceanengineAppCallback appCallback = BeanUtil.copy(dto, GameOceanengineAppCallback.class);
-        appCallback.setAgentKey(agent.getAgentKey());
-        appCallback.setGameId(agent.getGameId());
+        if (agent != null) {
+            appCallback.setAgentKey(agent.getAgentKey());
+            appCallback.setGameId(agent.getGameId());
+        } else {
+            appCallback.setAgentKey("-");
+            appCallback.setGameId(-1L);
+        }
         appCallback.setDay(dto.getTs() == null || dto.getTs() < 1000 ? LocalDate.now() : DateUtil.milliToLocalDateTime(dto.getTs()).toLocalDate());
         save(appCallback);
         try {

+ 7 - 3
game-back/game-back-serve/src/main/java/com/zanxiang/game/back/serve/service/impl/GameTencentAppCallbackServiceImpl.java

@@ -44,11 +44,15 @@ implements IGameTencentAppCallbackService {
         AgentRpcVO agent = agentRpc.getByTencentAccountId(dto.getAccountId()).getData();
         if (agent == null) {
             log.error("腾讯检测链接数据找不到渠道:{}", JsonUtil.toString(dto));
-            return false;
         }
         GameTencentAppCallback appCallback = BeanUtil.copy(dto, GameTencentAppCallback.class);
-        appCallback.setAgentKey(agent.getAgentKey());
-        appCallback.setGameId(agent.getGameId());
+        if (agent != null) {
+            appCallback.setAgentKey(agent.getAgentKey());
+            appCallback.setGameId(agent.getGameId());
+        } else {
+            appCallback.setAgentKey("-");
+            appCallback.setGameId(-1L);
+        }
         appCallback.setDay(dto.getClickTime() == null || dto.getClickTime() < 1000 ? LocalDate.now() : DateUtil.milliToLocalDateTime(dto.getClickTime()).toLocalDate());
         save(appCallback);
         try {

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

@@ -23,7 +23,7 @@ public class SDKApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(SDKApplication.class, args);
-        System.out.println("赞象SDK服务启动成功 <DUBBO问题重新尝试提交sdk01> ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象SDK服务启动成功 <定位事件回传问题, 增加日志> ( ´・・)ノ(._.`) \n" +
                 " ___________ _   __\n" +
                 "/  ___|  _  \\ | / /\n" +
                 "\\ `--.| | | | |/ / \n" +

+ 4 - 1
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/controller/CallBackController.java

@@ -5,6 +5,7 @@ import com.zanxiang.game.module.sdk.pojo.param.CallBackControlParam;
 import com.zanxiang.game.module.sdk.pojo.param.UserData;
 import com.zanxiang.game.module.sdk.service.ICallBackService;
 import com.zanxiang.game.module.sdk.service.IGameService;
+import com.zanxiang.module.util.JsonUtil;
 import com.zanxiang.module.util.pojo.ResultVO;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -45,6 +46,8 @@ public class CallBackController {
     @PostMapping("/call/judge")
     @ApiResponses(value = {@ApiResponse(code = 200, message = "成功", response = Boolean.class)})
     public ResultVO<Map<String, Object>> callBackJudge(@Validated @RequestBody CallBackControlParam param, @ValidLogin UserData userData) {
-        return ResultVO.ok(callBackService.callBackJudge(param, userData));
+        ResultVO<Map<String, Object>> ok = ResultVO.ok(callBackService.callBackJudge(param, userData));
+        log.error("事件回传判断结果, param : {}, 返回结果 ok : {}", JsonUtil.toString(param), JsonUtil.toString(ok));
+        return ok;
     }
 }

+ 11 - 12
game-module/game-module-sdk/src/main/java/com/zanxiang/game/module/sdk/service/impl/CallBackServiceImpl.java

@@ -79,13 +79,23 @@ public class CallBackServiceImpl implements ICallBackService {
 
     @Override
     public Map<String, Object> callBackJudge(CallBackControlParam param, UserData userData) {
-        log.error("事件回传判断, param : {},  userData : {}", JsonUtil.toString(param), JsonUtil.toString(userData));
+        log.error("事件回传判断请求, param : {},  userData : {}", JsonUtil.toString(param), JsonUtil.toString(userData));
         Map<String, Object> resultMap = new HashMap<>(7);
         resultMap.put("callBackTypeEnum", param.getCallBackTypeEnum().getValue());
         resultMap.put("userId", userData.getUserId());
         resultMap.put("gameId", userData.getGameId());
         //事件类型枚举
         CallBackTypeEnum callBackTypeEnum = param.getCallBackTypeEnum();
+        Game game = gameService.getById(userData.getGameId());
+        //判断游戏状态, 对接上包过程中, 全量回传
+        if (Objects.equals(game.getStatus(), 2)) {
+            resultMap.put("callBack", Boolean.TRUE);
+            if (Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_PAY_ORDER)) {
+                PlatformOrderDTO platformOrderDTO = orderService.getByOrderId(param.getOrderId());
+                resultMap.put("amount", platformOrderDTO.getAmount());
+            }
+            return resultMap;
+        }
         //线程锁
         String lockKey = RedisKeyConstant.CALL_BACK_JUDGE_LOCK + callBackTypeEnum.getValue() + "_" + userData.getUserId();
         if (Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_ACTIVATE)) {
@@ -100,16 +110,6 @@ public class CallBackServiceImpl implements ICallBackService {
             resultMap.put("callBack", Boolean.FALSE);
             return resultMap;
         }
-        Game game = gameService.getById(userData.getGameId());
-        //判断游戏状态, 对接上包过程中, 全量回传
-        if (Objects.equals(game.getStatus(), 2)) {
-            resultMap.put("callBack", Boolean.TRUE);
-            if (Objects.equals(callBackTypeEnum, CallBackTypeEnum.CALL_BACK_PAY_ORDER)) {
-                PlatformOrderDTO platformOrderDTO = orderService.getByOrderId(param.getOrderId());
-                resultMap.put("amount", platformOrderDTO.getAmount());
-            }
-            return resultMap;
-        }
         //查询玩家
         User user = userService.getById(userData.getUserId());
         //不存在渠道
@@ -127,7 +127,6 @@ public class CallBackServiceImpl implements ICallBackService {
             resultMap.put("callBack", Boolean.FALSE);
         }
         //返回结果
-        log.error("事件回传判断, param : {}, 返回结果 resultMap : {}", JsonUtil.toString(param), JsonUtil.toString(resultMap));
         return resultMap;
     }