Prechádzať zdrojové kódy

预警规则第二版初始生成内容

zhaoxian 4 rokov pred
rodič
commit
6584397576
30 zmenil súbory, kde vykonal 1824 pridanie a 0 odobranie
  1. 256 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/RuleAccountTemplateController.java
  2. 256 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/RuleAccountThresholdController.java
  3. 256 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/RuleBaseController.java
  4. 256 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/RuleGroupController.java
  5. 256 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/RuleTemplateController.java
  6. 49 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/RuleAccountTemplate.java
  7. 53 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/RuleAccountThreshold.java
  8. 61 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/RuleBase.java
  9. 53 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/RuleGroup.java
  10. 53 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/RuleTemplate.java
  11. 17 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/RuleAccountTemplateMapper.java
  12. 17 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/RuleAccountThresholdMapper.java
  13. 17 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/RuleBaseMapper.java
  14. 17 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/RuleGroupMapper.java
  15. 17 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/RuleTemplateMapper.java
  16. 5 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/RuleAccountTemplateMapper.xml
  17. 5 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/RuleAccountThresholdMapper.xml
  18. 5 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/RuleBaseMapper.xml
  19. 5 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/RuleGroupMapper.xml
  20. 5 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/RuleTemplateMapper.xml
  21. 14 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IRuleAccountTemplateService.java
  22. 14 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IRuleAccountThresholdService.java
  23. 14 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IRuleBaseService.java
  24. 14 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IRuleGroupService.java
  25. 14 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IRuleTemplateService.java
  26. 19 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleAccountTemplateServiceImpl.java
  27. 19 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleAccountThresholdServiceImpl.java
  28. 19 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleBaseServiceImpl.java
  29. 19 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleGroupServiceImpl.java
  30. 19 0
      module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleTemplateServiceImpl.java

+ 256 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/RuleAccountTemplateController.java

