diff --git a/src/main/java/com/example/caseData/dao/StatsCaseClinicalHospitalDao.java b/src/main/java/com/example/caseData/dao/StatsCaseClinicalHospitalDao.java index ccfa94a..45769d0 100644 --- a/src/main/java/com/example/caseData/dao/StatsCaseClinicalHospitalDao.java +++ b/src/main/java/com/example/caseData/dao/StatsCaseClinicalHospitalDao.java @@ -37,7 +37,7 @@ public interface StatsCaseClinicalHospitalDao extends BaseMapper= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " + "WHERE hospital_id = #{hospitalId}") - int dec(@Param("hospitalId") Long articleId, @Param("field") String field, @Param("numeral") int numeral); + int dec(@Param("hospitalId") Long hospitalId, @Param("field") String field, @Param("numeral") int numeral); } \ No newline at end of file diff --git a/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalLabelSearchPage.java b/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalLabelSearchPage.java index f4164f9..72420b0 100644 --- a/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalLabelSearchPage.java +++ b/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalLabelSearchPage.java @@ -39,6 +39,8 @@ public class getClinicalLabelSearchPage { @JsonProperty("article_num") private String articleNum; // 数量-文章 + @JsonProperty("push_date") + private String pushDate; // 发布时间 public Map toMap() { Map map = new HashMap<>(); @@ -54,6 +56,10 @@ public class getClinicalLabelSearchPage { map.put("a.article_num", articleNum); } + if (StringUtils.hasText(pushDate)) { + map.put("a.last_push_date", pushDate); + } + // 默认排序(如果用户未传递任何排序字段) if (map.isEmpty()) { map.put("a.updated_at", "desc"); diff --git a/src/main/java/com/example/caseData/service/CaseClinicalArticleService.java b/src/main/java/com/example/caseData/service/CaseClinicalArticleService.java index 2916382..e379468 100644 --- a/src/main/java/com/example/caseData/service/CaseClinicalArticleService.java +++ b/src/main/java/com/example/caseData/service/CaseClinicalArticleService.java @@ -414,10 +414,10 @@ public class CaseClinicalArticleService { // 查询医生 CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId()); - // 增加医院文章收藏数 + // 增加医院文章评论数 statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"article_comment_num",1); - // 增加医生文章收藏数 + // 增加医生文章评论数 statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"article_comment_num",1); } } @@ -498,4 +498,60 @@ public class CaseClinicalArticleService { return false; } } + + /** + * 处理文章所属医院的数量统计 + */ + @Transactional + public boolean handleHospitalStat(String doctorId,Long oldHospitalId,String newHospitalId){ + try { + // 获取统计表医生数据 + LambdaQueryWrapper doctorQueryWrapper = new LambdaQueryWrapper<>(); + doctorQueryWrapper.eq(StatsCaseClinicalDoctorModel::getDoctorId, doctorId); + StatsCaseClinicalDoctorModel statsCaseClinicalDoctor = statsCaseClinicalDoctorDao.selectOne(doctorQueryWrapper); + if (statsCaseClinicalDoctor == null){ + return true; + } + + // 获取旧医院数据 + StatsCaseClinicalHospitalModel statsCaseClinicalHospital = statsCaseClinicalHospitalDao.selectById(oldHospitalId); + if (statsCaseClinicalHospital == null){ + throw new BusinessException("操作失败"); + } + + // 减少数-文章 + statsCaseClinicalHospitalDao.dec(oldHospitalId,"article_num",statsCaseClinicalDoctor.getArticleNum()); + + // 减少阅读数-文章 + statsCaseClinicalHospitalDao.dec(oldHospitalId,"article_read_num",statsCaseClinicalDoctor.getArticleReadNum()); + + // 减少收藏数-文章 + statsCaseClinicalHospitalDao.dec(oldHospitalId,"article_collect_num",statsCaseClinicalDoctor.getArticleCollectNum()); + + // 减少评论数-文章 + statsCaseClinicalHospitalDao.dec(oldHospitalId,"article_comment_num",statsCaseClinicalDoctor.getArticleCommentNum()); + + // 减少数-视频 + statsCaseClinicalHospitalDao.dec(oldHospitalId,"video_num",statsCaseClinicalDoctor.getVideoNum()); + + // 减少阅读数-视频 + statsCaseClinicalHospitalDao.dec(oldHospitalId,"video_read_num",statsCaseClinicalDoctor.getVideoReadNum()); + + // 减少收藏数-视频 + statsCaseClinicalHospitalDao.dec(oldHospitalId,"video_collect_num",statsCaseClinicalDoctor.getVideoCollectNum()); + + // 减少评论数-视频 + statsCaseClinicalHospitalDao.dec(oldHospitalId,"video_comment_num",statsCaseClinicalDoctor.getVideoCommentNum()); + + // 最后一篇文章发表时间 + + } catch (Exception e) { + TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); + return false; + } + + + return true; + + } }