提交 f6a96c21 作者: 涂茂林

feat:区域信息检索

上级 ef5d4dcc
...@@ -5,6 +5,7 @@ import java.io.Serializable; ...@@ -5,6 +5,7 @@ import java.io.Serializable;
import java.util.List; import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor; import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
/** /**
...@@ -27,4 +28,12 @@ public interface DistrictRepository extends JpaRepository<District, Serializable ...@@ -27,4 +28,12 @@ public interface DistrictRepository extends JpaRepository<District, Serializable
* @return 区域列表 * @return 区域列表
*/ */
List<District> findAllByName(String name); List<District> findAllByName(String name);
/**
* 根据名称模糊查询区域信息
* @param name 名称
* @return 区域列表
*/
@Query("SELECT d FROM District d WHERE d.name like %?1%")
List<District> findLikeName(String name);
} }
...@@ -3,8 +3,10 @@ package com.yiring.app.service.district; ...@@ -3,8 +3,10 @@ package com.yiring.app.service.district;
import com.yiring.app.param.district.DistrictAddParam; import com.yiring.app.param.district.DistrictAddParam;
import com.yiring.app.param.district.DistrictModifyParam; import com.yiring.app.param.district.DistrictModifyParam;
import com.yiring.app.vo.district.DistrictVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.vo.PageVo;
/** /**
* 区域信息service * 区域信息service
...@@ -33,4 +35,11 @@ public interface DistrictService { ...@@ -33,4 +35,11 @@ public interface DistrictService {
* @return 是否成功 * @return 是否成功
*/ */
Result<String> removeDistrict(IdParam idParam); Result<String> removeDistrict(IdParam idParam);
/**
* 根据名称模糊查询
* @param name 名称
* @return 区域信息
*/
Result<PageVo<DistrictVo>> findByNameLike(String name);
} }
...@@ -7,9 +7,12 @@ import com.yiring.app.param.district.DistrictAddParam; ...@@ -7,9 +7,12 @@ import com.yiring.app.param.district.DistrictAddParam;
import com.yiring.app.param.district.DistrictModifyParam; import com.yiring.app.param.district.DistrictModifyParam;
import com.yiring.app.service.district.DistrictService; import com.yiring.app.service.district.DistrictService;
import com.yiring.app.util.JpaUtil; import com.yiring.app.util.JpaUtil;
import com.yiring.app.vo.district.DistrictVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.core.Status; import com.yiring.common.core.Status;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.util.Commons;
import com.yiring.common.vo.PageVo;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import javax.annotation.Resource; import javax.annotation.Resource;
...@@ -76,4 +79,12 @@ public class DistrictServiceImpl implements DistrictService { ...@@ -76,4 +79,12 @@ public class DistrictServiceImpl implements DistrictService {
district.setDeleted(true); district.setDeleted(true);
return Result.ok(); return Result.ok();
} }
@Override
public Result<PageVo<DistrictVo>> findByNameLike(String name) {
List<District> list = districtRepository.findLikeName(name);
List<DistrictVo> voList = Commons.transform(list, DistrictVo.class);
PageVo<DistrictVo> pageVo = PageVo.build(voList, voList.size());
return Result.ok(pageVo);
}
} }
/* (C) 2022 YiRing, Inc. */
package com.yiring.app.vo.district;
import com.yiring.app.domain.district.District;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serial;
import java.io.Serializable;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* 区域信息VO
* @author tml
* @version 1.0
* @date 2022/4/27 9:10
*/
@ApiModel("DistrictVo(区域信息)")
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DistrictVo implements Serializable {
@Serial
private static final long serialVersionUID = -4330628723553785529L;
@ApiModelProperty(value = "区域id", example = "1518841086628335616")
private Long id;
@ApiModelProperty(value = "区域名称", example = "生产区域")
private String name;
@ApiModelProperty(value = "风险等级(区域颜色)", example = "f##0000")
private String riskGrade;
public static DistrictVo transform(District district) {
return DistrictVo
.builder()
.id(district.getId())
.name(district.getName())
.riskGrade(district.getRiskGrade())
.build();
}
}
...@@ -4,18 +4,18 @@ package com.yiring.app.web.district; ...@@ -4,18 +4,18 @@ package com.yiring.app.web.district;
import com.yiring.app.param.district.DistrictAddParam; import com.yiring.app.param.district.DistrictAddParam;
import com.yiring.app.param.district.DistrictModifyParam; import com.yiring.app.param.district.DistrictModifyParam;
import com.yiring.app.service.district.DistrictService; import com.yiring.app.service.district.DistrictService;
import com.yiring.app.vo.district.DistrictVo;
import com.yiring.common.core.Result; import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam; import com.yiring.common.param.IdParam;
import com.yiring.common.vo.PageVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.validation.Valid; import javax.validation.Valid;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 区域管理控制器 * 区域管理控制器
...@@ -50,4 +50,14 @@ public class DistrictController { ...@@ -50,4 +50,14 @@ public class DistrictController {
public Result<String> removeDistrict(@Valid IdParam idParam) { public Result<String> removeDistrict(@Valid IdParam idParam) {
return districtService.removeDistrict(idParam); return districtService.removeDistrict(idParam);
} }
@ApiOperation(value = "根据区域名称模糊查询区域信息")
@ApiImplicitParam(value = "区域名称", example = "生产", required = true, name = "name")
@GetMapping("/findByNameLike")
public Result<PageVo<DistrictVo>> findByNameLike(String name) {
if (name == null) {
name = "";
}
return districtService.findByNameLike(name);
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论