From dfc3db10e90a7d80b0e594e89c5a39c66c8fd71f Mon Sep 17 00:00:00 2001 From: xjs <1294405880@qq.com> Date: Thu, 14 Apr 2022 11:44:34 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E9=82=AE=E4=BB=B6=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/xjs/business/log/RemoteLogFeign.java | 4 + .../com/xjs/business/log/domain/MailLog.java | 41 +++ .../log/factory/RemoteLogFactory.java | 7 + ruoyi-ui/src/api/business/log/maillog.js | 27 ++ .../src/views/business/log/maillog/index.vue | 253 ++++++++++++++++++ .../views/business/log/reptilelog/index.vue | 2 +- .../main/java/com/xjs/annotation/ApiLog.java | 2 +- .../main/java/com/xjs/annotation/MailLog.java | 14 + .../maillog/controller/MailLogController.java | 97 +++++++ .../java/com/xjs/maillog/domain/MailLog.java | 66 +++++ .../com/xjs/maillog/mapper/MailLogMapper.java | 50 ++++ .../xjs/maillog/service/MailLogService.java | 50 ++++ .../service/impl/MailLogServiceImpl.java | 68 +++++ .../resources/mapper/log/MailLogMapper.xml | 46 ++++ .../main/java/com/xjs/aop/MailLogAspect.java | 69 +++++ .../main/java/com/xjs/server/MailServer.java | 2 + .../com/xjs/service/impl/MailServiceImpl.java | 21 +- 17 files changed, 815 insertions(+), 4 deletions(-) create mode 100644 ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/MailLog.java create mode 100644 ruoyi-ui/src/api/business/log/maillog.js create mode 100644 ruoyi-ui/src/views/business/log/maillog/index.vue create mode 100644 xjs-business/xjs-business-common/src/main/java/com/xjs/annotation/MailLog.java create mode 100644 xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/controller/MailLogController.java create mode 100644 xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/domain/MailLog.java create mode 100644 xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/mapper/MailLogMapper.java create mode 100644 xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/service/MailLogService.java create mode 100644 xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/service/impl/MailLogServiceImpl.java create mode 100644 xjs-business/xjs-business-log/src/main/resources/mapper/log/MailLogMapper.xml create mode 100644 xjs-business/xjs-business-warning/src/main/java/com/xjs/aop/MailLogAspect.java diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/RemoteLogFeign.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/RemoteLogFeign.java index 551abd52..7273a3f1 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/RemoteLogFeign.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/RemoteLogFeign.java @@ -3,6 +3,7 @@ package com.xjs.business.log; import com.ruoyi.common.core.constant.ServiceNameConstants; import com.ruoyi.common.core.domain.R; import com.xjs.business.log.domain.ApiLog; +import com.xjs.business.log.domain.MailLog; import com.xjs.business.log.domain.TaskLog; import com.xjs.business.log.domain.WebmagicLog; import com.xjs.business.log.factory.RemoteLogFactory; @@ -37,4 +38,7 @@ public interface RemoteLogFeign { @PostMapping("taskLog/saveForPRC") R saveTaskLog(@RequestBody TaskLog taskLog); + + @PostMapping("maillog/saveForRPC") + R saveMailLog(@RequestBody MailLog mailLog); } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/MailLog.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/MailLog.java new file mode 100644 index 00000000..680d7bb2 --- /dev/null +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/domain/MailLog.java @@ -0,0 +1,41 @@ +package com.xjs.business.log.domain; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + +/** + * 邮件日志实体类 + * @author xiejs + * @since 2022-04-13 + */ +@Data +public class MailLog implements Serializable { + private static final long serialVersionUID = 1L; + + /** 主键id */ + private Long id; + + /** 邮件标题 */ + private String title; + + /** 邮件内容 */ + private String content; + + /** 收件人 */ + private String recipient; + + /** + * 邮件类型 + */ + private String mailType; + + /** 请求时间 */ + private Long requestTime; + + /** + * 创建时间 + */ + private Date createTime; +} diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/factory/RemoteLogFactory.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/factory/RemoteLogFactory.java index b47b847d..4fd453ca 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/factory/RemoteLogFactory.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/xjs/business/log/factory/RemoteLogFactory.java @@ -3,6 +3,7 @@ package com.xjs.business.log.factory; import com.ruoyi.common.core.domain.R; import com.xjs.business.log.RemoteLogFeign; import com.xjs.business.log.domain.ApiLog; +import com.xjs.business.log.domain.MailLog; import com.xjs.business.log.domain.TaskLog; import com.xjs.business.log.domain.WebmagicLog; import org.slf4j.Logger; @@ -48,6 +49,12 @@ public class RemoteLogFactory implements FallbackFactory { log.error("日志模块任务日志服务添加调用失败"); return R.fail("日志模块任务日志服务添加调用失败" + cause.getMessage()); } + + @Override + public R saveMailLog(MailLog mailLog) { + log.error("日志模块邮件日志服务添加调用失败"); + return R.fail("日志模块邮件日志服务添加调用失败" + cause.getMessage()); + } }; } } diff --git a/ruoyi-ui/src/api/business/log/maillog.js b/ruoyi-ui/src/api/business/log/maillog.js new file mode 100644 index 00000000..827d5fd2 --- /dev/null +++ b/ruoyi-ui/src/api/business/log/maillog.js @@ -0,0 +1,27 @@ +import request from '@/utils/request' + + +// 查询邮件日志列表 +export function listMaillog(query) { + return request({ + url: '/log/maillog/list', + method: 'get', + params: query + }) +} + +// 查询邮件日志详细 +export function getMaillog(id) { + return request({ + url: '/log/maillog/' + id, + method: 'get' + }) +} + +// 删除邮件日志 +export function delMaillog(id) { + return request({ + url: '/log/maillog/' + id, + method: 'delete' + }) +} diff --git a/ruoyi-ui/src/views/business/log/maillog/index.vue b/ruoyi-ui/src/views/business/log/maillog/index.vue new file mode 100644 index 00000000..8f62ab34 --- /dev/null +++ b/ruoyi-ui/src/views/business/log/maillog/index.vue @@ -0,0 +1,253 @@ + + + diff --git a/ruoyi-ui/src/views/business/log/reptilelog/index.vue b/ruoyi-ui/src/views/business/log/reptilelog/index.vue index 63fc4fb0..82e11c4a 100644 --- a/ruoyi-ui/src/views/business/log/reptilelog/index.vue +++ b/ruoyi-ui/src/views/business/log/reptilelog/index.vue @@ -210,7 +210,7 @@ export default { /** 查询爬虫日志列表 */ getList() { this.loading = true; - if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) { + if (null != this.daterangeCreateTime && '' !== this.daterangeCreateTime) { this.queryParams.createTime = this.daterangeCreateTime[0]; this.queryParams.endCreateTime = this.daterangeCreateTime[1]; } diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/annotation/ApiLog.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/annotation/ApiLog.java index 6bea6302..8bf5c971 100644 --- a/xjs-business/xjs-business-common/src/main/java/com/xjs/annotation/ApiLog.java +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/annotation/ApiLog.java @@ -6,7 +6,7 @@ import java.lang.annotation.*; /** * 自定义api日志注解 * @author xiejs - * @create 2021-12-26 + * @since 2021-12-26 */ @Target({ ElementType.PARAMETER, ElementType.METHOD }) @Retention(RetentionPolicy.RUNTIME) diff --git a/xjs-business/xjs-business-common/src/main/java/com/xjs/annotation/MailLog.java b/xjs-business/xjs-business-common/src/main/java/com/xjs/annotation/MailLog.java new file mode 100644 index 00000000..4d87ebb7 --- /dev/null +++ b/xjs-business/xjs-business-common/src/main/java/com/xjs/annotation/MailLog.java @@ -0,0 +1,14 @@ +package com.xjs.annotation; + +import java.lang.annotation.*; + +/** + * 自定义邮件日志注解 + * @author xiejs + * @since 2022-04-13 + */ +@Target({ ElementType.PARAMETER, ElementType.METHOD }) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface MailLog { +} diff --git a/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/controller/MailLogController.java b/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/controller/MailLogController.java new file mode 100644 index 00000000..c2d8df7f --- /dev/null +++ b/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/controller/MailLogController.java @@ -0,0 +1,97 @@ +package com.xjs.maillog.controller; + +import com.ruoyi.common.core.domain.R; +import com.ruoyi.common.core.utils.poi.ExcelUtil; +import com.ruoyi.common.core.web.domain.AjaxResult; +import com.ruoyi.common.core.web.page.TableDataInfo; +import com.ruoyi.common.log.annotation.Log; +import com.ruoyi.common.log.enums.BusinessType; +import com.ruoyi.common.security.annotation.RequiresPermissions; +import com.xjs.maillog.domain.MailLog; +import com.xjs.maillog.service.MailLogService; +import com.xjs.validation.group.SelectGroup; +import com.xjs.web.MyBaseController; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +/** + * 邮件日志Controller + * + * @author xiejs + * @since 2022-04-14 + */ +@RestController +@RequestMapping("/maillog") +@Api(tags = "业务模块-邮件日志") +@Transactional +public class MailLogController extends MyBaseController { + + @Autowired + private MailLogService mailLogService; + + //---------------------------远程调用----------------------------------- + + @PostMapping("saveForRPC") + @ApiOperation("保存邮件日志ForRPC") + public R saveMailLog(@RequestBody MailLog mailLog) { + boolean save = mailLogService.save(mailLog); + return save ? R.ok() : R.fail(); + } + + + //---------------------------代码生成----------------------------------- + + /** + * 查询邮件日志列表 + */ + @RequiresPermissions("log:maillog:list") + @GetMapping("/list") + @ApiOperation("查询邮件日志列表") + public TableDataInfo list(@Validated({SelectGroup.class}) MailLog mailLog) { + startPage(); + List list = mailLogService.selectMailLogList(mailLog); + return getDataTable(list); + } + + /** + * 导出邮件日志列表 + */ + @RequiresPermissions("log:maillog:export") + @Log(title = "邮件日志", businessType = BusinessType.EXPORT) + @PostMapping("/export") + @ApiOperation("导出邮件日志列表") + public void export(HttpServletResponse response, MailLog mailLog) { + List list = mailLogService.selectMailLogList(mailLog); + ExcelUtil util = new ExcelUtil(MailLog.class); + util.exportExcel(response, list, "邮件日志数据"); + } + + /** + * 获取邮件日志详细信息 + */ + @RequiresPermissions("log:maillog:query") + @GetMapping(value = "/{id}") + @ApiOperation("获取邮件日志详细信息") + public AjaxResult getInfo(@PathVariable("id") Long id) { + return AjaxResult.success(mailLogService.selectMailLogById(id)); + } + + + /** + * 删除邮件日志 + */ + @RequiresPermissions("log:maillog:remove") + @Log(title = "邮件日志", businessType = BusinessType.DELETE) + @DeleteMapping("/{ids}") + @ApiOperation("删除邮件日志") + public AjaxResult remove(@PathVariable Long[] ids) { + return toAjax(mailLogService.deleteMailLogByIds(ids)); + } +} diff --git a/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/domain/MailLog.java b/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/domain/MailLog.java new file mode 100644 index 00000000..7dd396c3 --- /dev/null +++ b/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/domain/MailLog.java @@ -0,0 +1,66 @@ +package com.xjs.maillog.domain; + +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.TableField; +import com.ruoyi.common.core.annotation.Excel; +import com.xjs.validation.group.SelectGroup; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.Date; + +/** + * 邮件日志对象 + * + * @author xiejs + * @since 2022-04-14 + */ +@Data +public class MailLog implements Serializable { + private static final long serialVersionUID = 1L; + + private Long id; + + /** + * 邮件主题 + */ + @Excel(name = "邮件主题") + @Size(max = 20, message = "请控制邮件主题长度在20字符", groups = { SelectGroup.class}) + private String title; + + /** + * 邮件内容 + */ + @Excel(name = "邮件内容") + @Size(max = 20, message = "请控制邮件内容长度在20字符", groups = { SelectGroup.class}) + private String content; + + /** + * 收件人 + */ + @Excel(name = "收件人") + @Size(max = 20, message = "请控制收件人长度在20字符", groups = { SelectGroup.class}) + private String recipient; + + /** + * 邮件类型 + */ + @Excel(name = "邮件类型") + private String mailType; + + /** + * 请求时间(毫秒) + */ + @Excel(name = "请求时间") + private Long requestTime; + + @Excel(name = "创建时间", dateFormat = "yyyy-MM-dd HH:mm:ss") + @TableField(fill = FieldFill.INSERT) + private Date createTime; + + @TableField(exist = false) + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date endCreateTime; +} diff --git a/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/mapper/MailLogMapper.java b/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/mapper/MailLogMapper.java new file mode 100644 index 00000000..c7cca884 --- /dev/null +++ b/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/mapper/MailLogMapper.java @@ -0,0 +1,50 @@ +package com.xjs.maillog.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.xjs.maillog.domain.MailLog; + +import java.util.List; + +/** + * 邮件日志Mapper接口 + * + * @author xiejs + * @since 2022-04-14 + */ +public interface MailLogMapper extends BaseMapper { + + + //---------------------------代码生成----------------------------------- + + /** + * 查询邮件日志 + * + * @param id 邮件日志主键 + * @return 邮件日志 + */ + public MailLog selectMailLogById(Long id); + + /** + * 查询邮件日志列表 + * + * @param mailLog 邮件日志 + * @return 邮件日志集合 + */ + public List selectMailLogList(MailLog mailLog); + + /** + * 删除邮件日志 + * + * @param id 邮件日志主键 + * @return 结果 + */ + public int deleteMailLogById(Long id); + + /** + * 批量删除邮件日志 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + public int deleteMailLogByIds(Long[] ids); +} diff --git a/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/service/MailLogService.java b/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/service/MailLogService.java new file mode 100644 index 00000000..b2415604 --- /dev/null +++ b/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/service/MailLogService.java @@ -0,0 +1,50 @@ +package com.xjs.maillog.service; + +import com.baomidou.mybatisplus.extension.service.IService; +import com.xjs.maillog.domain.MailLog; + +import java.util.List; + +/** + * 邮件日志Service接口 + * + * @author xiejs + * @since 2022-04-14 + */ +public interface MailLogService extends IService { + + + //---------------------------代码生成----------------------------------- + + /** + * 查询邮件日志 + * + * @param id 邮件日志主键 + * @return 邮件日志 + */ + MailLog selectMailLogById(Long id); + + /** + * 查询邮件日志列表 + * + * @param mailLog 邮件日志 + * @return 邮件日志集合 + */ + List selectMailLogList(MailLog mailLog); + + /** + * 批量删除邮件日志 + * + * @param ids 需要删除的邮件日志主键集合 + * @return 结果 + */ + int deleteMailLogByIds(Long[] ids); + + /** + * 删除邮件日志信息 + * + * @param id 邮件日志主键 + * @return 结果 + */ + int deleteMailLogById(Long id); +} diff --git a/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/service/impl/MailLogServiceImpl.java b/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/service/impl/MailLogServiceImpl.java new file mode 100644 index 00000000..003693ce --- /dev/null +++ b/xjs-business/xjs-business-log/src/main/java/com/xjs/maillog/service/impl/MailLogServiceImpl.java @@ -0,0 +1,68 @@ +package com.xjs.maillog.service.impl; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.xjs.maillog.domain.MailLog; +import com.xjs.maillog.mapper.MailLogMapper; +import com.xjs.maillog.service.MailLogService; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 邮件日志Service业务层处理 + * + * @author xiejs + * @since 2022-04-14 + */ +@Service +public class MailLogServiceImpl extends ServiceImpl implements MailLogService { + @Resource + private MailLogMapper mailLogMapper; + + //---------------------------代码生成----------------------------------- + + /** + * 查询邮件日志 + * + * @param id 邮件日志主键 + * @return 邮件日志 + */ + @Override + public MailLog selectMailLogById(Long id) { + return mailLogMapper.selectMailLogById(id); + } + + /** + * 查询邮件日志列表 + * + * @param mailLog 邮件日志 + * @return 邮件日志 + */ + @Override + public List selectMailLogList(MailLog mailLog) { + return mailLogMapper.selectMailLogList(mailLog); + } + + /** + * 批量删除邮件日志 + * + * @param ids 需要删除的邮件日志主键 + * @return 结果 + */ + @Override + public int deleteMailLogByIds(Long[] ids) { + return mailLogMapper.deleteMailLogByIds(ids); + } + + /** + * 删除邮件日志信息 + * + * @param id 邮件日志主键 + * @return 结果 + */ + @Override + public int deleteMailLogById(Long id) { + return mailLogMapper.deleteMailLogById(id); + } +} diff --git a/xjs-business/xjs-business-log/src/main/resources/mapper/log/MailLogMapper.xml b/xjs-business/xjs-business-log/src/main/resources/mapper/log/MailLogMapper.xml new file mode 100644 index 00000000..1fc4f631 --- /dev/null +++ b/xjs-business/xjs-business-log/src/main/resources/mapper/log/MailLogMapper.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + select id, title, content, recipient, mail_type, request_time, create_time from mail_log + + + + + + + + delete from mail_log where id = #{id} + + + + delete from mail_log where id in + + #{id} + + + diff --git a/xjs-business/xjs-business-warning/src/main/java/com/xjs/aop/MailLogAspect.java b/xjs-business/xjs-business-warning/src/main/java/com/xjs/aop/MailLogAspect.java new file mode 100644 index 00000000..3af9378d --- /dev/null +++ b/xjs-business/xjs-business-warning/src/main/java/com/xjs/aop/MailLogAspect.java @@ -0,0 +1,69 @@ +package com.xjs.aop; + +import cn.hutool.core.date.DateUtil; +import com.xjs.business.log.RemoteLogFeign; +import com.xjs.business.log.domain.MailLog; +import com.xjs.domain.mall.MailBean; +import lombok.extern.log4j.Log4j2; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; + +/** + * 邮件日志切面类 + * @author xiejs + * @since 2022-04-13 + */ +@Component +@Aspect +@Log4j2 +public class MailLogAspect { + + @Autowired + private RemoteLogFeign remoteLogFeign; + + /** + * 声明AOP签名 + */ + @Pointcut("@annotation(com.xjs.annotation.MailLog)") + public void pointcut() { + } + + @Around("pointcut()") + public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable { + //记录时间 + LocalDateTime localDateTime1 = DateUtil.date().toLocalDateTime(); + Object obj = joinPoint.proceed(); + LocalDateTime localDateTime2 = DateUtil.date().toLocalDateTime(); + long between = ChronoUnit.MILLIS.between(localDateTime1, localDateTime2); + + //获取形参 + Object[] args = joinPoint.getArgs(); + for (Object arg : args) { + if (arg instanceof MailBean) { + MailBean mailBean = (MailBean) arg; + + //构建对象 + MailLog mailLog = new MailLog(); + mailLog.setMailType(mailBean.getMailType().getMsg()); + mailLog.setContent(mailBean.getContent()); + mailLog.setTitle(mailBean.getSubject()); + mailLog.setRecipient(mailBean.getRecipient()); + mailLog.setRequestTime(between); + + remoteLogFeign.saveMailLog(mailLog); + } + } + + return obj; + } + + + +} diff --git a/xjs-business/xjs-business-warning/src/main/java/com/xjs/server/MailServer.java b/xjs-business/xjs-business-warning/src/main/java/com/xjs/server/MailServer.java index cc80c358..212b307a 100644 --- a/xjs-business/xjs-business-warning/src/main/java/com/xjs/server/MailServer.java +++ b/xjs-business/xjs-business-warning/src/main/java/com/xjs/server/MailServer.java @@ -1,6 +1,7 @@ package com.xjs.server; import com.ruoyi.common.redis.service.RedisService; +import com.xjs.annotation.MailLog; import com.xjs.domain.mall.MailBean; import lombok.extern.log4j.Log4j2; import org.springframework.beans.factory.annotation.Autowired; @@ -50,6 +51,7 @@ public class MailServer { * * @param mailBean 邮箱实体 */ + @MailLog public Boolean sendMail(MailBean mailBean) { if (redisService.hasKey(MAIL_SENDER)) { diff --git a/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/impl/MailServiceImpl.java b/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/impl/MailServiceImpl.java index 438b8d3f..0a26c6ca 100644 --- a/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/impl/MailServiceImpl.java +++ b/xjs-business/xjs-business-warning/src/main/java/com/xjs/service/impl/MailServiceImpl.java @@ -1,7 +1,10 @@ package com.xjs.service.impl; import com.ruoyi.common.core.constant.HttpStatus; +import com.ruoyi.common.core.constant.SecurityConstants; import com.ruoyi.common.core.domain.R; +import com.ruoyi.system.api.RemoteUserService; +import com.ruoyi.system.api.model.LoginUser; import com.xjs.business.api.RemoteWeatherFeign; import com.xjs.business.api.domain.NowWeather; import com.xjs.domain.mall.MailBean; @@ -14,6 +17,7 @@ import javax.annotation.Resource; /** * 邮件发送service接口实现 + * * @author xiejs * @since 2022-04-13 */ @@ -24,6 +28,10 @@ public class MailServiceImpl implements MailService { private RemoteWeatherFeign remoteWeatherFeign; @Autowired private MailServer mailServer; + @Resource + private RemoteUserService remoteUserService; + + public static final String EMAIL = "1294405880@qq.com"; @Override public Boolean sendWeatherMail() { @@ -35,10 +43,19 @@ public class MailServiceImpl implements MailService { MailBean mailBean = new MailBean(); mailBean.setUserName("用户"); mailBean.setSubject("天气播报"); - mailBean.setRecipient("1294405880@qq.com"); + + //获取管理员邮件 + R admin = remoteUserService.getUserInfo("admin", SecurityConstants.INNER); + if (admin.getCode() == HttpStatus.SUCCESS) { + String email = admin.getData().getSysUser().getEmail(); + mailBean.setRecipient(email); + } else { + mailBean.setRecipient(EMAIL); + } + mailBean.setMailType(MailBean.MailType.HTML); - mailBean.setContent("

当前"+nowWeather.getCity()+"的天气:"+nowWeather.getTemperature()+"℃

"); + mailBean.setContent("

当前" + nowWeather.getCity() + "的天气:" + nowWeather.getTemperature() + "℃,天气状况:" + nowWeather.getWeather() + "

"); return mailServer.sendMail(mailBean); }