Commit 34b3c107 by gdj

增加任务创建发送邮件功能。

parent 6d21bbbf
package com.dji.sample.mail.util;
/**
* @author guan
*/
public class MailTemplateUtil {
public static String buildTaskCreatedTemplate(String taskName, String creator) {
return "<h3>任务已创建</h3>" +
"<p>任务名称:" + taskName + "</p>" +
"<p>创建人:" + creator + "</p>";
}
public String buildTaskCompletedTemplate(String taskName, String finisher) {
return "<h3>任务已完成</h3>" +
"<p>任务名称:" + taskName + "</p>" +
"<p>完成者:" + finisher + "</p>";
}
public static String[] getSendTo() {
return new String[] {"lhlau@pland.gov.hk",
"kingcheungchow@td.gov.hk",
"frankielftai@td.gov.hk",
"hps@mardep.gov.hk",
"kennethleung@ofca.gov.hk",
"andrealau@ofca.gov.hk",
"chanmanting@emsd.gov.hk",
"vanessayau@emsd.gov.hk",
"cip-3-kps-meb@police.gov.hk",
"ip-sip-3-kps-meb@police.gov.hk"};
}
}
......@@ -6,6 +6,8 @@ import com.dji.sample.component.mqtt.model.EventsReceiver;
import com.dji.sample.component.redis.RedisConst;
import com.dji.sample.component.redis.RedisOpsUtils;
import com.dji.sample.component.websocket.service.IWebSocketMessageService;
import com.dji.sample.mail.util.MailTemplateUtil;
import com.dji.sample.mail.util.MailUtil;
import com.dji.sample.manage.model.dto.DeviceDTO;
import com.dji.sample.manage.service.IDeviceRedisService;
import com.dji.sample.media.model.MediaFileCountDTO;
......@@ -39,6 +41,7 @@ import org.apache.http.HttpStatus;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.messaging.MessageHeaders;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
......@@ -87,6 +90,9 @@ public class FlightTaskServiceImpl extends AbstractWaylineService implements IFl
@Qualifier("mediaServiceImpl")
private AbstractMediaService abstractMediaService;
@Autowired
private MailUtil mailUtil;
@Scheduled(initialDelay = 10, fixedRate = 5, timeUnit = TimeUnit.SECONDS)
public void checkScheduledJob() {
Object jobIdValue = RedisOpsUtils.zGetMin(RedisConst.WAYLINE_JOB_TIMED_EXECUTE);
......@@ -284,10 +290,28 @@ public class FlightTaskServiceImpl extends AbstractWaylineService implements IFl
return HttpResultResponse.error("Failed to create scheduled job.");
}
}
// 发送 邮件
this.sendCreatedTaskMail(waylineJob);
return HttpResultResponse.success();
}
@Async
public void sendCreatedTaskMail(WaylineJobDTO waylineJob) {
// 获取当前 设备 相关人员
String[] emailSender = MailTemplateUtil.getSendTo();
// 获取邮件
String subject = "Geofly task created email";
// 生成邮件数据
String content = MailTemplateUtil.buildTaskCreatedTemplate(waylineJob.getJobName(), waylineJob.getUsername());
// 发送邮件
for (String to : emailSender) {
mailUtil.sendMail(to, subject, content);
}
}
private Boolean prepareFlightTask(WaylineJobDTO waylineJob) throws SQLException {
// get wayline file
Optional<GetWaylineListResponse> waylineFile = waylineFileService.getWaylineByWaylineId(waylineJob.getWorkspaceId(), waylineJob.getFileId());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment