Prechádzať zdrojové kódy

简化项目, 更新 notification 模块

reghao 2 rokov pred
rodič
commit
6ea95c88f8
27 zmenil súbory, kde vykonal 29 pridanie a 451 odobranie
  1. 3 3
      manager/src/main/java/cn/reghao/devops/manager/app/service/bd/impl/BuildDeployNotifyImpl.java
  2. 2 2
      manager/src/main/java/cn/reghao/devops/manager/app/service/bd/webhook/WebhookService.java
  3. 0 59
      manager/src/main/java/cn/reghao/devops/manager/home/controller/SysNotifyController.java
  4. 0 97
      manager/src/main/java/cn/reghao/devops/manager/home/controller/page/SysNotifyPageController.java
  5. 3 4
      manager/src/main/java/cn/reghao/devops/manager/notification/NotifyService.java
  6. 0 11
      manager/src/main/java/cn/reghao/devops/manager/notification/db/crud/DingAccountCrud.java
  7. 0 11
      manager/src/main/java/cn/reghao/devops/manager/notification/db/crud/NotifyGroupCrud.java
  8. 0 12
      manager/src/main/java/cn/reghao/devops/manager/notification/db/query/DingAccountQuery.java
  9. 0 23
      manager/src/main/java/cn/reghao/devops/manager/notification/db/query/DingAccountQueryImpl.java
  10. 0 12
      manager/src/main/java/cn/reghao/devops/manager/notification/db/query/NotifyGroupQuery.java
  11. 0 30
      manager/src/main/java/cn/reghao/devops/manager/notification/db/query/NotifyGroupQueryImpl.java
  12. 0 12
      manager/src/main/java/cn/reghao/devops/manager/notification/db/repository/DingAccountRepository.java
  13. 0 12
      manager/src/main/java/cn/reghao/devops/manager/notification/db/repository/NotifyGroupRepository.java
  14. 2 2
      manager/src/main/java/cn/reghao/devops/manager/notification/model/BuildNotifyMsg.java
  15. 2 2
      manager/src/main/java/cn/reghao/devops/manager/notification/model/DeployNotifyMsg.java
  16. 0 19
      manager/src/main/java/cn/reghao/devops/manager/notification/model/po/DingAccount.java
  17. 0 28
      manager/src/main/java/cn/reghao/devops/manager/notification/model/po/NotifyAccount.java
  18. 0 54
      manager/src/main/java/cn/reghao/devops/manager/notification/model/po/NotifyGroup.java
  19. 0 34
      manager/src/main/java/cn/reghao/devops/manager/notification/model/po/NotifyType.java
  20. 1 1
      manager/src/main/java/cn/reghao/devops/manager/notification/notifier/Notify.java
  21. 1 1
      manager/src/main/java/cn/reghao/devops/manager/notification/notifier/NotifyMsg.java
  22. 1 1
      manager/src/main/java/cn/reghao/devops/manager/notification/notifier/ding/DingMsg.java
  23. 2 2
      manager/src/main/java/cn/reghao/devops/manager/notification/notifier/ding/DingNotify.java
  24. 7 8
      manager/src/main/java/cn/reghao/devops/manager/notification/notifier/email/EmailAccount.java
  25. 1 1
      manager/src/main/java/cn/reghao/devops/manager/notification/notifier/email/EmailMsg.java
  26. 2 3
      manager/src/main/java/cn/reghao/devops/manager/notification/notifier/email/EmailNotify.java
  27. 2 7
      manager/src/test/java/AccountTest.java

+ 3 - 3
manager/src/main/java/cn/reghao/devops/manager/app/service/bd/impl/BuildDeployNotifyImpl.java

@@ -5,9 +5,9 @@ import cn.reghao.devops.manager.app.model.po.AppBuilding;
 import cn.reghao.devops.manager.app.model.po.log.BuildLog;
 import cn.reghao.devops.manager.app.model.po.log.DeployLog;
 import cn.reghao.devops.manager.app.service.bd.BuildDeployNotify;
