|
|
@@ -57,6 +57,11 @@ public class BytedanceProjectServiceImpl implements IBytedanceProjectService {
|
|
|
Integer code = resultObject.getInteger("code");
|
|
|
if (null == code || !code.equals(0)) {
|
|
|
log.error("获取广告列表接口异常==》accountId:{},message:{},code{}", accountId, resultObject.getString("message"), code);
|
|
|
+ if (code == 40102 && resultObject.getString("message").equals("access_token已过期")) {
|
|
|
+ sendAuthFailure(accountId);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
return;
|
|
|
}
|
|
|
JSONArray data = resultObject.getJSONObject("data").getJSONArray("list");
|
|
|
@@ -88,6 +93,27 @@ public class BytedanceProjectServiceImpl implements IBytedanceProjectService {
|
|
|
Map<Long, JSONObject> projectInfo = getProjectInfo(accountId, token, projectIds, 1);
|
|
|
this.check(accountId, token, promotionList, projectInfo);
|
|
|
}
|
|
|
+ @Override
|
|
|
+ public void sendAuthFailure(Long accountId) {
|
|
|
+ String redisKey = "sendAuthFailure_" + accountId;
|
|
|
+ Object o = redisUtil.get(redisKey);
|
|
|
+ if (!Check.isNull(o)) {
|
|
|
+ log.info("此账户已进行授权失效通知,此次通知跳过。accountId:{}", accountId);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ StringBuilder text = new StringBuilder();
|
|
|
+ text.append("您的账户ID:");
|
|
|
+ text.append(accountId);
|
|
|
+ text.append("<br/>");
|
|
|
+ text.append("当前授权已失效,无法进行预警和拉取投放数据。");
|
|
|
+ text.append("<br/>");
|
|
|
+ text.append("请及时前往有腾重新进行授权!");
|
|
|
+ List<JSONObject> list = projectListMapper.getLeaderByAccountId(accountId);
|
|
|
+ for (JSONObject object : list) {
|
|
|
+ corpWexinUtils.sendMessageByWeChatId(object, text.toString());
|
|
|
+ }
|
|
|
+ redisUtil.set(redisKey, accountId, 12 * 60 * 60);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
private void check(Long accountId, String token, List<JSONObject> promotionList, Map<Long, JSONObject> projectInfo) {
|