新增我参与的评论

This commit is contained in:
2025-06-03 17:47:35 +08:00
parent 8fc7084b31
commit 003c4eea74
18 changed files with 709 additions and 15 deletions
@@ -7,10 +7,13 @@ import com.example.caseData.common.Response;
import com.example.caseData.dao.*;
import com.example.caseData.dto.T;
import com.example.caseData.dto.caseClinicalVideo.CaseClinicalVideoDto;
import com.example.caseData.dto.userCommentClinicalArticle.GetUserClinicalArticleCommentPageDto;
import com.example.caseData.dto.userCommentClinicalArticle.UserCommentClinicalArticleDto;
import com.example.caseData.dto.userCommentClinicalVideo.GetUserClinicalVideoCommentPageDto;
import com.example.caseData.dto.userCommentClinicalVideo.UserCommentClinicalVideoDto;
import com.example.caseData.exception.BusinessException;
import com.example.caseData.model.*;
import com.example.caseData.request.CaseClinicalArticleRequest.getUserClinicalArticleCommentPage;
import com.example.caseData.request.CaseClinicalVideoRequest.addClinicalVideoComment;
import com.example.caseData.request.CaseClinicalVideoRequest.getClinicalVideoCommentPage;
import com.example.caseData.service.CaseClinicalVideoService;
@@ -20,10 +23,7 @@ import jakarta.servlet.http.HttpServletRequest;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.*;
@RestController
@RequestMapping("/api")
@@ -333,4 +333,59 @@ public class CaseClinicalVideoController {
resultMap.put("data", resultPage.getRecords());
return Response.success(resultMap);
}
/**
* 临床病例库-视频-评论-分页-用户
*/
@PostMapping("/clinical/video/user/comment/page")
public Response<Map<String, Object>> getUserClinicalVideoCommentPage(
@Validated()
@RequestBody getUserClinicalArticleCommentPage request
) {
String userId = (String) httpServletRequest.getAttribute("userId");
// 获取当前登录用户数据
UserModel user = userDao.selectById(Long.valueOf(userId));
if (user == null) {
return Response.error();
}
request.validateForPage();
Map<String, Object> resultMap = new HashMap<>();
Page<UserCommentClinicalArticleDto> page = new Page<>(request.getPage(), request.getPageSize());
// 获取文章评论数据
IPage<GetUserClinicalVideoCommentPageDto> resultPage = userCommentClinicalVideoDao.getUserClinicalVideoCommentPage(
page,
userId
);
for (GetUserClinicalVideoCommentPageDto dto : resultPage.getRecords()){
dto.setAuthor(new ArrayList<>());
// 获取文章作者数据
LambdaQueryWrapper<CaseClinicalVideoAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, dto.getVideoId());
List<CaseClinicalVideoAuthorModel> caseClinicalVideoAuthors = caseClinicalVideoAuthorDao.selectList(authorQueryWrapper);
for (CaseClinicalVideoAuthorModel author : caseClinicalVideoAuthors) {
GetUserClinicalVideoCommentPageDto.CaseClinicalVideoAuthorDto authorDto = new GetUserClinicalVideoCommentPageDto.CaseClinicalVideoAuthorDto();
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
if (caseClinicalDoctor == null) {
return Response.error();
}
authorDto.setDoctorName(caseClinicalDoctor.getDoctorName());
dto.getAuthor().add(authorDto);
}
}
resultMap.put("page", resultPage.getCurrent());
resultMap.put("pageSize", resultPage.getSize());
resultMap.put("total", resultPage.getTotal());
resultMap.put("data", resultPage.getRecords());
return Response.success(resultMap);
}
}