From 27475ab8ee5bfbcd04ebf9592ad0b3b26e0db1c8 Mon Sep 17 00:00:00 2001 From: Coolkid Date: Fri, 26 Jan 2024 14:12:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=B5=8B=E7=AB=99=E4=BF=A1?= =?UTF-8?q?=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../xyt/controller/BasicDataController.java | 3 +- .../xyt/entity/basedata/GeneralSearch.java | 17 +++++++ .../xyt/entity/basedata/StCameraSearch.java | 13 +++--- .../xyt/entity/basedata/StcdSearch.java | 21 +++++++++ .../gunshi/project/xyt/model/StStbprpB.java | 44 +++++++++++++++---- .../project/xyt/service/StAdcdService.java | 10 ++--- .../project/xyt/service/StStbprpService.java | 36 +++++++++++++++ .../xyt/service/StAdcdServiceTest.java | 4 +- 8 files changed, 122 insertions(+), 26 deletions(-) create mode 100644 src/main/java/com/gunshi/project/xyt/entity/basedata/StcdSearch.java create mode 100644 src/main/java/com/gunshi/project/xyt/service/StStbprpService.java diff --git a/src/main/java/com/gunshi/project/xyt/controller/BasicDataController.java b/src/main/java/com/gunshi/project/xyt/controller/BasicDataController.java index e21c063..7eafe00 100644 --- a/src/main/java/com/gunshi/project/xyt/controller/BasicDataController.java +++ b/src/main/java/com/gunshi/project/xyt/controller/BasicDataController.java @@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.gunshi.core.annotation.Get; import com.gunshi.core.annotation.Post; import com.gunshi.core.result.R; -import com.gunshi.project.xyt.entity.basedata.AddvcdSearch; import com.gunshi.project.xyt.entity.basedata.CheckStringSearch; import com.gunshi.project.xyt.entity.basedata.GeneralSearch; import com.gunshi.project.xyt.entity.basedata.StAddvcdTreeVo; @@ -102,7 +101,7 @@ public class BasicDataController { @Post(path = "/adcd/search/query", summary = "查询行政区划列表接口") - public R> queryAddvcdList(@Validated @RequestBody AddvcdSearch search) { + public R> queryAddvcdList(@Validated @RequestBody GeneralSearch search) { return R.ok(stAdcdService.queryBySearch(search)); } diff --git a/src/main/java/com/gunshi/project/xyt/entity/basedata/GeneralSearch.java b/src/main/java/com/gunshi/project/xyt/entity/basedata/GeneralSearch.java index 9abea30..a292fb9 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/basedata/GeneralSearch.java +++ b/src/main/java/com/gunshi/project/xyt/entity/basedata/GeneralSearch.java @@ -1,5 +1,6 @@ package com.gunshi.project.xyt.entity.basedata; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.gunshi.db.dto.PageSo; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; @@ -20,4 +21,20 @@ public class GeneralSearch { @NotNull(message = "分页参数不能为空") @Schema(description = "分页参数") private PageSo pageSo; + + @JsonIgnore + public void setPage(int page){ + if (pageSo == null){ + pageSo = new PageSo(); + } + pageSo.setPageNumber(page); + } + + @JsonIgnore + public void setPageSize(int pageSize){ + if (pageSo == null){ + pageSo = new PageSo(); + } + pageSo.setPageSize(pageSize); + } } diff --git a/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraSearch.java b/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraSearch.java index 6b867de..650de4f 100644 --- a/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraSearch.java +++ b/src/main/java/com/gunshi/project/xyt/entity/basedata/StCameraSearch.java @@ -7,6 +7,8 @@ import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; import java.io.Serializable; @@ -17,18 +19,13 @@ import java.io.Serializable; */ +@EqualsAndHashCode(callSuper = true) @Data +@ToString(callSuper = true) @Schema(description = "视频点查询对象") -public class StCameraSearch { - @Schema(description="关键词:名称") - @Size(max = 20, message = "关键词长度不能超过20") - private String keyword; - +public class StCameraSearch extends GeneralSearch { @Schema(description="监控点类型 传枚举ID") @JsonSerialize(using = ToStringSerializer.class) private Long camType; - @NotNull(message = "分页参数不能为空") - @Schema(description = "分页参数") - private PageSo pageSo; } diff --git a/src/main/java/com/gunshi/project/xyt/entity/basedata/StcdSearch.java b/src/main/java/com/gunshi/project/xyt/entity/basedata/StcdSearch.java new file mode 100644 index 0000000..a9e2916 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/entity/basedata/StcdSearch.java @@ -0,0 +1,21 @@ +package com.gunshi.project.xyt.entity.basedata; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.ToString; + +/** + * @author Sun Lejun + * @version 1.0 + * @date 2024/1/26 + */ + +@EqualsAndHashCode(callSuper = true) +@Data +@ToString(callSuper = true) +@Schema(description = "监测站点查询对象") +public class StcdSearch extends GeneralSearch { + @Schema(description="归属协议") + private Long protocols; +} diff --git a/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java b/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java index 47ead49..8ab9299 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java @@ -8,11 +8,13 @@ import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; +import lombok.Data; import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; -import lombok.Data; /** * 监测点基本信息 @@ -26,6 +28,7 @@ public class StStbprpB implements Serializable { */ @TableId(value = "STCD", type = IdType.INPUT) @Schema(description="测站编码") + @NotNull(message = "测站编码不能为空") private String stcd; /** @@ -33,27 +36,29 @@ public class StStbprpB implements Serializable { */ @TableField(value = "STNM") @Schema(description="测站名称") + @NotNull(message = "测站名称不能为空") + @Size(max = 200,message = "测站名称长度不能超过200") private String stnm; /** * 河流名称 */ @TableField(value = "RVNM") - @Schema(description="河流名称") + @Schema(description="河流名称", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private String rvnm; /** * 水系名称 */ @TableField(value = "HNNM") - @Schema(description="水系名称") + @Schema(description="水系名称", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private String hnnm; /** * 流域名称 */ @TableField(value = "BSNM") - @Schema(description="流域名称") + @Schema(description="流域名称", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private String bsnm; /** @@ -61,6 +66,7 @@ public class StStbprpB implements Serializable { */ @TableField(value = "LGTD") @Schema(description="经度") + @NotNull(message = "经度不能为空") private BigDecimal lgtd; /** @@ -68,20 +74,22 @@ public class StStbprpB implements Serializable { */ @TableField(value = "LTTD") @Schema(description="纬度") + @NotNull(message = "纬度不能为空") private BigDecimal lttd; /** * 站址 */ @TableField(value = "STLC") - @Schema(description="站址") + @Schema(description="站址", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Size(max = 200,message = "站址长度不能超过200") private String stlc; /** * 行政区划码 */ @TableField(value = "ADDVCD") - @Schema(description="行政区划码") + @Schema(description="行政区划码", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private String addvcd; /** @@ -89,6 +97,7 @@ public class StStbprpB implements Serializable { */ @TableField(value = "DTMNM") @Schema(description="基面名称") + @Size(max = 200,message = "基面名称长度不能超过200") private String dtmnm; /** @@ -109,7 +118,13 @@ public class StStbprpB implements Serializable { * 站类 */ @TableField(value = "STTP") - @Schema(description="站类") + @Schema(description=""" + 站类 气象站MM 蒸发站BB 堰闸水文站DD + 潮位站TT 泵站DP 墒情站SS + 雨量站PP 河道水文站ZQ 河道水位站ZZ + 水库水文站RR 地下水站ZG 分洪水位站ZB + """) + @NotNull(message = "站类不能为空") private String sttp; /** @@ -123,14 +138,16 @@ public class StStbprpB implements Serializable { * 建站年月 */ @TableField(value = "ESSTYM") - @Schema(description="建站年月") + @Schema(description="建站年月 格式yyyyMMdd") + @Size(max = 6,message = "建站年月长度不能超过6") private String esstym; /** * 始报年月 */ @TableField(value = "BGFRYM") - @Schema(description="始报年月") + @Schema(description="始报年月 格式yyyyMMdd") + @Size(max = 6,message = "始报年月长度不能超过6") private String bgfrym; /** @@ -138,6 +155,7 @@ public class StStbprpB implements Serializable { */ @TableField(value = "ATCUNIT") @Schema(description="隶属行业单位") + @Size(max = 200,message = "隶属行业单位长度不能超过200") private String atcunit; /** @@ -145,6 +163,7 @@ public class StStbprpB implements Serializable { */ @TableField(value = "ADMAUTH") @Schema(description="信息管理单位") + @Size(max = 200,message = "信息管理单位长度不能超过200") private String admauth; /** @@ -152,6 +171,7 @@ public class StStbprpB implements Serializable { */ @TableField(value = "LOCALITY") @Schema(description="交换管理单位") + @Size(max = 200,message = "交换管理单位长度不能超过200") private String locality; /** @@ -159,6 +179,7 @@ public class StStbprpB implements Serializable { */ @TableField(value = "STBK") @Schema(description="测站岸别") + @Size(max = 1,message = "测站岸别长度不能超过1") private String stbk; /** @@ -201,6 +222,7 @@ public class StStbprpB implements Serializable { */ @TableField(value = "COMMENTS") @Schema(description="备注") + @Size(max = 200,message = "备注长度不能超过200") private String comments; /** @@ -216,6 +238,8 @@ public class StStbprpB implements Serializable { */ @TableField(value = "SRC") @Schema(description="站点来源") + @NotNull + @Size(max = 3,message = "站点来源长度不能超过3") private String src; /** @@ -265,6 +289,7 @@ public class StStbprpB implements Serializable { */ @TableField(value = "SIM") @Schema(description="SIM") + @Size(max = 20,message = "SIM长度不能超过20") private String sim; /** @@ -273,6 +298,7 @@ public class StStbprpB implements Serializable { @TableField(value = "PROTOCOLS") @Schema(description="归属协议") @JsonSerialize(using = ToStringSerializer.class) + @NotNull(message = "归属协议不能为空") private Long protocols; public static final String COL_STCD = "STCD"; diff --git a/src/main/java/com/gunshi/project/xyt/service/StAdcdService.java b/src/main/java/com/gunshi/project/xyt/service/StAdcdService.java index 3611b0c..dc30bcf 100644 --- a/src/main/java/com/gunshi/project/xyt/service/StAdcdService.java +++ b/src/main/java/com/gunshi/project/xyt/service/StAdcdService.java @@ -4,7 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.google.common.collect.Lists; import com.gunshi.db.dao.BaseOrderDao; -import com.gunshi.project.xyt.entity.basedata.AddvcdSearch; +import com.gunshi.project.xyt.entity.basedata.GeneralSearch; import com.gunshi.project.xyt.entity.basedata.StAddvcdTreeVo; import com.gunshi.project.xyt.mapper.StAddvcdDMapper; import com.gunshi.project.xyt.model.StAddvcdD; @@ -43,13 +43,13 @@ public class StAdcdService extends BaseOrderDao { return this.getBaseMapper().selectById(addcd); } - public Page queryBySearch(AddvcdSearch addvcdSearch) { + public Page queryBySearch(GeneralSearch search) { QueryWrapper queryWrapper = new QueryWrapper<>(); - queryWrapper.like(StAddvcdD.COL_ADDVCD, addvcdSearch.getKeyword()); + queryWrapper.like(StAddvcdD.COL_ADDVCD, search.getKeyword()); queryWrapper.or(); - queryWrapper.like(StAddvcdD.COL_ADDVNM, addvcdSearch.getKeyword()); + queryWrapper.like(StAddvcdD.COL_ADDVNM, search.getKeyword()); queryWrapper.orderByAsc(StAddvcdD.COL_SORT_ON); - return super.page(addvcdSearch.getPageSo().toPage(), queryWrapper); + return super.page(search.getPageSo().toPage(), queryWrapper); } /** diff --git a/src/main/java/com/gunshi/project/xyt/service/StStbprpService.java b/src/main/java/com/gunshi/project/xyt/service/StStbprpService.java new file mode 100644 index 0000000..689092b --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/service/StStbprpService.java @@ -0,0 +1,36 @@ +package com.gunshi.project.xyt.service; + +import com.gunshi.project.xyt.mapper.StStbprpBMapper; +import com.gunshi.project.xyt.model.StStbprpB; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +/** + * @author Sun Lejun + * @version 1.0 + * @date 2024/1/26 + */ + +@Service +@Slf4j +@Transactional(rollbackFor = Exception.class) +@Data +public class StStbprpService { + private final StStbprpBMapper stStbprpBMapper; + + public StStbprpB queryByStcd(String stcd) { + return stStbprpBMapper.selectById(stcd); + } + + + + public void insert(StStbprpB stStbprpB) { + stStbprpBMapper.insert(stStbprpB); + } + + public void update(StStbprpB stStbprpB) { + stStbprpBMapper.updateById(stStbprpB); + } +} diff --git a/src/test/java/com/gunshi/project/xyt/service/StAdcdServiceTest.java b/src/test/java/com/gunshi/project/xyt/service/StAdcdServiceTest.java index ee9c9f5..3e681e2 100644 --- a/src/test/java/com/gunshi/project/xyt/service/StAdcdServiceTest.java +++ b/src/test/java/com/gunshi/project/xyt/service/StAdcdServiceTest.java @@ -1,7 +1,7 @@ package com.gunshi.project.xyt.service; import com.gunshi.project.xyt.Main; -import com.gunshi.project.xyt.entity.basedata.AddvcdSearch; +import com.gunshi.project.xyt.entity.basedata.GeneralSearch; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; @@ -20,7 +20,7 @@ class StAdcdServiceTest { @Test void queryBySearch() { - AddvcdSearch addvcdSearch = new AddvcdSearch(); + GeneralSearch addvcdSearch = new GeneralSearch(); addvcdSearch.setKeyword("麻城"); log.info("{}", JacksonUtils.writeValue(stAdcdService.queryBySearch(addvcdSearch))); }