diff --git a/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java b/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java index 0098635..ffc34bc 100644 --- a/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java +++ b/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java @@ -590,12 +590,11 @@ public class CaseClinicalVideoService { // 新增 if (Objects.equals(r.getAction(), "add")){ + // 是否需要处理作者 + boolean isNeedHandleAuthor = false; if (caseClinicalVideo != null){ - if (caseClinicalVideo.getDeleteStatus() == 0){ - // 已存在该视频 - return true; - }else{ + if (caseClinicalVideo.getDeleteStatus() == 1){ caseClinicalVideo.setDeleteStatus(0); caseClinicalVideo.setVideoTitle(r.getVideoTitle()); caseClinicalVideo.setVideoNo(r.getVideoNo()); @@ -606,6 +605,9 @@ public class CaseClinicalVideoService { caseClinicalVideo.setIsLink(r.getIsLink()); caseClinicalVideo.setIsLinkUrl(r.getIsLinkUrl()); caseClinicalVideoDao.updateById(caseClinicalVideo); + + // 此处视频被删除过,也需要处理一下作者 + isNeedHandleAuthor = true; } }else{ // 新增视频 @@ -618,8 +620,6 @@ public class CaseClinicalVideoService { caseClinicalVideo.setPushDate(pushDate); caseClinicalVideo.setIsLink(r.getIsLink()); caseClinicalVideo.setIsLinkUrl(r.getIsLinkUrl()); - - int res = caseClinicalVideoDao.insert(caseClinicalVideo); if (res <= 0){ throw new BusinessException("-1", "内部错误,添加视频失败"); @@ -642,6 +642,29 @@ public class CaseClinicalVideoService { AddClinicalVideoAppAuthor(caseClinicalVideo,r,qrCodeByte); } + // 作者处理-该视频被删除过 + if (isNeedHandleAuthor){ + // 获取全部作者 + LambdaQueryWrapper authorQueryWrapper = new LambdaQueryWrapper<>(); + authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, caseClinicalVideo.getVideoId()); + List caseClinicalVideoAuthors = caseClinicalVideoAuthorDao.selectList(authorQueryWrapper); + for (CaseClinicalVideoAuthorModel b : caseClinicalVideoAuthors){ + // 获取医生数据 + CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(b.getDoctorId()); + if (caseClinicalDoctor == null){ + throw new BusinessException("-1", "医生数据错误"); + } + + LocalDateTime lastPushDate = caseClinicalVideoDao.selectLastVideoPushDateByDoctorId(caseClinicalDoctor.getDoctorId()); + + // 新增作者统计 + caseClinicalService.IncStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),2,lastPushDate); + + // 新增医院统计 + caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2,lastPushDate); + } + } + // 标签处理 if (r.getLabel() != null) { AddClinicalVideoAppLabel(caseClinicalVideo,r);