新增了证书图片,新增了搜索数量

This commit is contained in:
wucongxing8150 2025-06-12 18:32:37 +08:00
parent 3a8c82c459
commit 70dd08b359
11 changed files with 101 additions and 7 deletions

View File

@ -20,6 +20,7 @@ import com.example.caseData.request.clinicalRequest.getClinicalHospitalSearchPag
import com.example.caseData.request.clinicalRequest.getClinicalVideoSearchPage;
import com.example.caseData.service.CaseClinicalArticleService;
import com.example.caseData.service.CaseClinicalVideoService;
import com.example.caseData.utils.Replace;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.validation.annotation.Validated;
@ -117,17 +118,28 @@ public class ClinicalController extends BaseController {
dto.setCollect(true);
}
}
// 证书图片
dto.setCertImage(Replace.addOssDomain(dto.getCertImage()));
}
// 获取视频数量
if (request.getIsNeedNum() == 1){
// 获取视频数量
Long searchVideoNum = caseClinicalVideoDao.getCaseClinicalVideoSearchCount(
request.getKeyword(),
request.getHospitalId(),
request.getDoctorId()
);
resultMap.put("search_article_num", resultPage.getTotal());
resultMap.put("search_video_num", searchVideoNum);
}
resultMap.put("page", resultPage.getCurrent());
resultMap.put("pageSize", resultPage.getSize());
resultMap.put("total", resultPage.getTotal());
resultMap.put("data", resultPage.getRecords());
resultMap.put("search_article_num", resultPage.getTotal());
resultMap.put("search_video_num", 0);
return Response.success(resultMap);
}
@ -178,12 +190,28 @@ public class ClinicalController extends BaseController {
dto.setCollect(true);
}
}
// 证书图片
dto.setCertImage(Replace.addOssDomain(dto.getCertImage()));
}
if (request.getIsNeedNum() == 1){
// 获取文章数量
Long searchArticleNum = caseClinicalArticleDao.getCaseClinicalArticleSearchCount(
request.getKeyword(),
request.getHospitalId(),
request.getDoctorId()
);
resultMap.put("search_article_num", searchArticleNum);
resultMap.put("search_video_num", resultPage.getTotal());
}
resultMap.put("page", resultPage.getCurrent());
resultMap.put("pageSize", resultPage.getSize());
resultMap.put("total", resultPage.getTotal());
resultMap.put("data", resultPage.getRecords());
return Response.success(resultMap);
}

View File

@ -27,6 +27,16 @@ public interface CaseClinicalArticleDao extends BaseMapper<CaseClinicalArticleMo
@Param("order") Map<String, String> order
);
/**
* 临床病例库-搜索-数量
* @param keyword 搜索关键词-标题/医生名称/标签名称
*/
Long getCaseClinicalArticleSearchCount(
@Param("keyword") String keyword,
@Param("hospitalId") String hospitalId,
@Param("doctorId") String doctorId
);
/**
* Inc 自增
* @param articleId 文章 ID

View File

@ -30,11 +30,9 @@ public interface CaseClinicalVideoDao extends BaseMapper<CaseClinicalVideoModel>
/**
* 临床病例库-搜索-数量
* @param page 分页数据
* @param keyword 搜索关键词-标题/医生名称/标签名称
*/
Long getCaseClinicalVideoSearchCount(
Page<?> page,
@Param("keyword") String keyword,
@Param("hospitalId") String hospitalId,
@Param("doctorId") String doctorId

View File

@ -1,6 +1,7 @@
package com.example.caseData.dto.caseClinicalArticle;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.example.caseData.dto.caseClinicalArticleAuthor.CaseClinicalArticleAuthorDto;
import com.example.caseData.dto.caseClinicalArticleLabel.CaseClinicalArticleLabelDto;
import com.example.caseData.model.CaseClinicalArticleLabelModel;
@ -57,6 +58,12 @@ public class CaseClinicalArticleDto {
@JsonProperty("push_date")
private LocalDateTime pushDate;
/**
* 证书图片
*/
@JsonProperty("cert_image")
private String certImage;
/**
* 内容
*/

View File

@ -58,6 +58,12 @@ public class CaseClinicalVideoDto {
@JsonProperty("push_date")
private LocalDateTime pushDate;
/**
* 证书图片
*/
@JsonProperty("cert_image")
private String certImage;
/**
* 创建时间
*/

View File

@ -49,6 +49,12 @@ public class CaseClinicalArticleModel {
@TableField("push_date")
private LocalDateTime pushDate;
/**
* 证书图片
*/
@TableField("cert_image")
private String certImage;
/**
* 内容
*/

View File

@ -58,6 +58,12 @@ public class CaseClinicalVideoModel {
@TableField("push_date")
private LocalDateTime pushDate;
/**
* 证书图片
*/
@TableField("cert_image")
private String certImage;
/**
* 创建时间
*/

View File

@ -33,6 +33,11 @@ public class getClinicalArticleSearchPage {
@JsonProperty("doctor_id")
private String doctorId;
// 是否需要数量(0: 1:)
@JsonProperty("is_need_num")
private Integer isNeedNum = 0;
// 排序字段
private OrderRequest order;

View File

@ -33,6 +33,10 @@ public class getClinicalVideoSearchPage {
@JsonProperty("doctor_id")
private String doctorId;
// 是否需要数量(0: 1:)
@JsonProperty("is_need_num")
private Integer isNeedNum = 0;
// 排序字段
private OrderRequest order;

View File

@ -47,7 +47,8 @@
a.article_title,
a.read_num,
a.collect_num,
a.push_date
a.push_date,
a.cert_image
FROM (
SELECT DISTINCT a.article_id
FROM case_clinical_article a
@ -77,4 +78,26 @@
</foreach>
</if>
</select>
<select id="getCaseClinicalArticleSearchCount" resultType="long">
SELECT COUNT(DISTINCT a.article_id)
FROM case_clinical_article a
LEFT JOIN case_clinical_article_author caa ON a.article_id = caa.article_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
WHERE a.article_status = 1
<if test="keyword != null and keyword != ''">
AND (
a.article_title LIKE CONCAT('%', #{keyword}, '%')
OR d.doctor_name LIKE CONCAT('%', #{keyword}, '%')
OR l.label_name LIKE CONCAT('%', #{keyword}, '%')
)
</if>
<if test="hospitalId != null and hospitalId != ''">
AND d.hospital_id = ${hospitalId}
</if>
<if test="doctorId != null and doctorId != ''">
AND d.doctor_id = ${doctorId}
</if>
</select>
</mapper>

View File

@ -17,7 +17,8 @@
a.read_num,
a.collect_num,
a.video_no,
a.push_date
a.push_date,
a.cert_image
FROM case_clinical_video a
LEFT JOIN case_clinical_video_author caa ON a.video_id = caa.video_id
LEFT JOIN case_clinical_doctor d ON caa.doctor_id = d.doctor_id