@@ -0,0 +1,256 @@
+package cn.com.ctop.alarm.modules.controller;
+
+import cn.com.ctop.alarm.modules.entity.RuleAccountTemplate;
+import cn.com.ctop.alarm.modules.service.IRuleAccountTemplateService;
+import cn.com.ctop.common.module.annotation.AutoLog;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 规则模板
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-11-15
+ */
+@Slf4j
+@Api(tags = "规则模板")
+@RestController
+@RequestMapping("/ruleAccountTemplate")
+public class RuleAccountTemplateController {
+    @Autowired
+    private IRuleAccountTemplateService ruleAccountTemplateService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param ruleAccountTemplate
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "规则模板-分页列表查询")
+    @ApiOperation(value = "规则模板-分页列表查询", notes = "规则模板-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<RuleAccountTemplate>> queryPageList(RuleAccountTemplate ruleAccountTemplate,
+                                                            @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                            @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                            HttpServletRequest req) {
+        Result<IPage<RuleAccountTemplate>> result = new Result<>();
+        QueryWrapper<RuleAccountTemplate> queryWrapper = QueryGenerator.initQueryWrapper(ruleAccountTemplate, req.getParameterMap());
+        Page<RuleAccountTemplate> page = new Page<RuleAccountTemplate>(pageNo, pageSize);
+        IPage<RuleAccountTemplate> pageList = ruleAccountTemplateService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param ruleAccountTemplate
+     * @return
+     */
+    @AutoLog(value = "规则模板-添加")
+    @ApiOperation(value = "规则模板-添加", notes = "规则模板-添加")
+    @PostMapping(value = "/add")
+    public Result<RuleAccountTemplate> add(@RequestBody RuleAccountTemplate ruleAccountTemplate) {
+        Result<RuleAccountTemplate> result = new Result<>();
+        try {
+            ruleAccountTemplateService.save(ruleAccountTemplate);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param ruleAccountTemplate
+     * @return
+     */
+    @AutoLog(value = "规则模板-编辑")
+    @ApiOperation(value = "规则模板-编辑", notes = "规则模板-编辑")
+    @PutMapping(value = "/edit")
+    public Result<RuleAccountTemplate> edit(@RequestBody RuleAccountTemplate ruleAccountTemplate) {
+        Result<RuleAccountTemplate> result = new Result<RuleAccountTemplate>();
+        RuleAccountTemplate ruleAccountTemplateEntity = ruleAccountTemplateService.getById(ruleAccountTemplate.getId());
+        if (ruleAccountTemplateEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = ruleAccountTemplateService.updateById(ruleAccountTemplate);
+            if (ok) {
+                result.success("修改成功!");
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "规则模板-通过id删除")
+    @ApiOperation(value = "规则模板-通过id删除", notes = "规则模板-通过id删除")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            ruleAccountTemplateService.removeById(id);
+        } catch (Exception e) {
+            log.error("删除失败", e.getMessage());
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "规则模板-批量删除")
+    @ApiOperation(value = "规则模板-批量删除", notes = "规则模板-批量删除")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<RuleAccountTemplate> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<RuleAccountTemplate> result = new Result<>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.ruleAccountTemplateService.removeByIds(Arrays.asList(ids.split(",")));
+            result.success("删除成功!");
+        }
+        return result;
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "规则模板-通过id查询")
+    @ApiOperation(value = "规则模板-通过id查询", notes = "规则模板-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<RuleAccountTemplate> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<RuleAccountTemplate> result = new Result<>();
+        RuleAccountTemplate ruleAccountTemplate = ruleAccountTemplateService.getById(id);
+        if (ruleAccountTemplate == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(ruleAccountTemplate);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        // Step.1 组装查询条件
+        QueryWrapper<RuleAccountTemplate> queryWrapper = null;
+        try {
+            String paramsStr = request.getParameter("paramsStr");
+            if (oConvertUtils.isNotEmpty(paramsStr)) {
+                String deString = URLDecoder.decode(paramsStr, "UTF-8");
+                RuleAccountTemplate ruleAccountTemplate = JSON.parseObject(deString, RuleAccountTemplate.class);
+                queryWrapper = QueryGenerator.initQueryWrapper(ruleAccountTemplate, request.getParameterMap());
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+        //Step.2 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<RuleAccountTemplate> pageList = ruleAccountTemplateService.list(queryWrapper);
+        //导出文件名称
+        mv.addObject(NormalExcelConstants.FILE_NAME, "规则模板列表");
+        mv.addObject(NormalExcelConstants.CLASS, RuleAccountTemplate.class);
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("规则模板列表数据", "导出人:Jeecg", "导出信息"));
+        mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+        return mv;
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setTitleRows(2);
+            params.setHeadRows(1);
+            params.setNeedSave(true);
+            try {
+                List<RuleAccountTemplate> listRuleAccountTemplates = ExcelImportUtil.importExcel(file.getInputStream(), RuleAccountTemplate.class, params);
+                ruleAccountTemplateService.saveBatch(listRuleAccountTemplates);
+                return Result.ok("文件导入成功!数据行数:" + listRuleAccountTemplates.size());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                return Result.error("文件导入失败:" + e.getMessage());
+            } finally {
+                try {
+                    file.getInputStream().close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return Result.ok("文件导入失败!");
+    }
+
+}

+ 256 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/RuleAccountThresholdController.java

@@ -0,0 +1,256 @@
+package cn.com.ctop.alarm.modules.controller;
+
+import cn.com.ctop.alarm.modules.entity.RuleAccountThreshold;
+import cn.com.ctop.alarm.modules.service.IRuleAccountThresholdService;
+import cn.com.ctop.common.module.annotation.AutoLog;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 规则关联账户 阈值
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-11-15
+ */
+@Slf4j
+@Api(tags = "规则关联账户 阈值")
+@RestController
+@RequestMapping("/ruleAccountThreshold")
+public class RuleAccountThresholdController {
+    @Autowired
+    private IRuleAccountThresholdService ruleAccountThresholdService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param ruleAccountThreshold
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "规则关联账户 阈值-分页列表查询")
+    @ApiOperation(value = "规则关联账户 阈值-分页列表查询", notes = "规则关联账户 阈值-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<RuleAccountThreshold>> queryPageList(RuleAccountThreshold ruleAccountThreshold,
+                                                             @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                             @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                             HttpServletRequest req) {
+        Result<IPage<RuleAccountThreshold>> result = new Result<>();
+        QueryWrapper<RuleAccountThreshold> queryWrapper = QueryGenerator.initQueryWrapper(ruleAccountThreshold, req.getParameterMap());
+        Page<RuleAccountThreshold> page = new Page<RuleAccountThreshold>(pageNo, pageSize);
+        IPage<RuleAccountThreshold> pageList = ruleAccountThresholdService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param ruleAccountThreshold
+     * @return
+     */
+    @AutoLog(value = "规则关联账户 阈值-添加")
+    @ApiOperation(value = "规则关联账户 阈值-添加", notes = "规则关联账户 阈值-添加")
+    @PostMapping(value = "/add")
+    public Result<RuleAccountThreshold> add(@RequestBody RuleAccountThreshold ruleAccountThreshold) {
+        Result<RuleAccountThreshold> result = new Result<>();
+        try {
+            ruleAccountThresholdService.save(ruleAccountThreshold);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param ruleAccountThreshold
+     * @return
+     */
+    @AutoLog(value = "规则关联账户 阈值-编辑")
+    @ApiOperation(value = "规则关联账户 阈值-编辑", notes = "规则关联账户 阈值-编辑")
+    @PutMapping(value = "/edit")
+    public Result<RuleAccountThreshold> edit(@RequestBody RuleAccountThreshold ruleAccountThreshold) {
+        Result<RuleAccountThreshold> result = new Result<RuleAccountThreshold>();
+        RuleAccountThreshold ruleAccountThresholdEntity = ruleAccountThresholdService.getById(ruleAccountThreshold.getId());
+        if (ruleAccountThresholdEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = ruleAccountThresholdService.updateById(ruleAccountThreshold);
+            if (ok) {
+                result.success("修改成功!");
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "规则关联账户 阈值-通过id删除")
+    @ApiOperation(value = "规则关联账户 阈值-通过id删除", notes = "规则关联账户 阈值-通过id删除")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            ruleAccountThresholdService.removeById(id);
+        } catch (Exception e) {
+            log.error("删除失败", e.getMessage());
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "规则关联账户 阈值-批量删除")
+    @ApiOperation(value = "规则关联账户 阈值-批量删除", notes = "规则关联账户 阈值-批量删除")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<RuleAccountThreshold> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<RuleAccountThreshold> result = new Result<>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.ruleAccountThresholdService.removeByIds(Arrays.asList(ids.split(",")));
+            result.success("删除成功!");
+        }
+        return result;
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "规则关联账户 阈值-通过id查询")
+    @ApiOperation(value = "规则关联账户 阈值-通过id查询", notes = "规则关联账户 阈值-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<RuleAccountThreshold> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<RuleAccountThreshold> result = new Result<>();
+        RuleAccountThreshold ruleAccountThreshold = ruleAccountThresholdService.getById(id);
+        if (ruleAccountThreshold == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(ruleAccountThreshold);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        // Step.1 组装查询条件
+        QueryWrapper<RuleAccountThreshold> queryWrapper = null;
+        try {
+            String paramsStr = request.getParameter("paramsStr");
+            if (oConvertUtils.isNotEmpty(paramsStr)) {
+                String deString = URLDecoder.decode(paramsStr, "UTF-8");
+                RuleAccountThreshold ruleAccountThreshold = JSON.parseObject(deString, RuleAccountThreshold.class);
+                queryWrapper = QueryGenerator.initQueryWrapper(ruleAccountThreshold, request.getParameterMap());
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+        //Step.2 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<RuleAccountThreshold> pageList = ruleAccountThresholdService.list(queryWrapper);
+        //导出文件名称
+        mv.addObject(NormalExcelConstants.FILE_NAME, "规则关联账户 阈值列表");
+        mv.addObject(NormalExcelConstants.CLASS, RuleAccountThreshold.class);
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("规则关联账户 阈值列表数据", "导出人:Jeecg", "导出信息"));
+        mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+        return mv;
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setTitleRows(2);
+            params.setHeadRows(1);
+            params.setNeedSave(true);
+            try {
+                List<RuleAccountThreshold> listRuleAccountThresholds = ExcelImportUtil.importExcel(file.getInputStream(), RuleAccountThreshold.class, params);
+                ruleAccountThresholdService.saveBatch(listRuleAccountThresholds);
+                return Result.ok("文件导入成功!数据行数:" + listRuleAccountThresholds.size());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                return Result.error("文件导入失败:" + e.getMessage());
+            } finally {
+                try {
+                    file.getInputStream().close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return Result.ok("文件导入失败!");
+    }
+
+}

+ 256 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/RuleBaseController.java

@@ -0,0 +1,256 @@
+package cn.com.ctop.alarm.modules.controller;
+
+import cn.com.ctop.alarm.modules.entity.RuleBase;
+import cn.com.ctop.alarm.modules.service.IRuleBaseService;
+import cn.com.ctop.common.module.annotation.AutoLog;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 基础规则
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-11-15
+ */
+@Slf4j
+@Api(tags = "基础规则")
+@RestController
+@RequestMapping("/ruleBase")
+public class RuleBaseController {
+    @Autowired
+    private IRuleBaseService ruleBaseService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param ruleBase
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "基础规则-分页列表查询")
+    @ApiOperation(value = "基础规则-分页列表查询", notes = "基础规则-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<RuleBase>> queryPageList(RuleBase ruleBase,
+                                                 @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                 @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                 HttpServletRequest req) {
+        Result<IPage<RuleBase>> result = new Result<>();
+        QueryWrapper<RuleBase> queryWrapper = QueryGenerator.initQueryWrapper(ruleBase, req.getParameterMap());
+        Page<RuleBase> page = new Page<RuleBase>(pageNo, pageSize);
+        IPage<RuleBase> pageList = ruleBaseService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param ruleBase
+     * @return
+     */
+    @AutoLog(value = "基础规则-添加")
+    @ApiOperation(value = "基础规则-添加", notes = "基础规则-添加")
+    @PostMapping(value = "/add")
+    public Result<RuleBase> add(@RequestBody RuleBase ruleBase) {
+        Result<RuleBase> result = new Result<>();
+        try {
+            ruleBaseService.save(ruleBase);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param ruleBase
+     * @return
+     */
+    @AutoLog(value = "基础规则-编辑")
+    @ApiOperation(value = "基础规则-编辑", notes = "基础规则-编辑")
+    @PutMapping(value = "/edit")
+    public Result<RuleBase> edit(@RequestBody RuleBase ruleBase) {
+        Result<RuleBase> result = new Result<RuleBase>();
+        RuleBase ruleBaseEntity = ruleBaseService.getById(ruleBase.getId());
+        if (ruleBaseEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = ruleBaseService.updateById(ruleBase);
+            if (ok) {
+                result.success("修改成功!");
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "基础规则-通过id删除")
+    @ApiOperation(value = "基础规则-通过id删除", notes = "基础规则-通过id删除")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            ruleBaseService.removeById(id);
+        } catch (Exception e) {
+            log.error("删除失败", e.getMessage());
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "基础规则-批量删除")
+    @ApiOperation(value = "基础规则-批量删除", notes = "基础规则-批量删除")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<RuleBase> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<RuleBase> result = new Result<>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.ruleBaseService.removeByIds(Arrays.asList(ids.split(",")));
+            result.success("删除成功!");
+        }
+        return result;
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "基础规则-通过id查询")
+    @ApiOperation(value = "基础规则-通过id查询", notes = "基础规则-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<RuleBase> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<RuleBase> result = new Result<>();
+        RuleBase ruleBase = ruleBaseService.getById(id);
+        if (ruleBase == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(ruleBase);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        // Step.1 组装查询条件
+        QueryWrapper<RuleBase> queryWrapper = null;
+        try {
+            String paramsStr = request.getParameter("paramsStr");
+            if (oConvertUtils.isNotEmpty(paramsStr)) {
+                String deString = URLDecoder.decode(paramsStr, "UTF-8");
+                RuleBase ruleBase = JSON.parseObject(deString, RuleBase.class);
+                queryWrapper = QueryGenerator.initQueryWrapper(ruleBase, request.getParameterMap());
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+        //Step.2 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<RuleBase> pageList = ruleBaseService.list(queryWrapper);
+        //导出文件名称
+        mv.addObject(NormalExcelConstants.FILE_NAME, "基础规则列表");
+        mv.addObject(NormalExcelConstants.CLASS, RuleBase.class);
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("基础规则列表数据", "导出人:Jeecg", "导出信息"));
+        mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+        return mv;
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setTitleRows(2);
+            params.setHeadRows(1);
+            params.setNeedSave(true);
+            try {
+                List<RuleBase> listRuleBases = ExcelImportUtil.importExcel(file.getInputStream(), RuleBase.class, params);
+                ruleBaseService.saveBatch(listRuleBases);
+                return Result.ok("文件导入成功!数据行数:" + listRuleBases.size());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                return Result.error("文件导入失败:" + e.getMessage());
+            } finally {
+                try {
+                    file.getInputStream().close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return Result.ok("文件导入失败!");
+    }
+
+}

+ 256 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/RuleGroupController.java

@@ -0,0 +1,256 @@
+package cn.com.ctop.alarm.modules.controller;
+
+import cn.com.ctop.alarm.modules.entity.RuleGroup;
+import cn.com.ctop.alarm.modules.service.IRuleGroupService;
+import cn.com.ctop.common.module.annotation.AutoLog;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 规则组
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-11-15
+ */
+@Slf4j
+@Api(tags = "规则组")
+@RestController
+@RequestMapping("/ruleGroup")
+public class RuleGroupController {
+    @Autowired
+    private IRuleGroupService ruleGroupService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param ruleGroup
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "规则组-分页列表查询")
+    @ApiOperation(value = "规则组-分页列表查询", notes = "规则组-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<RuleGroup>> queryPageList(RuleGroup ruleGroup,
+                                                  @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                  @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                  HttpServletRequest req) {
+        Result<IPage<RuleGroup>> result = new Result<>();
+        QueryWrapper<RuleGroup> queryWrapper = QueryGenerator.initQueryWrapper(ruleGroup, req.getParameterMap());
+        Page<RuleGroup> page = new Page<RuleGroup>(pageNo, pageSize);
+        IPage<RuleGroup> pageList = ruleGroupService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param ruleGroup
+     * @return
+     */
+    @AutoLog(value = "规则组-添加")
+    @ApiOperation(value = "规则组-添加", notes = "规则组-添加")
+    @PostMapping(value = "/add")
+    public Result<RuleGroup> add(@RequestBody RuleGroup ruleGroup) {
+        Result<RuleGroup> result = new Result<>();
+        try {
+            ruleGroupService.save(ruleGroup);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param ruleGroup
+     * @return
+     */
+    @AutoLog(value = "规则组-编辑")
+    @ApiOperation(value = "规则组-编辑", notes = "规则组-编辑")
+    @PutMapping(value = "/edit")
+    public Result<RuleGroup> edit(@RequestBody RuleGroup ruleGroup) {
+        Result<RuleGroup> result = new Result<RuleGroup>();
+        RuleGroup ruleGroupEntity = ruleGroupService.getById(ruleGroup.getId());
+        if (ruleGroupEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = ruleGroupService.updateById(ruleGroup);
+            if (ok) {
+                result.success("修改成功!");
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "规则组-通过id删除")
+    @ApiOperation(value = "规则组-通过id删除", notes = "规则组-通过id删除")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            ruleGroupService.removeById(id);
+        } catch (Exception e) {
+            log.error("删除失败", e.getMessage());
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "规则组-批量删除")
+    @ApiOperation(value = "规则组-批量删除", notes = "规则组-批量删除")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<RuleGroup> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<RuleGroup> result = new Result<>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.ruleGroupService.removeByIds(Arrays.asList(ids.split(",")));
+            result.success("删除成功!");
+        }
+        return result;
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "规则组-通过id查询")
+    @ApiOperation(value = "规则组-通过id查询", notes = "规则组-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<RuleGroup> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<RuleGroup> result = new Result<>();
+        RuleGroup ruleGroup = ruleGroupService.getById(id);
+        if (ruleGroup == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(ruleGroup);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        // Step.1 组装查询条件
+        QueryWrapper<RuleGroup> queryWrapper = null;
+        try {
+            String paramsStr = request.getParameter("paramsStr");
+            if (oConvertUtils.isNotEmpty(paramsStr)) {
+                String deString = URLDecoder.decode(paramsStr, "UTF-8");
+                RuleGroup ruleGroup = JSON.parseObject(deString, RuleGroup.class);
+                queryWrapper = QueryGenerator.initQueryWrapper(ruleGroup, request.getParameterMap());
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+        //Step.2 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<RuleGroup> pageList = ruleGroupService.list(queryWrapper);
+        //导出文件名称
+        mv.addObject(NormalExcelConstants.FILE_NAME, "规则组列表");
+        mv.addObject(NormalExcelConstants.CLASS, RuleGroup.class);
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("规则组列表数据", "导出人:Jeecg", "导出信息"));
+        mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+        return mv;
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setTitleRows(2);
+            params.setHeadRows(1);
+            params.setNeedSave(true);
+            try {
+                List<RuleGroup> listRuleGroups = ExcelImportUtil.importExcel(file.getInputStream(), RuleGroup.class, params);
+                ruleGroupService.saveBatch(listRuleGroups);
+                return Result.ok("文件导入成功!数据行数:" + listRuleGroups.size());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                return Result.error("文件导入失败:" + e.getMessage());
+            } finally {
+                try {
+                    file.getInputStream().close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return Result.ok("文件导入失败!");
+    }
+
+}

+ 256 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/controller/RuleTemplateController.java

@@ -0,0 +1,256 @@
+package cn.com.ctop.alarm.modules.controller;
+
+import cn.com.ctop.alarm.modules.entity.RuleTemplate;
+import cn.com.ctop.alarm.modules.service.IRuleTemplateService;
+import cn.com.ctop.common.module.annotation.AutoLog;
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.jeecg.common.api.vo.Result;
+import org.jeecg.common.system.query.QueryGenerator;
+import org.jeecg.common.util.oConvertUtils;
+import org.jeecgframework.poi.excel.ExcelImportUtil;
+import org.jeecgframework.poi.excel.def.NormalExcelConstants;
+import org.jeecgframework.poi.excel.entity.ExportParams;
+import org.jeecgframework.poi.excel.entity.ImportParams;
+import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartHttpServletRequest;
+import org.springframework.web.servlet.ModelAndView;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 规则模板
+ *
+ * @author jeecg-boot
+ * @version V1.0
+ * @date 2020-11-15
+ */
+@Slf4j
+@Api(tags = "规则模板")
+@RestController
+@RequestMapping("/ruleTemplate")
+public class RuleTemplateController {
+    @Autowired
+    private IRuleTemplateService ruleTemplateService;
+
+    /**
+     * 分页列表查询
+     *
+     * @param ruleTemplate
+     * @param pageNo
+     * @param pageSize
+     * @param req
+     * @return
+     */
+    @AutoLog(value = "规则模板-分页列表查询")
+    @ApiOperation(value = "规则模板-分页列表查询", notes = "规则模板-分页列表查询")
+    @GetMapping(value = "/list")
+    public Result<IPage<RuleTemplate>> queryPageList(RuleTemplate ruleTemplate,
+                                                     @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
+                                                     @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
+                                                     HttpServletRequest req) {
+        Result<IPage<RuleTemplate>> result = new Result<>();
+        QueryWrapper<RuleTemplate> queryWrapper = QueryGenerator.initQueryWrapper(ruleTemplate, req.getParameterMap());
+        Page<RuleTemplate> page = new Page<RuleTemplate>(pageNo, pageSize);
+        IPage<RuleTemplate> pageList = ruleTemplateService.page(page, queryWrapper);
+        result.setSuccess(true);
+        result.setResult(pageList);
+        return result;
+    }
+
+    /**
+     * 添加
+     *
+     * @param ruleTemplate
+     * @return
+     */
+    @AutoLog(value = "规则模板-添加")
+    @ApiOperation(value = "规则模板-添加", notes = "规则模板-添加")
+    @PostMapping(value = "/add")
+    public Result<RuleTemplate> add(@RequestBody RuleTemplate ruleTemplate) {
+        Result<RuleTemplate> result = new Result<>();
+        try {
+            ruleTemplateService.save(ruleTemplate);
+            result.success("添加成功!");
+        } catch (Exception e) {
+            log.error(e.getMessage(), e);
+            result.error500("操作失败");
+        }
+        return result;
+    }
+
+    /**
+     * 编辑
+     *
+     * @param ruleTemplate
+     * @return
+     */
+    @AutoLog(value = "规则模板-编辑")
+    @ApiOperation(value = "规则模板-编辑", notes = "规则模板-编辑")
+    @PutMapping(value = "/edit")
+    public Result<RuleTemplate> edit(@RequestBody RuleTemplate ruleTemplate) {
+        Result<RuleTemplate> result = new Result<RuleTemplate>();
+        RuleTemplate ruleTemplateEntity = ruleTemplateService.getById(ruleTemplate.getId());
+        if (ruleTemplateEntity == null) {
+            result.error500("未找到对应实体");
+        } else {
+            boolean ok = ruleTemplateService.updateById(ruleTemplate);
+            if (ok) {
+                result.success("修改成功!");
+            }
+        }
+
+        return result;
+    }
+
+    /**
+     * 通过id删除
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "规则模板-通过id删除")
+    @ApiOperation(value = "规则模板-通过id删除", notes = "规则模板-通过id删除")
+    @DeleteMapping(value = "/delete")
+    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
+        try {
+            ruleTemplateService.removeById(id);
+        } catch (Exception e) {
+            log.error("删除失败", e.getMessage());
+            return Result.error("删除失败!");
+        }
+        return Result.ok("删除成功!");
+    }
+
+    /**
+     * 批量删除
+     *
+     * @param ids
+     * @return
+     */
+    @AutoLog(value = "规则模板-批量删除")
+    @ApiOperation(value = "规则模板-批量删除", notes = "规则模板-批量删除")
+    @DeleteMapping(value = "/deleteBatch")
+    public Result<RuleTemplate> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
+        Result<RuleTemplate> result = new Result<>();
+        if (ids == null || "".equals(ids.trim())) {
+            result.error500("参数不识别!");
+        } else {
+            this.ruleTemplateService.removeByIds(Arrays.asList(ids.split(",")));
+            result.success("删除成功!");
+        }
+        return result;
+    }
+
+    /**
+     * 通过id查询
+     *
+     * @param id
+     * @return
+     */
+    @AutoLog(value = "规则模板-通过id查询")
+    @ApiOperation(value = "规则模板-通过id查询", notes = "规则模板-通过id查询")
+    @GetMapping(value = "/queryById")
+    public Result<RuleTemplate> queryById(@RequestParam(name = "id", required = true) String id) {
+        Result<RuleTemplate> result = new Result<>();
+        RuleTemplate ruleTemplate = ruleTemplateService.getById(id);
+        if (ruleTemplate == null) {
+            result.error500("未找到对应实体");
+        } else {
+            result.setResult(ruleTemplate);
+            result.setSuccess(true);
+        }
+        return result;
+    }
+
+    /**
+     * 导出excel
+     *
+     * @param request
+     * @param response
+     */
+    @RequestMapping(value = "/exportXls")
+    public ModelAndView exportXls(HttpServletRequest request, HttpServletResponse response) {
+        // Step.1 组装查询条件
+        QueryWrapper<RuleTemplate> queryWrapper = null;
+        try {
+            String paramsStr = request.getParameter("paramsStr");
+            if (oConvertUtils.isNotEmpty(paramsStr)) {
+                String deString = URLDecoder.decode(paramsStr, "UTF-8");
+                RuleTemplate ruleTemplate = JSON.parseObject(deString, RuleTemplate.class);
+                queryWrapper = QueryGenerator.initQueryWrapper(ruleTemplate, request.getParameterMap());
+            }
+        } catch (UnsupportedEncodingException e) {
+            e.printStackTrace();
+        }
+
+        //Step.2 AutoPoi 导出Excel
+        ModelAndView mv = new ModelAndView(new JeecgEntityExcelView());
+        List<RuleTemplate> pageList = ruleTemplateService.list(queryWrapper);
+        //导出文件名称
+        mv.addObject(NormalExcelConstants.FILE_NAME, "规则模板列表");
+        mv.addObject(NormalExcelConstants.CLASS, RuleTemplate.class);
+        mv.addObject(NormalExcelConstants.PARAMS, new ExportParams("规则模板列表数据", "导出人:Jeecg", "导出信息"));
+        mv.addObject(NormalExcelConstants.DATA_LIST, pageList);
+        return mv;
+    }
+
+    /**
+     * 通过excel导入数据
+     *
+     * @param request
+     * @param response
+     * @return
+     */
+    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
+    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
+        MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
+        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
+        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
+            MultipartFile file = entity.getValue();
+            ImportParams params = new ImportParams();
+            params.setTitleRows(2);
+            params.setHeadRows(1);
+            params.setNeedSave(true);
+            try {
+                List<RuleTemplate> listRuleTemplates = ExcelImportUtil.importExcel(file.getInputStream(), RuleTemplate.class, params);
+                ruleTemplateService.saveBatch(listRuleTemplates);
+                return Result.ok("文件导入成功!数据行数:" + listRuleTemplates.size());
+            } catch (Exception e) {
+                log.error(e.getMessage(), e);
+                return Result.error("文件导入失败:" + e.getMessage());
+            } finally {
+                try {
+                    file.getInputStream().close();
+                } catch (IOException e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+        return Result.ok("文件导入失败!");
+    }
+
+}

+ 49 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/RuleAccountTemplate.java

@@ -0,0 +1,49 @@
+package cn.com.ctop.alarm.modules.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 规则模板
+ * @author jeecg-boot
+ * @date   2020-11-15
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_rule_account_template")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="ctop_rule_account_template对象", description="规则模板")
+public class RuleAccountTemplate {
+    
+	/**id*/
+	@TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+	private Long id;
+	/**账户id*/
+	@Excel(name = "账户id", width = 15)
+    @ApiModelProperty(value = "账户id")
+	private Long accountId;
+	/**模板id*/
+	@Excel(name = "模板id", width = 15)
+    @ApiModelProperty(value = "模板id")
+	private Long templateId;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

+ 53 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/RuleAccountThreshold.java

@@ -0,0 +1,53 @@
+package cn.com.ctop.alarm.modules.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 规则关联账户 阈值
+ * @author jeecg-boot
+ * @date   2020-11-15
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_rule_account_threshold")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="ctop_rule_account_threshold对象", description="规则关联账户 阈值")
+public class RuleAccountThreshold {
+    
+	/**id*/
+	@TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+	private Long id;
+	/**账户id*/
+	@Excel(name = "账户id", width = 15)
+    @ApiModelProperty(value = "账户id")
+	private Long accountId;
+	/**规则id*/
+	@Excel(name = "规则id", width = 15)
+    @ApiModelProperty(value = "规则id")
+	private Long ruleId;
+	/**阈值*/
+	@Excel(name = "阈值", width = 15)
+    @ApiModelProperty(value = "阈值")
+	private String threshoId;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

+ 61 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/RuleBase.java

@@ -0,0 +1,61 @@
+package cn.com.ctop.alarm.modules.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 基础规则
+ * @author jeecg-boot
+ * @date   2020-11-15
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_rule_base")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="ctop_rule_base对象", description="基础规则")
+public class RuleBase {
+    
+	/**id*/
+	@TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+	private Long id;
+	/**规则名称*/
+	@Excel(name = "规则名称", width = 15)
+    @ApiModelProperty(value = "规则名称")
+	private String ruleName;
+	/**指标code*/
+	@Excel(name = "指标code", width = 15)
+    @ApiModelProperty(value = "指标code")
+	private String indicatorCode;
+	/**判断条件 大于 等于 小于等*/
+	@Excel(name = "判断条件 大于 等于 小于等", width = 15)
+    @ApiModelProperty(value = "判断条件 大于 等于 小于等")
+	private String condition;
+	/**阈值 比较值*/
+	@Excel(name = "阈值 比较值", width = 15)
+    @ApiModelProperty(value = "阈值 比较值")
+	private String threshold;
+	/**规则维度 账户、计划、组、创意等维度*/
+	@Excel(name = "规则维度 账户、计划、组、创意等维度", width = 15)
+    @ApiModelProperty(value = "规则维度 账户、计划、组、创意等维度")
+	private String ruleDimension;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

+ 53 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/RuleGroup.java

@@ -0,0 +1,53 @@
+package cn.com.ctop.alarm.modules.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 规则组
+ * @author jeecg-boot
+ * @date   2020-11-15
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_rule_group")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="ctop_rule_group对象", description="规则组")
+public class RuleGroup {
+    
+	/**id*/
+	@TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+	private Long id;
+	/**规则id列表*/
+	@Excel(name = "规则id列表", width = 15)
+    @ApiModelProperty(value = "规则id列表")
+	private String ruleIds;
+	/**规则类型 group为组合规则 base 为单条规则*/
+	@Excel(name = "规则类型 group为组合规则 base 为单条规则", width = 15)
+    @ApiModelProperty(value = "规则类型 group为组合规则 base 为单条规则")
+	private String ruleType;
+	/**规则关系 当rule_type 为group时必填 and同时命中  or 命中一条*/
+	@Excel(name = "规则关系 当rule_type 为group时必填 and同时命中  or 命中一条", width = 15)
+    @ApiModelProperty(value = "规则关系 当rule_type 为group时必填 and同时命中  or 命中一条")
+	private String ruleRelationship;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

+ 53 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/entity/RuleTemplate.java

@@ -0,0 +1,53 @@
+package cn.com.ctop.alarm.modules.entity;
+
+import java.io.Serializable;
+import java.util.Date;
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.annotation.TableField;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.jeecgframework.poi.excel.annotation.Excel;
+
+/**
+ * 规则模板
+ * @author jeecg-boot
+ * @date   2020-11-15
+ * @version V1.0
+ */
+@Data
+@TableName("ctop_rule_template")
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+@ApiModel(value="ctop_rule_template对象", description="规则模板")
+public class RuleTemplate {
+    
+	/**id*/
+	@TableId(type = IdType.AUTO)
+    @ApiModelProperty(value = "id")
+	private Long id;
+	/**1:头条2:快手*/
+	@Excel(name = "1:头条2:快手", width = 15)
+    @ApiModelProperty(value = "1:头条2:快手")
+	private Long mediaType;
+	/**模板名称*/
+	@Excel(name = "模板名称", width = 15)
+    @ApiModelProperty(value = "模板名称")
+	private String templateName;
+	/**规则组集合*/
+	@Excel(name = "规则组集合", width = 15)
+    @ApiModelProperty(value = "规则组集合")
+	private String groupIds;
+	/**createTime*/
+    @ApiModelProperty(value = "createTime")
+	private Date createTime;
+	/**updateTime*/
+    @ApiModelProperty(value = "updateTime")
+	private Date updateTime;
+}

+ 17 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/RuleAccountTemplateMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.alarm.modules.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import cn.com.ctop.alarm.modules.entity.RuleAccountTemplate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 规则模板
+ * @author: jeecg-boot
+ * @date:   2020-11-15
+ * @cersion: V1.0
+ */
+public interface RuleAccountTemplateMapper extends BaseMapper<RuleAccountTemplate> {
+
+}

+ 17 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/RuleAccountThresholdMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.alarm.modules.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import cn.com.ctop.alarm.modules.entity.RuleAccountThreshold;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 规则关联账户 阈值
+ * @author: jeecg-boot
+ * @date:   2020-11-15
+ * @cersion: V1.0
+ */
+public interface RuleAccountThresholdMapper extends BaseMapper<RuleAccountThreshold> {
+
+}

+ 17 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/RuleBaseMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.alarm.modules.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import cn.com.ctop.alarm.modules.entity.RuleBase;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 基础规则
+ * @author: jeecg-boot
+ * @date:   2020-11-15
+ * @cersion: V1.0
+ */
+public interface RuleBaseMapper extends BaseMapper<RuleBase> {
+
+}

+ 17 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/RuleGroupMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.alarm.modules.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import cn.com.ctop.alarm.modules.entity.RuleGroup;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 规则组
+ * @author: jeecg-boot
+ * @date:   2020-11-15
+ * @cersion: V1.0
+ */
+public interface RuleGroupMapper extends BaseMapper<RuleGroup> {
+
+}

+ 17 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/RuleTemplateMapper.java

@@ -0,0 +1,17 @@
+package cn.com.ctop.alarm.modules.mapper;
+
+import java.util.List;
+
+import org.apache.ibatis.annotations.Param;
+import cn.com.ctop.alarm.modules.entity.RuleTemplate;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * 规则模板
+ * @author: jeecg-boot
+ * @date:   2020-11-15
+ * @cersion: V1.0
+ */
+public interface RuleTemplateMapper extends BaseMapper<RuleTemplate> {
+
+}

+ 5 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/RuleAccountTemplateMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.alarm.modules.mapper.RuleAccountTemplateMapper">
+
+</mapper>

+ 5 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/RuleAccountThresholdMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.alarm.modules.mapper.RuleAccountThresholdMapper">
+
+</mapper>

+ 5 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/RuleBaseMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.alarm.modules.mapper.RuleBaseMapper">
+
+</mapper>

+ 5 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/RuleGroupMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.alarm.modules.mapper.RuleGroupMapper">
+
+</mapper>

+ 5 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/mapper/xml/RuleTemplateMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.com.ctop.alarm.modules.mapper.RuleTemplateMapper">
+
+</mapper>

+ 14 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IRuleAccountTemplateService.java

@@ -0,0 +1,14 @@
+package cn.com.ctop.alarm.modules.service;
+
+import cn.com.ctop.alarm.modules.entity.RuleAccountTemplate;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 规则模板
+ * @Author: jeecg-boot
+ * @Date:   2020-11-15
+ * @Version: V1.0
+ */
+public interface IRuleAccountTemplateService extends IService<RuleAccountTemplate> {
+
+}

+ 14 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IRuleAccountThresholdService.java

@@ -0,0 +1,14 @@
+package cn.com.ctop.alarm.modules.service;
+
+import cn.com.ctop.alarm.modules.entity.RuleAccountThreshold;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 规则关联账户 阈值
+ * @Author: jeecg-boot
+ * @Date:   2020-11-15
+ * @Version: V1.0
+ */
+public interface IRuleAccountThresholdService extends IService<RuleAccountThreshold> {
+
+}

+ 14 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IRuleBaseService.java

@@ -0,0 +1,14 @@
+package cn.com.ctop.alarm.modules.service;
+
+import cn.com.ctop.alarm.modules.entity.RuleBase;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 基础规则
+ * @Author: jeecg-boot
+ * @Date:   2020-11-15
+ * @Version: V1.0
+ */
+public interface IRuleBaseService extends IService<RuleBase> {
+
+}

+ 14 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IRuleGroupService.java

@@ -0,0 +1,14 @@
+package cn.com.ctop.alarm.modules.service;
+
+import cn.com.ctop.alarm.modules.entity.RuleGroup;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 规则组
+ * @Author: jeecg-boot
+ * @Date:   2020-11-15
+ * @Version: V1.0
+ */
+public interface IRuleGroupService extends IService<RuleGroup> {
+
+}

+ 14 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/IRuleTemplateService.java

@@ -0,0 +1,14 @@
+package cn.com.ctop.alarm.modules.service;
+
+import cn.com.ctop.alarm.modules.entity.RuleTemplate;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * @Description: 规则模板
+ * @Author: jeecg-boot
+ * @Date:   2020-11-15
+ * @Version: V1.0
+ */
+public interface IRuleTemplateService extends IService<RuleTemplate> {
+
+}

+ 19 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleAccountTemplateServiceImpl.java

@@ -0,0 +1,19 @@
+package cn.com.ctop.alarm.modules.service.impl;
+
+import cn.com.ctop.alarm.modules.entity.RuleAccountTemplate;
+import cn.com.ctop.alarm.modules.mapper.RuleAccountTemplateMapper;
+import cn.com.ctop.alarm.modules.service.IRuleAccountTemplateService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * 规则模板
+ * @author jeecg-boot
+ * @date   2020-11-15
+ * @version V1.0
+ */
+@Service
+public class RuleAccountTemplateServiceImpl extends ServiceImpl<RuleAccountTemplateMapper, RuleAccountTemplate> implements IRuleAccountTemplateService {
+
+}

+ 19 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleAccountThresholdServiceImpl.java

@@ -0,0 +1,19 @@
+package cn.com.ctop.alarm.modules.service.impl;
+
+import cn.com.ctop.alarm.modules.entity.RuleAccountThreshold;
+import cn.com.ctop.alarm.modules.mapper.RuleAccountThresholdMapper;
+import cn.com.ctop.alarm.modules.service.IRuleAccountThresholdService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * 规则关联账户 阈值
+ * @author jeecg-boot
+ * @date   2020-11-15
+ * @version V1.0
+ */
+@Service
+public class RuleAccountThresholdServiceImpl extends ServiceImpl<RuleAccountThresholdMapper, RuleAccountThreshold> implements IRuleAccountThresholdService {
+
+}

+ 19 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleBaseServiceImpl.java

@@ -0,0 +1,19 @@
+package cn.com.ctop.alarm.modules.service.impl;
+
+import cn.com.ctop.alarm.modules.entity.RuleBase;
+import cn.com.ctop.alarm.modules.mapper.RuleBaseMapper;
+import cn.com.ctop.alarm.modules.service.IRuleBaseService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * 基础规则
+ * @author jeecg-boot
+ * @date   2020-11-15
+ * @version V1.0
+ */
+@Service
+public class RuleBaseServiceImpl extends ServiceImpl<RuleBaseMapper, RuleBase> implements IRuleBaseService {
+
+}

+ 19 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleGroupServiceImpl.java

@@ -0,0 +1,19 @@
+package cn.com.ctop.alarm.modules.service.impl;
+
+import cn.com.ctop.alarm.modules.entity.RuleGroup;
+import cn.com.ctop.alarm.modules.mapper.RuleGroupMapper;
+import cn.com.ctop.alarm.modules.service.IRuleGroupService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * 规则组
+ * @author jeecg-boot
+ * @date   2020-11-15
+ * @version V1.0
+ */
+@Service
+public class RuleGroupServiceImpl extends ServiceImpl<RuleGroupMapper, RuleGroup> implements IRuleGroupService {
+
+}

+ 19 - 0
module-alarm/src/main/java/cn/com/ctop/alarm/modules/service/impl/RuleTemplateServiceImpl.java

@@ -0,0 +1,19 @@
+package cn.com.ctop.alarm.modules.service.impl;
+
+import cn.com.ctop.alarm.modules.entity.RuleTemplate;
+import cn.com.ctop.alarm.modules.mapper.RuleTemplateMapper;
+import cn.com.ctop.alarm.modules.service.IRuleTemplateService;
+import org.springframework.stereotype.Service;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+/**
+ * 规则模板
+ * @author jeecg-boot
+ * @date   2020-11-15
+ * @version V1.0
+ */
+@Service
+public class RuleTemplateServiceImpl extends ServiceImpl<RuleTemplateMapper, RuleTemplate> implements IRuleTemplateService {
+
+}