diff --git a/src/main/java/com/example/caseData/service/CaseClinicalService.java b/src/main/java/com/example/caseData/service/CaseClinicalService.java index 59d96d0..6b5d6ee 100644 --- a/src/main/java/com/example/caseData/service/CaseClinicalService.java +++ b/src/main/java/com/example/caseData/service/CaseClinicalService.java @@ -175,7 +175,7 @@ public class CaseClinicalService { // 新增医院统计 @Transactional - public StatsCaseClinicalHospitalModel IncStatsCaseClinicalHospital(String hospitalId,Integer type,LocalDateTime lastPushDate){ + public StatsCaseClinicalHospitalModel IncStatsCaseClinicalHospital(String hospitalId,Integer type,LocalDateTime lastPushDate,Integer num){ LambdaQueryWrapper mapQueryWrapper = new LambdaQueryWrapper<>(); mapQueryWrapper.eq(StatsCaseClinicalHospitalModel::getHospitalId, hospitalId); StatsCaseClinicalHospitalModel statsCaseClinicalHospital = statsCaseClinicalHospitalDao.selectOne(mapQueryWrapper); @@ -184,9 +184,9 @@ public class CaseClinicalService { statsCaseClinicalHospital.setHospitalId(Long.valueOf(hospitalId)); if (type == 1){ - statsCaseClinicalHospital.setArticleNum(1); + statsCaseClinicalHospital.setArticleNum(num); }else if(type == 2){ - statsCaseClinicalHospital.setVideoNum(1); + statsCaseClinicalHospital.setVideoNum(num); } if (lastPushDate!=null){ @@ -195,9 +195,14 @@ public class CaseClinicalService { statsCaseClinicalHospitalDao.insert(statsCaseClinicalHospital); }else{ if (type == 1){ - statsCaseClinicalHospitalDao.inc(statsCaseClinicalHospital.getHospitalId(),"article_num",1); + if (lastPushDate!=null){ + statsCaseClinicalHospital.setLastPushDate(lastPushDate); + statsCaseClinicalHospitalDao.updateById(statsCaseClinicalHospital); + } + + statsCaseClinicalHospitalDao.inc(statsCaseClinicalHospital.getHospitalId(),"article_num",num); }else{ - statsCaseClinicalHospitalDao.inc(statsCaseClinicalHospital.getHospitalId(),"video_num",1); + statsCaseClinicalHospitalDao.inc(statsCaseClinicalHospital.getHospitalId(),"video_num",num); } } @@ -211,7 +216,7 @@ public class CaseClinicalService { * @return */ @Transactional - public StatsCaseClinicalHospitalModel DecStatsCaseClinicalHospital(String hospitalId,Integer type){ + public StatsCaseClinicalHospitalModel DecStatsCaseClinicalHospital(String hospitalId,Integer type,Integer num){ LambdaQueryWrapper mapQueryWrapper = new LambdaQueryWrapper<>(); mapQueryWrapper.eq(StatsCaseClinicalHospitalModel::getHospitalId, hospitalId); StatsCaseClinicalHospitalModel statsCaseClinicalHospital = statsCaseClinicalHospitalDao.selectOne(mapQueryWrapper); @@ -226,7 +231,7 @@ public class CaseClinicalService { statsCaseClinicalHospitalDao.updateById(statsCaseClinicalHospital); } - statsCaseClinicalHospitalDao.dec(statsCaseClinicalHospital.getHospitalId(),"article_num",1); + statsCaseClinicalHospitalDao.dec(statsCaseClinicalHospital.getHospitalId(),"article_num",num); }else{ // 最后一篇文章发表时间 LocalDateTime lastPushDate = caseClinicalVideoDao.selectLastVideoPushDateByHospitalId(Long.valueOf(hospitalId)); @@ -234,7 +239,7 @@ public class CaseClinicalService { statsCaseClinicalHospital.setLastPushDate(lastPushDate); statsCaseClinicalHospitalDao.updateById(statsCaseClinicalHospital); } - statsCaseClinicalHospitalDao.dec(statsCaseClinicalHospital.getHospitalId(),"video_num",1); + statsCaseClinicalHospitalDao.dec(statsCaseClinicalHospital.getHospitalId(),"video_num",num); } } diff --git a/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java b/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java index 9bb45f5..483ee27 100644 --- a/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java +++ b/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java @@ -600,7 +600,7 @@ public class CaseClinicalVideoService { if (caseClinicalVideo != null){ if (caseClinicalVideo.getDeleteStatus() == 1){ - caseClinicalVideo.setDeleteStatus(0); + caseClinicalVideo.setVideoTitle(r.getVideoTitle()); caseClinicalVideo.setVideoNo(r.getVideoNo()); @@ -666,7 +666,7 @@ public class CaseClinicalVideoService { caseClinicalService.IncStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),2,lastPushDate); // 新增医院统计 - caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2,lastPushDate); + caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2,lastPushDate,1); } } @@ -674,6 +674,10 @@ public class CaseClinicalVideoService { if (r.getLabel() != null) { AddClinicalVideoAppLabel(caseClinicalVideo,r); } + + // 最后处理删除状态。可能存在删除过的,此处标签和作者就不需要再次扣减统计值 + caseClinicalVideo.setDeleteStatus(0); + caseClinicalVideoDao.updateById(caseClinicalVideo); } // 修改 @@ -682,11 +686,6 @@ public class CaseClinicalVideoService { throw new BusinessException("-1", "无法完成此操作"); } - // 文章主体 - if (!Objects.equals(caseClinicalVideo.getVideoNo(), r.getVideoNo())){ - caseClinicalVideo.setVideoNo(r.getVideoNo()); - } - if (!Objects.equals(caseClinicalVideo.getIsLink(), r.getIsLink())){ caseClinicalVideo.setIsLink(r.getIsLink()); @@ -876,7 +875,7 @@ public class CaseClinicalVideoService { if (!deleteHospitalSet.isEmpty()){ // 减少医院统计 for (String hospitalId : deleteHospitalSet ){ - caseClinicalService.DecStatsCaseClinicalHospital(hospitalId,2); + caseClinicalService.DecStatsCaseClinicalHospital(hospitalId,2,1); } } @@ -897,7 +896,6 @@ public class CaseClinicalVideoService { CaseClinicalDoctorModel caseClinicalDoctor = userService.GetAppCaseClinicalDoctor(result); - CaseClinicalVideoAuthorModel caseClinicalVideoAuthor = new CaseClinicalVideoAuthorModel(); caseClinicalVideoAuthor.setVideoId(caseClinicalVideo.getVideoId()); caseClinicalVideoAuthor.setDoctorId(String.valueOf(caseClinicalDoctor.getDoctorId())); @@ -965,7 +963,7 @@ public class CaseClinicalVideoService { // 新增医院统计 caseClinicalService.IncStatsCaseClinicalHospital(hospitalId,2, - lastPushDate); + lastPushDate,1); } } @@ -1094,12 +1092,14 @@ public class CaseClinicalVideoService { LambdaQueryWrapper labelQueryWrapper = new LambdaQueryWrapper<>(); labelQueryWrapper.eq(CaseClinicalVideoLabelModel::getVideoId, caseClinicalVideo.getVideoId()); List caseClinicalVideoLabels = caseClinicalVideoLabelDao.selectList(labelQueryWrapper); - for (CaseClinicalVideoLabelModel label : caseClinicalVideoLabels){ - // 减少标签统计 - caseClinicalService.DecStatsCaseClinicalLabel(label.getAppIden(),2); + if (caseClinicalVideo.getDeleteStatus() == 0){ + for (CaseClinicalVideoLabelModel label : caseClinicalVideoLabels){ + // 减少标签统计 + caseClinicalService.DecStatsCaseClinicalLabel(label.getAppIden(),2); - // 删除视频标签 - caseClinicalVideoLabelDao.deleteById(label.getVideoLabelId()); + // 删除视频标签 + caseClinicalVideoLabelDao.deleteById(label.getVideoLabelId()); + } } for (addClinicalVideoApp.Label label : r.getLabel()){ @@ -1152,7 +1152,7 @@ public class CaseClinicalVideoService { caseClinicalService.DecStatsCaseClinicalDoctor(author.getDoctorId(),2); // 减少医院统计 - caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2); + caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2,1); } } }