From 9e21b2bf9e14a8c8f5f4515b721ed117d0928ee3 Mon Sep 17 00:00:00 2001 From: huangfeng Date: Wed, 8 May 2024 16:57:06 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=91=8A=E8=AD=A6=E8=A7=84=E5=88=99?= =?UTF-8?q?=E5=A2=9E=E5=88=A0=E6=94=B9=E6=9F=A5=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cac/controller/WarnRuleController.java | 60 +++++++++++++++++++ .../java/com/xydl/cac/entity/WarnRule.java | 48 +++++++++++++++ .../cac/repository/WarnRuleRepository.java | 12 ++++ .../com/xydl/cac/service/WarnRuleService.java | 16 +++++ .../cac/service/impl/WarnRuleServiceImpl.java | 41 +++++++++++++ 5 files changed, 177 insertions(+) create mode 100644 src/main/java/com/xydl/cac/controller/WarnRuleController.java create mode 100644 src/main/java/com/xydl/cac/entity/WarnRule.java create mode 100644 src/main/java/com/xydl/cac/repository/WarnRuleRepository.java create mode 100644 src/main/java/com/xydl/cac/service/WarnRuleService.java create mode 100644 src/main/java/com/xydl/cac/service/impl/WarnRuleServiceImpl.java diff --git a/src/main/java/com/xydl/cac/controller/WarnRuleController.java b/src/main/java/com/xydl/cac/controller/WarnRuleController.java new file mode 100644 index 0000000..7ab25a3 --- /dev/null +++ b/src/main/java/com/xydl/cac/controller/WarnRuleController.java @@ -0,0 +1,60 @@ +package com.xydl.cac.controller; + +import com.xydl.cac.entity.WarnRule; +import com.xydl.cac.exception.BusinessException; +import com.xydl.cac.model.Response; +import com.xydl.cac.service.WarnRuleService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.validation.constraints.NotNull; +import java.util.List; + +@RestController +@Api(tags = {"告警规则相关接口"}) +@RequestMapping("rule") +@Slf4j +public class WarnRuleController extends BasicController { + + @Resource + WarnRuleService service; + + @GetMapping("listAll") + @ApiOperation("查询全部列表") + public Response> listAll() { + List result = service.listAll(); + return Response.success(result); + } + + @PostMapping("add") + @ApiOperation("新增") + public Response add(@Validated @RequestBody WarnRule item) throws Exception { + WarnRule result = service.add(item); + return Response.success(result); + } + + @PostMapping("update") + @ApiOperation("更新") + public Response update(@Validated @RequestBody WarnRule item) throws Exception { + if (item.getId() == null) { + throw new BusinessException("ID不能为空!"); + } + service.update(item); + return Response.success("OK"); + } + + @PostMapping("delete") + @ApiOperation("删除") + public Response delete(@Validated @NotNull(message = "id不能为空!") Integer id) throws Exception { + if (id == null) { + throw new BusinessException("id不能为空!"); + } + service.delete(id); + return Response.success("OK"); + } + +} diff --git a/src/main/java/com/xydl/cac/entity/WarnRule.java b/src/main/java/com/xydl/cac/entity/WarnRule.java new file mode 100644 index 0000000..d9691cc --- /dev/null +++ b/src/main/java/com/xydl/cac/entity/WarnRule.java @@ -0,0 +1,48 @@ +package com.xydl.cac.entity; + +import com.fasterxml.jackson.annotation.JsonInclude; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.*; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Entity +@Table(name = "warn_rule") +@ApiModel("告警规则表") +public class WarnRule { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Integer id; + + @ApiModelProperty("装置ID") + @Column(name = "eqmid") + private String eqmid; + + @ApiModelProperty("属性点") + @Column(name = "modevtype_point_id") + private Integer modevtypePointId; + + @ApiModelProperty("阈值") + @Column(name = "threshold") + private String threshold; + + @ApiModelProperty("比较器") + @Column(name = "comparator") + private String comparator; + + @ApiModelProperty("告警级别 0:高 1:中 2:低") + @Column(name = "level") + private Integer level; + +} \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/repository/WarnRuleRepository.java b/src/main/java/com/xydl/cac/repository/WarnRuleRepository.java new file mode 100644 index 0000000..51351e8 --- /dev/null +++ b/src/main/java/com/xydl/cac/repository/WarnRuleRepository.java @@ -0,0 +1,12 @@ +package com.xydl.cac.repository; + +import com.xydl.cac.entity.WarnRule; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.stereotype.Repository; + + +@Repository +public interface WarnRuleRepository extends JpaRepository, JpaSpecificationExecutor { + +} \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/WarnRuleService.java b/src/main/java/com/xydl/cac/service/WarnRuleService.java new file mode 100644 index 0000000..0b5c2c5 --- /dev/null +++ b/src/main/java/com/xydl/cac/service/WarnRuleService.java @@ -0,0 +1,16 @@ +package com.xydl.cac.service; + +import com.xydl.cac.entity.WarnRule; + +import java.util.List; + +public interface WarnRuleService { + + List listAll(); + + WarnRule add(WarnRule item) throws Exception; + + void update(WarnRule item) throws Exception; + + void delete(Integer id) throws Exception; +} diff --git a/src/main/java/com/xydl/cac/service/impl/WarnRuleServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/WarnRuleServiceImpl.java new file mode 100644 index 0000000..bf9c1aa --- /dev/null +++ b/src/main/java/com/xydl/cac/service/impl/WarnRuleServiceImpl.java @@ -0,0 +1,41 @@ +package com.xydl.cac.service.impl; + +import com.xydl.cac.entity.WarnRule; +import com.xydl.cac.repository.WarnRuleRepository; +import com.xydl.cac.service.WarnRuleService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.List; + +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +public class WarnRuleServiceImpl implements WarnRuleService { + + @Resource + WarnRuleRepository repository; + + @Override + public List listAll() { + return repository.findAll(); + } + + @Override + public WarnRule add(WarnRule item) throws Exception { + item.setId(null); + return repository.save(item); + } + + @Override + public void update(WarnRule item) throws Exception { + repository.save(item); + } + + @Override + public void delete(Integer id) throws Exception { + repository.deleteById(id); + } +}