|
@@ -55,10 +55,7 @@ public class ByteDanceHourlyAccountWarningServiceImpl implements IByteDanceHourl
|
|
if (Check.isNull(userAllocation)) {
|
|
if (Check.isNull(userAllocation)) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
-
|
|
|
|
Project project = projectService.getById(userAllocation.getProjectId());
|
|
Project project = projectService.getById(userAllocation.getProjectId());
|
|
-
|
|
|
|
-
|
|
|
|
if (userAllocation.getAccountStatus() == 1) {
|
|
if (userAllocation.getAccountStatus() == 1) {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
@@ -73,7 +70,7 @@ public class ByteDanceHourlyAccountWarningServiceImpl implements IByteDanceHourl
|
|
BigDecimal subtract = nowCost.subtract(lastHourCost);
|
|
BigDecimal subtract = nowCost.subtract(lastHourCost);
|
|
BigDecimal divide = nowCost.divide(lastHourCost, 2, RoundingMode.HALF_UP);
|
|
BigDecimal divide = nowCost.divide(lastHourCost, 2, RoundingMode.HALF_UP);
|
|
if (subtract.compareTo(warningAmount) > -1 && divide.compareTo(warningProportion) > -1) {
|
|
if (subtract.compareTo(warningAmount) > -1 && divide.compareTo(warningProportion) > -1) {
|
|
- sendMessage(accountId, userAllocation.getAuthName(), maxHour, cost, userAllocation.getProjectId(), project.getProjectName());
|
|
|
|
|
|
+ sendMessage(accountId, userAllocation.getAuthName(), maxHour, cost, userAllocation.getProjectId(), project.getProjectName(),userAllocation.getUserName());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -85,7 +82,7 @@ public class ByteDanceHourlyAccountWarningServiceImpl implements IByteDanceHourl
|
|
BigDecimal subtract = nowCost.subtract(yesterdayHourCost);
|
|
BigDecimal subtract = nowCost.subtract(yesterdayHourCost);
|
|
BigDecimal divide = nowCost.divide(yesterdayHourCost, 2, RoundingMode.HALF_UP);
|
|
BigDecimal divide = nowCost.divide(yesterdayHourCost, 2, RoundingMode.HALF_UP);
|
|
if (subtract.compareTo(warningAmount) > -1 && divide.compareTo(warningProportion) > -1) {
|
|
if (subtract.compareTo(warningAmount) > -1 && divide.compareTo(warningProportion) > -1) {
|
|
- sendYesterdayMessage(accountId, userAllocation.getAuthName(), maxHour, cost, userAllocation.getProjectId(), project.getProjectName());
|
|
|
|
|
|
+ sendYesterdayMessage(accountId, userAllocation.getAuthName(), maxHour, cost, userAllocation.getProjectId(), project.getProjectName(),userAllocation.getUserName());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -95,77 +92,31 @@ public class ByteDanceHourlyAccountWarningServiceImpl implements IByteDanceHourl
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- private void sendYesterdayMessage(Long accountId, String authName, Integer maxHour, BigDecimal nowCost, Long projectId, String projectName) {
|
|
|
|
|
|
+ private void sendYesterdayMessage(Long accountId, String authName, Integer maxHour, BigDecimal nowCost, Long projectId, String projectName,String userName) {
|
|
StringBuilder text = new StringBuilder();
|
|
StringBuilder text = new StringBuilder();
|
|
text.append("较昨日同时段消耗预警").append("<br/>")
|
|
text.append("较昨日同时段消耗预警").append("<br/>")
|
|
.append("您的项目:" + projectName + "下的,").append("<br/>")
|
|
.append("您的项目:" + projectName + "下的,").append("<br/>")
|
|
.append("账号:").append(accountId + ",").append("授权名称为:" + authName).append("<br/>")
|
|
.append("账号:").append(accountId + ",").append("授权名称为:" + authName).append("<br/>")
|
|
|
|
+ .append("账户所属人:" + userName).append("<br/>")
|
|
.append("相较于昨日 " + maxHour + "时").append("<br/>")
|
|
.append("相较于昨日 " + maxHour + "时").append("<br/>")
|
|
.append("出现消耗暴涨,").append("消耗金额为:" + nowCost).append("<br/>")
|
|
.append("出现消耗暴涨,").append("消耗金额为:" + nowCost).append("<br/>")
|
|
.append("请您及时查看!");
|
|
.append("请您及时查看!");
|
|
- QueryWrapper<MailLog> queryWrapper = new QueryWrapper<>();
|
|
|
|
- queryWrapper.eq("account_id", accountId);
|
|
|
|
- queryWrapper.eq("hour", maxHour);
|
|
|
|
- queryWrapper.eq("mail_type", 3);
|
|
|
|
- queryWrapper.orderByDesc("create_time");
|
|
|
|
- queryWrapper.last("limit 1");
|
|
|
|
- MailLog checkMailLog = mailLogMapper.selectOne(queryWrapper);
|
|
|
|
- if (Check.isNull(checkMailLog)) {
|
|
|
|
- List<String> mailList = mailLogMapper.selectMailList(projectId);
|
|
|
|
- String subject = "头条-较昨日同时段账户消耗预警";
|
|
|
|
- try {
|
|
|
|
- SendMailUtil.sendMail(mailList, subject, text.toString());
|
|
|
|
- MailLog mailLog = new MailLog();
|
|
|
|
- mailLog.setAccountId(accountId);
|
|
|
|
- mailLog.setMailType(3);
|
|
|
|
- mailLog.setHour(maxHour);
|
|
|
|
- mailLog.setContent(text.toString());
|
|
|
|
- mailLog.setSendEmil(JSON.toJSONString(mailList));
|
|
|
|
- mailLog.setSubject(subject);
|
|
|
|
- mailLogMapper.insert(mailLog);
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- e.printStackTrace();
|
|
|
|
- }
|
|
|
|
- List<JSONObject> wexinIds = mailLogMapper.selectWeiXinIdList(projectId);
|
|
|
|
|
|
+ List<JSONObject> wexinIds = mailLogMapper.selectBytaDanceWeiXinIdListByAccountId(accountId);
|
|
corpWexinUtils.sendMessage(wexinIds, text.toString());
|
|
corpWexinUtils.sendMessage(wexinIds, text.toString());
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
|
|
- private void sendMessage(Long accountId, String authName, Integer hour, BigDecimal amount, Long projectId, String projectName) {
|
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ private void sendMessage(Long accountId, String authName, Integer hour, BigDecimal amount, Long projectId, String projectName,String userName) {
|
|
StringBuilder text = new StringBuilder();
|
|
StringBuilder text = new StringBuilder();
|
|
text.append("较上时段消耗预警").append("<br/>")
|
|
text.append("较上时段消耗预警").append("<br/>")
|
|
.append("您的项目:" + projectName + " 下的").append("<br/>")
|
|
.append("您的项目:" + projectName + " 下的").append("<br/>")
|
|
.append("账号:").append(accountId + ",").append("授权名称为:" + authName).append("<br/>")
|
|
.append("账号:").append(accountId + ",").append("授权名称为:" + authName).append("<br/>")
|
|
|
|
+ .append("账户所属人:" + userName).append("<br/>")
|
|
.append(hour + " 时").append("相较于 " + (hour - 1) + " 时").append("<br/>")
|
|
.append(hour + " 时").append("相较于 " + (hour - 1) + " 时").append("<br/>")
|
|
.append("出现消耗暴涨,").append("消耗金额为:" + amount).append("<br/>")
|
|
.append("出现消耗暴涨,").append("消耗金额为:" + amount).append("<br/>")
|
|
.append("请您及时查看!");
|
|
.append("请您及时查看!");
|
|
|
|
|
|
- QueryWrapper<MailLog> queryWrapper = new QueryWrapper<>();
|
|
|
|
- queryWrapper.eq("account_id", accountId);
|
|
|
|
- queryWrapper.eq("hour", hour);
|
|
|
|
- queryWrapper.eq("mail_type", 2);
|
|
|
|
- queryWrapper.orderByDesc("create_time");
|
|
|
|
- queryWrapper.last("limit 1");
|
|
|
|
- MailLog checkMailLog = mailLogMapper.selectOne(queryWrapper);
|
|
|
|
- if (Check.isNull(checkMailLog)) {
|
|
|
|
- List<String> mailList = mailLogMapper.selectMailList(projectId);
|
|
|
|
- String subject = "头条-账户消耗预警";
|
|
|
|
- try {
|
|
|
|
- SendMailUtil.sendMail(mailList, subject, text.toString());
|
|
|
|
- MailLog mailLog = new MailLog();
|
|
|
|
- mailLog.setAccountId(accountId);
|
|
|
|
- mailLog.setMailType(2);
|
|
|
|
- mailLog.setHour(hour);
|
|
|
|
- mailLog.setContent(text.toString());
|
|
|
|
- mailLog.setSendEmil(JSON.toJSONString(mailList));
|
|
|
|
- mailLog.setSubject(subject);
|
|
|
|
- mailLogMapper.insert(mailLog);
|
|
|
|
- } catch (Exception e) {
|
|
|
|
- e.printStackTrace();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- List<JSONObject> wexinIds = mailLogMapper.selectWeiXinIdList(projectId);
|
|
|
|
|
|
+ List<JSONObject> wexinIds = mailLogMapper.selectBytaDanceWeiXinIdListByAccountId(accountId);
|
|
corpWexinUtils.sendMessage(wexinIds, text.toString());
|
|
corpWexinUtils.sendMessage(wexinIds, text.toString());
|
|
}
|
|
}
|
|
|
|
|