Bladeren bron

调整通知相关配置,更新的通知相关的数据模型

reghao 4 jaren geleden
bovenliggende
commit
d9b6f4c1cb
21 gewijzigde bestanden met toevoegingen van 114 en 209 verwijderingen
  1. 6 0
      dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/MavenCompiler.java
  2. 2 2
      dmaster/src/main/java/cn/reghao/autodop/dmaster/monitor/controller/page/AppMonitorPageController.java
  3. 3 3
      dmaster/src/main/java/cn/reghao/autodop/dmaster/monitor/model/dto/AppMonitorDto.java
  4. 6 6
      dmaster/src/main/java/cn/reghao/autodop/dmaster/monitor/service/AppMonitorServiceImpl.java
  5. 12 12
      dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/controller/NotificationController.java
  6. 28 17
      dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/controller/NotificationPageController.java
  7. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/db/query/NotifyGroupQuery.java
  8. 2 2
      dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/db/query/NotifyGroupQueryImpl.java
  9. 1 1
      dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/db/repository/NotifyGroupRepository.java
  10. 0 6
      dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/model/po/NotifyAccount.java
  11. 4 5
      dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/model/po/NotifyGroup.java
  12. 0 0
      dmaster/src/main/resources/templates/monitor/notify/ding.html
  13. 0 0
      dmaster/src/main/resources/templates/monitor/notify/dingadd.html
  14. 0 0
      dmaster/src/main/resources/templates/monitor/notify/email.html
  15. 0 0
      dmaster/src/main/resources/templates/monitor/notify/emailadd.html
  16. 0 0
      dmaster/src/main/resources/templates/monitor/notify/notifyreceivers.html
  17. 7 10
      dmaster/src/main/resources/templates/monitor/notify/receiver.html
  18. 42 0
      dmaster/src/main/resources/templates/monitor/notify/receiveradd.html
  19. 0 0
      dmaster/src/main/resources/templates/monitor/notify/sms.html
  20. 0 0
      dmaster/src/main/resources/templates/monitor/notify/smsadd.html
  21. 0 144
      dmaster/src/main/resources/templates/sys/notify/receiveradd.html

+ 6 - 0
dmaster/src/main/java/cn/reghao/autodop/dmaster/app/util/buildtool/compiler/MavenCompiler.java

@@ -2,6 +2,7 @@ package cn.reghao.autodop.dmaster.app.util.buildtool.compiler;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.maven.shared.invoker.*;
+import org.apache.maven.shared.utils.cli.CommandLineException;
 
 import java.io.File;
 import java.util.ArrayList;
