Ver Fonte

fix : 小程序监听测试02

bilingfeng há 1 ano atrás
pai
commit
1d426676a3

+ 1 - 1
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/ManageApplication.java

@@ -23,7 +23,7 @@ public class ManageApplication {
 
     public static void main(String[] args) {
         SpringApplication.run(ManageApplication.class, args);
-        System.out.println("赞象Manage服务启动成功 <测试小程序监听1> ( ´・・)ノ(._.`) \n" +
+        System.out.println("赞象Manage服务启动成功 <测试小程序监听2> ( ´・・)ノ(._.`) \n" +
                 "___  ___  ___   _   _   ___  _____  _____ \n" +
                 "|  \\/  | / _ \\ | \\ | | / _ \\|  __ \\|  ___|\n" +
                 "| .  . |/ /_\\ \\|  \\| |/ /_\\ \\ |  \\/| |__  \n" +

+ 45 - 20
game-module/game-module-manage/src/main/java/com/zanxiang/game/module/manage/service/impl/AppletCheckServiceImpl.java

@@ -88,53 +88,77 @@ public class AppletCheckServiceImpl implements IAppletCheckService {
 
     @Override
     public void payApplicationCheck(PayApplication payApplication) {
-//        try {
-//            //更新游戏支付盒子配置
-//            this.gamePayWayUpdate(payApplication);
-//        } catch (Exception e) {
-//            log.error("支付应用异常更新游戏支付盒子失败, appName : {}, e : {}", payApplication.getAppName(), e.getMessage());
-//        }
+        try {
+            //更新游戏支付盒子配置
+            this.gamePayWayUpdate(payApplication);
+        } catch (Exception e) {
+            log.error("支付应用异常更新游戏支付盒子失败, appName : {}, e : {}", payApplication.getAppName(), e.getMessage());
+        }
         try {
             //钉钉通知
             this.sendDingTalkMsg(payApplication);
         } catch (Exception e) {
             log.error("支付应用异常钉钉通知失败, appName : {}, e : {}", payApplication.getAppName(), e.getMessage());
         }
-//        try {
-//            //电话通知
-//            this.sendPhoneTalkMsg(payApplication);
-//        } catch (Exception e) {
-//            log.error("支付应用异常电话通知失败, appName : {}, e : {}", payApplication.getAppName(), e.getMessage());
-//        }
+        try {
+            //电话通知
+            this.sendPhoneTalkMsg(payApplication);
+        } catch (Exception e) {
+            log.error("支付应用异常电话通知失败, appName : {}, e : {}", payApplication.getAppName(), e.getMessage());
+        }
     }
 
     private void gamePayWayUpdate(PayApplication payApplication) {
         //修改支付应用状态
+        log.error("支付应用异常 - 修改支付应用状态, appName : {}", payApplication.getAppName());
         payApplicationService.update(new LambdaUpdateWrapper<PayApplication>()
                 .eq(PayApplication::getAppId, payApplication.getAppId())
                 .set(PayApplication::getStatus, StatusEnum.NO.getCode())
                 .set(PayApplication::getUpdateTime, LocalDateTime.now()));
+
+
         //查询支付应用对应的盒子
         List<PayBox> payBoxList = payBoxService.list(new LambdaQueryWrapper<PayBox>()
-                .eq(PayBox::getAppId, payApplication.getAppId()));
+                .eq(PayBox::getAppId, payApplication.getAppId())
+                .eq(PayBox::getStatus, StatusEnum.YES.getCode()));
         if (CollectionUtils.isEmpty(payBoxList)) {
+            log.error("支付应用异常 - 支付应用不存在相关支付盒子, appName : {}", payApplication.getAppName());
             return;
         }
-        //修改相关支付盒子状态
+        Set<Integer> payBoxIdList = payBoxList.stream().map(PayBox::getId).collect(Collectors.toSet());
+        //修改支付应用相关支付盒子状态
+        log.error("支付应用异常 - 修改支付盒子状态, appName : {}, payBoxIdList : {}", payApplication.getAppName(), payBoxIdList);
         payBoxService.update(new LambdaUpdateWrapper<PayBox>()
-                .eq(PayBox::getAppId, payApplication.getAppId())
+                .in(PayBox::getId, payBoxIdList)
                 .set(PayBox::getStatus, StatusEnum.NO.getCode())
                 .set(PayBox::getUpdateTime, LocalDateTime.now()));
+
+
+        //查询相关盒子被使用到的游戏
+        List<GamePayWay> gamePayWayList = gamePayWayService.list(new LambdaQueryWrapper<GamePayWay>()
+                .in(GamePayWay::getPayBoxId, payBoxIdList));
+        if (CollectionUtils.isEmpty(gamePayWayList)) {
+            log.error("支付应用异常 - 支付应用不存在相关联游戏支付配置, appName : {}", payApplication.getAppName());
+            return;
+        }
         //获取一个能用的支付盒子
         PayBox payBox = payBoxService.getOne(new LambdaQueryWrapper<PayBox>()
                 .eq(PayBox::getType, payApplication.getType())
                 .eq(PayBox::getStatus, StatusEnum.YES.getCode())
                 .last("limit 1"));
+        if (payBox == null) {
+            log.error("支付应用异常 - 不存在正常可用的支付盒子, appName : {}", payApplication.getAppName());
+            return;
+        }
+        //相关游戏支付配置id列表
+        Set<Long> gamePayWayIdSet = gamePayWayList.stream().map(GamePayWay::getId).collect(Collectors.toSet());
         //修改游戏支付配置
-        gamePayWayService.update(new LambdaUpdateWrapper<GamePayWay>()
-                .in(GamePayWay::getPayBoxId, payBoxList)
-                .set(GamePayWay::getPayBoxId, payBox.getId())
-                .set(GamePayWay::getUpdateTime, LocalDateTime.now()));
+        log.error("支付应用异常 - 修改游戏支付配置, appName : {}, gamePayWayIdSet : {}, payBoxId : {}", payApplication.getAppName(),
+                gamePayWayIdSet, payBox.getId());
+//        gamePayWayService.update(new LambdaUpdateWrapper<GamePayWay>()
+//                .in(GamePayWay::getId, gamePayWayIdSet)
+//                .set(GamePayWay::getPayBoxId, payBox.getId())
+//                .set(GamePayWay::getUpdateTime, LocalDateTime.now()));
     }
 
     private void sendDingTalkMsg(PayApplication payApplication) {
@@ -142,7 +166,7 @@ public class AppletCheckServiceImpl implements IAppletCheckService {
         if (CollectionUtils.isEmpty(listenCallList)) {
             return;
         }
-        String content = "小程序 : " + payApplication.getAppName() + " 可能被封停或者禁用, 请注意验证";
+        String content = "小程序 : <" + payApplication.getAppName() + "> 可能被封停或者禁用, 请注意验证";
         Set<Long> userIdSet = listenCallList.stream().map(ListenCall::getUserId).collect(Collectors.toSet());
         userIdSet.forEach(userId -> dingTalkMsgRpc.sendByUserId(userId, content));
     }
@@ -181,6 +205,7 @@ public class AppletCheckServiceImpl implements IAppletCheckService {
         try {
             // 带参POST请求
             String result = HttpUtil.post(host, JsonUtil.toString(paramMap));
+            log.error("小程序接口监测结果, result : {}", result);
             if (Strings.isNotBlank(result) && result.contains("errcode")) {
                 return Boolean.FALSE;
             }