Commit 8ec9d19d by gdj

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

parent 1af52401
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; ...@@ -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.RedisConst;
import com.dji.sample.component.redis.RedisOpsUtils; import com.dji.sample.component.redis.RedisOpsUtils;
import com.dji.sample.component.websocket.service.IWebSocketMessageService; 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.model.dto.DeviceDTO;
import com.dji.sample.manage.service.IDeviceRedisService; import com.dji.sample.manage.service.IDeviceRedisService;
import com.dji.sample.media.model.MediaFileCountDTO; import com.dji.sample.media.model.MediaFileCountDTO;
...@@ -39,6 +41,7 @@ import org.apache.http.HttpStatus; ...@@ -39,6 +41,7 @@ import org.apache.http.HttpStatus;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.messaging.MessageHeaders; import org.springframework.messaging.MessageHeaders;
import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
...@@ -87,6 +90,9 @@ public class FlightTaskServiceImpl extends AbstractWaylineService implements IFl ...@@ -87,6 +90,9 @@ public class FlightTaskServiceImpl extends AbstractWaylineService implements IFl
@Qualifier("mediaServiceImpl") @Qualifier("mediaServiceImpl")
private AbstractMediaService abstractMediaService; private AbstractMediaService abstractMediaService;
@Autowired
private MailUtil mailUtil;
@Scheduled(initialDelay = 10, fixedRate = 5, timeUnit = TimeUnit.SECONDS) @Scheduled(initialDelay = 10, fixedRate = 5, timeUnit = TimeUnit.SECONDS)
public void checkScheduledJob() { public void checkScheduledJob() {
Object jobIdValue = RedisOpsUtils.zGetMin(RedisConst.WAYLINE_JOB_TIMED_EXECUTE); Object jobIdValue = RedisOpsUtils.zGetMin(RedisConst.WAYLINE_JOB_TIMED_EXECUTE);
...@@ -284,10 +290,28 @@ public class FlightTaskServiceImpl extends AbstractWaylineService implements IFl ...@@ -284,10 +290,28 @@ public class FlightTaskServiceImpl extends AbstractWaylineService implements IFl
return HttpResultResponse.error("Failed to create scheduled job."); return HttpResultResponse.error("Failed to create scheduled job.");
} }
} }
// 发送 邮件
this.sendCreatedTaskMail(waylineJob);
return HttpResultResponse.success(); 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 { private Boolean prepareFlightTask(WaylineJobDTO waylineJob) throws SQLException {
// get wayline file // get wayline file
Optional<GetWaylineListResponse> waylineFile = waylineFileService.getWaylineByWaylineId(waylineJob.getWorkspaceId(), waylineJob.getFileId()); 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