@@ -39,6 +40,11 @@ public class MavenCompiler implements CodeCompiler {
         setInvocationRequest(appId, pomPath);
         InvocationResult result = invoker.execute(request);
         if (result.getExitCode() != 0) {
+            CommandLineException exception = result.getExecutionException();
+            if (exception != null) {
+                throw exception;
+            }
+
             StringBuilder sb = new StringBuilder();
             compileLog.forEach(line -> sb.append(line).append(System.lineSeparator()));
             throw new Exception(sb.toString());

+ 2 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/monitor/controller/page/AppMonitorPageController.java

@@ -70,7 +70,7 @@ public class AppMonitorPageController {
         TwoTuple<AppMonitor, List<NotifyGroup>> twoTuple = appMonitorPage.setNotifyPage(appId);
         AppMonitorDto appMonitorDto = new AppMonitorDto(twoTuple.getKey());
         List<TwoTuple<String, String>> notifyGroups = twoTuple.getValue().stream()
-                .map(notifyGroup -> new TwoTuple<>(notifyGroup.getReceiverId(), notifyGroup.getReceiverDesc()))
+                .map(notifyGroup -> new TwoTuple<>(notifyGroup.getNotifyAccountId(), notifyGroup.getNotifyName()))
                 .collect(Collectors.toList());
 
         model.addAttribute("appMonitor", appMonitorDto);
@@ -92,7 +92,7 @@ public class AppMonitorPageController {
         }
 
         List<KeyValue> notifyGroups = appMonitorPage.notifyGroups().stream()
-                .map(notifyGroup -> new KeyValue(notifyGroup.getReceiverId(), notifyGroup.getReceiverDesc()))
+                .map(notifyGroup -> new KeyValue(notifyGroup.getNotifyAccountId(), notifyGroup.getNotifyName()))
                 .collect(Collectors.toList());
 
         model.addAttribute("environments", envs);

+ 3 - 3
dmaster/src/main/java/cn/reghao/autodop/dmaster/monitor/model/dto/AppMonitorDto.java

@@ -24,9 +24,9 @@ public class AppMonitorDto implements Serializable {
     public AppMonitorDto(AppMonitor appMonitor) {
         this.appId = appMonitor.getAppConfig().getAppId();
         this.appName = appMonitor.getAppConfig().getAppName();
-        this.appBuild = appMonitor.getAppBuild() != null ? appMonitor.getAppBuild().getReceiverId() : "N/A";
-        this.appDeploy = appMonitor.getAppDeploy() != null ? appMonitor.getAppDeploy().getReceiverId() : "N/A";
+        this.appBuild = appMonitor.getAppBuild() != null ? appMonitor.getAppBuild().getNotifyAccountId() : "N/A";
+        this.appDeploy = appMonitor.getAppDeploy() != null ? appMonitor.getAppDeploy().getNotifyAccountId() : "N/A";
         this.appHealthCheck = appMonitor.getAppHealthCheck() != null ?
-                appMonitor.getAppHealthCheck().getReceiverId() : "N/A";
+                appMonitor.getAppHealthCheck().getNotifyAccountId() : "N/A";
     }
 }

+ 6 - 6
dmaster/src/main/java/cn/reghao/autodop/dmaster/monitor/service/AppMonitorServiceImpl.java

@@ -42,9 +42,9 @@ public class AppMonitorServiceImpl implements AppMonitorService {
     @Override
     public void setNotify(AppMonitorDto appMonitorDto) {
         AppMonitor appMonitor = appMonitorQuery.findByAppId(appMonitorDto.getAppId());
-        appMonitor.setAppBuild(notifyGroupQuery.findByReceiverId(appMonitorDto.getAppBuild()));
-        appMonitor.setAppDeploy(notifyGroupQuery.findByReceiverId(appMonitorDto.getAppDeploy()));
-        appMonitor.setAppHealthCheck(notifyGroupQuery.findByReceiverId(appMonitorDto.getAppHealthCheck()));
+        appMonitor.setAppBuild(notifyGroupQuery.findByNotifyAccountId(appMonitorDto.getAppBuild()));
+        appMonitor.setAppDeploy(notifyGroupQuery.findByNotifyAccountId(appMonitorDto.getAppDeploy()));
+        appMonitor.setAppHealthCheck(notifyGroupQuery.findByNotifyAccountId(appMonitorDto.getAppHealthCheck()));
         appMonitorCrud.update(appMonitor);
     }
 
@@ -52,9 +52,9 @@ public class AppMonitorServiceImpl implements AppMonitorService {
     public void setNotifyBatch(AppNotifyDto appNotifyDto) {
         String env = appNotifyDto.getEnv();
         String appType = appNotifyDto.getAppType();
-        NotifyGroup appBuild = notifyGroupQuery.findByReceiverId(appNotifyDto.getAppBuild());
-        NotifyGroup appDeploy = notifyGroupQuery.findByReceiverId(appNotifyDto.getAppDeploy());
-        NotifyGroup appHealthCheck = notifyGroupQuery.findByReceiverId(appNotifyDto.getAppHealthCheck());
+        NotifyGroup appBuild = notifyGroupQuery.findByNotifyAccountId(appNotifyDto.getAppBuild());
+        NotifyGroup appDeploy = notifyGroupQuery.findByNotifyAccountId(appNotifyDto.getAppDeploy());
+        NotifyGroup appHealthCheck = notifyGroupQuery.findByNotifyAccountId(appNotifyDto.getAppHealthCheck());
 
         List<AppMonitor> list = appMonitorQuery.findByEnvAndAppType(env, appType).stream()
                 .filter(appMonitor -> appMonitor.getAppBuild() == null ||

+ 12 - 12
dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/controller/NotificationController.java

@@ -23,8 +23,8 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/api/sys/notify")
 @RestController
 public class NotificationController {
-    private DingAccountRepository dingRepository;
-    private NotifyGroupRepository receiverRepository;
+    private final DingAccountRepository dingRepository;
+    private final NotifyGroupRepository receiverRepository;
 
     public NotificationController(DingAccountRepository dingRepository, NotifyGroupRepository receiverRepository) {
         this.dingRepository = dingRepository;
@@ -33,28 +33,28 @@ public class NotificationController {
 
     @ApiOperation(value = "添加/修改钉钉通知账户")
     @PostMapping(value = "/ding", produces = MediaType.APPLICATION_JSON_VALUE)
-    public ResponseEntity<String> addDingAccount(@Validated DingAccount dingAccount) {
+    public String addDingAccount(@Validated DingAccount dingAccount) {
         dingRepository.save(dingAccount);
-        return ResponseEntity.ok().body(WebBody.success());
+        return WebBody.success();
     }
 
     @ApiOperation(value = "删除钉钉通知账户")
     @DeleteMapping(value = "/ding", produces = MediaType.APPLICATION_JSON_VALUE)
-    public ResponseEntity<String> deleteDingAccount(@Validated DingAccount dingAccount) {
-        return ResponseEntity.ok().body(WebBody.success());
+    public String deleteDingAccount(@Validated DingAccount dingAccount) {
+        return WebBody.success();
     }
 
-    @ApiOperation(value = "添加/修改全局通知接收")
+    @ApiOperation(value = "添加/修改通知接收")
     @PostMapping(value = "/receiver", produces = MediaType.APPLICATION_JSON_VALUE)
-    public ResponseEntity<String> addNotifyReceiver(@Validated NotifyGroup notifyReceiver) {
+    public String addNotifyReceiver(@Validated NotifyGroup notifyReceiver) {
         // TODO 检查通知类型和通知账户是否存在
         receiverRepository.save(notifyReceiver);
-        return ResponseEntity.ok().body(WebBody.success());
+        return WebBody.success();
     }
 
-    @ApiOperation(value = "删除全局通知接收")
+    @ApiOperation(value = "删除通知接收")
     @DeleteMapping(value = "/receiver", produces = MediaType.APPLICATION_JSON_VALUE)
-    public ResponseEntity<String> deleteNotifyReceiver(@Validated NotifyGroup notifyReceiver) {
-        return ResponseEntity.ok().body(WebBody.success());
+    public String deleteNotifyReceiver(@Validated NotifyGroup notifyReceiver) {
+        return WebBody.success();
     }
 }

+ 28 - 17
dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/controller/NotificationPageController.java

@@ -1,9 +1,11 @@
 package cn.reghao.autodop.dmaster.notification.controller;
 
+import cn.reghao.autodop.dmaster.app.model.vo.KeyValue;
 import cn.reghao.autodop.dmaster.notification.model.po.DingAccount;
 import cn.reghao.autodop.dmaster.notification.model.po.NotifyGroup;
 import cn.reghao.autodop.dmaster.notification.db.repository.DingAccountRepository;
 import cn.reghao.autodop.dmaster.notification.db.repository.NotifyGroupRepository;
+import cn.reghao.autodop.dmaster.notification.model.po.NotifyType;
 import cn.reghao.autodop.dmaster.util.db.PageList;
 import cn.reghao.autodop.dmaster.util.db.PageSort;
 import io.swagger.annotations.Api;
@@ -14,16 +16,19 @@ import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
  * @author reghao
  * @date 2021-04-04 21:24:18
  */
 @Api(tags = "通知页面")
-@RequestMapping("/sys")
+@RequestMapping("/monitor/notify")
 @Controller
 public class NotificationPageController {
-    private DingAccountRepository dingRepository;
-    private NotifyGroupRepository receiverRepository;
+    private final DingAccountRepository dingRepository;
+    private final NotifyGroupRepository receiverRepository;
 
     public NotificationPageController(DingAccountRepository dingRepository, NotifyGroupRepository receiverRepository) {
         this.dingRepository = dingRepository;
@@ -31,7 +36,7 @@ public class NotificationPageController {
     }
 
     @ApiOperation(value = "钉钉通知配置页面")
-    @GetMapping("/notify/ding")
+    @GetMapping("/ding")
     public String dingNotifyConfigPage(Model model) {
         PageRequest pageRequest = PageSort.pageRequest();
         Page<DingAccount> page = dingRepository.findAll(pageRequest);
@@ -39,22 +44,22 @@ public class NotificationPageController {
 
         model.addAttribute("page", page);
         model.addAttribute("list", pageList.getList());
-        return "/sys/notify/ding";
+        return "/monitor/notify/ding";
     }
 
-    @GetMapping("/notify/ding/add")
+    @GetMapping("/ding/add")
     public String dingNotifyConfigAddPage(Model model) {
-        return "/sys/notify/dingadd";
+        return "/monitor/notify/dingadd";
     }
 
-    @GetMapping("/notify/ding/edit/{id}")
+    @GetMapping("/ding/edit/{id}")
     public String dingNotifyConfigEditPage(@PathVariable("id") DingAccount dingAccount, Model model) {
         model.addAttribute("dingAccount", dingAccount);
-        return "/sys/notify/dingadd";
+        return "/monitor/notify/dingadd";
     }
 
     @ApiOperation(value = "全局通知接收配置页面")
-    @GetMapping("/notify/receiver")
+    @GetMapping("/receiver")
     public String receiverConfigPage(Model model) {
         PageRequest pageRequest = PageSort.pageRequest();
         Page<NotifyGroup> page = receiverRepository.findAll(pageRequest);
@@ -62,23 +67,29 @@ public class NotificationPageController {
 
         model.addAttribute("page", page);
         model.addAttribute("list", pageList.getList());
-        return "/sys/notify/receiver";
+        return "/monitor/notify/receiver";
     }
 
-    @GetMapping("/notify/receiver/add")
+    @GetMapping("/receiver/add")
     public String receiverConfigAddPage(Model model) {
-        return "/sys/notify/receiveradd";
+        List<KeyValue> notifyTypes = new ArrayList<>();
+        for (NotifyType notifyType : NotifyType.values()) {
+            notifyTypes.add(new KeyValue(notifyType.name(), notifyType.name()));
+        }
+
+        model.addAttribute("notifyTypes", notifyTypes);
+        return "/monitor/notify/receiveradd";
     }
 
-    @GetMapping("/notify/receiver/edit/{id}")
+    @GetMapping("/receiver/edit/{id}")
     public String receiverConfigEditPage(@PathVariable("id") NotifyGroup notifyGroup, Model model) {
         model.addAttribute("notifyGroup", notifyGroup);
-        return "/sys/notify/receiveradd";
+        return "/monitor/notify/receiveradd";
     }
 
-    @GetMapping("/notify/receiver/{id}/receivers")
+    @GetMapping("/receiver/{id}/receivers")
     public String receiversPage(@PathVariable("id") NotifyGroup notifyGroup, Model model) {
         //model.addAttribute("list", notifyGroup.getReceivers());
-        return "/sys/notify/notifyreceivers";
+        return "/monitor/notify/notifyreceivers";
     }
 }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/db/query/NotifyGroupQuery.java

@@ -8,5 +8,5 @@ import cn.reghao.jdkutil.db.BaseQuery;
  * @date 2021-10-25 16:29:50
  */
 public interface NotifyGroupQuery extends BaseQuery<NotifyGroup> {
-    NotifyGroup findByReceiverId(String receiverId);
+    NotifyGroup findByNotifyAccountId(String notifyAccountId);
 }

+ 2 - 2
dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/db/query/NotifyGroupQueryImpl.java

@@ -25,7 +25,7 @@ public class NotifyGroupQueryImpl implements NotifyGroupQuery {
     }
 
     @Override
-    public NotifyGroup findByReceiverId(String receiverId) {
-        return notifyGroupRepository.findByReceiverId(receiverId);
+    public NotifyGroup findByNotifyAccountId(String notifyAccountId) {
+        return notifyGroupRepository.findByNotifyAccountId(notifyAccountId);
     }
 }

+ 1 - 1
dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/db/repository/NotifyGroupRepository.java

@@ -8,5 +8,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
  * @date 2021-05-24 15:20:24
  */
 public interface NotifyGroupRepository extends JpaRepository<NotifyGroup, Integer> {
-    NotifyGroup findByReceiverId(String receiverId);
+    NotifyGroup findByNotifyAccountId(String notifyAccountId);
 }

+ 0 - 6
dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/model/po/NotifyAccount.java

@@ -21,10 +21,4 @@ public class NotifyAccount extends BaseEntity<Integer> {
     private String username;
     @NotBlank(message = "用户密码不能为空白字符串")
     private String password;
-    @Deprecated
-    private Boolean isDefault;
-
-    public NotifyAccount() {
-        this.isDefault = false;
-    }
 }

+ 4 - 5
dmaster/src/main/java/cn/reghao/autodop/dmaster/notification/model/po/NotifyGroup.java

@@ -20,13 +20,12 @@ public class NotifyGroup extends BaseEntity<Integer> {
     @Column(nullable = false)
     @ValidEnum(value = NotifyType.class, message = "请选择正确的通知类型")
     private String notifyType;
+    @Column(nullable = false, unique = true)
     private String notifyAccountId;
     // TODO 同时会作为 email 的 subject
-    @NotBlank(message = "接收者标识不能为空白字符串")
-    private String receiverId;
-    @NotBlank(message = "接收者描述不能为空白字符串")
-    private String receiverDesc;
-    @NotBlank(message = "接收者不能为空白字符串")
+    @NotBlank(message = "通知名字不能为空白字符串")
+    private String notifyName;
+    @NotBlank(message = "接收地址不能为空白字符串")
     private String receiver;
 
     @Override

+ 0 - 0
dmaster/src/main/resources/templates/sys/notify/ding.html → dmaster/src/main/resources/templates/monitor/notify/ding.html


+ 0 - 0
dmaster/src/main/resources/templates/sys/notify/dingadd.html → dmaster/src/main/resources/templates/monitor/notify/dingadd.html


+ 0 - 0
dmaster/src/main/resources/templates/sys/notify/email.html → dmaster/src/main/resources/templates/monitor/notify/email.html


+ 0 - 0
dmaster/src/main/resources/templates/sys/notify/emailadd.html → dmaster/src/main/resources/templates/monitor/notify/emailadd.html


+ 0 - 0
dmaster/src/main/resources/templates/sys/notify/notifyreceivers.html → dmaster/src/main/resources/templates/monitor/notify/notifyreceivers.html


+ 7 - 10
dmaster/src/main/resources/templates/sys/notify/receiver.html → dmaster/src/main/resources/templates/monitor/notify/receiver.html

@@ -12,7 +12,7 @@
         <div class="layui-row timo-card-screen put-row">
             <div class="pull-right screen-btn-group">
                 <div class="btn-group-right">
-                    <button class="layui-btn open-popup" data-title="添加接收者" th:attr="data-url=@{/sys/notify/receiver/add}"
+                    <button class="layui-btn open-popup" data-title="添加接收者" th:attr="data-url=@{/monitor/notify/receiver/add}"
                             data-size="640,480">
                         <i class="fa fa-plus"></i> 添加
                     </button>
@@ -29,8 +29,8 @@
                     </th>
                     <th class="sortable" data-field="notifyType">通知类型</th>
                     <th class="sortable" data-field="notifyAccountId">通知账户</th>
-                    <th class="sortable" data-field="groupId">通知组</th>
-                    <th class="sortable" data-field="receivers">接收地址</th>
+                    <th class="sortable" data-field="notifyName">通知名字</th>
+                    <th class="sortable" data-field="receiver">接收地址</th>
                     <th>操作</th>
                 </tr>
                 </thead>
@@ -40,15 +40,12 @@
                         <i class="layui-icon layui-icon-ok"></i></label></td>
                     <td th:text="${item.notifyType}">通知类型</td>
                     <td th:text="${item.notifyAccountId}">通知账户</td>
-                    <td th:text="${item.groupId}">通知组</td>
+                    <td th:text="${item.notifyName}">通知名字</td>
+                    <td th:text="${item.receiver}">接收地址</td>
                     <td>
-                        <a class="open-popup" data-title="构建配置" data-size="1000,500" href="#"
-                           th:attr="data-url=@{'/sys/notify/receiver/'+${item.id} + '/receivers'}">查看</a>
-                    </td>
-                    <td>
-                        <a class="open-popup" data-title="编辑" th:attr="data-url=@{'/sys/notify/receiver/edit/'+${item.id}}"
+                        <a class="open-popup" data-title="编辑" th:attr="data-url=@{'/monitor/notify/receiver/edit/'+${item.id}}"
                            data-size="640,480" href="#">编辑</a>
-                        <a class="ajax-delete" th:attr="data-msg='确定要删除 '+ ${item.groupId} + '?'"
+                        <a class="ajax-delete" th:attr="data-msg='确定要删除 '+ ${item.notifyAccountId} + '?'"
                            th:href="@{'/api/sys/notify/receiver/' + ${item.id}}">删除</a>
                     </td>
                 </tr>

+ 42 - 0
dmaster/src/main/resources/templates/monitor/notify/receiveradd.html

@@ -0,0 +1,42 @@
+<!DOCTYPE html>
+<html xmlns:th="http://www.thymeleaf.org">
+
+<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})"></head>
+
+<body>
+<div class="layui-form timo-compile">
+    <form th:action="@{/api/sys/notify/receiver}">
+        <input type="hidden" name="id" th:value="${notifyGroup?.id}"/>
+        <div class="layui-form-item">
+            <label class="layui-form-label required">通知类型</label>
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="notifyType" placeholder="请输入通知类型" required th:value="${notifyGroup?.notifyType}">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label required">通知账户</label>
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="notifyAccountId" placeholder="请输入通知账户" th:value="${notifyGroup?.notifyAccountId}">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label required">通知名字</label>
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="notifyName" placeholder="请输入通知名字" required th:value="${notifyGroup?.notifyName}">
+            </div>
+        </div>
+        <div class="layui-form-item">
+            <label class="layui-form-label required">接收者地址</label>
+            <div class="layui-input-inline">
+                <input class="layui-input" type="text" name="receiver" placeholder="请输入接收组者地址" required th:value="${notifyGroup?.receiver}">
+            </div>
+        </div>
+        <div class="layui-form-item timo-finally">
+            <button class="layui-btn ajax-submit"><i class="fa fa-check-circle"></i> 保存</button>
+            <button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 关闭</button>
+        </div>
+    </form>
+</div>
+<script th:replace="/common/template :: script"></script>
+</body>
+</html>

+ 0 - 0
dmaster/src/main/resources/templates/sys/notify/sms.html → dmaster/src/main/resources/templates/monitor/notify/sms.html


+ 0 - 0
dmaster/src/main/resources/templates/sys/notify/smsadd.html → dmaster/src/main/resources/templates/monitor/notify/smsadd.html


+ 0 - 144
dmaster/src/main/resources/templates/sys/notify/receiveradd.html

@@ -1,144 +0,0 @@
-<!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org">
-
-<head th:replace="/common/template :: header(~{::title},~{::link},~{::style})"></head>
-
-<body>
-<div class="layui-form timo-compile">
-    <form th:action="@{/api/sys/notify/receiver}">
-        <input type="hidden" name="id" th:value="${notifyGroup?.id}"/>
-        <div class="layui-form-item">
-            <label class="layui-form-label required">通知类型</label>
-            <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="notifyType" placeholder="请输入通知类型" required th:value="${notifyGroup?.notifyType}">
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label">通知账户</label>
-            <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="notifyAccountId" placeholder="请输入通知账户" th:value="${notifyGroup?.notifyAccountId}">
-            </div>
-        </div>
-        <div class="layui-form-item">
-            <label class="layui-form-label required">接收标识</label>
-            <div class="layui-input-inline">
-                <input class="layui-input" type="text" name="groupId" placeholder="请输入接收组标识" required th:value="${notifyGroup?.groupId}">
-            </div>
-        </div>
-        <table class="layui-table timo-detail-table" id="notifyReceiverTable">
-            <tbody>
-                <span th:if="${notifyGroup} != null">
-                    <span th:if="${not #lists.isEmpty(notifyGroup.receivers)}">
-                        <tr th:each="receiver,stat:${notifyGroup.receivers}">
-                            <th>通知接收地址</th>
-                            <td >
-                                <div class="layui-form-item">
-                                    <div class="layui-input-inline">
-                                        <input class="layui-input" type="text" th:attr="name=@{'receivers[' + ${stat.index} + ']'}" placeholder="请添加通知地址" th:value="${receiver}">
-                                    </div>
-                                </div>
-                            </td>
-                            <td>
-                                <div>
-                                    <a class="layui-btn layui-btn-xs addNotifyReceiver">添加</a>
-                                    <a class="layui-btn layui-btn-danger layui-btn-xs delNotifyReceiver">删除</a>
-                                </div>
-                            </td>
-                        </tr>
-                    </span>
-                    <span th:if="${#lists.isEmpty(notifyGroup.receivers)}">
-                        <tr>
-                            <th>通知接收地址</th>
-                            <td >
-                                <div class="layui-form-item">
-                                    <div class="layui-input-inline">
-                                        <input class="layui-input" type="text" name="receivers[0]" placeholder="请添加通知地址" required>
-                                    </div>
-                                </div>
-                            </td>
-                            <td>
-                                <div>
-                                    <a class="layui-btn layui-btn-xs addNotifyReceiver">添加</a>
-                                    <a class="layui-btn layui-btn-danger layui-btn-xs delNotifyReceiver">删除</a>
-                                </div>
-                            </td>
-                        </tr>
-                    </span>
-                </span>
-                <span th:if="${notifyGroup} == null">
-                    <tr>
-                        <th>通知接收地址</th>
-                        <td >
-                            <div class="layui-form-item">
-                                <div class="layui-input-inline">
-                                    <input class="layui-input" type="text" name="receivers[0]" placeholder="请添加通知地址" required>
-                                </div>
-                            </div>
-                        </td>
-                        <td>
-                            <div>
-                                <a class="layui-btn layui-btn-xs addNotifyReceiver">添加</a>
-                                <a class="layui-btn layui-btn-danger layui-btn-xs delNotifyReceiver">删除</a>
-                            </div>
-                        </td>
-                    </tr>
-                </span>
-            </tbody>
-        </table>
-        <div class="layui-form-item timo-finally">
-            <button class="layui-btn ajax-submit"><i class="fa fa-check-circle"></i> 保存</button>
-            <button class="layui-btn btn-secondary close-popup"><i class="fa fa-times-circle"></i> 关闭</button>
-        </div>
-    </form>
-</div>
-<script th:replace="/common/template :: script"></script>
-<script type="text/javascript" th:src="@{/js/plugins/jquery-2.2.4.min.js}"></script>
-<script type="text/javascript" th:inline="javascript">
-    var receiversSize = $('#notifyReceiverTable tbody tr').length;
-    // 在表格末尾添加一行
-    $('body').on('click', '.addNotifyReceiver', function() {
-        // 需要添加的 html
-        var html =
-            '<tr>\n' +
-            '                    <th>通知接收地址</th>\n' +
-            '                    <td >\n' +
-            '                        <div class="layui-form-item">\n' +
-            '                            <div class="layui-input-inline">\n' +
-            '                                <input class="layui-input" type="text" name="receivers[' + receiversSize + ']" placeholder="请添加通知地址" required>\n' +
-            '                            </div>\n' +
-            '                        </div>\n' +
-            '                    </td>\n' +
-            '                    <td>\n' +
-            '                        <div>\n' +
-            '                            <a class="layui-btn layui-btn-xs addNotifyReceiver">添加</a>\n' +
-            '                            <a class="layui-btn layui-btn-danger layui-btn-xs delNotifyReceiver">删除</a>\n' +
-            '                        </div>\n' +
-            '                    </td>\n' +
-            '                    </tr>'
-
-        // 添加到表格最后
-        $(html).appendTo($('#notifyReceiverTable tbody:last'));
-        layui.use(['form'], function () {
-            var form = layui.form;
-            // 因为有select元素,所有添加后要重新渲染一次
-            form.render();
-        });
-        receiversSize++;
-    });
-
-    // 删除表格末尾的行
-    $('body').on('click', '.delNotifyReceiver', function() {
-        if ($('#notifyReceiverTable tbody tr').length === 1) {
-            layer.msg('只有一条不允许删除', {
-                time : 1000
-            });
-        } else {
-            console.log('删除表格末尾的行')
-            // 删除当前按钮所在的tr
-            $(this).closest('tr').remove();
-            receiversSize--;
-        }
-    });
-</script>
-</body>
-</html>