|
@@ -33,6 +33,7 @@ import org.springframework.web.client.RestTemplate;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.LocalDateTime;
|
|
|
import java.util.*;
|
|
|
+import java.util.function.Function;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
@@ -71,35 +72,40 @@ public class AppletCheckServiceImpl implements IAppletCheckService {
|
|
|
return;
|
|
|
}
|
|
|
payApplicationList.forEach(payApplication -> {
|
|
|
- String accessToken = wxApiServiceRpc.getAccessToken(payApplication.getAppId(), payApplication.getAppSecret());
|
|
|
- boolean checkResult = this.appletCheck(accessToken);
|
|
|
- if (checkResult) {
|
|
|
- return;
|
|
|
+ String accessToken = null;
|
|
|
+ try {
|
|
|
+ accessToken = wxApiServiceRpc.getAccessToken(payApplication.getAppId(), payApplication.getAppSecret());
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("获取小程序token异常, appName : {}, e : {}", payApplication.getAppName(), e.getMessage());
|
|
|
+ }
|
|
|
+ log.error("小程序监测获取token, appName : {}, accessToken : {}", payApplication.getAppName(), accessToken);
|
|
|
+ if (Strings.isBlank(accessToken) || !this.appletCheck(accessToken)) {
|
|
|
+ log.error("小程序判定封停, appName : {}", payApplication.getAppName());
|
|
|
+ this.payApplicationCheck(payApplication);
|
|
|
}
|
|
|
- this.payApplicationCheck(payApplication);
|
|
|
});
|
|
|
}
|
|
|
|
|
|
@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) {
|
|
@@ -132,7 +138,7 @@ public class AppletCheckServiceImpl implements IAppletCheckService {
|
|
|
}
|
|
|
|
|
|
private void sendDingTalkMsg(PayApplication payApplication) {
|
|
|
- List<ListenCall> listenCallList = this.callListenUser(payApplication);
|
|
|
+ List<ListenCall> listenCallList = this.callListenUser();
|
|
|
if (CollectionUtils.isEmpty(listenCallList)) {
|
|
|
return;
|
|
|
}
|
|
@@ -142,7 +148,7 @@ public class AppletCheckServiceImpl implements IAppletCheckService {
|
|
|
}
|
|
|
|
|
|
private void sendPhoneTalkMsg(PayApplication payApplication) {
|
|
|
- List<ListenCall> listenCallList = this.callListenUser(payApplication);
|
|
|
+ List<ListenCall> listenCallList = this.callListenUser();
|
|
|
if (CollectionUtils.isEmpty(listenCallList)) {
|
|
|
return;
|
|
|
}
|
|
@@ -151,23 +157,18 @@ public class AppletCheckServiceImpl implements IAppletCheckService {
|
|
|
phoneNumSet.forEach(phoneNum -> this.phoneCall(phoneNum, content));
|
|
|
}
|
|
|
|
|
|
- private List<ListenCall> callListenUser(PayApplication payApplication) {
|
|
|
- //支付应用被使用到的盒子
|
|
|
- List<Integer> payBoxIdList = payBoxService.list(new LambdaQueryWrapper<PayBox>()
|
|
|
- .eq(PayBox::getAppId, payApplication.getAppId())
|
|
|
- ).stream().map(PayBox::getId).collect(Collectors.toList());
|
|
|
- if (CollectionUtils.isEmpty(payBoxIdList)) {
|
|
|
- return Collections.emptyList();
|
|
|
- }
|
|
|
- //盒子被使用到的游戏
|
|
|
- Set<Long> gameIdSet = gamePayWayService.list(new LambdaQueryWrapper<GamePayWay>()
|
|
|
- .in(GamePayWay::getPayBoxId, payBoxIdList)
|
|
|
- ).stream().map(GamePayWay::getGameId).collect(Collectors.toSet());
|
|
|
- if (CollectionUtils.isEmpty(gameIdSet)) {
|
|
|
+ private List<ListenCall> callListenUser() {
|
|
|
+ List<ListenCall> listenCallList = listenCallService.list(new LambdaQueryWrapper<ListenCall>()
|
|
|
+ //todo : 临时调试条件
|
|
|
+ .eq(ListenCall::getUserId, 220L)
|
|
|
+ .eq(ListenCall::getStatus, StatusEnum.YES.getCode()));
|
|
|
+ if (CollectionUtils.isEmpty(listenCallList)) {
|
|
|
return Collections.emptyList();
|
|
|
}
|
|
|
- //游戏关联的监听人员
|
|
|
- return listenCallService.list(new LambdaQueryWrapper<ListenCall>().in(ListenCall::getGameId, gameIdSet));
|
|
|
+ Collection<ListenCall> collection = listenCallList.stream()
|
|
|
+ .collect(Collectors.toMap(ListenCall::getUserId, Function.identity(), (existing, replacement) -> existing))
|
|
|
+ .values();
|
|
|
+ return new ArrayList<>(collection);
|
|
|
}
|
|
|
|
|
|
private boolean appletCheck(String token) {
|