From 8841975427942a989df76e193a448321ff624620 Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Mon, 12 May 2025 17:43:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E4=BA=86=E6=96=87=E7=AB=A0?= =?UTF-8?q?=E6=94=B6=E8=97=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../CaseClinicalArticleController.java | 40 +++++++++++++++++-- .../service/CaseClinicalArticleService.java | 40 +++++++++++++++++++ 2 files changed, 76 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/example/caseData/service/CaseClinicalArticleService.java diff --git a/src/main/java/com/example/caseData/controller/CaseClinicalArticleController.java b/src/main/java/com/example/caseData/controller/CaseClinicalArticleController.java index d7925e1..b30c797 100644 --- a/src/main/java/com/example/caseData/controller/CaseClinicalArticleController.java +++ b/src/main/java/com/example/caseData/controller/CaseClinicalArticleController.java @@ -8,12 +8,13 @@ import com.example.caseData.dao.*; import com.example.caseData.dto.basicHospital.BasicHospitalDto; import com.example.caseData.dto.caseClinicalArticle.CaseClinicalArticleDto; import com.example.caseData.dto.statsCaseClinicalHospital.StatsCaseClinicalHospitalDto; -import com.example.caseData.model.BasicHospitalModel; -import com.example.caseData.model.CaseClinicalArticleAuthorModel; -import com.example.caseData.model.CaseClinicalArticleModel; -import com.example.caseData.model.CaseClinicalDoctorModel; +import com.example.caseData.exception.BusinessException; +import com.example.caseData.model.*; import com.example.caseData.request.clinicalRequest.getClinicalHospitalSearchPage; +import com.example.caseData.service.CaseClinicalArticleService; +import com.example.caseData.service.UserService; import jakarta.annotation.Resource; +import jakarta.servlet.http.HttpServletRequest; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -39,6 +40,15 @@ public class CaseClinicalArticleController { @Resource private BasicHospitalDao basicHospitalDao; + @Resource + private UserCollectClinicalArticleDao userCollectClinicalArticleDao; + + @Resource + private HttpServletRequest request; + + @Resource + private CaseClinicalArticleService caseClinicalArticleService; + /** * 临床病例库-文章-详情 */ @@ -73,4 +83,26 @@ public class CaseClinicalArticleController { CaseClinicalArticleDto g = CaseClinicalArticleDto.GetDto(article); return Response.success(g); } + + /** + * 临床病例库-文章-收藏 + */ + @PostMapping("/clinical/article/collect/{article_id}") + public Response AddClinicalArticleCollect( + @PathVariable("article_id") String articleId + ) { + + String userId = (String) request.getAttribute("userId"); + + if (userId == null) { + return Response.error("操作失败"); + } + + boolean res = caseClinicalArticleService.AddClinicalArticleCollect(articleId,userId); + if (!res){ + return Response.error("操作失败"); + } + + return Response.success(); + } } diff --git a/src/main/java/com/example/caseData/service/CaseClinicalArticleService.java b/src/main/java/com/example/caseData/service/CaseClinicalArticleService.java new file mode 100644 index 0000000..d010f62 --- /dev/null +++ b/src/main/java/com/example/caseData/service/CaseClinicalArticleService.java @@ -0,0 +1,40 @@ +package com.example.caseData.service; + +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.example.caseData.dao.UserCollectClinicalArticleDao; +import com.example.caseData.model.UserCollectClinicalArticleModel; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import static com.baomidou.mybatisplus.extension.toolkit.Db.save; + +@Service +public class CaseClinicalArticleService { + @Resource + private UserCollectClinicalArticleDao userCollectClinicalArticleDao; + + /** + * 新增收藏-临床病例库-文章 + * @param articleId 文章id + * @param userId 用户id + * @return bool + */ + @Transactional + public boolean AddClinicalArticleCollect(String articleId,String userId){ + // 检测用户是否已收藏过 + LambdaQueryWrapper mapQueryWrapper = new LambdaQueryWrapper<>(); + mapQueryWrapper.eq(UserCollectClinicalArticleModel::getUserId, userId); + mapQueryWrapper.eq(UserCollectClinicalArticleModel::getArticleId, articleId); + UserCollectClinicalArticleModel userCollectClinicalArticle = userCollectClinicalArticleDao.selectOne(mapQueryWrapper); + if (userCollectClinicalArticle != null) { + return true; + } + + // 新增收藏 + UserCollectClinicalArticleModel userCollectClinicalArticleData = new UserCollectClinicalArticleModel(); + userCollectClinicalArticleData.setUserId(Long.valueOf(userId)); + userCollectClinicalArticleData.setArticleId(Long.valueOf(articleId)); + return save(userCollectClinicalArticleData); + } +}