-import cn.reghao.devops.manager.notification.model.vo.BuildNotifyMsg;
-import cn.reghao.devops.manager.notification.model.vo.DeployNotifyMsg;
-import cn.reghao.devops.manager.notification.service.NotifyService;
+import cn.reghao.devops.manager.notification.model.BuildNotifyMsg;
+import cn.reghao.devops.manager.notification.model.DeployNotifyMsg;
+import cn.reghao.devops.manager.notification.NotifyService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 

+ 2 - 2
manager/src/main/java/cn/reghao/devops/manager/app/service/bd/webhook/WebhookService.java

@@ -4,8 +4,8 @@ import cn.reghao.devops.manager.app.db.query.AppConfigQuery;
 import cn.reghao.devops.manager.app.model.po.config.AppConfig;
 import cn.reghao.devops.manager.app.service.bd.BuildApp;
 import cn.reghao.devops.manager.app.service.bd.webhook.event.*;
-import cn.reghao.devops.manager.notification.service.NotifyService;
-import cn.reghao.devops.manager.notification.service.notifier.ding.DingMsg;
+import cn.reghao.devops.manager.notification.NotifyService;
+import cn.reghao.devops.manager.notification.notifier.ding.DingMsg;
 import cn.reghao.jutil.web.ServletUtil;
 import cn.reghao.jutil.jdk.serializer.JsonConverter;
 import com.google.gson.JsonObject;

+ 0 - 59
manager/src/main/java/cn/reghao/devops/manager/home/controller/SysNotifyController.java

