This commit is contained in:
wucongxing8150 2025-07-30 11:53:00 +08:00
parent 2f92f54cb6
commit 667ffdb9ea
2 changed files with 62 additions and 121 deletions

View File

@ -60,6 +60,9 @@ public class addClinicalVideoApp {
@JsonProperty("doctorIden") @JsonProperty("doctorIden")
private String doctorIden; // 医生app唯一标识 private String doctorIden; // 医生app唯一标识
@JsonProperty("doctorName")
private String doctorName; // 医生app名称
@JsonProperty("hospitalIden") @JsonProperty("hospitalIden")
private String hospitalIden; // 医院app唯一标识 private String hospitalIden; // 医院app唯一标识
} }

View File

@ -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.UserInfo.UserInfo;
import com.example.caseData.extend.app.UserPoint.UserPoint; import com.example.caseData.extend.app.UserPoint.UserPoint;
import com.example.caseData.extend.app.Video.Video; 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.*;
import com.example.caseData.model.UserCollectClinicalVideoModel; import com.example.caseData.model.UserCollectClinicalVideoModel;
import com.example.caseData.request.CaseClinicalVideoRequest.addClinicalVideoApp; import com.example.caseData.request.CaseClinicalVideoRequest.addClinicalVideoApp;
@ -50,6 +51,9 @@ public class CaseClinicalVideoService {
@Resource @Resource
private UserDao userDao; private UserDao userDao;
@Resource
private BasicHospitalDao basicHospitalDao;
@Resource @Resource
private StatsCaseClinicalHospitalDao statsCaseClinicalHospitalDao; private StatsCaseClinicalHospitalDao statsCaseClinicalHospitalDao;
@ -587,7 +591,7 @@ public class CaseClinicalVideoService {
caseClinicalVideoAuthorDao.insert(caseClinicalVideoAuthor); 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); caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2,pushDate);
@ -650,10 +654,6 @@ public class CaseClinicalVideoService {
*/ */
@Transactional @Transactional
public void AddClinicalVideoAppAuthor(CaseClinicalVideoModel caseClinicalVideo,addClinicalVideoApp r){ public void AddClinicalVideoAppAuthor(CaseClinicalVideoModel caseClinicalVideo,addClinicalVideoApp r){
// 处理作者
List<String> aAuthorList = new ArrayList<>();
List<String> bAuthorList = new ArrayList<>();
// 获取全部作者 // 获取全部作者
LambdaQueryWrapper<CaseClinicalVideoAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CaseClinicalVideoAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, caseClinicalVideo.getVideoId()); authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, caseClinicalVideo.getVideoId());
@ -667,72 +667,53 @@ public class CaseClinicalVideoService {
throw new BusinessException("-1", "无法完成此操作"); 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()){ for (addClinicalVideoApp.Author author : r.getAuthor()){
bAuthorList.add(author.getDoctorIden()); CaseClinicalDoctorModel caseClinicalDoctor = new CaseClinicalDoctorModel();
}
// 1. 删除的a 中有b 中没有 if (author.getDoctorIden() != null && !author.getDoctorIden().isEmpty()) {
List<String> deleted = new ArrayList<>(); GetUserInfoResponse result = userInfo.getUserInfoByUuid(author.getDoctorIden());
for (String s : aAuthorList) { caseClinicalDoctor = userService.GetCaseClinicalDoctor(result);
if (!bAuthorList.contains(s)) { }else{
deleted.add(s); 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 中没有 CaseClinicalVideoAuthorModel caseClinicalVideoAuthor = new CaseClinicalVideoAuthorModel();
List<String> added = new ArrayList<>(); caseClinicalVideoAuthor.setVideoId(caseClinicalVideo.getVideoId());
for (String s : bAuthorList) { caseClinicalVideoAuthor.setDoctorId(String.valueOf(caseClinicalDoctor.getDoctorId()));
if (!aAuthorList.contains(s)) { caseClinicalVideoAuthorDao.insert(caseClinicalVideoAuthor);
added.add(s);
}
}
// 删除 // 新增作者统计
if (!deleted.isEmpty()) { caseClinicalService.IncStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),2,pushDate);
for (String s : deleted) {
// 获取医生数据
LambdaQueryWrapper<CaseClinicalDoctorModel> doctorQueryWrapper = new LambdaQueryWrapper<>();
doctorQueryWrapper.eq(CaseClinicalDoctorModel::getDoctorIden,s);
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectOne(doctorQueryWrapper);
if (caseClinicalDoctor == null) {
throw new BusinessException("-1", "无法完成此操作");
}
// 删除视频作者 // 新增医院统计
LambdaQueryWrapper<CaseClinicalVideoAuthorModel> videoAuthorQueryWrapper = new LambdaQueryWrapper<>(); caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2,pushDate);
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()));
}
} }
} }
@ -743,73 +724,30 @@ public class CaseClinicalVideoService {
*/ */
@Transactional @Transactional
public void AddClinicalVideoAppLabel(CaseClinicalVideoModel caseClinicalVideo,addClinicalVideoApp r){ public void AddClinicalVideoAppLabel(CaseClinicalVideoModel caseClinicalVideo,addClinicalVideoApp r){
List<String> aList = new ArrayList<>();
List<String> bList = new ArrayList<>();
// 获取全部b标签 // 获取全部b标签
LambdaQueryWrapper<CaseClinicalVideoLabelModel> labelQueryWrapper = new LambdaQueryWrapper<>(); LambdaQueryWrapper<CaseClinicalVideoLabelModel> labelQueryWrapper = new LambdaQueryWrapper<>();
labelQueryWrapper.eq(CaseClinicalVideoLabelModel::getVideoId, caseClinicalVideo.getVideoId()); labelQueryWrapper.eq(CaseClinicalVideoLabelModel::getVideoId, caseClinicalVideo.getVideoId());
List<CaseClinicalVideoLabelModel> caseClinicalVideoLabels = caseClinicalVideoLabelDao.selectList(labelQueryWrapper); List<CaseClinicalVideoLabelModel> caseClinicalVideoLabels = caseClinicalVideoLabelDao.selectList(labelQueryWrapper);
for (CaseClinicalVideoLabelModel label : caseClinicalVideoLabels){ 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()){ 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<String> deleted = new ArrayList<>(); caseClinicalService.IncStatsCaseClinicalLabel(label.getAppIden(),caseClinicalVideoLabel.getLabelName(),2,pushDate);
for (String s : aList) {
if (!bList.contains(s)) {
deleted.add(s);
}
}
// 2. 新增的b 中有a 中没有
List<String> added = new ArrayList<>();
for (String s : bList) {
if (!aList.contains(s)) {
added.add(s);
}
}
// 删除
if (!deleted.isEmpty()) {
for (String s : deleted) {
// 删除视频标签
LambdaQueryWrapper<CaseClinicalVideoLabelModel> 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);
}
} }
} }