Skip to content
Snippets Groups Projects
Commit 190fcf1f authored by Yulong Wang's avatar Yulong Wang
Browse files

Merge branch 'wyl' into 'main'

Fuzzy query(admin)

See merge request !15
parents 41b45c5f fb565385
No related branches found
No related tags found
1 merge request!15Fuzzy query(admin)
......@@ -50,6 +50,19 @@ public class AdminController {
return result;
}
/**
* fuzzy query
* @param
* @return
*/
@GetMapping("/select")
public Result selectByItem(@RequestBody SelectVo selectVo){
Result result=adminService.selectByItem(selectVo);
return result;
}
/**
* Update data
* @param selectVo
......
......@@ -3,6 +3,7 @@ package com.cardiff.client_project.mapper;
import com.cardiff.client_project.constant.ResponseCode;
import com.cardiff.client_project.pojo.dto.SelectDto;
import com.cardiff.client_project.pojo.entity.CommonAdmin;
import com.cardiff.client_project.pojo.vo.SelectVo;
import com.cardiff.client_project.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
......@@ -108,4 +109,67 @@ public class AdminMapper {
});
return update;
}
public List<SelectDto> selectByItem(SelectVo selectVo) {
// Get query type
String type = selectVo.getType();
// Build the basic SQL and parameter list
StringBuilder sql = new StringBuilder("SELECT * FROM ");
//Dynamic table name stitching
if(type.equals("commonAdmin")){
sql.append("common_admin");
}
if(type.equals("patient")){
sql.append("patient");
}
List<Object> params = new ArrayList<>();
//Dynamic concatenation of query conditions
if (selectVo.getName() != null) {
sql.append(" AND name LIKE ?");
params.add("%" + selectVo.getName() + "%");
}
if (selectVo.getPhone() != null) {
sql.append(" AND phone LIKE ?");
params.add("%" + selectVo.getPhone() + "%");
}
if (selectVo.getAddress() != null) {
sql.append(" AND address LIKE ?");
params.add("%" + selectVo.getAddress() + "%");
}
List<SelectDto> query = jdbcTemplate.query(sql.toString(), params.toArray(), new BeanPropertyRowMapper<>(SelectDto.class));
return query;
//String type=selectVo.getType();
// String first="select * from ";
// String second = " where ";
// if(selectVo.getName()!=null){
// second+="name like '%"+selectVo.getName()+"%'";
// }
// if(selectVo.getPhone()!=null){
// second+="phone like '%"+selectVo.getPhone()+"%'";
// }
// if(selectVo.getAddress()!=null){
// second+="address like '%"+selectVo.getAddress()+"'";
// }
//
//
// List<SelectDto> query=new ArrayList<>();
// if("commonAdmin".equals(type)){
// String sql=first+"common_admin"+second;
// System.out.println(sql);
// query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(SelectDto.class));
// }
// if("hospital".equals(type)){
// String sql=first+"hospital"+second;
// System.out.println(sql);
// query = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(SelectDto.class));
// }
// System.out.println(query);
}
}
......@@ -35,4 +35,11 @@ public interface AdminService {
* @return
*/
Result update(SelectVo selectVo);
/**
* fuzzy query
* @param selectVo
* @return
*/
Result selectByItem(SelectVo selectVo);
}
......@@ -5,6 +5,7 @@ import com.cardiff.client_project.constant.Authority;
import com.cardiff.client_project.constant.ResponseCode;
import com.cardiff.client_project.mapper.AdminMapper;
import com.cardiff.client_project.mapper.PatientMapper;
import com.cardiff.client_project.pojo.dto.SelectDto;
import com.cardiff.client_project.pojo.entity.CommonAdmin;
import com.cardiff.client_project.pojo.entity.Patient;
import com.cardiff.client_project.pojo.vo.SelectVo;
......@@ -98,4 +99,20 @@ public class AdminServiceImp implements AdminService {
return Result.success(ResponseCode.SUCCESS);
}
}
/**
* fuzzy query
* @param selectVo
* @return
*/
@Override
public Result selectByItem(SelectVo selectVo) {
List<SelectDto> selectDtos = adminMapper.selectByItem(selectVo);
if(selectDtos.size()>0){
return Result.success(selectDtos);
}else {
return Result.error(ResponseCode.ERROR);
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment