From 667ffdb9ea0f7654b03261ca11b176360cec5dba Mon Sep 17 00:00:00 2001 From: wucongxing8150 <815046773@qq.com> Date: Wed, 30 Jul 2025 11:53:00 +0800 Subject: [PATCH] 55556666 --- .../addClinicalVideoApp.java | 3 + .../service/CaseClinicalVideoService.java | 180 ++++++------------ 2 files changed, 62 insertions(+), 121 deletions(-) diff --git a/src/main/java/com/example/caseData/request/CaseClinicalVideoRequest/addClinicalVideoApp.java b/src/main/java/com/example/caseData/request/CaseClinicalVideoRequest/addClinicalVideoApp.java index b14cbd3..94accb4 100644 --- a/src/main/java/com/example/caseData/request/CaseClinicalVideoRequest/addClinicalVideoApp.java +++ b/src/main/java/com/example/caseData/request/CaseClinicalVideoRequest/addClinicalVideoApp.java @@ -60,6 +60,9 @@ public class addClinicalVideoApp { @JsonProperty("doctorIden") private String doctorIden; // 医生app唯一标识 + @JsonProperty("doctorName") + private String doctorName; // 医生app名称 + @JsonProperty("hospitalIden") private String hospitalIden; // 医院app唯一标识 } diff --git a/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java b/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java index 3de0360..3465993 100644 --- a/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java +++ b/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java @@ -8,6 +8,7 @@ import com.example.caseData.extend.app.UserInfo.GetUserInfoResponse; import com.example.caseData.extend.app.UserInfo.UserInfo; import com.example.caseData.extend.app.UserPoint.UserPoint; import com.example.caseData.extend.app.Video.Video; +import com.example.caseData.extend.app.label.Label; import com.example.caseData.model.*; import com.example.caseData.model.UserCollectClinicalVideoModel; import com.example.caseData.request.CaseClinicalVideoRequest.addClinicalVideoApp; @@ -50,6 +51,9 @@ public class CaseClinicalVideoService { @Resource private UserDao userDao; + @Resource + private BasicHospitalDao basicHospitalDao; + @Resource private StatsCaseClinicalHospitalDao statsCaseClinicalHospitalDao; @@ -587,7 +591,7 @@ public class CaseClinicalVideoService { caseClinicalVideoAuthorDao.insert(caseClinicalVideoAuthor); // 新增作者统计 - caseClinicalService.IncStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),2,LocalDateTime.parse(r.getPushDate())); + caseClinicalService.IncStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),2,pushDate); // 新增医院统计 caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2,pushDate); @@ -650,10 +654,6 @@ public class CaseClinicalVideoService { */ @Transactional public void AddClinicalVideoAppAuthor(CaseClinicalVideoModel caseClinicalVideo,addClinicalVideoApp r){ - // 处理作者 - List aAuthorList = new ArrayList<>(); - List bAuthorList = new ArrayList<>(); - // 获取全部作者 LambdaQueryWrapper authorQueryWrapper = new LambdaQueryWrapper<>(); authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, caseClinicalVideo.getVideoId()); @@ -667,72 +667,53 @@ public class CaseClinicalVideoService { throw new BusinessException("-1", "无法完成此操作"); } - aAuthorList.add(caseClinicalDoctor.getDoctorIden()); + // 获取医院数据 + BasicHospitalModel basicHospital = basicHospitalDao.selectById(caseClinicalDoctor.getHospitalId()); + if (basicHospital == null) { + throw new BusinessException("-1", "无法完成此操作"); + } + + // 减少作者统计 + caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),2); + + // 减少医院统计 + caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2); + + // 删除该作者 + caseClinicalVideoAuthorDao.deleteById(author.getAuthorId()); } + // 新增新的作者 + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + LocalDateTime pushDate = LocalDateTime.parse(r.getPushDate(), formatter); + + // 获取app用户数据 for (addClinicalVideoApp.Author author : r.getAuthor()){ - bAuthorList.add(author.getDoctorIden()); - } + CaseClinicalDoctorModel caseClinicalDoctor = new CaseClinicalDoctorModel(); - // 1. 删除的:a 中有,b 中没有 - List deleted = new ArrayList<>(); - for (String s : aAuthorList) { - if (!bAuthorList.contains(s)) { - deleted.add(s); + if (author.getDoctorIden() != null && !author.getDoctorIden().isEmpty()) { + GetUserInfoResponse result = userInfo.getUserInfoByUuid(author.getDoctorIden()); + caseClinicalDoctor = userService.GetCaseClinicalDoctor(result); + }else{ + GetUserInfoResponse result = new GetUserInfoResponse(); + GetUserInfoResponse.ResponsData resultData = new GetUserInfoResponse.ResponsData(); + resultData.setOfficeName(author.getDoctorName()); + resultData.setRealname(author.getDoctorName()); + resultData.setHospitalUuid(author.getHospitalIden()); + result.setData(resultData); + caseClinicalDoctor = userService.GetCaseClinicalDoctor(result); } - } - // 2. 新增的:b 中有,a 中没有 - List added = new ArrayList<>(); - for (String s : bAuthorList) { - if (!aAuthorList.contains(s)) { - added.add(s); - } - } + CaseClinicalVideoAuthorModel caseClinicalVideoAuthor = new CaseClinicalVideoAuthorModel(); + caseClinicalVideoAuthor.setVideoId(caseClinicalVideo.getVideoId()); + caseClinicalVideoAuthor.setDoctorId(String.valueOf(caseClinicalDoctor.getDoctorId())); + caseClinicalVideoAuthorDao.insert(caseClinicalVideoAuthor); - // 删除 - if (!deleted.isEmpty()) { - for (String s : deleted) { - // 获取医生数据 - LambdaQueryWrapper doctorQueryWrapper = new LambdaQueryWrapper<>(); - doctorQueryWrapper.eq(CaseClinicalDoctorModel::getDoctorIden,s); - CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectOne(doctorQueryWrapper); - if (caseClinicalDoctor == null) { - throw new BusinessException("-1", "无法完成此操作"); - } + // 新增作者统计 + caseClinicalService.IncStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),2,pushDate); - // 删除视频作者 - LambdaQueryWrapper videoAuthorQueryWrapper = new LambdaQueryWrapper<>(); - videoAuthorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, caseClinicalVideo.getVideoId()); - videoAuthorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getDoctorId, caseClinicalDoctor.getDoctorId()); - caseClinicalVideoAuthorDao.delete(videoAuthorQueryWrapper); - - // 减少作者统计 - caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),2); - - // 减少医院统计 - caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2); - } - } - - // 新增 - if (!added.isEmpty()) { - for (String appIden : added){ - // 获取app用户数据 - GetUserInfoResponse result = userInfo.getUserInfoByUuid(appIden); - CaseClinicalDoctorModel caseClinicalDoctor = userService.GetCaseClinicalDoctor(result); - - CaseClinicalVideoAuthorModel caseClinicalVideoAuthor = new CaseClinicalVideoAuthorModel(); - caseClinicalVideoAuthor.setVideoId(caseClinicalVideo.getVideoId()); - caseClinicalVideoAuthor.setDoctorId(String.valueOf(caseClinicalDoctor.getDoctorId())); - caseClinicalVideoAuthorDao.insert(caseClinicalVideoAuthor); - - // 新增作者统计 - caseClinicalService.IncStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),2,LocalDateTime.parse(r.getPushDate())); - - // 新增医院统计 - caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2,LocalDateTime.parse(r.getPushDate())); - } + // 新增医院统计 + caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2,pushDate); } } @@ -743,73 +724,30 @@ public class CaseClinicalVideoService { */ @Transactional public void AddClinicalVideoAppLabel(CaseClinicalVideoModel caseClinicalVideo,addClinicalVideoApp r){ - List aList = new ArrayList<>(); - List bList = new ArrayList<>(); - // 获取全部b标签 LambdaQueryWrapper labelQueryWrapper = new LambdaQueryWrapper<>(); labelQueryWrapper.eq(CaseClinicalVideoLabelModel::getVideoId, caseClinicalVideo.getVideoId()); List caseClinicalVideoLabels = caseClinicalVideoLabelDao.selectList(labelQueryWrapper); for (CaseClinicalVideoLabelModel label : caseClinicalVideoLabels){ - aList.add(label.getAppIden()); + // 减少标签统计 + caseClinicalService.DecStatsCaseClinicalLabel(label.getAppIden(),2); + + // 删除视频标签 + caseClinicalVideoLabelDao.deleteById(label.getVideoLabelId()); } + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + LocalDateTime pushDate = LocalDateTime.parse(r.getPushDate(), formatter); + for (addClinicalVideoApp.Label label : r.getLabel()){ - bList.add(label.getAppIden()); - } + CaseClinicalVideoLabelModel caseClinicalVideoLabel = new CaseClinicalVideoLabelModel(); + caseClinicalVideoLabel.setVideoId(caseClinicalVideo.getVideoId()); + caseClinicalVideoLabel.setAppIden(label.getAppIden()); + caseClinicalVideoLabel.setLabelName(label.getLabelName()); + caseClinicalVideoLabelDao.insert(caseClinicalVideoLabel); - // 1. 删除的:a 中有,b 中没有 - List deleted = new ArrayList<>(); - for (String s : aList) { - if (!bList.contains(s)) { - deleted.add(s); - } - } - - // 2. 新增的:b 中有,a 中没有 - List added = new ArrayList<>(); - for (String s : bList) { - if (!aList.contains(s)) { - added.add(s); - } - } - - // 删除 - if (!deleted.isEmpty()) { - for (String s : deleted) { - // 删除视频标签 - LambdaQueryWrapper videoLabelQueryWrapper = new LambdaQueryWrapper<>(); - videoLabelQueryWrapper.eq(CaseClinicalVideoLabelModel::getVideoId, caseClinicalVideo.getVideoId()); - videoLabelQueryWrapper.eq(CaseClinicalVideoLabelModel::getAppIden, s); - caseClinicalVideoLabelDao.delete(videoLabelQueryWrapper); - - // 减少标签统计 - caseClinicalService.DecStatsCaseClinicalLabel(s,2); - } - } - - // 新增 - if (!added.isEmpty()) { - for (String appIden : added){ - CaseClinicalVideoLabelModel caseClinicalVideoLabel = new CaseClinicalVideoLabelModel(); - caseClinicalVideoLabel.setVideoId(caseClinicalVideo.getVideoId()); - caseClinicalVideoLabel.setAppIden(appIden); - - - String labelName = ""; - LocalDateTime pushDate = LocalDateTime.parse(""); - for (addClinicalVideoApp.Label label : r.getLabel()){ - if (Objects.equals(appIden, label.getAppIden())){ - caseClinicalVideoLabel.setLabelName(label.getLabelName()); - } - } - - caseClinicalVideoLabel.setLabelName(labelName); - caseClinicalVideoLabelDao.insert(caseClinicalVideoLabel); - - // 新增标签统计 - caseClinicalService.IncStatsCaseClinicalLabel(appIden,caseClinicalVideoLabel.getLabelName(),2,pushDate); - } + // 新增标签统计 + caseClinicalService.IncStatsCaseClinicalLabel(label.getAppIden(),caseClinicalVideoLabel.getLabelName(),2,pushDate); } }