@@ -1,59 +0,0 @@
-package cn.reghao.devops.manager.home.controller;
-
-import cn.reghao.devops.manager.notification.model.po.DingAccount;
-import cn.reghao.devops.manager.notification.model.po.NotifyGroup;
-import cn.reghao.devops.manager.notification.db.repository.DingAccountRepository;
-import cn.reghao.devops.manager.notification.db.repository.NotifyGroupRepository;
-import cn.reghao.jutil.jdk.result.WebResult;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.http.MediaType;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.DeleteMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-/**
- * @author reghao
- * @date 2021-04-04 21:24:18
- */
-@Api(tags = "通知接口")
-@RequestMapping("/api/sys/notify")
-@RestController
-public class SysNotifyController {
-    private final DingAccountRepository dingRepository;
-    private final NotifyGroupRepository receiverRepository;
-
-    public SysNotifyController(DingAccountRepository dingRepository, NotifyGroupRepository receiverRepository) {
-        this.dingRepository = dingRepository;
-        this.receiverRepository = receiverRepository;
-    }
-
-    @ApiOperation(value = "添加/修改钉钉通知账户")
-    @PostMapping(value = "/ding", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addDingAccount(@Validated DingAccount dingAccount) {
-        dingRepository.save(dingAccount);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "删除钉钉通知账户")
-    @DeleteMapping(value = "/ding", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deleteDingAccount(@Validated DingAccount dingAccount) {
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "添加/修改通知接收")
-    @PostMapping(value = "/receiver", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String addNotifyReceiver(@Validated NotifyGroup notifyReceiver) {
-        // TODO 检查通知类型和通知账户是否存在
-        receiverRepository.save(notifyReceiver);
-        return WebResult.success();
-    }
-
-    @ApiOperation(value = "删除通知接收")
-    @DeleteMapping(value = "/receiver", produces = MediaType.APPLICATION_JSON_VALUE)
-    public String deleteNotifyReceiver(@Validated NotifyGroup notifyReceiver) {
-        return WebResult.success();
-    }
-}

+ 0 - 97
manager/src/main/java/cn/reghao/devops/manager/home/controller/page/SysNotifyPageController.java

@@ -1,97 +0,0 @@
-package cn.reghao.devops.manager.home.controller.page;
-
-import cn.reghao.devops.manager.app.model.vo.KeyValue;
-import cn.reghao.devops.manager.notification.db.repository.DingAccountRepository;
-import cn.reghao.devops.manager.notification.db.repository.NotifyGroupRepository;
-import cn.reghao.devops.manager.notification.model.po.DingAccount;
-import cn.reghao.devops.manager.notification.model.po.NotifyGroup;
-import cn.reghao.devops.manager.notification.model.po.NotifyType;
-import cn.reghao.devops.manager.util.db.PageList;
-import cn.reghao.devops.manager.util.db.PageSort;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.PageRequest;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2022-09-22 18:24:18
- */
-@Api(tags = "系统通知配置页面")
-@RequestMapping("/sys/notify")
-@Controller
-public class SysNotifyPageController {
-    private final DingAccountRepository dingRepository;
-    private final NotifyGroupRepository receiverRepository;
-
-    public SysNotifyPageController(DingAccountRepository dingRepository, NotifyGroupRepository receiverRepository) {
-        this.dingRepository = dingRepository;
-        this.receiverRepository = receiverRepository;
-    }
-
-    @ApiOperation(value = "钉钉通知配置页面")
-    @GetMapping("/ding")
-    public String dingNotifyConfigPage(Model model) {
-        PageRequest pageRequest = PageSort.pageRequest();
-        Page<DingAccount> page = dingRepository.findAll(pageRequest);
-        PageList<DingAccount> pageList = PageList.pageList(page);
-
-        model.addAttribute("page", page);
-        model.addAttribute("list", pageList.getList());
-        return "/sys/notify/ding";
-    }
-
-    @GetMapping("/ding/add")
-    public String dingNotifyConfigAddPage(Model model) {
-        return "/sys/notify/dingadd";
-    }
-
-    @GetMapping("/ding/edit/{id}")
-    public String dingNotifyConfigEditPage(@PathVariable("id") DingAccount dingAccount, Model model) {
-        model.addAttribute("dingAccount", dingAccount);
-        return "/sys/notify/dingadd";
-    }
-
-    @ApiOperation(value = "全局通知接收配置页面")
-    @GetMapping("/receiver")
-    public String receiverConfigPage(Model model) {
-        PageRequest pageRequest = PageSort.pageRequest();
-        Page<NotifyGroup> page = receiverRepository.findAll(pageRequest);
-        PageList<NotifyGroup> pageList = PageList.pageList(page);
-
-        model.addAttribute("page", page);
-        model.addAttribute("list", pageList.getList());
-        return "/sys/notify/receiver";
-    }
-
-    @GetMapping("/receiver/add")
-    public String receiverConfigAddPage(Model model) {
-        List<KeyValue> notifyTypes = new ArrayList<>();
-        for (NotifyType notifyType : NotifyType.values()) {
-            notifyTypes.add(new KeyValue(notifyType.name(), notifyType.name()));
-        }
-
-        model.addAttribute("notifyTypes", notifyTypes);
-        return "/sys/notify/receiveradd";
-    }
-
-    @GetMapping("/receiver/edit/{id}")
-    public String receiverConfigEditPage(@PathVariable("id") NotifyGroup notifyGroup, Model model) {
-        model.addAttribute("notifyGroup", notifyGroup);
-        return "/sys/notify/receiveradd";
-    }
-
-    @GetMapping("/receiver/{id}/receivers")
-    public String receiversPage(@PathVariable("id") NotifyGroup notifyGroup, Model model) {
-        //model.addAttribute("list", notifyGroup.getReceivers());
-        return "/sys/notify/notifyreceivers";
-    }
-}

+ 3 - 4
manager/src/main/java/cn/reghao/devops/manager/notification/service/NotifyService.java → manager/src/main/java/cn/reghao/devops/manager/notification/NotifyService.java

@@ -1,11 +1,10 @@
-package cn.reghao.devops.manager.notification.service;
+package cn.reghao.devops.manager.notification;
 
 import cn.reghao.devops.manager.config.WebhookProperties;
-import cn.reghao.devops.manager.notification.service.notifier.Notify;
-import cn.reghao.devops.manager.notification.service.notifier.ding.DingMsg;
+import cn.reghao.devops.manager.notification.notifier.Notify;
+import cn.reghao.devops.manager.notification.notifier.ding.DingMsg;
 import cn.reghao.jutil.jdk.thread.ThreadPoolWrapper;
 import lombok.extern.slf4j.Slf4j;
-import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeansException;
 import org.springframework.beans.factory.BeanFactory;
 import org.springframework.beans.factory.BeanFactoryAware;

+ 0 - 11
manager/src/main/java/cn/reghao/devops/manager/notification/db/crud/DingAccountCrud.java

@@ -1,11 +0,0 @@
-package cn.reghao.devops.manager.notification.db.crud;
-
-import cn.reghao.devops.manager.notification.model.po.DingAccount;
-import cn.reghao.jutil.jdk.db.BaseCrud;
-
-/**
- * @author reghao
- * @date 2021-10-25 19:20:39
- */
-public interface DingAccountCrud extends BaseCrud<DingAccount> {
-}

+ 0 - 11
manager/src/main/java/cn/reghao/devops/manager/notification/db/crud/NotifyGroupCrud.java

@@ -1,11 +0,0 @@
-package cn.reghao.devops.manager.notification.db.crud;
-
-import cn.reghao.devops.manager.notification.model.po.NotifyGroup;
-import cn.reghao.jutil.jdk.db.BaseCrud;
-
-/**
- * @author reghao
- * @date 2021-10-25 19:20:53
- */
-public interface NotifyGroupCrud extends BaseCrud<NotifyGroup> {
-}

+ 0 - 12
manager/src/main/java/cn/reghao/devops/manager/notification/db/query/DingAccountQuery.java

@@ -1,12 +0,0 @@
-package cn.reghao.devops.manager.notification.db.query;
-
-import cn.reghao.devops.manager.notification.model.po.DingAccount;
-import cn.reghao.jutil.jdk.db.BaseQuery;
-
-/**
- * @author reghao
- * @date 2021-10-25 19:20:21
- */
-public interface DingAccountQuery extends BaseQuery<DingAccount> {
-    DingAccount findByNotifyAccountId(String notifyAccountId);
-}

+ 0 - 23
manager/src/main/java/cn/reghao/devops/manager/notification/db/query/DingAccountQueryImpl.java

@@ -1,23 +0,0 @@
-package cn.reghao.devops.manager.notification.db.query;
-
-import cn.reghao.devops.manager.notification.db.repository.DingAccountRepository;
-import cn.reghao.devops.manager.notification.model.po.DingAccount;
-import org.springframework.stereotype.Service;
-
-/**
- * @author reghao
- * @date 2021-10-25 19:20:21
- */
-@Service
-public class DingAccountQueryImpl implements DingAccountQuery {
-    private final DingAccountRepository dingAccountRepository;
-
-    public DingAccountQueryImpl(DingAccountRepository dingAccountRepository) {
-        this.dingAccountRepository = dingAccountRepository;
-    }
-
-    @Override
-    public DingAccount findByNotifyAccountId(String notifyAccountId) {
-        return dingAccountRepository.findByNotifyAccountId(notifyAccountId);
-    }
-}

+ 0 - 12
manager/src/main/java/cn/reghao/devops/manager/notification/db/query/NotifyGroupQuery.java

@@ -1,12 +0,0 @@
-package cn.reghao.devops.manager.notification.db.query;
-
-import cn.reghao.devops.manager.notification.model.po.NotifyGroup;
-import cn.reghao.jutil.jdk.db.BaseQuery;
-
-/**
- * @author reghao
- * @date 2021-10-25 16:29:50
- */
-public interface NotifyGroupQuery extends BaseQuery<NotifyGroup> {
-    NotifyGroup findByNotifyAccountId(String notifyAccountId);
-}

+ 0 - 30
manager/src/main/java/cn/reghao/devops/manager/notification/db/query/NotifyGroupQueryImpl.java

@@ -1,30 +0,0 @@
-package cn.reghao.devops.manager.notification.db.query;
-
-import cn.reghao.devops.manager.notification.db.repository.NotifyGroupRepository;
-import cn.reghao.devops.manager.notification.model.po.NotifyGroup;
-import org.springframework.stereotype.Service;
-
-import java.util.List;
-
-/**
- * @author reghao
- * @date 2021-10-25 16:29:50
- */
-@Service
-public class NotifyGroupQueryImpl implements NotifyGroupQuery {
-    private final NotifyGroupRepository notifyGroupRepository;
-
-    public NotifyGroupQueryImpl(NotifyGroupRepository notifyGroupRepository) {
-        this.notifyGroupRepository = notifyGroupRepository;
-    }
-
-    @Override
-    public List<NotifyGroup> findAll() {
-        return notifyGroupRepository.findAll();
-    }
-
-    @Override
-    public NotifyGroup findByNotifyAccountId(String notifyAccountId) {
-        return notifyGroupRepository.findByNotifyAccountId(notifyAccountId);
-    }
-}

+ 0 - 12
manager/src/main/java/cn/reghao/devops/manager/notification/db/repository/DingAccountRepository.java

@@ -1,12 +0,0 @@
-package cn.reghao.devops.manager.notification.db.repository;
-
-import cn.reghao.devops.manager.notification.model.po.DingAccount;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-/**
- * @author reghao
- * @date 2021-05-24 15:20:24
- */
-public interface DingAccountRepository extends JpaRepository<DingAccount, Integer> {
-    DingAccount findByNotifyAccountId(String notifyAccountId);
-}

+ 0 - 12
manager/src/main/java/cn/reghao/devops/manager/notification/db/repository/NotifyGroupRepository.java

@@ -1,12 +0,0 @@
-package cn.reghao.devops.manager.notification.db.repository;
-
-import cn.reghao.devops.manager.notification.model.po.NotifyGroup;
-import org.springframework.data.jpa.repository.JpaRepository;
-
-/**
- * @author reghao
- * @date 2021-05-24 15:20:24
- */
-public interface NotifyGroupRepository extends JpaRepository<NotifyGroup, Integer> {
-    NotifyGroup findByNotifyAccountId(String notifyAccountId);
-}

+ 2 - 2
manager/src/main/java/cn/reghao/devops/manager/notification/model/vo/BuildNotifyMsg.java → manager/src/main/java/cn/reghao/devops/manager/notification/model/BuildNotifyMsg.java

@@ -1,7 +1,7 @@
-package cn.reghao.devops.manager.notification.model.vo;
+package cn.reghao.devops.manager.notification.model;
 
 import cn.reghao.devops.manager.app.model.po.AppBuilding;
-import cn.reghao.devops.manager.notification.service.notifier.ding.DingMsg;
+import cn.reghao.devops.manager.notification.notifier.ding.DingMsg;
 import cn.reghao.jutil.jdk.converter.DateTimeConverter;
 import lombok.Data;
 

+ 2 - 2
manager/src/main/java/cn/reghao/devops/manager/notification/model/vo/DeployNotifyMsg.java → manager/src/main/java/cn/reghao/devops/manager/notification/model/DeployNotifyMsg.java

@@ -1,8 +1,8 @@
-package cn.reghao.devops.manager.notification.model.vo;
+package cn.reghao.devops.manager.notification.model;
 
 import cn.reghao.devops.manager.app.model.po.log.BuildLog;
 import cn.reghao.devops.manager.app.model.po.log.DeployLog;
-import cn.reghao.devops.manager.notification.service.notifier.ding.DingMsg;
+import cn.reghao.devops.manager.notification.notifier.ding.DingMsg;
 import cn.reghao.jutil.jdk.converter.DateTimeConverter;
 import cn.reghao.jutil.jdk.result.ResultStatus;
 import lombok.Data;

+ 0 - 19
manager/src/main/java/cn/reghao/devops/manager/notification/model/po/DingAccount.java

@@ -1,19 +0,0 @@
-package cn.reghao.devops.manager.notification.model.po;
-
-import lombok.*;
-
-import javax.persistence.Entity;
-
-/**
- * 钉钉机器人
- *
- * @author reghao
- * @date 2021-06-23 10:29:18
- */
-@NoArgsConstructor
-@Getter
-@Setter
-@Entity
-public class DingAccount extends NotifyAccount {
-    // 若没有启用签名,password 字段默认为 none
-}

+ 0 - 28
manager/src/main/java/cn/reghao/devops/manager/notification/model/po/NotifyAccount.java

@@ -1,28 +0,0 @@
-package cn.reghao.devops.manager.notification.model.po;
-
-import cn.reghao.devops.manager.util.db.BaseEntity;
-import lombok.Getter;
-import lombok.Setter;
-
-import javax.persistence.MappedSuperclass;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
-
-/**
- * @author reghao
- * @date 2021-06-23 10:31:11
- */
-@MappedSuperclass
-@Setter
-@Getter
-public class NotifyAccount extends BaseEntity {
-    @NotNull
-    @NotBlank(message = "通知账户标识不能为空白字符串")
-    private String notifyAccountId;
-    @NotNull
-    @NotBlank(message = "用户名不能为空白字符串")
-    private String username;
-    @NotNull
-    @NotBlank(message = "用户密码不能为空白字符串")
-    private String password;
-}

+ 0 - 54
manager/src/main/java/cn/reghao/devops/manager/notification/model/po/NotifyGroup.java

@@ -1,54 +0,0 @@
-package cn.reghao.devops.manager.notification.model.po;
-
-import cn.reghao.devops.manager.util.validator.ValidEnum;
-import cn.reghao.devops.manager.util.db.BaseEntity;
-import lombok.*;
-
-import javax.persistence.*;
-import javax.validation.constraints.NotBlank;
-
-/**
- * 通知组
- *
- * @author reghao
- * @date 2020-03-06 21:20:06
- */
-@Getter
-@Setter
-@Entity
-public class NotifyGroup extends BaseEntity {
-    @NotBlank
-    @ValidEnum(value = NotifyType.class, message = "请选择正确的通知类型")
-    private String notifyType;
-    @Column(nullable = false, unique = true)
-    private String notifyAccountId;
-    // TODO 同时会作为 email 的 subject
-    @NotBlank
-    @NotBlank(message = "通知名字不能为空白字符串")
-    private String notifyName;
-    @NotBlank
-    @NotBlank(message = "接收地址不能为空白字符串")
-    private String receiver;
-
-    @Override
-    public int hashCode() {
-        int result = 17;
-        result = result * 31 + notifyType.hashCode();
-        result = result * 31 + notifyAccountId.hashCode();
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object other) {
-        if (other == this) {
-            return true;
-        }
-
-        if (other instanceof NotifyGroup) {
-            NotifyGroup o = (NotifyGroup) other;
-            return o.notifyType.equals(notifyType) && o.notifyAccountId.equals(notifyAccountId);
-        } else {
-            return false;
-        }
-    }
-}

+ 0 - 34
manager/src/main/java/cn/reghao/devops/manager/notification/model/po/NotifyType.java

@@ -1,34 +0,0 @@
-package cn.reghao.devops.manager.notification.model.po;
-
-/**
- * 通知工具类型
- *
- * @author reghao
- * @date 2020-03-01 17:18:53
- */
-public enum NotifyType {
-    webhook(0, "Webhook"),
-    ding(1, "钉钉"),
-    email(2, "邮件"),
-    sms(3, "短信");
-
-    private final Integer code;
-    private final String desc;
-
-    NotifyType(Integer code, String desc) {
-        this.code = code;
-        this.desc = desc;
-    }
-
-    public String getName() {
-        return this.name();
-    }
-
-    public Integer getCode() {
-        return code;
-    }
-
-    public String getDesc() {
-        return desc;
-    }
-}

+ 1 - 1
manager/src/main/java/cn/reghao/devops/manager/notification/service/notifier/Notify.java → manager/src/main/java/cn/reghao/devops/manager/notification/notifier/Notify.java

@@ -1,4 +1,4 @@
-package cn.reghao.devops.manager.notification.service.notifier;
+package cn.reghao.devops.manager.notification.notifier;
 
 /**
  * @author reghao

+ 1 - 1
manager/src/main/java/cn/reghao/devops/manager/notification/service/notifier/NotifyMsg.java → manager/src/main/java/cn/reghao/devops/manager/notification/notifier/NotifyMsg.java

@@ -1,4 +1,4 @@
-package cn.reghao.devops.manager.notification.service.notifier;
+package cn.reghao.devops.manager.notification.notifier;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 1 - 1
manager/src/main/java/cn/reghao/devops/manager/notification/service/notifier/ding/DingMsg.java → manager/src/main/java/cn/reghao/devops/manager/notification/notifier/ding/DingMsg.java

@@ -1,4 +1,4 @@
-package cn.reghao.devops.manager.notification.service.notifier.ding;
+package cn.reghao.devops.manager.notification.notifier.ding;
 
 import lombok.Data;
 

+ 2 - 2
manager/src/main/java/cn/reghao/devops/manager/notification/service/notifier/ding/DingNotify.java → manager/src/main/java/cn/reghao/devops/manager/notification/notifier/ding/DingNotify.java

@@ -1,6 +1,6 @@
-package cn.reghao.devops.manager.notification.service.notifier.ding;
+package cn.reghao.devops.manager.notification.notifier.ding;
 
-import cn.reghao.devops.manager.notification.service.notifier.Notify;
+import cn.reghao.devops.manager.notification.notifier.Notify;
 import cn.reghao.jutil.jdk.http.WebRequest;
 import cn.reghao.jutil.jdk.http.WebResponse;
 import cn.reghao.jutil.jdk.serializer.JsonConverter;

+ 7 - 8
manager/src/main/java/cn/reghao/devops/manager/notification/model/po/EmailAccount.java → manager/src/main/java/cn/reghao/devops/manager/notification/notifier/email/EmailAccount.java

@@ -1,18 +1,17 @@
-package cn.reghao.devops.manager.notification.model.po;
+package cn.reghao.devops.manager.notification.notifier.email;
 
-import lombok.Data;
+import lombok.Getter;
 
 import javax.validation.constraints.NotBlank;
 
 /**
- * TODO 待实现
  * @author reghao
- * @date 2021-06-23 10:29:18
+ * @date 2023-10-30 14:41:19
  */
-@Data
-public class EmailAccount extends NotifyAccount {
-    //private String account;
-    //private String password;
+@Getter
+public class EmailAccount {
+    private String username;
+    private String password;
     // TODO 验证 HTTP 地址格式
     @NotBlank(message = "SMTP 地址不能为空白字符串")
     private String smtp;

+ 1 - 1
manager/src/main/java/cn/reghao/devops/manager/notification/service/notifier/email/EmailMsg.java → manager/src/main/java/cn/reghao/devops/manager/notification/notifier/email/EmailMsg.java

@@ -1,4 +1,4 @@
-package cn.reghao.devops.manager.notification.service.notifier.email;
+package cn.reghao.devops.manager.notification.notifier.email;
 
 import lombok.AllArgsConstructor;
 import lombok.Data;

+ 2 - 3
manager/src/main/java/cn/reghao/devops/manager/notification/service/notifier/email/EmailNotify.java → manager/src/main/java/cn/reghao/devops/manager/notification/notifier/email/EmailNotify.java

@@ -1,7 +1,6 @@
-package cn.reghao.devops.manager.notification.service.notifier.email;
+package cn.reghao.devops.manager.notification.notifier.email;
 
-import cn.reghao.devops.manager.notification.model.po.EmailAccount;
-import cn.reghao.devops.manager.notification.service.notifier.Notify;
+import cn.reghao.devops.manager.notification.notifier.Notify;
 
 import javax.mail.MessagingException;
 import javax.mail.Session;

+ 2 - 7
manager/src/test/java/AccountTest.java

@@ -1,9 +1,6 @@
 import cn.reghao.devops.manager.ManagerApplication;
-import cn.reghao.devops.manager.notification.service.NotifyService;
-import cn.reghao.devops.manager.notification.service.notifier.ding.DingMsg;
-import cn.reghao.devops.manager.rbac.model.constant.RoleType;
-import cn.reghao.devops.manager.rbac.model.po.User;
-import cn.reghao.devops.manager.rbac.model.po.UserAuthority;
+import cn.reghao.devops.manager.notification.NotifyService;
+import cn.reghao.devops.manager.notification.notifier.ding.DingMsg;
 import cn.reghao.devops.manager.rbac.service.UserService;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
@@ -13,8 +10,6 @@ import org.springframework.boot.test.context.SpringBootTest;
 import org.springframework.test.context.ActiveProfiles;
 import org.springframework.test.context.junit4.SpringRunner;
 
-import java.util.Set;
-
 /**
  * @author reghao
  * @date 2022-08-17 15:53:04