提交 f6a96c21 作者: 涂茂林

feat:区域信息检索

上级 ef5d4dcc
......@@ -5,6 +5,7 @@ import java.io.Serializable;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.stereotype.Repository;
/**
......@@ -27,4 +28,12 @@ public interface DistrictRepository extends JpaRepository<District, Serializable
* @return 区域列表
*/
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;
import com.yiring.app.param.district.DistrictAddParam;
import com.yiring.app.param.district.DistrictModifyParam;
import com.yiring.app.vo.district.DistrictVo;
import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam;
import com.yiring.common.vo.PageVo;
/**
* 区域信息service
......@@ -33,4 +35,11 @@ public interface DistrictService {
* @return 是否成功
*/
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;
import com.yiring.app.param.district.DistrictModifyParam;
import com.yiring.app.service.district.DistrictService;
import com.yiring.app.util.JpaUtil;
import com.yiring.app.vo.district.DistrictVo;
import com.yiring.common.core.Result;
import com.yiring.common.core.Status;
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.Optional;
import javax.annotation.Resource;
......@@ -76,4 +79,12 @@ public class DistrictServiceImpl implements DistrictService {
district.setDeleted(true);
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;
import com.yiring.app.param.district.DistrictAddParam;
import com.yiring.app.param.district.DistrictModifyParam;
import com.yiring.app.service.district.DistrictService;
import com.yiring.app.vo.district.DistrictVo;
import com.yiring.common.core.Result;
import com.yiring.common.param.IdParam;
import com.yiring.common.vo.PageVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
import javax.annotation.Resource;
import javax.validation.Valid;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
* 区域管理控制器
......@@ -50,4 +50,14 @@ public class DistrictController {
public Result<String> removeDistrict(@Valid IdParam 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 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论