package com.example.caseData.controller; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.example.caseData.common.Response; import com.example.caseData.dao.*; import com.example.caseData.dto.caseClinicalArticle.CaseClinicalArticleDto; import com.example.caseData.dto.caseClinicalVideo.CaseClinicalVideoDto; import com.example.caseData.dto.caseExchange.CaseExchangeDto; import com.example.caseData.dto.statsCaseClinical.StatsCaseClinicalDto; import com.example.caseData.dto.statsCaseClinicalDoctor.StatsCaseClinicalDoctorDto; import com.example.caseData.dto.statsCaseClinicalHospital.StatsCaseClinicalHospitalDto; import com.example.caseData.dto.statsCaseClinicalLabel.StatsCaseClinicalLabelDto; import com.example.caseData.model.*; import com.example.caseData.request.StatsCaseClinicalRequest.getClinicalStatsLabel; import com.example.caseData.request.caseLabelRequest.getCaseLabel; import jakarta.annotation.Resource; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import java.util.List; @RestController @RequestMapping("/api") public class StatsCaseClinicalController extends BaseController { @Resource private StatsCaseClinicalDao statsCaseClinicalDao; @Resource private StatsCaseClinicalHospitalDao statsCaseClinicalHospitalDao; @Resource private StatsCaseClinicalDoctorDao statsCaseClinicalDoctorDao; @Resource private StatsCaseClinicalLabelDao statsCaseClinicalLabelDao; @Resource private CaseClinicalArticleDao caseClinicalArticleDao; @Resource private CaseClinicalVideoDao caseClinicalVideoDao; /** * 临床病例库-统计 */ @GetMapping("/clinical/stats") public Response getClinicalStats(){ // 统计表-病例库-临床 LambdaQueryWrapper statsCaseClinicalQueryWrapper = new LambdaQueryWrapper<>(); StatsCaseClinicalModel statsCaseClinical = statsCaseClinicalDao.selectOne(statsCaseClinicalQueryWrapper); StatsCaseClinicalDto g = StatsCaseClinicalDto.GetDto(statsCaseClinical); if (g == null){ return Response.success(new StatsCaseClinicalDto()); } return Response.success(g); } /** * 临床病例库-统计-医院 */ @GetMapping("/clinical/stats/hospital/{hospital_id}") public Response getClinicalStatsHospital( @PathVariable("hospital_id") String hospitalId ){ Integer articleReadNum = 0; Integer videoReadNum = 0; // 获取该标签下文章数据 List caseClinicalArticles = caseClinicalArticleDao.getCaseClinicalArticleSearchList( "", hospitalId, "", "", null ); for (CaseClinicalArticleDto article : caseClinicalArticles){ articleReadNum += article.getReadNum(); } // 获取该标签下视频数据 List caseClinicalVideos = caseClinicalVideoDao.getCaseClinicalVideoSearchList( "", hospitalId, "", "", null ); for (CaseClinicalVideoDto video : caseClinicalVideos){ videoReadNum += video.getReadNum(); } StatsCaseClinicalHospitalDto g = new StatsCaseClinicalHospitalDto(); g.setStatsId("1"); g.setArticleNum(caseClinicalArticles.size()); g.setArticleReadNum(articleReadNum); g.setVideoNum(caseClinicalVideos.size()); g.setVideoReadNum(videoReadNum); // // // 统计表-病例库-临床 // LambdaQueryWrapper statsCaseClinicalHospitalQueryWrapper = new LambdaQueryWrapper<>(); // statsCaseClinicalHospitalQueryWrapper.eq(StatsCaseClinicalHospitalModel::getHospitalId, hospitalId); // StatsCaseClinicalHospitalModel statsCaseClinicalHospital = statsCaseClinicalHospitalDao.selectOne(statsCaseClinicalHospitalQueryWrapper); // // StatsCaseClinicalHospitalDto g = StatsCaseClinicalHospitalDto.GetDto(statsCaseClinicalHospital); // // if (g == null){ // return Response.success(new StatsCaseClinicalHospitalDto()); // } return Response.success(g); } /** * 临床病例库-统计-医生 */ @GetMapping("/clinical/stats/doctor/{doctor_id}") public Response getClinicalStatsDoctor( @PathVariable("doctor_id") String doctorId ){ Integer articleReadNum = 0; Integer videoReadNum = 0; // 获取该标签下文章数据 List caseClinicalArticles = caseClinicalArticleDao.getCaseClinicalArticleSearchList( "", "", doctorId, "", null ); for (CaseClinicalArticleDto article : caseClinicalArticles){ articleReadNum += article.getReadNum(); } // 获取该标签下视频数据 List caseClinicalVideos = caseClinicalVideoDao.getCaseClinicalVideoSearchList( "", "", doctorId, "", null ); for (CaseClinicalVideoDto video : caseClinicalVideos){ videoReadNum += video.getReadNum(); } StatsCaseClinicalDoctorDto g = new StatsCaseClinicalDoctorDto(); g.setStatsId("1"); g.setArticleNum(caseClinicalArticles.size()); g.setArticleReadNum(articleReadNum); g.setVideoNum(caseClinicalVideos.size()); g.setVideoReadNum(videoReadNum); return Response.success(g); } /** * 临床病例库-统计-疾病标签 */ @GetMapping("/clinical/stats/label") public Response getClinicalStatsLabel( @Validated() @ModelAttribute getClinicalStatsLabel request ){ Integer articleReadNum = 0; Integer videoReadNum = 0; // 获取该标签下文章数据 List caseClinicalArticles = caseClinicalArticleDao.getCaseClinicalArticleSearchList( "", "", "", request.getLabel_iden(), null ); for (CaseClinicalArticleDto article : caseClinicalArticles){ articleReadNum += article.getReadNum(); } // 获取该标签下视频数据 List caseClinicalVideos = caseClinicalVideoDao.getCaseClinicalVideoSearchList( "", "", "", request.getLabel_iden(), null ); for (CaseClinicalVideoDto video : caseClinicalVideos){ videoReadNum += video.getReadNum(); } StatsCaseClinicalLabelDto g = new StatsCaseClinicalLabelDto(); g.setStatsId("1"); g.setArticleNum(caseClinicalArticles.size()); g.setArticleReadNum(articleReadNum); g.setVideoNum(caseClinicalVideos.size()); g.setVideoReadNum(videoReadNum); return Response.success(g); } }