From adb74629bb22e74c915be38937bfc98b3a170a34 Mon Sep 17 00:00:00 2001 From: wangshilong Date: Sun, 17 Nov 2024 22:07:00 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BA=E5=9D=97=E7=AE=A1=E7=90=86=E3=80=81?= =?UTF-8?q?=E6=B0=94=E4=BA=95=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 57 +++++++++ .../isu/gaswellwatch/config/WebConfig.java | 10 +- .../controller/BlockController.java | 89 +++++++++++++ .../controller/GasWellController.java | 89 +++++++++++++ .../com/isu/gaswellwatch/dao/BlockDao.java | 79 ++++++++++++ .../com/isu/gaswellwatch/dao/GasWellDao.java | 79 ++++++++++++ .../gaswellwatch/dto/BlockCreateRequest.java | 41 ++++++ .../gaswellwatch/dto/BlockEditRequest.java | 43 +++++++ .../dto/GasWellCreateRequest.java | 40 ++++++ .../gaswellwatch/dto/GasWellEditRequest.java | 43 +++++++ .../com/isu/gaswellwatch/entity/Block.java | 54 ++++++++ .../com/isu/gaswellwatch/entity/GasWell.java | 51 ++++++++ .../isu/gaswellwatch/mapper/BlockMapper.java | 63 ++++++++++ .../gaswellwatch/mapper/GasWellMapper.java | 63 ++++++++++ .../gaswellwatch/service/BlockService.java | 77 ++++++++++++ .../gaswellwatch/service/GasWellService.java | 77 ++++++++++++ .../service/impl/BlockServiceImpl.java | 117 ++++++++++++++++++ .../service/impl/GasWellServiceImpl.java | 117 ++++++++++++++++++ .../utils/LocalDateTimeToStringConverter.java | 48 +++++++ .../utils/LocalDateTimeTypeHandler.java | 42 +++++++ .../utils/StringToLocalDateTimeConverter.java | 51 ++++++++ .../isu/gaswellwatch/vo/BlockPageQuery.java | 36 ++++++ .../java/com/isu/gaswellwatch/vo/BlockVO.java | 58 +++++++++ .../isu/gaswellwatch/vo/GasWellPageQuery.java | 33 +++++ .../com/isu/gaswellwatch/vo/GasWellVO.java | 55 ++++++++ .../com/isu/gaswellwatch/vo/PageQuery.java | 21 ++++ src/main/resources/application-dev.yaml | 2 +- src/main/resources/mapper/BlockMapper.xml | 108 ++++++++++++++++ src/main/resources/mapper/GasWellMapper.xml | 101 +++++++++++++++ 29 files changed, 1741 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/isu/gaswellwatch/controller/BlockController.java create mode 100644 src/main/java/com/isu/gaswellwatch/controller/GasWellController.java create mode 100644 src/main/java/com/isu/gaswellwatch/dao/BlockDao.java create mode 100644 src/main/java/com/isu/gaswellwatch/dao/GasWellDao.java create mode 100644 src/main/java/com/isu/gaswellwatch/dto/BlockCreateRequest.java create mode 100644 src/main/java/com/isu/gaswellwatch/dto/BlockEditRequest.java create mode 100644 src/main/java/com/isu/gaswellwatch/dto/GasWellCreateRequest.java create mode 100644 src/main/java/com/isu/gaswellwatch/dto/GasWellEditRequest.java create mode 100644 src/main/java/com/isu/gaswellwatch/entity/Block.java create mode 100644 src/main/java/com/isu/gaswellwatch/entity/GasWell.java create mode 100644 src/main/java/com/isu/gaswellwatch/mapper/BlockMapper.java create mode 100644 src/main/java/com/isu/gaswellwatch/mapper/GasWellMapper.java create mode 100644 src/main/java/com/isu/gaswellwatch/service/BlockService.java create mode 100644 src/main/java/com/isu/gaswellwatch/service/GasWellService.java create mode 100644 src/main/java/com/isu/gaswellwatch/service/impl/BlockServiceImpl.java create mode 100644 src/main/java/com/isu/gaswellwatch/service/impl/GasWellServiceImpl.java create mode 100644 src/main/java/com/isu/gaswellwatch/utils/LocalDateTimeToStringConverter.java create mode 100644 src/main/java/com/isu/gaswellwatch/utils/LocalDateTimeTypeHandler.java create mode 100644 src/main/java/com/isu/gaswellwatch/utils/StringToLocalDateTimeConverter.java create mode 100644 src/main/java/com/isu/gaswellwatch/vo/BlockPageQuery.java create mode 100644 src/main/java/com/isu/gaswellwatch/vo/BlockVO.java create mode 100644 src/main/java/com/isu/gaswellwatch/vo/GasWellPageQuery.java create mode 100644 src/main/java/com/isu/gaswellwatch/vo/GasWellVO.java create mode 100644 src/main/java/com/isu/gaswellwatch/vo/PageQuery.java create mode 100644 src/main/resources/mapper/BlockMapper.xml create mode 100644 src/main/resources/mapper/GasWellMapper.xml diff --git a/pom.xml b/pom.xml index f664c0a..57efe41 100644 --- a/pom.xml +++ b/pom.xml @@ -28,9 +28,23 @@ 1.2.20 3.1.0 6.0.0 + 1.18.30 + 1.5.5.Final + 1.18.20.0 + 0.2.0 + + org.mapstruct + mapstruct + ${mapstruct.version} + + + org.projectlombok + lombok + ${lombok.version} + org.springframework.boot spring-boot-starter-jdbc @@ -39,6 +53,10 @@ org.springframework.boot spring-boot-starter-web + + com.fasterxml.jackson.datatype + jackson-datatype-jsr310 + org.mybatis.spring.boot mybatis-spring-boot-starter @@ -204,6 +222,45 @@ + + org.apache.maven.plugins + maven-compiler-plugin + ${maven-compiler-plugin.version} + + + + org.projectlombok + lombok + ${lombok.version} + + + org.projectlombok + lombok-maven-plugin + ${lombok-maven-plugin.version} + + + org.projectlombok + lombok-mapstruct-binding + ${lombok-mapstruct-binding.version} + + + org.mapstruct + mapstruct-processor + ${mapstruct.version} + + + org.springframework.boot + spring-boot-configuration-processor + 3.2.8 + + + + + -Amapstruct.unmappedTargetPolicy=IGNORE + + + + diff --git a/src/main/java/com/isu/gaswellwatch/config/WebConfig.java b/src/main/java/com/isu/gaswellwatch/config/WebConfig.java index 765e6be..7d8e1b7 100644 --- a/src/main/java/com/isu/gaswellwatch/config/WebConfig.java +++ b/src/main/java/com/isu/gaswellwatch/config/WebConfig.java @@ -3,11 +3,15 @@ package com.isu.gaswellwatch.config; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; +import com.isu.gaswellwatch.utils.LocalDateTimeToStringConverter; +import com.isu.gaswellwatch.utils.StringToLocalDateTimeConverter; import org.springframework.context.annotation.Configuration; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; +import java.time.LocalDateTime; import java.util.List; @Configuration @@ -16,12 +20,14 @@ public class WebConfig implements WebMvcConfigurer { public void configureMessageConverters(List> converters) { MappingJackson2HttpMessageConverter jackson2HttpMessageConverter = new MappingJackson2HttpMessageConverter(); ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.registerModule(new JavaTimeModule()); SimpleModule simpleModule = new SimpleModule(); - simpleModule.addSerializer(Long.class, ToStringSerializer.instance); simpleModule.addSerializer(Long.TYPE, ToStringSerializer.instance); + simpleModule.addSerializer(Long.class, ToStringSerializer.instance); + simpleModule.addSerializer(LocalDateTime.class, LocalDateTimeToStringConverter.INSTANCE); + simpleModule.addDeserializer(LocalDateTime.class, StringToLocalDateTimeConverter.INSTANCE); objectMapper.registerModule(simpleModule); - jackson2HttpMessageConverter.setObjectMapper(objectMapper); converters.addFirst(jackson2HttpMessageConverter); } diff --git a/src/main/java/com/isu/gaswellwatch/controller/BlockController.java b/src/main/java/com/isu/gaswellwatch/controller/BlockController.java new file mode 100644 index 0000000..bb75d7e --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/controller/BlockController.java @@ -0,0 +1,89 @@ +package com.isu.gaswellwatch.controller; + +import java.util.Collection; +import java.util.List; + +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +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.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.isu.gaswellwatch.service.BlockService; +import com.isu.gaswellwatch.entity.Response; +import com.isu.gaswellwatch.enums.LogType; +import com.isu.gaswellwatch.dto.BlockCreateRequest; +import com.isu.gaswellwatch.dto.BlockEditRequest; +import com.isu.gaswellwatch.vo.BlockPageQuery; +import com.isu.gaswellwatch.vo.BlockVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.isu.gaswellwatch.annotation.OperationLog; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.*; + +/** + * 区块管理 + * + * @author scwsl + * @date 2024-11-17 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/blocks") +public class BlockController { + + private final BlockService blockService; + + /** + * 查询区块列表 + */ + @GetMapping + public Response> page(BlockPageQuery query) { + return Response.succeed(blockService.pageForQuery(query)); + } + + /** + * 获取区块详细信息 + */ + @GetMapping(value = "/{id}") + public Response getInfo(@PathVariable("id") Long id) { + return Response.succeed(blockService.selectBlockById(id)); + } + + /** + * 新增区块 + */ + @PostMapping + @OperationLog(description = "新增区块", type = LogType.ADD) + public Response add(@RequestBody @Valid BlockCreateRequest blockCreateRequest) { + blockService.insertBlock(blockCreateRequest); + return Response.succeed(); + } + + /** + * 修改区块 + */ + @PutMapping + @OperationLog(description = "修改区块", type = LogType.UPDATE) + public Response edit(@RequestBody BlockEditRequest blockEditRequest) { + blockService.updateBlock(blockEditRequest); + return Response.succeed(); + } + + /** + * 删除区块 + */ + @DeleteMapping("/{ids}") + @OperationLog(description = "删除区块", type = LogType.DELETE) + public Response delete(@PathVariable Collection ids) { + blockService.deleteBlockByIds(ids); + return Response.succeed(); + } + +} diff --git a/src/main/java/com/isu/gaswellwatch/controller/GasWellController.java b/src/main/java/com/isu/gaswellwatch/controller/GasWellController.java new file mode 100644 index 0000000..5f1461b --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/controller/GasWellController.java @@ -0,0 +1,89 @@ +package com.isu.gaswellwatch.controller; + +import java.util.Collection; +import java.util.List; + +import jakarta.servlet.http.HttpServletResponse; +import lombok.RequiredArgsConstructor; +import org.springframework.beans.factory.annotation.Autowired; +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.DeleteMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; +import com.isu.gaswellwatch.service.GasWellService; +import com.isu.gaswellwatch.entity.Response; +import com.isu.gaswellwatch.enums.LogType; +import com.isu.gaswellwatch.dto.GasWellCreateRequest; +import com.isu.gaswellwatch.dto.GasWellEditRequest; +import com.isu.gaswellwatch.vo.GasWellPageQuery; +import com.isu.gaswellwatch.vo.GasWellVO; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.isu.gaswellwatch.annotation.OperationLog; +import jakarta.annotation.Resource; +import jakarta.validation.Valid; +import org.springframework.web.bind.annotation.*; + +/** + * 气井管理 + * + * @author scwsl + * @date 2024-11-17 + */ +@RestController +@RequiredArgsConstructor +@RequestMapping("/gaswell") +public class GasWellController { + + private final GasWellService gasWellService; + + /** + * 查询气井列表 + */ + @GetMapping + public Response> page(GasWellPageQuery query) { + return Response.succeed(gasWellService.pageForQuery(query)); + } + + /** + * 获取气井详细信息 + */ + @GetMapping(value = "/{id}") + public Response getInfo(@PathVariable("id") Long id) { + return Response.succeed(gasWellService.selectGasWellById(id)); + } + + /** + * 新增气井 + */ + @PostMapping + @OperationLog(description = "新增气井", type = LogType.ADD) + public Response add(@RequestBody @Valid GasWellCreateRequest gasWellCreateRequest) { + gasWellService.insertGasWell(gasWellCreateRequest); + return Response.succeed(); + } + + /** + * 修改气井 + */ + @PutMapping + @OperationLog(description = "修改气井", type = LogType.UPDATE) + public Response edit(@RequestBody GasWellEditRequest gasWellEditRequest) { + gasWellService.updateGasWell(gasWellEditRequest); + return Response.succeed(); + } + + /** + * 删除气井 + */ + @DeleteMapping("/{ids}") + @OperationLog(description = "删除气井", type = LogType.DELETE) + public Response delete(@PathVariable Collection ids) { + gasWellService.deleteGasWellByIds(ids); + return Response.succeed(); + } + +} diff --git a/src/main/java/com/isu/gaswellwatch/dao/BlockDao.java b/src/main/java/com/isu/gaswellwatch/dao/BlockDao.java new file mode 100644 index 0000000..645c016 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/dao/BlockDao.java @@ -0,0 +1,79 @@ +package com.isu.gaswellwatch.dao; + +import java.util.Collection; +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.isu.gaswellwatch.vo.BlockVO; +import com.isu.gaswellwatch.vo.BlockPageQuery; +import com.isu.gaswellwatch.entity.Block; + +/** + * 区块Mapper接口 + * + * @author scwsl + * @date 2024-11-17 + */ +@Mapper +@Repository +public interface BlockDao extends BaseMapper { + /** + * 查询区块 + * + * @param id 区块主键 + * @return 区块 + */ + Block selectBlockById(Long id); + + /** + * 查询区块列表 + * + * @param block 区块 + * @return 区块集合 + */ + List selectBlockList(Block block); + + /** + * 分页查询区块列表 + * + * @param query 查询条件 + * @return 区块 + */ + Page pageForQuery(Page page, @Param("query") BlockPageQuery query); + + /** + * 新增区块 + * + * @param block 区块 + * @return 结果 + */ + int insertBlock(Block block); + + /** + * 修改区块 + * + * @param block 区块 + * @return 结果 + */ + int updateBlock(Block block); + + /** + * 删除区块 + * + * @param id 区块主键 + * @return 结果 + */ + int deleteBlockById(Long id); + + /** + * 批量删除区块 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteBlockByIds(Collection ids); + +} diff --git a/src/main/java/com/isu/gaswellwatch/dao/GasWellDao.java b/src/main/java/com/isu/gaswellwatch/dao/GasWellDao.java new file mode 100644 index 0000000..4c2e7bd --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/dao/GasWellDao.java @@ -0,0 +1,79 @@ +package com.isu.gaswellwatch.dao; + +import java.util.Collection; +import java.util.List; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.springframework.stereotype.Repository; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.isu.gaswellwatch.vo.GasWellVO; +import com.isu.gaswellwatch.vo.GasWellPageQuery; +import com.isu.gaswellwatch.entity.GasWell; + +/** + * 气井Mapper接口 + * + * @author scwsl + * @date 2024-11-17 + */ +@Mapper +@Repository +public interface GasWellDao extends BaseMapper { + /** + * 查询气井 + * + * @param id 气井主键 + * @return 气井 + */ + GasWell selectGasWellById(Long id); + + /** + * 查询气井列表 + * + * @param gasWell 气井 + * @return 气井集合 + */ + List selectGasWellList(GasWell gasWell); + + /** + * 分页查询气井列表 + * + * @param query 查询条件 + * @return 气井 + */ + Page pageForQuery(Page page, @Param("query") GasWellPageQuery query); + + /** + * 新增气井 + * + * @param gasWell 气井 + * @return 结果 + */ + int insertGasWell(GasWell gasWell); + + /** + * 修改气井 + * + * @param gasWell 气井 + * @return 结果 + */ + int updateGasWell(GasWell gasWell); + + /** + * 删除气井 + * + * @param id 气井主键 + * @return 结果 + */ + int deleteGasWellById(Long id); + + /** + * 批量删除气井 + * + * @param ids 需要删除的数据主键集合 + * @return 结果 + */ + int deleteGasWellByIds(Collection ids); + +} diff --git a/src/main/java/com/isu/gaswellwatch/dto/BlockCreateRequest.java b/src/main/java/com/isu/gaswellwatch/dto/BlockCreateRequest.java new file mode 100644 index 0000000..8438ccd --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/dto/BlockCreateRequest.java @@ -0,0 +1,41 @@ +package com.isu.gaswellwatch.dto; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.io.Serializable; +import java.io.Serial; +import java.time.LocalDateTime; + +/** + * 创建区块对象 blocks + * + * @author scwsl + * @date 2024-11-17 + */ +@Getter +@Setter +@SuperBuilder +@NoArgsConstructor +public class BlockCreateRequest implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** 上级标识 */ + private Long parentId; + + /** 名称 */ + private String name; + + /** 描述 */ + private String details; + + +} diff --git a/src/main/java/com/isu/gaswellwatch/dto/BlockEditRequest.java b/src/main/java/com/isu/gaswellwatch/dto/BlockEditRequest.java new file mode 100644 index 0000000..5135950 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/dto/BlockEditRequest.java @@ -0,0 +1,43 @@ +package com.isu.gaswellwatch.dto; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.io.Serializable; +import java.io.Serial; +import java.time.LocalDateTime; + +/** + * 修改区块对象 blocks + * + * @author scwsl + * @date 2024-11-17 + */ +@Getter +@Setter +@SuperBuilder +@NoArgsConstructor +public class BlockEditRequest implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 上级标识 */ + private Long parentId; + + /** 名称 */ + private String name; + + /** 描述 */ + private String details; + +} diff --git a/src/main/java/com/isu/gaswellwatch/dto/GasWellCreateRequest.java b/src/main/java/com/isu/gaswellwatch/dto/GasWellCreateRequest.java new file mode 100644 index 0000000..ece834e --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/dto/GasWellCreateRequest.java @@ -0,0 +1,40 @@ +package com.isu.gaswellwatch.dto; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.io.Serializable; +import java.io.Serial; +import java.time.LocalDateTime; + +/** + * 创建气井对象 gas_wells + * + * @author scwsl + * @date 2024-11-17 + */ +@Getter +@Setter +@SuperBuilder +@NoArgsConstructor +public class GasWellCreateRequest implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** 关联公司 */ + private Long companyId; + + /** 气井名称 */ + private String name; + + /** 描述 */ + private String details; + +} diff --git a/src/main/java/com/isu/gaswellwatch/dto/GasWellEditRequest.java b/src/main/java/com/isu/gaswellwatch/dto/GasWellEditRequest.java new file mode 100644 index 0000000..4c9bc59 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/dto/GasWellEditRequest.java @@ -0,0 +1,43 @@ +package com.isu.gaswellwatch.dto; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.SuperBuilder; +import org.apache.commons.lang3.builder.ToStringBuilder; +import org.apache.commons.lang3.builder.ToStringStyle; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.io.Serializable; +import java.io.Serial; +import java.time.LocalDateTime; + +/** + * 修改气井对象 gas_wells + * + * @author scwsl + * @date 2024-11-17 + */ +@Getter +@Setter +@SuperBuilder +@NoArgsConstructor +public class GasWellEditRequest implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 关联公司 */ + private Long companyId; + + /** 气井名称 */ + private String name; + + /** 描述 */ + private String details; + +} diff --git a/src/main/java/com/isu/gaswellwatch/entity/Block.java b/src/main/java/com/isu/gaswellwatch/entity/Block.java new file mode 100644 index 0000000..171f950 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/entity/Block.java @@ -0,0 +1,54 @@ +package com.isu.gaswellwatch.entity; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.time.LocalDateTime; + +/** + * 区块对象 blocks + * + * @author scwsl + * @date 2024-11-17 + */ +@Getter +@Setter +@NoArgsConstructor +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class Block extends Model { + + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 上级标识 */ + private Long parentId; + + /** 名称 */ + private String name; + + /** 描述 */ + private String details; + + /** 是否已删除 */ + private Integer deleted; + + /** 创建人 */ + private Long createBy; + + /** 创建时间 */ + private LocalDateTime createTime; + + /** 更新人 */ + private Long updateBy; + + /** 更新时间 */ + private LocalDateTime updateTime; + + +} diff --git a/src/main/java/com/isu/gaswellwatch/entity/GasWell.java b/src/main/java/com/isu/gaswellwatch/entity/GasWell.java new file mode 100644 index 0000000..4d9487e --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/entity/GasWell.java @@ -0,0 +1,51 @@ +package com.isu.gaswellwatch.entity; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import com.baomidou.mybatisplus.extension.activerecord.Model; +import java.time.LocalDateTime; + +/** + * 气井对象 gas_wells + * + * @author scwsl + * @date 2024-11-17 + */ +@Getter +@Setter +@NoArgsConstructor +@ToString(callSuper = true) +@EqualsAndHashCode(callSuper = true) +public class GasWell extends Model { + + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 关联公司 */ + private Long companyId; + + /** 气井名称 */ + private String name; + + /** 描述 */ + private String details; + + /** 创建人 */ + private Long createBy; + + /** 创建时间 */ + private LocalDateTime createTime; + + /** 更新人 */ + private Long updateBy; + + /** 更新时间 */ + private LocalDateTime updateTime; + + +} diff --git a/src/main/java/com/isu/gaswellwatch/mapper/BlockMapper.java b/src/main/java/com/isu/gaswellwatch/mapper/BlockMapper.java new file mode 100644 index 0000000..547d390 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/mapper/BlockMapper.java @@ -0,0 +1,63 @@ +package com.isu.gaswellwatch.mapper; + + +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.MappingTarget; + +import com.isu.gaswellwatch.entity.Block; +import com.isu.gaswellwatch.dto.BlockCreateRequest; +import com.isu.gaswellwatch.dto.BlockEditRequest; +import com.isu.gaswellwatch.vo.BlockVO; +import com.isu.gaswellwatch.vo.UserLoginInfoVO; + +import cn.dev33.satoken.stp.StpUtil; +import com.isu.gaswellwatch.constants.UserConstant; + +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.List; + +/** + * 区块Mapper blocks + * + * @author scwsl + * @date 2024-11-17 + */ +@Mapper +public interface BlockMapper { + + void create(BlockCreateRequest request, @MappingTarget Block block); + + @Mapping(target = "id", ignore = true) + void copyToEntity(BlockEditRequest request, @MappingTarget Block block); + + BlockVO toPageVO(Block entity); + + List toPageVO(List entities); + + default void copy(BlockEditRequest request, Block block) { + UserLoginInfoVO userLoginInfoVO = (UserLoginInfoVO) StpUtil.getTokenSession() + .get(UserConstant.TOKEN_SESSION); + if (Objects.nonNull(userLoginInfoVO) && Objects.nonNull(userLoginInfoVO.getUserVO())) { + block.setUpdateBy(block.getCreateBy()); + } + block.setUpdateTime(LocalDateTime.now()); + copyToEntity(request, block); + } + + default Block create(BlockCreateRequest request) { + UserLoginInfoVO userLoginInfoVO = (UserLoginInfoVO) StpUtil.getTokenSession() + .get(UserConstant.TOKEN_SESSION); + Block block =new Block(); + block.setCreateTime(LocalDateTime.now()); + block.setUpdateTime(block.getCreateTime()); + if (Objects.nonNull(userLoginInfoVO) && Objects.nonNull(userLoginInfoVO.getUserVO())) { + block.setCreateBy(userLoginInfoVO.getUserVO().getId()); + block.setUpdateBy(block.getCreateBy()); + } + create(request, block); + return block; + } + +} diff --git a/src/main/java/com/isu/gaswellwatch/mapper/GasWellMapper.java b/src/main/java/com/isu/gaswellwatch/mapper/GasWellMapper.java new file mode 100644 index 0000000..8f2fc08 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/mapper/GasWellMapper.java @@ -0,0 +1,63 @@ +package com.isu.gaswellwatch.mapper; + + +import org.mapstruct.Mapper; +import org.mapstruct.Mapping; +import org.mapstruct.MappingTarget; + +import com.isu.gaswellwatch.entity.GasWell; +import com.isu.gaswellwatch.dto.GasWellCreateRequest; +import com.isu.gaswellwatch.dto.GasWellEditRequest; +import com.isu.gaswellwatch.vo.GasWellVO; +import com.isu.gaswellwatch.vo.UserLoginInfoVO; + +import cn.dev33.satoken.stp.StpUtil; +import com.isu.gaswellwatch.constants.UserConstant; + +import java.time.LocalDateTime; +import java.util.Objects; +import java.util.List; + +/** + * 气井Mapper gas_wells + * + * @author scwsl + * @date 2024-11-17 + */ +@Mapper +public interface GasWellMapper { + + void create(GasWellCreateRequest request, @MappingTarget GasWell gasWell); + + @Mapping(target = "id", ignore = true) + void copyToEntity(GasWellEditRequest request, @MappingTarget GasWell gasWell); + + GasWellVO toPageVO(GasWell entity); + + List toPageVO(List entities); + + default void copy(GasWellEditRequest request, GasWell gasWell) { + UserLoginInfoVO userLoginInfoVO = (UserLoginInfoVO) StpUtil.getTokenSession() + .get(UserConstant.TOKEN_SESSION); + if (Objects.nonNull(userLoginInfoVO) && Objects.nonNull(userLoginInfoVO.getUserVO())) { + gasWell.setUpdateBy(gasWell.getCreateBy()); + } + gasWell.setUpdateTime(LocalDateTime.now()); + copyToEntity(request, gasWell); + } + + default GasWell create(GasWellCreateRequest request) { + UserLoginInfoVO userLoginInfoVO = (UserLoginInfoVO) StpUtil.getTokenSession() + .get(UserConstant.TOKEN_SESSION); + GasWell gasWell =new GasWell(); + gasWell.setCreateTime(LocalDateTime.now()); + gasWell.setUpdateTime(gasWell.getCreateTime()); + if (Objects.nonNull(userLoginInfoVO) && Objects.nonNull(userLoginInfoVO.getUserVO())) { + gasWell.setCreateBy(userLoginInfoVO.getUserVO().getId()); + gasWell.setUpdateBy(gasWell.getCreateBy()); + } + create(request, gasWell); + return gasWell; + } + +} diff --git a/src/main/java/com/isu/gaswellwatch/service/BlockService.java b/src/main/java/com/isu/gaswellwatch/service/BlockService.java new file mode 100644 index 0000000..f79201f --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/service/BlockService.java @@ -0,0 +1,77 @@ +package com.isu.gaswellwatch.service; + +import java.util.List; +import java.util.Collection; + +import com.isu.gaswellwatch.dto.BlockCreateRequest; +import com.isu.gaswellwatch.dto.BlockEditRequest; +import com.isu.gaswellwatch.vo.BlockPageQuery; +import com.isu.gaswellwatch.vo.BlockVO; +import com.isu.gaswellwatch.entity.Block; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** + * 区块Service接口 + * + * @author scwsl + * @date 2024-11-17 + */ +public interface BlockService extends IService { + /** + * 查询区块 + * + * @param id 区块主键 + * @return 区块 + */ + BlockVO selectBlockById(Long id); + + /** + * 查询区块列表 + * + * @param block 区块 + * @return 区块集合 + */ + List selectBlockList(Block block); + + /** + * 分页查询区块列表 + * + * @param query 查询条件 + * @return 区块 + */ + Page pageForQuery(BlockPageQuery query); + + /** + * 新增区块 + * + * @param blockCreateRequest 区块 + * @return 结果 + */ + int insertBlock(BlockCreateRequest blockCreateRequest); + + /** + * 修改区块 + * + * @param blockEditRequest 区块 + * @return 结果 + */ + int updateBlock(BlockEditRequest blockEditRequest); + + /** + * 删除区块信息 + * + * @param id 区块主键 + * @return 结果 + */ + int deleteBlockById(Long id); + + /** + * 批量删除区块 + * + * @param ids 需要删除的区块主键集合 + * @return 结果 + */ + int deleteBlockByIds(Collection ids); + +} diff --git a/src/main/java/com/isu/gaswellwatch/service/GasWellService.java b/src/main/java/com/isu/gaswellwatch/service/GasWellService.java new file mode 100644 index 0000000..0ecc989 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/service/GasWellService.java @@ -0,0 +1,77 @@ +package com.isu.gaswellwatch.service; + +import java.util.List; +import java.util.Collection; + +import com.isu.gaswellwatch.dto.GasWellCreateRequest; +import com.isu.gaswellwatch.dto.GasWellEditRequest; +import com.isu.gaswellwatch.vo.GasWellPageQuery; +import com.isu.gaswellwatch.vo.GasWellVO; +import com.isu.gaswellwatch.entity.GasWell; +import com.baomidou.mybatisplus.extension.service.IService; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** + * 气井Service接口 + * + * @author scwsl + * @date 2024-11-17 + */ +public interface GasWellService extends IService { + /** + * 查询气井 + * + * @param id 气井主键 + * @return 气井 + */ + GasWellVO selectGasWellById(Long id); + + /** + * 查询气井列表 + * + * @param gasWell 气井 + * @return 气井集合 + */ + List selectGasWellList(GasWell gasWell); + + /** + * 分页查询气井列表 + * + * @param query 查询条件 + * @return 气井 + */ + Page pageForQuery(GasWellPageQuery query); + + /** + * 新增气井 + * + * @param gasWellCreateRequest 气井 + * @return 结果 + */ + int insertGasWell(GasWellCreateRequest gasWellCreateRequest); + + /** + * 修改气井 + * + * @param gasWellEditRequest 气井 + * @return 结果 + */ + int updateGasWell(GasWellEditRequest gasWellEditRequest); + + /** + * 删除气井信息 + * + * @param id 气井主键 + * @return 结果 + */ + int deleteGasWellById(Long id); + + /** + * 批量删除气井 + * + * @param ids 需要删除的气井主键集合 + * @return 结果 + */ + int deleteGasWellByIds(Collection ids); + +} diff --git a/src/main/java/com/isu/gaswellwatch/service/impl/BlockServiceImpl.java b/src/main/java/com/isu/gaswellwatch/service/impl/BlockServiceImpl.java new file mode 100644 index 0000000..803b53f --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/service/impl/BlockServiceImpl.java @@ -0,0 +1,117 @@ +package com.isu.gaswellwatch.service.impl; + +import java.util.Collection; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.isu.gaswellwatch.dto.BlockCreateRequest; +import com.isu.gaswellwatch.dto.BlockEditRequest; +import com.isu.gaswellwatch.vo.BlockPageQuery; +import com.isu.gaswellwatch.vo.BlockVO; +import com.isu.gaswellwatch.dao.BlockDao; +import com.isu.gaswellwatch.entity.Block; +import com.isu.gaswellwatch.service.BlockService; +import com.isu.gaswellwatch.mapper.BlockMapper; +import org.mapstruct.factory.Mappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** + * 区块Service业务层处理 + * + * @author scwsl + * @date 2024-11-17 + */ +@Service +@RequiredArgsConstructor +@Transactional(readOnly = true) +public class BlockServiceImpl extends ServiceImpl implements BlockService { + + private final BlockDao blockDao; + private final BlockMapper blockMapper = Mappers.getMapper(BlockMapper.class); + + /** + * 查询区块 + * + * @param id 区块主键 + * @return 区块 + */ + @Override + public BlockVO selectBlockById(Long id) { + return blockMapper.toPageVO(blockDao.selectBlockById(id)); + } + + /** + * 查询区块列表 + * + * @param block 区块 + * @return 区块 + */ + @Override + public List selectBlockList(Block block) { + return blockMapper.toPageVO(blockDao.selectBlockList(block)); + } + + /** + * 分页查询区块列表 + * + * @param query 查询条件 + * @return 区块 + */ + @Override + public Page pageForQuery(BlockPageQuery query){ + return blockDao.pageForQuery(new Page<>(query.getCurrentPage(), query.getPageSize()), query); + } + + /** + * 新增区块 + * + * @param blockCreateRequest 区块 + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Throwable.class) + public int insertBlock(BlockCreateRequest blockCreateRequest) { + return blockDao.insertBlock(blockMapper.create(blockCreateRequest)); + } + + /** + * 修改区块 + * + * @param blockEditRequest 区块 + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Throwable.class) + public int updateBlock(BlockEditRequest blockEditRequest) { + Block block = blockDao.selectBlockById(blockEditRequest.getId()); + blockMapper.copyToEntity(blockEditRequest, block); + return blockDao.updateBlock(block); + } + + /** + * 删除区块信息 + * + * @param id 区块主键 + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Throwable.class) + public int deleteBlockById(Long id) { + return blockDao.deleteBlockById(id); + } + + /** + * 批量删除删除区块信息 + * + * @param ids 区块主键 + * @return 数量 + */ + @Override + @Transactional(rollbackFor = Throwable.class) + public int deleteBlockByIds(Collection ids) { + return blockDao.deleteBlockByIds(ids); + } + +} diff --git a/src/main/java/com/isu/gaswellwatch/service/impl/GasWellServiceImpl.java b/src/main/java/com/isu/gaswellwatch/service/impl/GasWellServiceImpl.java new file mode 100644 index 0000000..4b75c80 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/service/impl/GasWellServiceImpl.java @@ -0,0 +1,117 @@ +package com.isu.gaswellwatch.service.impl; + +import java.util.Collection; +import java.util.List; +import lombok.RequiredArgsConstructor; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.isu.gaswellwatch.dto.GasWellCreateRequest; +import com.isu.gaswellwatch.dto.GasWellEditRequest; +import com.isu.gaswellwatch.vo.GasWellPageQuery; +import com.isu.gaswellwatch.vo.GasWellVO; +import com.isu.gaswellwatch.dao.GasWellDao; +import com.isu.gaswellwatch.entity.GasWell; +import com.isu.gaswellwatch.service.GasWellService; +import com.isu.gaswellwatch.mapper.GasWellMapper; +import org.mapstruct.factory.Mappers; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; + +/** + * 气井Service业务层处理 + * + * @author scwsl + * @date 2024-11-17 + */ +@Service +@RequiredArgsConstructor +@Transactional(readOnly = true) +public class GasWellServiceImpl extends ServiceImpl implements GasWellService { + + private final GasWellDao gasWellDao; + private final GasWellMapper gasWellMapper = Mappers.getMapper(GasWellMapper.class); + + /** + * 查询气井 + * + * @param id 气井主键 + * @return 气井 + */ + @Override + public GasWellVO selectGasWellById(Long id) { + return gasWellMapper.toPageVO(gasWellDao.selectGasWellById(id)); + } + + /** + * 查询气井列表 + * + * @param gasWell 气井 + * @return 气井 + */ + @Override + public List selectGasWellList(GasWell gasWell) { + return gasWellMapper.toPageVO(gasWellDao.selectGasWellList(gasWell)); + } + + /** + * 分页查询气井列表 + * + * @param query 查询条件 + * @return 气井 + */ + @Override + public Page pageForQuery(GasWellPageQuery query){ + return gasWellDao.pageForQuery(new Page<>(query.getCurrentPage(), query.getPageSize()), query); + } + + /** + * 新增气井 + * + * @param gasWellCreateRequest 气井 + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Throwable.class) + public int insertGasWell(GasWellCreateRequest gasWellCreateRequest) { + return gasWellDao.insertGasWell(gasWellMapper.create(gasWellCreateRequest)); + } + + /** + * 修改气井 + * + * @param gasWellEditRequest 气井 + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Throwable.class) + public int updateGasWell(GasWellEditRequest gasWellEditRequest) { + GasWell gasWell = gasWellDao.selectGasWellById(gasWellEditRequest.getId()); + gasWellMapper.copyToEntity(gasWellEditRequest, gasWell); + return gasWellDao.updateGasWell(gasWell); + } + + /** + * 删除气井信息 + * + * @param id 气井主键 + * @return 结果 + */ + @Override + @Transactional(rollbackFor = Throwable.class) + public int deleteGasWellById(Long id) { + return gasWellDao.deleteGasWellById(id); + } + + /** + * 批量删除删除气井信息 + * + * @param ids 气井主键 + * @return 数量 + */ + @Override + @Transactional(rollbackFor = Throwable.class) + public int deleteGasWellByIds(Collection ids) { + return gasWellDao.deleteGasWellByIds(ids); + } + +} diff --git a/src/main/java/com/isu/gaswellwatch/utils/LocalDateTimeToStringConverter.java b/src/main/java/com/isu/gaswellwatch/utils/LocalDateTimeToStringConverter.java new file mode 100644 index 0000000..fe39d59 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/utils/LocalDateTimeToStringConverter.java @@ -0,0 +1,48 @@ +package com.isu.gaswellwatch.utils; + +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.databind.JsonSerializer; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.jsontype.TypeSerializer; +import org.springframework.core.convert.converter.Converter; + +import java.io.IOException; +import java.time.LocalDateTime; +import java.util.Objects; + +/** + * @author 王仕龙 + * 2024/1/26 16:02 + */ +public class LocalDateTimeToStringConverter extends JsonSerializer implements Converter { + + public static final LocalDateTimeToStringConverter INSTANCE = new LocalDateTimeToStringConverter(); + + @Override + public void serialize(LocalDateTime value, JsonGenerator jsonGenerator, SerializerProvider serializers) throws IOException { + if (Objects.isNull(value)) { + jsonGenerator.writeNull(); + } else { + jsonGenerator.writeString(convert(value)); + } + } + + @Override + public void serializeWithType(LocalDateTime value, JsonGenerator gen, SerializerProvider serializers, TypeSerializer typeSer) throws IOException { + serialize(value, gen, serializers); + } + + @Override + public String convert(LocalDateTime source) { + if (Objects.isNull(source)) { + return null; + } + return StringToLocalDateTimeConverter.ZH_CN_LOCAL_DATE_TIME.format(source); + } + + @Override + public Class handledType() { + return LocalDateTime.class; + } + +} \ No newline at end of file diff --git a/src/main/java/com/isu/gaswellwatch/utils/LocalDateTimeTypeHandler.java b/src/main/java/com/isu/gaswellwatch/utils/LocalDateTimeTypeHandler.java new file mode 100644 index 0000000..8e712e8 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/utils/LocalDateTimeTypeHandler.java @@ -0,0 +1,42 @@ +package com.isu.gaswellwatch.utils; + +import org.apache.ibatis.type.BaseTypeHandler; +import org.apache.ibatis.type.JdbcType; +import org.apache.ibatis.type.MappedJdbcTypes; +import org.apache.ibatis.type.MappedTypes; + +import java.sql.CallableStatement; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.time.LocalDateTime; + +/** + * @author 王仕龙 + * 2024/2/1 14:39 + */ +@MappedTypes(LocalDateTime.class) +@MappedJdbcTypes({JdbcType.DATE, JdbcType.TIMESTAMP}) +public class LocalDateTimeTypeHandler extends BaseTypeHandler { + + @Override + public void setNonNullParameter(PreparedStatement ps, int i, LocalDateTime localDateTime, JdbcType jdbcType) throws SQLException { + ps.setObject(i, localDateTime); + } + + @Override + public LocalDateTime getNullableResult(ResultSet rs, String columnName) throws SQLException { + return rs.getObject(columnName, LocalDateTime.class); + } + + @Override + public LocalDateTime getNullableResult(ResultSet rs, int columnIndex) throws SQLException { + return rs.getObject(columnIndex, LocalDateTime.class); + } + + @Override + public LocalDateTime getNullableResult(CallableStatement cs, int columnIndex) throws SQLException { + return cs.getObject(columnIndex, LocalDateTime.class); + } + +} diff --git a/src/main/java/com/isu/gaswellwatch/utils/StringToLocalDateTimeConverter.java b/src/main/java/com/isu/gaswellwatch/utils/StringToLocalDateTimeConverter.java new file mode 100644 index 0000000..b4a414f --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/utils/StringToLocalDateTimeConverter.java @@ -0,0 +1,51 @@ +package com.isu.gaswellwatch.utils; + +import com.fasterxml.jackson.core.JsonParser; +import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonDeserializer; +import org.apache.commons.lang3.StringUtils; +import org.springframework.core.convert.converter.Converter; +import org.springframework.stereotype.Component; + +import java.io.IOException; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; + +/** + * @author 王仕龙 + * 2024/1/26 16:04 + */ +public class StringToLocalDateTimeConverter extends JsonDeserializer implements Converter { + + public static final StringToLocalDateTimeConverter INSTANCE = new StringToLocalDateTimeConverter(); + public static final DateTimeFormatter ZH_CN_LOCAL_DATE_TIME = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + + @Override + public LocalDateTime deserialize(JsonParser jsonParser, DeserializationContext context) throws IOException { + return convert(jsonParser.getText()); + } + + @Override + public LocalDateTime convert(String source) { + if (StringUtils.isBlank(source)) { + return null; + } + LocalDateTime localDateTime = null; + if (source.length() == 10) { + localDateTime = LocalDate.parse(source).atStartOfDay(); + } else { + if (source.contains("T")) { + localDateTime = LocalDateTime.parse(source, DateTimeFormatter.ISO_LOCAL_DATE_TIME); + } else { + localDateTime = LocalDateTime.parse(source, ZH_CN_LOCAL_DATE_TIME); + } + } + return localDateTime; + } + + @Override + public Class handledType() { + return LocalDateTime.class; + } +} diff --git a/src/main/java/com/isu/gaswellwatch/vo/BlockPageQuery.java b/src/main/java/com/isu/gaswellwatch/vo/BlockPageQuery.java new file mode 100644 index 0000000..b25a24e --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/vo/BlockPageQuery.java @@ -0,0 +1,36 @@ +package com.isu.gaswellwatch.vo; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.SuperBuilder; + +import java.io.Serial; + +/** + * 区块对象 blocks + * + * @author scwsl + * @date 2024-11-17 + */ +@Getter +@Setter +@SuperBuilder +@NoArgsConstructor +public class BlockPageQuery extends PageQuery { + + @Serial + private static final long serialVersionUID = 1L; + + /** 上级标识 */ + private Long parentId; + + /** 名称 */ + private String name; + + /** 是否已删除 */ + private Integer deleted; + +} diff --git a/src/main/java/com/isu/gaswellwatch/vo/BlockVO.java b/src/main/java/com/isu/gaswellwatch/vo/BlockVO.java new file mode 100644 index 0000000..819061d --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/vo/BlockVO.java @@ -0,0 +1,58 @@ +package com.isu.gaswellwatch.vo; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.SuperBuilder; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 区块页面返回对象 blocks + * + * @author scwsl + * @date 2024-11-17 + */ +@Getter +@Setter +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode +@ToString(callSuper = true) +public class BlockVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 上级标识 */ + private Long parentId; + + /** 名称 */ + private String name; + + /** 描述 */ + private String details; + + /** 是否已删除 */ + private Integer deleted; + + /** 创建人 */ + private Long createBy; + + /** 创建时间 */ + private LocalDateTime createTime; + + /** 更新人 */ + private Long updateBy; + + /** 更新时间 */ + private LocalDateTime updateTime; + +} diff --git a/src/main/java/com/isu/gaswellwatch/vo/GasWellPageQuery.java b/src/main/java/com/isu/gaswellwatch/vo/GasWellPageQuery.java new file mode 100644 index 0000000..7af9e19 --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/vo/GasWellPageQuery.java @@ -0,0 +1,33 @@ +package com.isu.gaswellwatch.vo; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.SuperBuilder; + +import java.io.Serial; + +/** + * 气井对象 gas_wells + * + * @author scwsl + * @date 2024-11-17 + */ +@Getter +@Setter +@SuperBuilder +@NoArgsConstructor +public class GasWellPageQuery extends PageQuery { + + @Serial + private static final long serialVersionUID = 1L; + + /** 关联公司 */ + private Long companyId; + + /** 气井名称 */ + private String name; + +} diff --git a/src/main/java/com/isu/gaswellwatch/vo/GasWellVO.java b/src/main/java/com/isu/gaswellwatch/vo/GasWellVO.java new file mode 100644 index 0000000..05e061f --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/vo/GasWellVO.java @@ -0,0 +1,55 @@ +package com.isu.gaswellwatch.vo; + +import lombok.EqualsAndHashCode; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.ToString; +import lombok.experimental.SuperBuilder; + +import java.io.Serial; +import java.io.Serializable; +import java.time.LocalDateTime; + +/** + * 气井页面返回对象 gas_wells + * + * @author scwsl + * @date 2024-11-17 + */ +@Getter +@Setter +@SuperBuilder +@NoArgsConstructor +@EqualsAndHashCode +@ToString(callSuper = true) +public class GasWellVO implements Serializable { + + @Serial + private static final long serialVersionUID = 1L; + + /** 主键 */ + private Long id; + + /** 关联公司 */ + private Long companyId; + + /** 气井名称 */ + private String name; + + /** 描述 */ + private String details; + + /** 创建人 */ + private Long createBy; + + /** 创建时间 */ + private LocalDateTime createTime; + + /** 更新人 */ + private Long updateBy; + + /** 更新时间 */ + private LocalDateTime updateTime; + +} diff --git a/src/main/java/com/isu/gaswellwatch/vo/PageQuery.java b/src/main/java/com/isu/gaswellwatch/vo/PageQuery.java new file mode 100644 index 0000000..dfc938a --- /dev/null +++ b/src/main/java/com/isu/gaswellwatch/vo/PageQuery.java @@ -0,0 +1,21 @@ +package com.isu.gaswellwatch.vo; + +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; +import lombok.experimental.SuperBuilder; + +import java.io.Serializable; + +/** + * @author 王仕龙 + * 2024/11/15 21:07 + */ +@Getter +@Setter +@SuperBuilder +@NoArgsConstructor +public class PageQuery implements Serializable { + private Integer currentPage; + private Integer pageSize; +} diff --git a/src/main/resources/application-dev.yaml b/src/main/resources/application-dev.yaml index 9bf8405..46a7cdb 100644 --- a/src/main/resources/application-dev.yaml +++ b/src/main/resources/application-dev.yaml @@ -3,5 +3,5 @@ spring: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://127.0.0.1:3306/gaswellwatch?characterEncoding=UTF-8&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai username: root - password: QINjie5111.com + password: 1qaz@WSX driver-class-name: com.mysql.cj.jdbc.Driver \ No newline at end of file diff --git a/src/main/resources/mapper/BlockMapper.xml b/src/main/resources/mapper/BlockMapper.xml new file mode 100644 index 0000000..f999a7a --- /dev/null +++ b/src/main/resources/mapper/BlockMapper.xml @@ -0,0 +1,108 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + select t1.id, t1.parent_id, t1.name, t1.details, t1.deleted, t1.create_by, t1.create_time, t1.update_by, t1.update_time from blocks t1 + + + + + + + + + + insert into blocks + + parent_id, + name, + details, + deleted, + create_by, + create_time, + update_by, + update_time, + + + #{parentId}, + #{name}, + #{details}, + #{deleted}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update blocks + + parent_id = #{parentId}, + name = #{name}, + details = #{details}, + deleted = #{deleted}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from blocks where id = #{id} + + + + delete from blocks where id in + + #{id} + + + \ No newline at end of file diff --git a/src/main/resources/mapper/GasWellMapper.xml b/src/main/resources/mapper/GasWellMapper.xml new file mode 100644 index 0000000..c50de8a --- /dev/null +++ b/src/main/resources/mapper/GasWellMapper.xml @@ -0,0 +1,101 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + select t1.id, t1.company_id, t1.name, t1.details, t1.create_by, t1.create_time, t1.update_by, t1.update_time from gas_wells t1 + + + + + + + + + + insert into gas_wells + + company_id, + name, + details, + create_by, + create_time, + update_by, + update_time, + + + #{companyId}, + #{name}, + #{details}, + #{createBy}, + #{createTime}, + #{updateBy}, + #{updateTime}, + + + + + update gas_wells + + company_id = #{companyId}, + name = #{name}, + details = #{details}, + create_by = #{createBy}, + create_time = #{createTime}, + update_by = #{updateBy}, + update_time = #{updateTime}, + + where id = #{id} + + + + delete from gas_wells where id = #{id} + + + + delete from gas_wells where id in + + #{id} + + + \ No newline at end of file