diff --git a/src/main/java/com/isu/gaswellwatch/controller/DepartmentController.java b/src/main/java/com/isu/gaswellwatch/controller/DepartmentController.java index 00f65e1..fa5fbe5 100644 --- a/src/main/java/com/isu/gaswellwatch/controller/DepartmentController.java +++ b/src/main/java/com/isu/gaswellwatch/controller/DepartmentController.java @@ -59,5 +59,10 @@ public class DepartmentController { public Response> list(){ return Response.succeed(departmentService.list()); } + + @GetMapping("/getDepartment") + public Response getDepartment(@RequestParam String id){ + return Response.succeed(departmentService.getById(id)); + } } diff --git a/src/main/java/com/isu/gaswellwatch/controller/GasWellController.java b/src/main/java/com/isu/gaswellwatch/controller/GasWellController.java index 5f1461b..0ac8ffe 100644 --- a/src/main/java/com/isu/gaswellwatch/controller/GasWellController.java +++ b/src/main/java/com/isu/gaswellwatch/controller/GasWellController.java @@ -35,7 +35,7 @@ import org.springframework.web.bind.annotation.*; */ @RestController @RequiredArgsConstructor -@RequestMapping("/gaswell") +@RequestMapping("/gasWell") public class GasWellController { private final GasWellService gasWellService; @@ -43,23 +43,26 @@ public class GasWellController { /** * 查询气井列表 */ - @GetMapping - public Response> page(GasWellPageQuery query) { - return Response.succeed(gasWellService.pageForQuery(query)); + @GetMapping(value = "/page") + public Response> page(@RequestParam(defaultValue = "1") Integer currentPage, + @RequestParam(defaultValue = "10") Integer pageSize, + @RequestParam(required = false) String name, + @RequestParam Long blockId) { + return Response.succeed(gasWellService.pageForQuery(currentPage, pageSize, name,blockId)); } /** * 获取气井详细信息 */ - @GetMapping(value = "/{id}") - public Response getInfo(@PathVariable("id") Long id) { + @GetMapping(value = "/getGasWell") + public Response getGasWell(@RequestParam Long id) { return Response.succeed(gasWellService.selectGasWellById(id)); } /** * 新增气井 */ - @PostMapping + @PostMapping(value = "/add") @OperationLog(description = "新增气井", type = LogType.ADD) public Response add(@RequestBody @Valid GasWellCreateRequest gasWellCreateRequest) { gasWellService.insertGasWell(gasWellCreateRequest); @@ -69,7 +72,7 @@ public class GasWellController { /** * 修改气井 */ - @PutMapping + @PostMapping("/edit") @OperationLog(description = "修改气井", type = LogType.UPDATE) public Response edit(@RequestBody GasWellEditRequest gasWellEditRequest) { gasWellService.updateGasWell(gasWellEditRequest); @@ -79,11 +82,12 @@ public class GasWellController { /** * 删除气井 */ - @DeleteMapping("/{ids}") + @GetMapping("/delete") @OperationLog(description = "删除气井", type = LogType.DELETE) - public Response delete(@PathVariable Collection ids) { - gasWellService.deleteGasWellByIds(ids); + public Response delete(@RequestParam Long id) { + gasWellService.deleteGasWellById(id); return Response.succeed(); } + } diff --git a/src/main/java/com/isu/gaswellwatch/controller/RoleController.java b/src/main/java/com/isu/gaswellwatch/controller/RoleController.java index 8bfcd8c..a2b30e0 100644 --- a/src/main/java/com/isu/gaswellwatch/controller/RoleController.java +++ b/src/main/java/com/isu/gaswellwatch/controller/RoleController.java @@ -57,5 +57,10 @@ public class RoleController { public Response> delete(){ return Response.succeed(roleService.list()); } + + @GetMapping("/getRole") + public Response getRole(@RequestParam Long id){ + return Response.succeed(roleService.getById(id)); + } } diff --git a/src/main/java/com/isu/gaswellwatch/dao/GasWellDao.java b/src/main/java/com/isu/gaswellwatch/dao/GasWellDao.java index 4c2e7bd..1a97add 100644 --- a/src/main/java/com/isu/gaswellwatch/dao/GasWellDao.java +++ b/src/main/java/com/isu/gaswellwatch/dao/GasWellDao.java @@ -4,11 +4,9 @@ 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; /** @@ -26,11 +24,11 @@ public interface GasWellDao extends BaseMapper { * @param id 气井主键 * @return 气井 */ - GasWell selectGasWellById(Long id); + GasWellVO selectGasWellById(Long id); /** * 查询气井列表 - * + * * @param gasWell 气井 * @return 气井集合 */ @@ -39,10 +37,10 @@ public interface GasWellDao extends BaseMapper { /** * 分页查询气井列表 * - * @param query 查询条件 + * @param blockId * @return 气井 */ - Page pageForQuery(Page page, @Param("query") GasWellPageQuery query); + Page pageForQuery(Page page, String name, Long blockId); /** * 新增气井 @@ -58,7 +56,7 @@ public interface GasWellDao extends BaseMapper { * @param gasWell 气井 * @return 结果 */ - int updateGasWell(GasWell gasWell); + int updateGasWell(GasWellVO gasWell); /** * 删除气井 diff --git a/src/main/java/com/isu/gaswellwatch/dto/GasWellCreateRequest.java b/src/main/java/com/isu/gaswellwatch/dto/GasWellCreateRequest.java index ece834e..964e684 100644 --- a/src/main/java/com/isu/gaswellwatch/dto/GasWellCreateRequest.java +++ b/src/main/java/com/isu/gaswellwatch/dto/GasWellCreateRequest.java @@ -1,5 +1,7 @@ package com.isu.gaswellwatch.dto; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; import lombok.EqualsAndHashCode; import lombok.Getter; import lombok.NoArgsConstructor; @@ -28,13 +30,19 @@ public class GasWellCreateRequest implements Serializable { @Serial private static final long serialVersionUID = 1L; - /** 关联公司 */ - private Long companyId; + /** 气井ID */ + private Long id; /** 气井名称 */ + @NotBlank(message = "气井名称不能为空") private String name; /** 描述 */ private String details; + + /** 所属区块 */ + @NotNull(message = "所属区块不能为空") + private Long blockId; + } diff --git a/src/main/java/com/isu/gaswellwatch/dto/GasWellEditRequest.java b/src/main/java/com/isu/gaswellwatch/dto/GasWellEditRequest.java index 4c9bc59..943fad5 100644 --- a/src/main/java/com/isu/gaswellwatch/dto/GasWellEditRequest.java +++ b/src/main/java/com/isu/gaswellwatch/dto/GasWellEditRequest.java @@ -31,9 +31,6 @@ public class GasWellEditRequest implements Serializable { /** 主键 */ private Long id; - /** 关联公司 */ - private Long companyId; - /** 气井名称 */ private String name; diff --git a/src/main/java/com/isu/gaswellwatch/entity/GasWell.java b/src/main/java/com/isu/gaswellwatch/entity/GasWell.java index 4d9487e..499e47e 100644 --- a/src/main/java/com/isu/gaswellwatch/entity/GasWell.java +++ b/src/main/java/com/isu/gaswellwatch/entity/GasWell.java @@ -26,26 +26,24 @@ public class GasWell extends Model { /** 主键 */ private Long id; - /** 关联公司 */ - private Long companyId; - /** 气井名称 */ private String name; /** 描述 */ private String details; - /** 创建人 */ - private Long createBy; + /** 设备ID */ + private Long deviceId; + + /** 区块ID */ + private Long blockId; /** 创建时间 */ - private LocalDateTime createTime; - - /** 更新人 */ - private Long updateBy; + private String createTime; /** 更新时间 */ - private LocalDateTime updateTime; + private String updateTime; + } diff --git a/src/main/java/com/isu/gaswellwatch/mapper/GasWellMapper.java b/src/main/java/com/isu/gaswellwatch/mapper/GasWellMapper.java index 8f2fc08..c547561 100644 --- a/src/main/java/com/isu/gaswellwatch/mapper/GasWellMapper.java +++ b/src/main/java/com/isu/gaswellwatch/mapper/GasWellMapper.java @@ -40,9 +40,7 @@ public interface GasWellMapper { 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); } @@ -50,12 +48,6 @@ public interface GasWellMapper { 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/GasWellService.java b/src/main/java/com/isu/gaswellwatch/service/GasWellService.java index 0ecc989..3c8a484 100644 --- a/src/main/java/com/isu/gaswellwatch/service/GasWellService.java +++ b/src/main/java/com/isu/gaswellwatch/service/GasWellService.java @@ -5,7 +5,6 @@ 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; @@ -37,10 +36,9 @@ public interface GasWellService extends IService { /** * 分页查询气井列表 * - * @param query 查询条件 * @return 气井 */ - Page pageForQuery(GasWellPageQuery query); + Page pageForQuery(Integer currentPage, Integer pageSize, String name, Long blockId); /** * 新增气井 diff --git a/src/main/java/com/isu/gaswellwatch/service/impl/GasWellServiceImpl.java b/src/main/java/com/isu/gaswellwatch/service/impl/GasWellServiceImpl.java index 4b75c80..dfb287d 100644 --- a/src/main/java/com/isu/gaswellwatch/service/impl/GasWellServiceImpl.java +++ b/src/main/java/com/isu/gaswellwatch/service/impl/GasWellServiceImpl.java @@ -2,13 +2,19 @@ package com.isu.gaswellwatch.service.impl; import java.util.Collection; import java.util.List; + +import cn.hutool.core.collection.CollectionUtil; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.isu.gaswellwatch.config.SnowflakeConfig; +import com.isu.gaswellwatch.exception.BusinessException; +import com.isu.gaswellwatch.utils.ConverterUtil; +import jakarta.annotation.Resource; 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; @@ -28,6 +34,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @Transactional(readOnly = true) public class GasWellServiceImpl extends ServiceImpl implements GasWellService { + @Resource + private SnowflakeConfig snowflakeConfig; + private final GasWellDao gasWellDao; private final GasWellMapper gasWellMapper = Mappers.getMapper(GasWellMapper.class); @@ -39,7 +48,7 @@ public class GasWellServiceImpl extends ServiceImpl implem */ @Override public GasWellVO selectGasWellById(Long id) { - return gasWellMapper.toPageVO(gasWellDao.selectGasWellById(id)); + return gasWellDao.selectGasWellById(id); } /** @@ -56,12 +65,11 @@ public class GasWellServiceImpl extends ServiceImpl implem /** * 分页查询气井列表 * - * @param query 查询条件 * @return 气井 */ @Override - public Page pageForQuery(GasWellPageQuery query){ - return gasWellDao.pageForQuery(new Page<>(query.getCurrentPage(), query.getPageSize()), query); + public Page pageForQuery(Integer currentPage, Integer pageSize, String name, Long blockId){ + return gasWellDao.pageForQuery(new Page<>(currentPage, pageSize), name,blockId); } /** @@ -73,7 +81,15 @@ public class GasWellServiceImpl extends ServiceImpl implem @Override @Transactional(rollbackFor = Throwable.class) public int insertGasWell(GasWellCreateRequest gasWellCreateRequest) { - return gasWellDao.insertGasWell(gasWellMapper.create(gasWellCreateRequest)); + GasWell gasWell = ConverterUtil.convert(gasWellCreateRequest,GasWell.class); + + //查重 + List list = list(new LambdaQueryWrapper().eq(GasWell::getName, gasWellCreateRequest.getName())); + if(CollectionUtil.isNotEmpty(list)) { + throw new BusinessException("已有相同名称,请重新输入"); + } + gasWell.setId(snowflakeConfig.snowflakeId()); + return gasWellDao.insertGasWell(gasWell); } /** @@ -85,9 +101,8 @@ public class GasWellServiceImpl extends ServiceImpl implem @Override @Transactional(rollbackFor = Throwable.class) public int updateGasWell(GasWellEditRequest gasWellEditRequest) { - GasWell gasWell = gasWellDao.selectGasWellById(gasWellEditRequest.getId()); - gasWellMapper.copyToEntity(gasWellEditRequest, gasWell); - return gasWellDao.updateGasWell(gasWell); + GasWellVO gasWellVO = ConverterUtil.convert(gasWellEditRequest,GasWellVO.class); + return gasWellDao.updateGasWell(gasWellVO); } /** @@ -99,6 +114,11 @@ public class GasWellServiceImpl extends ServiceImpl implem @Override @Transactional(rollbackFor = Throwable.class) public int deleteGasWellById(Long id) { + //判断气井是否被关联设备,如果已经关联设备则无法删除 + GasWellVO gasWellVO = gasWellDao.selectGasWellById(id); + if(gasWellVO.getDeviceId() != null){ + throw new BusinessException("该气井已经关联设备,无法删除"); + } return gasWellDao.deleteGasWellById(id); } diff --git a/src/main/java/com/isu/gaswellwatch/vo/GasWellVO.java b/src/main/java/com/isu/gaswellwatch/vo/GasWellVO.java index 05e061f..ab1993c 100644 --- a/src/main/java/com/isu/gaswellwatch/vo/GasWellVO.java +++ b/src/main/java/com/isu/gaswellwatch/vo/GasWellVO.java @@ -31,25 +31,22 @@ public class GasWellVO implements Serializable { /** 主键 */ private Long id; - /** 关联公司 */ - private Long companyId; - /** 气井名称 */ private String name; /** 描述 */ private String details; - /** 创建人 */ - private Long createBy; - /** 创建时间 */ - private LocalDateTime createTime; - - /** 更新人 */ - private Long updateBy; + private String createTime; /** 更新时间 */ - private LocalDateTime updateTime; + private String updateTime; + + /** 设备id */ + private Long deviceId; + + /** 区块id */ + private Long blockId; } diff --git a/src/main/resources/mapper/GasWellMapper.xml b/src/main/resources/mapper/GasWellMapper.xml index c50de8a..a1d5bdb 100644 --- a/src/main/resources/mapper/GasWellMapper.xml +++ b/src/main/resources/mapper/GasWellMapper.xml @@ -6,40 +6,28 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - - - - - + + + + - - - - - - - - - - - - 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 + select t1.id, t1.name, t1.details, t1.block_id,t1.device_id, t1.create_time, t1.update_time from gas_well t1 - and t1.company_id = #{companyId} @@ -47,53 +35,42 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - where t1.id = #{id} - - insert into gas_wells + + insert into gas_well - company_id, + id, name, details, - create_by, - create_time, - update_by, - update_time, + block_id, - #{companyId}, + #{id}, #{name}, #{details}, - #{createBy}, - #{createTime}, - #{updateBy}, - #{updateTime}, + #{blockId}, - update gas_wells + update gas_well - 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_well where id = #{id} - delete from gas_wells where id in + delete from gas_well where id in #{id}