diff --git a/pom.xml b/pom.xml index 2ebe390..b1804d1 100644 --- a/pom.xml +++ b/pom.xml @@ -30,10 +30,10 @@ org.springframework.boot spring-boot-starter-web - - - - + + org.springframework.boot + spring-boot-starter-validation + org.springframework.security spring-security-core diff --git a/src/main/java/com/xydl/cac/controller/JgController.java b/src/main/java/com/xydl/cac/controller/JgController.java new file mode 100644 index 0000000..7c287e6 --- /dev/null +++ b/src/main/java/com/xydl/cac/controller/JgController.java @@ -0,0 +1,72 @@ +package com.xydl.cac.controller; + +import com.xydl.cac.entity.Jg; +import com.xydl.cac.model.Response; +import com.xydl.cac.service.JgService; +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("area") +@Slf4j +public class JgController extends BasicController { + + @Resource + JgService service; + + @GetMapping("listAll") + @ApiOperation("查询列表") + public Response> listAll(Integer bdzid) { + try { + List result = service.listAll(bdzid); + return Response.success(result); + } catch (Exception ex) { + return Response.fail(ex.getMessage()); + } + } + + @PostMapping("add") + @ApiOperation("新增") + public Response add(@Validated @RequestBody Jg item) { + try { + Jg result = service.add(item); + return Response.success(result); + } catch (Exception ex) { + return Response.fail(ex.getMessage()); + } + } + + @PostMapping("update") + @ApiOperation("更新") + public Response update(@Validated @RequestBody Jg item) { + try { + if (item.getId() == null) { + throw new Exception("ID不能为空!"); + } + service.update(item); + return Response.success("OK"); + } catch (Exception ex) { + return Response.fail(ex.getMessage()); + } + } + + @PostMapping("delete") + @ApiOperation("删除") + public Response delete(@Validated @NotNull(message = "ID不能为空!") Integer id) { + try { + service.delete(id); + return Response.success("OK"); + } catch (Exception ex) { + return Response.fail(ex.getMessage()); + } + } + +} diff --git a/src/main/java/com/xydl/cac/controller/ZsbController.java b/src/main/java/com/xydl/cac/controller/ZsbController.java new file mode 100644 index 0000000..909ad03 --- /dev/null +++ b/src/main/java/com/xydl/cac/controller/ZsbController.java @@ -0,0 +1,72 @@ +package com.xydl.cac.controller; + +import com.xydl.cac.entity.Zsb; +import com.xydl.cac.model.Response; +import com.xydl.cac.service.ZsbService; +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("zsb") +@Slf4j +public class ZsbController extends BasicController { + + @Resource + ZsbService service; + + @GetMapping("listAll") + @ApiOperation("查询全部列表") + public Response> listAll(Integer jgid) { + try { + List result = service.listAll(jgid); + return Response.success(result); + } catch (Exception ex) { + return Response.fail(ex.getMessage()); + } + } + + @PostMapping("add") + @ApiOperation("新增") + public Response add(@Validated @RequestBody Zsb item) { + try { + Zsb result = service.add(item); + return Response.success(result); + } catch (Exception ex) { + return Response.fail(ex.getMessage()); + } + } + + @PostMapping("update") + @ApiOperation("更新") + public Response update(@Validated @RequestBody Zsb item) { + try { + if (item.getId() == null) { + throw new Exception("ID不能为空!"); + } + service.update(item); + return Response.success("OK"); + } catch (Exception ex) { + return Response.fail(ex.getMessage()); + } + } + + @PostMapping("delete") + @ApiOperation("删除") + public Response delete(@Validated @NotNull(message = "ID不能为空!") Integer id) { + try { + service.delete(id); + return Response.success("OK"); + } catch (Exception ex) { + return Response.fail(ex.getMessage()); + } + } + +} diff --git a/src/main/java/com/xydl/cac/entity/Jg.java b/src/main/java/com/xydl/cac/entity/Jg.java new file mode 100644 index 0000000..1d14736 --- /dev/null +++ b/src/main/java/com/xydl/cac/entity/Jg.java @@ -0,0 +1,45 @@ +package com.xydl.cac.entity; + +import io.swagger.annotations.ApiModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.*; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Entity +@Table(name = "jg") +@ApiModel("区域间隔表") +public class Jg { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Integer id; + + @NotEmpty(message = "名称不能为空") + @Column(name = "mc") + private String mc; + + @NotNull(message = "变电站id不能为空") + @Column(name = "bdzid") + private Integer bdzid; + + @Column(name = "ls") + private BigDecimal ls; + + @Column(name = "areaid") + private String areaid; + + @Column(name = "xh") + private BigDecimal xh; + +} \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/entity/Lx.java b/src/main/java/com/xydl/cac/entity/Lx.java index c29c571..a102e26 100644 --- a/src/main/java/com/xydl/cac/entity/Lx.java +++ b/src/main/java/com/xydl/cac/entity/Lx.java @@ -14,7 +14,7 @@ import java.math.BigDecimal; @AllArgsConstructor @NoArgsConstructor @Entity -@Table(name = "bdz") +@Table(name = "lx") @ApiModel("设备类型表") public class Lx { diff --git a/src/main/java/com/xydl/cac/entity/Zsb.java b/src/main/java/com/xydl/cac/entity/Zsb.java new file mode 100644 index 0000000..59e0941 --- /dev/null +++ b/src/main/java/com/xydl/cac/entity/Zsb.java @@ -0,0 +1,201 @@ +package com.xydl.cac.entity; + +import io.swagger.annotations.ApiModel; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +import javax.persistence.*; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; +import java.math.BigDecimal; + +@Data +@Builder +@AllArgsConstructor +@NoArgsConstructor +@Entity +@Table(name = "zsb") +@ApiModel("主设备表") +public class Zsb { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + @Column(name = "id") + private Integer id; + + @NotEmpty(message = "名称不能为空") + @Column(name = "mc") + private String mc; + + @NotNull(message = "区域id不能为空") + @Column(name = "jgid") + private Integer jgid; + + @Column(name = "lxid") + private Integer lxid; + + @Column(name = "deviceip") + private String deviceip; + + @Column(name = "deviceport") + private String deviceport; + + @Column(name = "deviceusername") + private String deviceusername; + + @Column(name = "devicepasswd") + private String devicepasswd; + + @Column(name = "bdzid") + private Integer bdzid; + + @Column(name = "address") + private BigDecimal address; + + @Column(name = "frequency") + private BigDecimal frequency; + + @Column(name = "portname") + private String portname; + + @Column(name = "venderid") + private String venderid; + + @Column(name = "transcount") + private BigDecimal transcount; + + @Column(name = "vendercode") + private String vendercode; + + @Column(name = "xh") + private BigDecimal xh; + + @Column(name = "enable") + private BigDecimal enable; + + @Column(name = "sbbm") + private String sbbm; + + @Column(name = "yxbh") + private String yxbh; + + @Column(name = "zcxz") + private String zcxz; + + @Column(name = "zcdw") + private String zcdw; + + @Column(name = "xs") + private String xs; + + @Column(name = "jb") + private String jb; + + @Column(name = "xb") + private String xb; + + @Column(name = "eddy") + private String eddy; + + @Column(name = "eddl") + private String eddl; + + @Column(name = "edpl") + private String edpl; + + @Column(name = "edxh") + private String edxh; + + @Column(name = "sccj") + private String sccj; + + @Column(name = "ccbh") + private String ccbh; + + @Column(name = "ccdh") + private String ccdh; + + @Column(name = "zzgj") + private String zzgj; + + @Column(name = "ccrq") + private String ccrq; + + @Column(name = "tcrq") + private String tcrq; + + @Column(name = "syhj") + private String syhj; + + @Column(name = "fwdj") + private String fwdj; + + @Column(name = "zcbh") + private String zcbh; + + @Column(name = "yt") + private BigDecimal yt; + + @Column(name = "whbz") + private String whbz; + + @Column(name = "sbzr") + private String sbzr; + + @Column(name = "ywdw") + private String ywdw; + + @Column(name = "gcbh") + private String gcbh; + + @Column(name = "gcmc") + private String gcmc; + + @Column(name = "sbid") + private String sbid; + + @Column(name = "zxmc") + private String zxmc; + + @Column(name = "sbcz") + private String sbcz; + + @Column(name = "zyfl") + private String zyfl; + + @Column(name = "pmbm") + private String pmbm; + + @Column(name = "gnwz") + private String gnwz; + + @Column(name = "sblxbm") + private String sblxbm; + + @Column(name = "zfid") + private String zfid; + + @Column(name = "zjtyrq") + private String zjtyrq; + + @Column(name = "sbzjfs") + private String sbzjfs; + + @Column(name = "zcyjqcid") + private String zcyjqcid; + + @Column(name = "dqmpyxkid") + private String dqmpyxkid; + + @Column(name = "ssdzdydj") + private String ssdzdydj; + + @Column(name = "djsj") + private String djsj; + + @Column(name = "sssj") + private String sssj; + +} \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/exception/GlobalExceptionHandler.java b/src/main/java/com/xydl/cac/exception/GlobalExceptionHandler.java new file mode 100644 index 0000000..59104cf --- /dev/null +++ b/src/main/java/com/xydl/cac/exception/GlobalExceptionHandler.java @@ -0,0 +1,21 @@ +package com.xydl.cac.exception; + +import com.xydl.cac.model.Response; +import org.springframework.validation.FieldError; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +import java.util.stream.Collectors; + +@RestControllerAdvice +public class GlobalExceptionHandler { + + @ExceptionHandler(MethodArgumentNotValidException.class) + public Response handleValidationExceptions(MethodArgumentNotValidException ex) { + String message = ex.getBindingResult().getFieldErrors().stream() + .map(FieldError::getDefaultMessage) + .collect(Collectors.joining(",")); + return Response.fail(message); + } +} \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/repository/JgRepository.java b/src/main/java/com/xydl/cac/repository/JgRepository.java new file mode 100644 index 0000000..4416fc9 --- /dev/null +++ b/src/main/java/com/xydl/cac/repository/JgRepository.java @@ -0,0 +1,14 @@ +package com.xydl.cac.repository; + +import com.xydl.cac.entity.Jg; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.stereotype.Repository; + +import java.util.List; + + +@Repository +public interface JgRepository extends JpaRepository, JpaSpecificationExecutor { + List findByBdzid(Integer bdzId); +} \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/repository/ZsbRepository.java b/src/main/java/com/xydl/cac/repository/ZsbRepository.java new file mode 100644 index 0000000..76229ee --- /dev/null +++ b/src/main/java/com/xydl/cac/repository/ZsbRepository.java @@ -0,0 +1,14 @@ +package com.xydl.cac.repository; + +import com.xydl.cac.entity.Zsb; +import org.springframework.data.jpa.repository.JpaRepository; +import org.springframework.data.jpa.repository.JpaSpecificationExecutor; +import org.springframework.stereotype.Repository; + +import java.util.List; + + +@Repository +public interface ZsbRepository extends JpaRepository, JpaSpecificationExecutor { + List findByJgid(Integer jgid); +} \ No newline at end of file diff --git a/src/main/java/com/xydl/cac/service/JgService.java b/src/main/java/com/xydl/cac/service/JgService.java new file mode 100644 index 0000000..c44c350 --- /dev/null +++ b/src/main/java/com/xydl/cac/service/JgService.java @@ -0,0 +1,16 @@ +package com.xydl.cac.service; + +import com.xydl.cac.entity.Jg; + +import java.util.List; + +public interface JgService { + + List listAll(Integer bdzid); + + Jg add(Jg item); + + void update(Jg item); + + void delete(Integer id); +} diff --git a/src/main/java/com/xydl/cac/service/ZsbService.java b/src/main/java/com/xydl/cac/service/ZsbService.java new file mode 100644 index 0000000..34feef9 --- /dev/null +++ b/src/main/java/com/xydl/cac/service/ZsbService.java @@ -0,0 +1,16 @@ +package com.xydl.cac.service; + +import com.xydl.cac.entity.Zsb; + +import java.util.List; + +public interface ZsbService { + + List listAll(Integer jgid); + + Zsb add(Zsb item); + + void update(Zsb item); + + void delete(Integer id); +} diff --git a/src/main/java/com/xydl/cac/service/impl/JgServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/JgServiceImpl.java new file mode 100644 index 0000000..3b557f8 --- /dev/null +++ b/src/main/java/com/xydl/cac/service/impl/JgServiceImpl.java @@ -0,0 +1,45 @@ +package com.xydl.cac.service.impl; + +import com.xydl.cac.entity.Jg; +import com.xydl.cac.repository.JgRepository; +import com.xydl.cac.service.JgService; +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 JgServiceImpl implements JgService { + + @Resource + JgRepository repository; + + @Override + public List listAll(Integer bdzid) { + if (bdzid == null) { + return repository.findAll(); + } else { + return repository.findByBdzid(bdzid); + } + } + + @Override + public Jg add(Jg item) { + item.setId(null); + return repository.save(item); + } + + @Override + public void update(Jg item) { + repository.save(item); + } + + @Override + public void delete(Integer id) { + repository.deleteById(id); + } +} diff --git a/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java b/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java new file mode 100644 index 0000000..2752e2e --- /dev/null +++ b/src/main/java/com/xydl/cac/service/impl/ZsbServiceImpl.java @@ -0,0 +1,45 @@ +package com.xydl.cac.service.impl; + +import com.xydl.cac.entity.Zsb; +import com.xydl.cac.repository.ZsbRepository; +import com.xydl.cac.service.ZsbService; +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 ZsbServiceImpl implements ZsbService { + + @Resource + ZsbRepository repository; + + @Override + public List listAll(Integer jgid) { + if (jgid == null) { + return repository.findAll(); + } else { + return repository.findByJgid(jgid); + } + } + + @Override + public Zsb add(Zsb item) { + item.setId(null); + return repository.save(item); + } + + @Override + public void update(Zsb item) { + repository.save(item); + } + + @Override + public void delete(Integer id) { + repository.deleteById(id); + } +}