修改了搜索

This commit is contained in:
wucongxing8150 2025-05-19 18:41:36 +08:00
parent f186b98dbe
commit 4d95f22d0f
6 changed files with 33 additions and 51 deletions

View File

@ -90,9 +90,7 @@ public class ClinicalController extends BaseController {
// 获取文章数据 // 获取文章数据
IPage<CaseClinicalArticleDto> resultPage = caseClinicalArticleDao.getCaseClinicalArticleSearchPage( IPage<CaseClinicalArticleDto> resultPage = caseClinicalArticleDao.getCaseClinicalArticleSearchPage(
page, page,
request.getTitle(), request.getKeyword(),
request.getDoctorName(),
request.getLabelName(),
request.getHospitalId(), request.getHospitalId(),
request.getDoctorId(), request.getDoctorId(),
request.handleOrder() request.handleOrder()
@ -132,9 +130,9 @@ public class ClinicalController extends BaseController {
// 获取视频数据 // 获取视频数据
IPage<CaseClinicalVideoDto> resultPage = caseClinicalVideoDao.getCaseClinicalVideoSearchPage( IPage<CaseClinicalVideoDto> resultPage = caseClinicalVideoDao.getCaseClinicalVideoSearchPage(
page, page,
request.getTitle(), request.getKeyword(),
request.getDoctorName(), request.getHospitalId(),
request.getLabelName(), request.getDoctorId(),
request.handleOrder() request.handleOrder()
); );

View File

@ -16,18 +16,14 @@ public interface CaseClinicalArticleDao extends BaseMapper<CaseClinicalArticleMo
/** /**
* 临床病例库-搜索 * 临床病例库-搜索
* @param page 分页数据 * @param page 分页数据
* @param title 标题 * @param keyword 搜索关键词-标题/医生名称/标签名称
* @param doctorName 医生名称
* @param labelName 标签名称
* @param order 排序 * @param order 排序
*/ */
IPage<CaseClinicalArticleDto> getCaseClinicalArticleSearchPage( IPage<CaseClinicalArticleDto> getCaseClinicalArticleSearchPage(
Page<?> page, Page<?> page,
@Param("title") String title, @Param("keyword") String keyword,
@Param("doctorName") String doctorName, @Param("hospitalId") String hospitalId,
@Param("labelName") String labelName, @Param("doctorId") String doctorId,
@Param("hospital_id") String hospitalId,
@Param("doctor_id") String doctorId,
@Param("order") Map<String, String> order @Param("order") Map<String, String> order
); );

View File

@ -17,16 +17,14 @@ public interface CaseClinicalVideoDao extends BaseMapper<CaseClinicalVideoModel>
/** /**
* 临床病例库-搜索 * 临床病例库-搜索
* @param page 分页数据 * @param page 分页数据
* @param title 标题 * @param keyword 搜索关键词-标题/医生名称/标签名称
* @param doctorName 医生名称
* @param labelName 标签名称
* @param order 排序 * @param order 排序
*/ */
IPage<CaseClinicalVideoDto> getCaseClinicalVideoSearchPage( IPage<CaseClinicalVideoDto> getCaseClinicalVideoSearchPage(
Page<?> page, Page<?> page,
@Param("title") String title, @Param("keyword") String keyword,
@Param("doctorName") String doctorName, @Param("hospitalId") String hospitalId,
@Param("labelName") String labelName, @Param("doctorId") String doctorId,
@Param("order") Map<String, String> order @Param("order") Map<String, String> order
); );

View File

@ -21,21 +21,9 @@ public class getClinicalSearchPage {
@Min(value = 1, message = "每页个数最小为 1") @Min(value = 1, message = "每页个数最小为 1")
private Integer pageSize = 20; private Integer pageSize = 20;
// // 标题/作者名称/疾病名称
// @JsonProperty("keyword")
// private String doctorName;
// 标题
@JsonProperty("title")
private String title;
// 标题/作者名称/疾病名称 // 标题/作者名称/疾病名称
@JsonProperty("doctor_name") @JsonProperty("keyword")
private String doctorName; private String keyword;
// 标签名称
@JsonProperty("label_name")
private String labelName;
// 医院id // 医院id
@JsonProperty("hospital_id") @JsonProperty("hospital_id")
@ -60,7 +48,7 @@ public class getClinicalSearchPage {
@Data @Data
public static class OrderRequest { public static class OrderRequest {
private String createdAt; // 创建时间 private String createdAt; // 创建时间
private String readNum; // 阅读量-文章 private String readNum; // 阅读量
private String pushDate; // 发表时间 private String pushDate; // 发表时间
public Map<String, String> toMap() { public Map<String, String> toMap() {

View File

@ -21,20 +21,18 @@
LEFT JOIN case_clinical_doctor d ON caa.doctor_id = d.doctor_id LEFT JOIN case_clinical_doctor d ON caa.doctor_id = d.doctor_id
LEFT JOIN case_clinical_article_label l ON a.article_id = l.article_id LEFT JOIN case_clinical_article_label l ON a.article_id = l.article_id
WHERE a.article_status = 1 WHERE a.article_status = 1
<if test="title != null and title != ''"> <if test="keyword != null and keyword != ''">
AND a.article_title LIKE CONCAT('%', #{title}, '%') AND (
</if> a.article_title LIKE CONCAT('%', #{keyword}, '%')
<if test="doctorName != null and doctorName != ''"> OR d.doctor_name LIKE CONCAT('%', #{keyword}, '%')
AND d.doctor_name LIKE CONCAT('%', #{doctorName}, '%') OR l.label_name LIKE CONCAT('%', #{keyword}, '%')
</if> )
<if test="labelName != null and labelName != ''">
AND l.label_name LIKE CONCAT('%', #{labelName}, '%')
</if> </if>
<if test="hospitalId != null and hospitalId != ''"> <if test="hospitalId != null and hospitalId != ''">
AND d.hospital_id LIKE CONCAT('%', #{hospitalId}, '%') AND d.hospital_id = ${hospitalId}
</if> </if>
<if test="doctorId != null and doctorId != ''"> <if test="doctorId != null and doctorId != ''">
AND d.doctor_id LIKE CONCAT('%', #{doctorId}, '%') AND d.doctor_id = ${doctorId}
</if> </if>
<if test="order != null and !order.isEmpty()"> <if test="order != null and !order.isEmpty()">
ORDER BY ORDER BY

View File

@ -23,14 +23,18 @@
LEFT JOIN case_clinical_doctor d ON caa.doctor_id = d.doctor_id LEFT JOIN case_clinical_doctor d ON caa.doctor_id = d.doctor_id
LEFT JOIN case_clinical_video_label l ON a.video_id = l.video_id LEFT JOIN case_clinical_video_label l ON a.video_id = l.video_id
WHERE a.video_status = 1 WHERE a.video_status = 1
<if test="title != null and title != ''"> <if test="keyword != null and keyword != ''">
AND a.video_title LIKE CONCAT('%', #{title}, '%') AND (
a.article_title LIKE CONCAT('%', #{keyword}, '%')
OR d.doctor_name LIKE CONCAT('%', #{keyword}, '%')
OR l.label_name LIKE CONCAT('%', #{keyword}, '%')
)
</if> </if>
<if test="doctorName != null and doctorName != ''"> <if test="hospitalId != null and hospitalId != ''">
AND d.doctor_name LIKE CONCAT('%', #{doctorName}, '%') AND d.hospital_id = ${hospitalId}
</if> </if>
<if test="labelName != null and labelName != ''"> <if test="doctorId != null and doctorId != ''">
AND l.label_name LIKE CONCAT('%', #{labelName}, '%') AND d.doctor_id = ${doctorId}
</if> </if>
<if test="order != null and !order.isEmpty()"> <if test="order != null and !order.isEmpty()">
ORDER BY ORDER BY