diff --git a/src/main/java/com/gunshi/project/xyt/model/StAddvcdD.java b/src/main/java/com/gunshi/project/xyt/model/StAddvcdD.java index 26ac863..b032f48 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StAddvcdD.java +++ b/src/main/java/com/gunshi/project/xyt/model/StAddvcdD.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import lombok.Data; @@ -15,7 +17,7 @@ import lombok.Data; @Schema(description="行政区划表") @Data @TableName(value = "dbo.ST_ADDVCD_D") -public class StAddvcdD { +public class StAddvcdD implements Serializable { /** * 行政区划编码 15位到村组 */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StCameraAreaB.java b/src/main/java/com/gunshi/project/xyt/model/StCameraAreaB.java index 646f4ed..ecab84a 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StCameraAreaB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StCameraAreaB.java @@ -5,7 +5,13 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.util.Date; + +import jakarta.validation.constraints.NotEmpty; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Size; import lombok.Data; /** @@ -14,24 +20,27 @@ import lombok.Data; @Schema(description="视频点信息") @Data @TableName(value = "dbo.ST_CAMERA_AREA_B") -public class StCameraAreaB { +public class StCameraAreaB implements Serializable { /** * 视频区域ID */ @TableId(value = "CAM_AR_ID", type = IdType.INPUT) - @Schema(description="视频区域ID") + @Schema(description="视频区域ID, 新增时候不需要,修改时候需要") private Long camArId; @TableField(value = "CAM_AR_NM") - @Schema(description="") + @Schema(description="视频区域名称") + @NotEmpty + @Size(max = 200) private String camArNm; @TableField(value = "PID") - @Schema(description="") + @Schema(description="父ID") + @NotNull private Long pid; @TableField(value = "SORT_ON") - @Schema(description="") + @Schema(description="排序字段", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Integer sortOn; /** @@ -39,27 +48,29 @@ public class StCameraAreaB { */ @TableField(value = "[STATUS]") @Schema(description="状态 1:启用 0:禁用") + @NotNull private Integer status; /** * 备注 */ @TableField(value = "COMMENTS") - @Schema(description="备注") + @Schema(description="备注", requiredMode = Schema.RequiredMode.NOT_REQUIRED) + @Size(max = 200) private String comments; /** * 新增时间 */ @TableField(value = "CREATE_TM") - @Schema(description=" 新增时间") + @Schema(description=" 新增时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Date createTm; /** * 修改时间 */ @TableField(value = "TM") - @Schema(description="修改时间") + @Schema(description="修改时间", requiredMode = Schema.RequiredMode.NOT_REQUIRED) private Date tm; public static final String COL_CAM_AR_ID = "CAM_AR_ID"; diff --git a/src/main/java/com/gunshi/project/xyt/model/StCameraB.java b/src/main/java/com/gunshi/project/xyt/model/StCameraB.java index 028a578..fc73868 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StCameraB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StCameraB.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import lombok.Data; @@ -15,7 +17,7 @@ import lombok.Data; @Schema(description="视频点信息") @Data @TableName(value = "dbo.ST_CAMERA_B") -public class StCameraB { +public class StCameraB implements Serializable { /** * 视频点id */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StDamB.java b/src/main/java/com/gunshi/project/xyt/model/StDamB.java index 5091cde..28a5148 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StDamB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StDamB.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import lombok.Data; @@ -15,7 +17,7 @@ import lombok.Data; @Schema(description="大坝基础信息表") @Data @TableName(value = "dbo.ST_DAM_B") -public class StDamB { +public class StDamB implements Serializable { /** * 大坝ID */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StEqptB.java b/src/main/java/com/gunshi/project/xyt/model/StEqptB.java index 54e8ad2..86c1105 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StEqptB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StEqptB.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import lombok.Data; @@ -15,7 +17,7 @@ import lombok.Data; @Schema(description="量水堰信息表") @Data @TableName(value = "dbo.ST_EQPT_B") -public class StEqptB { +public class StEqptB implements Serializable { /** * 量水设施ID */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StGateB.java b/src/main/java/com/gunshi/project/xyt/model/StGateB.java index e3afcec..3d18108 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StGateB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StGateB.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import lombok.Data; @@ -15,7 +17,7 @@ import lombok.Data; @Schema(description="闸阀基本信息表") @Data @TableName(value = "dbo.ST_GATE_B") -public class StGateB { +public class StGateB implements Serializable { /** * 闸阀ID */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StGateBFile.java b/src/main/java/com/gunshi/project/xyt/model/StGateBFile.java index 910a1df..a2c6677 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StGateBFile.java +++ b/src/main/java/com/gunshi/project/xyt/model/StGateBFile.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.util.Date; import lombok.Data; @@ -14,18 +16,18 @@ import lombok.Data; @Schema(description="闸阀基本信息- 附件表") @Data @TableName(value = "dbo.ST_GATE_B_FILE") -public class StGateBFile { +public class StGateBFile implements Serializable { /** * 闸阀ID */ - @TableId(value = "GATE_ID", type = IdType.INPUT) + @TableField(value = "GATE_ID") @Schema(description="闸阀ID") private Long gateId; /** * 文件ID */ - @TableId(value = "FILE_ID", type = IdType.INPUT) + @TableField(value = "FILE_ID") @Schema(description="文件ID") private Long fileId; diff --git a/src/main/java/com/gunshi/project/xyt/model/StMoncrB.java b/src/main/java/com/gunshi/project/xyt/model/StMoncrB.java index c6fb2c9..c76ff4b 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StMoncrB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StMoncrB.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.util.Date; import lombok.Data; @@ -14,7 +16,7 @@ import lombok.Data; @Schema(description="监测断面信息表") @Data @TableName(value = "dbo.ST_MONCR_B") -public class StMoncrB { +public class StMoncrB implements Serializable { /** * 断面ID */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StResB.java b/src/main/java/com/gunshi/project/xyt/model/StResB.java index b54e24d..397e0f2 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StResB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StResB.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import lombok.Data; @@ -15,7 +17,7 @@ import lombok.Data; @Schema(description="水库的基础信息") @Data @TableName(value = "dbo.ST_RES_B") -public class StResB { +public class StResB implements Serializable { /** * 水库id */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StResFileRef.java b/src/main/java/com/gunshi/project/xyt/model/StResFileRef.java index 8c544c6..04a8eb7 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StResFileRef.java +++ b/src/main/java/com/gunshi/project/xyt/model/StResFileRef.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.util.Date; import lombok.Data; @@ -14,7 +16,7 @@ import lombok.Data; @Schema(description="水库附件表") @Data @TableName(value = "dbo.ST_RES_FILE_REF") -public class StResFileRef { +public class StResFileRef implements Serializable { /** * id */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StResPersonRef.java b/src/main/java/com/gunshi/project/xyt/model/StResPersonRef.java index 4e8fb28..4bd3eb7 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StResPersonRef.java +++ b/src/main/java/com/gunshi/project/xyt/model/StResPersonRef.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.util.Date; import lombok.Data; @@ -14,7 +16,7 @@ import lombok.Data; @Schema(description="水库责任人表") @Data @TableName(value = "dbo.ST_RES_PERSON_REF") -public class StResPersonRef { +public class StResPersonRef implements Serializable { /** * id */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StResStcdRef.java b/src/main/java/com/gunshi/project/xyt/model/StResStcdRef.java index b6a6c04..0f0b83f 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StResStcdRef.java +++ b/src/main/java/com/gunshi/project/xyt/model/StResStcdRef.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.util.Date; import lombok.Data; @@ -14,7 +16,7 @@ import lombok.Data; @Schema(description="水库测站关系表") @Data @TableName(value = "dbo.ST_RES_STCD_REF") -public class StResStcdRef { +public class StResStcdRef implements Serializable { /** * 水库ID */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StRvB.java b/src/main/java/com/gunshi/project/xyt/model/StRvB.java index e570c8f..768a600 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StRvB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StRvB.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import lombok.Data; @@ -15,7 +17,7 @@ import lombok.Data; @Schema(description="河流基础信息") @Data @TableName(value = "dbo.ST_RV_B") -public class StRvB { +public class StRvB implements Serializable { /** * 河流ID */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StSpgPztb.java b/src/main/java/com/gunshi/project/xyt/model/StSpgPztb.java index e08df56..3d8c4b8 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StSpgPztb.java +++ b/src/main/java/com/gunshi/project/xyt/model/StSpgPztb.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import lombok.Data; @@ -15,7 +17,7 @@ import lombok.Data; @Schema(description="渗压设备信息表") @Data @TableName(value = "dbo.ST_SPG_PZTB") -public class StSpgPztb { +public class StSpgPztb implements Serializable { /** * id */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StSpgSpprmp.java b/src/main/java/com/gunshi/project/xyt/model/StSpgSpprmp.java index fbb2824..e3a6e3a 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StSpgSpprmp.java +++ b/src/main/java/com/gunshi/project/xyt/model/StSpgSpprmp.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import lombok.Data; @@ -15,7 +17,7 @@ import lombok.Data; @Schema(description="渗流设备信息表") @Data @TableName(value = "dbo.ST_SPG_SPPRMP") -public class StSpgSpprmp { +public class StSpgSpprmp implements Serializable { /** * 主键 */ 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 3b53635..ebaddb1 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StStbprpB.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import lombok.Data; @@ -15,7 +17,7 @@ import lombok.Data; @Schema(description=" 监测点基本信息") @Data @TableName(value = "dbo.ST_STBPRP_B") -public class StStbprpB { +public class StStbprpB implements Serializable { /** * 测站编码 */ diff --git a/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java b/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java index efffdda..d08ffc8 100644 --- a/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java +++ b/src/main/java/com/gunshi/project/xyt/model/StZvarlB.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.math.BigDecimal; import java.util.Date; import lombok.Data; @@ -15,18 +17,18 @@ import lombok.Data; @Schema(description="库(湖)容曲线表") @Data @TableName(value = "dbo.ST_ZVARL_B") -public class StZvarlB { +public class StZvarlB implements Serializable { /** * 水库ID */ - @TableId(value = "RES_ID", type = IdType.INPUT) + @TableField(value = "RES_ID") @Schema(description="水库ID") private Long resId; /** * 点序号 */ - @TableId(value = "PTNO", type = IdType.INPUT) + @TableField(value = "PTNO") @Schema(description="点序号") private Integer ptno; diff --git a/src/main/java/com/gunshi/project/xyt/model/SysDictB.java b/src/main/java/com/gunshi/project/xyt/model/SysDictB.java index e93ac06..a7089e7 100644 --- a/src/main/java/com/gunshi/project/xyt/model/SysDictB.java +++ b/src/main/java/com/gunshi/project/xyt/model/SysDictB.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.v3.oas.annotations.media.Schema; + +import java.io.Serializable; import java.util.Date; import lombok.Data; @@ -14,7 +16,7 @@ import lombok.Data; @Schema(description="系统字典表") @Data @TableName(value = "dbo.SYS_DICT_B") -public class SysDictB { +public class SysDictB implements Serializable { /** * ID */ diff --git a/src/main/java/com/gunshi/project/xyt/service/BaseDataService.java b/src/main/java/com/gunshi/project/xyt/service/BaseDataService.java new file mode 100644 index 0000000..e820f16 --- /dev/null +++ b/src/main/java/com/gunshi/project/xyt/service/BaseDataService.java @@ -0,0 +1,111 @@ +package com.gunshi.project.xyt.service; + +import com.baomidou.dynamic.datasource.annotation.DSTransactional; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.toolkit.IdWorker; +import com.gunshi.core.result.BusinessResult; +import com.gunshi.core.result.exception.BusinessException; +import com.gunshi.project.xyt.mapper.StCameraAreaBMapper; +import com.gunshi.project.xyt.model.StCameraAreaB; +import lombok.Data; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.MethodArgumentNotValidException; + +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * @author Sun Lejun + * @version 1.0 + * @date 2024/1/24 + */ + +@Service +@Slf4j +@DSTransactional(rollbackFor = Exception.class) +@Data +public class BaseDataService { + private final StCameraAreaBMapper stCameraAreaBMapper; + + + public List queryStCameraAreaBList() { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(StCameraAreaB.COL_STATUS, 1); + queryWrapper.orderByAsc(StCameraAreaB.COL_SORT_ON); + return stCameraAreaBMapper.selectList(queryWrapper); + } + + /** + * 新增视频区域 + * + * @param stCameraAreaB 视频区域 + */ + public void insertStCameraAreaB(StCameraAreaB stCameraAreaB) { + checkStCameraAreaB(stCameraAreaB); + + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(StCameraAreaB.COL_PID, stCameraAreaB.getPid()); + queryWrapper.eq(StCameraAreaB.COL_STATUS, 1); + queryWrapper.orderByAsc(StCameraAreaB.COL_SORT_ON); + StCameraAreaB first = stCameraAreaBMapper.selectList(queryWrapper).getFirst(); + if (Objects.isNull(first)) { + stCameraAreaB.setSortOn(1); + } else { + stCameraAreaB.setSortOn(first.getSortOn() + 1); + } + + long id = IdWorker.getId(); + stCameraAreaB.setCamArId(id); + stCameraAreaB.setStatus(1); + stCameraAreaB.setCreateTm(new Date()); + stCameraAreaB.setTm(new Date()); + stCameraAreaBMapper.insert(stCameraAreaB); + } + + /** + * 修改视频区域 + * + * @param stCameraAreaB 视频区域 + */ + public void updateStCameraAreaB(StCameraAreaB stCameraAreaB) { + Long camArId = stCameraAreaB.getCamArId(); + QueryWrapper queryWrapper2 = new QueryWrapper<>(); + queryWrapper2.eq(StCameraAreaB.COL_CAM_AR_ID, camArId); + boolean exists = stCameraAreaBMapper.exists(queryWrapper2); + if (!exists) { + throw new IllegalArgumentException("ID不存在"); + } + + checkStCameraAreaB(stCameraAreaB); + stCameraAreaB.setTm(new Date()); + stCameraAreaBMapper.updateById(stCameraAreaB); + } + + + /** + * 检查参数是否合法 + * @param stCameraAreaB 视频区域 + */ + private void checkStCameraAreaB(StCameraAreaB stCameraAreaB) { + Long pid = stCameraAreaB.getPid(); + if (pid != 0) { + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(StCameraAreaB.COL_CAM_AR_ID, pid); + queryWrapper.eq(StCameraAreaB.COL_STATUS, 1); + boolean exists = stCameraAreaBMapper.exists(queryWrapper); + if (!exists) { + throw new IllegalArgumentException("父节点不存在"); + } + queryWrapper = new QueryWrapper<>(); + queryWrapper.eq(StCameraAreaB.COL_CAM_AR_NM, stCameraAreaB.getCamArNm()); + queryWrapper.eq(StCameraAreaB.COL_STATUS, 1); + exists = stCameraAreaBMapper.exists(queryWrapper); + if (exists) { + throw new IllegalArgumentException("视频区域名称已存在"); + } + } + } + +}