diff --git a/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalDoctorSearchPage.java b/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalDoctorSearchPage.java index b44219e..6d4a72c 100644 --- a/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalDoctorSearchPage.java +++ b/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalDoctorSearchPage.java @@ -49,7 +49,7 @@ public class getClinicalDoctorSearchPage { } if (StringUtils.hasText(doctorName)) { - map.put("b.doctor_name", doctorName); + map.put("CONVERT(b.doctor_name USING gbk)", doctorName); } if (StringUtils.hasText(articleNum)) { diff --git a/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalHospitalSearchPage.java b/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalHospitalSearchPage.java index ca49136..1c0f4ce 100644 --- a/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalHospitalSearchPage.java +++ b/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalHospitalSearchPage.java @@ -50,7 +50,7 @@ public class getClinicalHospitalSearchPage { } if (StringUtils.hasText(hospitalName)) { - map.put("b.hospital_name", hospitalName); + map.put("CONVERT(b.hospital_name USING gbk)", hospitalName); } if (StringUtils.hasText(articleNum)) { 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 1d9927f..6557e89 100644 --- a/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalLabelSearchPage.java +++ b/src/main/java/com/example/caseData/request/clinicalRequest/getClinicalLabelSearchPage.java @@ -49,7 +49,7 @@ public class getClinicalLabelSearchPage { } if (StringUtils.hasText(labelName)) { - map.put("a.label_name", labelName); + map.put("CONVERT(a.label_name USING gbk)", labelName); } if (StringUtils.hasText(articleNum)) { diff --git a/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java b/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java index 95561ee..5c5ce25 100644 --- a/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java +++ b/src/main/java/com/example/caseData/service/CaseClinicalVideoService.java @@ -593,130 +593,166 @@ public class CaseClinicalVideoService { Video.checkSign(request,"26e8675f44565b1ed4eaaa0fcf3531d7",r,objectMapper); -// // 获取视频数据 -// LambdaQueryWrapper videoQueryWrapper = new LambdaQueryWrapper<>(); -// videoQueryWrapper.eq(CaseClinicalVideoModel::getVideoNo, r.getVideoNo()); -// CaseClinicalVideoModel caseClinicalVideo = caseClinicalVideoDao.selectOne(videoQueryWrapper); -// -// // 修改 -// if (Objects.equals(r.getAction(), "update")){ -// if (caseClinicalVideo == null){ -// r.setAction("add"); -// } -// } -// -// // 新增 -// if (Objects.equals(r.getAction(), "add")){ -// if (caseClinicalVideo != null){ -// // 已存在该视频 -// return true; -// } -// -// // 新增视频 -// caseClinicalVideo = new CaseClinicalVideoModel(); -// caseClinicalVideo.setVideoTitle(r.getVideoTitle()); -// caseClinicalVideo.setVideoNo(r.getVideoNo()); -// caseClinicalVideo.setPushDate(LocalDateTime.parse(r.getPushDate())); -// caseClinicalVideo.setIsLink(r.getIsLink()); -// caseClinicalVideo.setIsLinkUrl(r.getIsLinkUrl()); -// int res = caseClinicalVideoDao.insert(caseClinicalVideo); -// if (res <= 0){ -// throw new BusinessException("-1", "内部错误,添加视频失败"); -// } -// -// // 新增标签 -// for (addClinicalVideoApp.Label label : r.getLabel()){ -// CaseClinicalVideoLabelModel caseClinicalVideoLabel = new CaseClinicalVideoLabelModel(); -// caseClinicalVideoLabel.setVideoId(caseClinicalVideo.getVideoId()); -// caseClinicalVideoLabel.setAppIden(label.getAppIden()); -// caseClinicalVideoLabel.setLabelName(label.getLabelName()); -// res = caseClinicalVideoLabelDao.insert(caseClinicalVideoLabel); -// if (res <= 0){ -// throw new BusinessException("-1", "内部错误,添加视频标签失败"); -// } -// -// // 新增标签统计 -// caseClinicalService.AddStatsCaseClinicalLabel(label.getAppIden(),label.getLabelName()); -// } -// -// // 新增作者 -// for (addClinicalVideoApp.Author author : r.getAuthor()){ -// // 获取app用户数据 -// GetUserInfoResponse result = userInfo.getUserInfoByUuid(author.getDoctorIden()); -// CaseClinicalDoctorModel caseClinicalDoctor = userService.GetCaseClinicalDoctor(result); -// -// CaseClinicalVideoAuthorModel caseClinicalVideoAuthor = new CaseClinicalVideoAuthorModel(); -// caseClinicalVideoAuthor.setVideoId(caseClinicalVideo.getVideoId()); -// caseClinicalVideoAuthor.setDoctorId(String.valueOf(caseClinicalDoctor.getDoctorId())); -// caseClinicalVideoAuthorDao.insert(caseClinicalVideoAuthor); -// -// // 新增作者统计 -// caseClinicalService.AddStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId())); -// -// // 新增医院统计 -// caseClinicalService.AddStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId())); -// } -// -// // 新增统计 -// IncClinicalVideoStats(String.valueOf(caseClinicalVideo.getVideoId()),4); -// } -// -// // 修改 -// if (Objects.equals(r.getAction(), "update")){ -// if (caseClinicalVideo == null){ -// 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()); -// -// if (!Objects.equals(caseClinicalVideo.getIsLinkUrl(), r.getIsLinkUrl())){ -// caseClinicalVideo.setIsLinkUrl(r.getIsLinkUrl()); -// } -// } -// -// caseClinicalVideoDao.updateById(caseClinicalVideo); -// -// // 作者 -// // 获取全部作者 -// LambdaQueryWrapper authorQueryWrapper = new LambdaQueryWrapper<>(); -// authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, caseClinicalVideo.getVideoId()); -// List caseClinicalVideoAuthors = caseClinicalVideoAuthorDao.selectList(authorQueryWrapper); -// -// List addList = new ArrayList<>(); -// List deleteList = new ArrayList<>(); -// -// // 新增的 -// for (addClinicalVideoApp.Author a : r.getAuthor()){ -// for (CaseClinicalVideoAuthorModel b: caseClinicalVideoAuthors){ -// -// } -// } -// -// // 删除的 -// -// -//// // 获取医生数据 -//// LambdaQueryWrapper doctorQueryWrapper = new LambdaQueryWrapper<>(); -//// doctorQueryWrapper.eq(CaseClinicalDoctorModel::getDoctorId, a.getDoctorId()); -//// CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectOne(doctorQueryWrapper); -//// if (caseClinicalDoctor == null) { -//// throw new BusinessException("-1", "无法完成此操作"); -//// } -// -// System.out.println(addList); -// System.out.println(deleteList); -// } -// -// // 删除 -// if (Objects.equals(r.getAction(), "delete")){ -// -// } + // 获取视频数据 + LambdaQueryWrapper videoQueryWrapper = new LambdaQueryWrapper<>(); + videoQueryWrapper.eq(CaseClinicalVideoModel::getVideoNo, r.getVideoNo()); + CaseClinicalVideoModel caseClinicalVideo = caseClinicalVideoDao.selectOne(videoQueryWrapper); + + // 修改 + if (Objects.equals(r.getAction(), "update")){ + if (caseClinicalVideo == null){ + r.setAction("add"); + } + } + + // 新增 + if (Objects.equals(r.getAction(), "add")){ + if (caseClinicalVideo != null){ + // 已存在该视频 + return true; + } + + // 新增视频 + caseClinicalVideo = new CaseClinicalVideoModel(); + caseClinicalVideo.setVideoTitle(r.getVideoTitle()); + caseClinicalVideo.setVideoNo(r.getVideoNo()); + caseClinicalVideo.setPushDate(LocalDateTime.parse(r.getPushDate())); + caseClinicalVideo.setIsLink(r.getIsLink()); + caseClinicalVideo.setIsLinkUrl(r.getIsLinkUrl()); + int res = caseClinicalVideoDao.insert(caseClinicalVideo); + if (res <= 0){ + throw new BusinessException("-1", "内部错误,添加视频失败"); + } + + // 新增标签 + for (addClinicalVideoApp.Label label : r.getLabel()){ + CaseClinicalVideoLabelModel caseClinicalVideoLabel = new CaseClinicalVideoLabelModel(); + caseClinicalVideoLabel.setVideoId(caseClinicalVideo.getVideoId()); + caseClinicalVideoLabel.setAppIden(label.getAppIden()); + caseClinicalVideoLabel.setLabelName(label.getLabelName()); + res = caseClinicalVideoLabelDao.insert(caseClinicalVideoLabel); + if (res <= 0){ + throw new BusinessException("-1", "内部错误,添加视频标签失败"); + } + + // 新增标签统计 + caseClinicalService.AddStatsCaseClinicalLabel(label.getAppIden(),label.getLabelName()); + } + + // 新增作者 + if (!r.getAuthor().isEmpty()){ + for (addClinicalVideoApp.Author author : r.getAuthor()){ + // 获取app用户数据 + GetUserInfoResponse result = userInfo.getUserInfoByUuid(author.getDoctorIden()); + CaseClinicalDoctorModel caseClinicalDoctor = userService.GetCaseClinicalDoctor(result); + + CaseClinicalVideoAuthorModel caseClinicalVideoAuthor = new CaseClinicalVideoAuthorModel(); + caseClinicalVideoAuthor.setVideoId(caseClinicalVideo.getVideoId()); + caseClinicalVideoAuthor.setDoctorId(String.valueOf(caseClinicalDoctor.getDoctorId())); + caseClinicalVideoAuthorDao.insert(caseClinicalVideoAuthor); + + // 新增作者统计 + caseClinicalService.AddStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId())); + + // 新增医院统计 + caseClinicalService.AddStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId())); + } + } + + // 新增统计 + IncClinicalVideoStats(String.valueOf(caseClinicalVideo.getVideoId()),4); + } + + // 修改 + if (Objects.equals(r.getAction(), "update")){ + if (caseClinicalVideo == null){ + 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()); + + if (!Objects.equals(caseClinicalVideo.getIsLinkUrl(), r.getIsLinkUrl())){ + caseClinicalVideo.setIsLinkUrl(r.getIsLinkUrl()); + } + } + + caseClinicalVideoDao.updateById(caseClinicalVideo); + + // 获取全部作者 + List aList = new ArrayList<>(); + List bList = new ArrayList<>(); + + LambdaQueryWrapper authorQueryWrapper = new LambdaQueryWrapper<>(); + authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, caseClinicalVideo.getVideoId()); + List caseClinicalVideoAuthors = caseClinicalVideoAuthorDao.selectList(authorQueryWrapper); + for (CaseClinicalVideoAuthorModel author : caseClinicalVideoAuthors){ + // 获取医生数据 + LambdaQueryWrapper doctorQueryWrapper = new LambdaQueryWrapper<>(); + doctorQueryWrapper.eq(CaseClinicalDoctorModel::getDoctorId, author.getDoctorId()); + CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectOne(doctorQueryWrapper); + if (caseClinicalDoctor == null) { + throw new BusinessException("-1", "无法完成此操作"); + } + + aList.add(caseClinicalDoctor.getDoctorIden()); + } + + for (addClinicalVideoApp.Author author : r.getAuthor()){ + bList.add(author.getDoctorIden()); + } + + // 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()) { + + } + + // 新增 + 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.AddStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId())); + + // 新增医院统计 + caseClinicalService.AddStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId())); + } + } + } + + // 删除 + if (Objects.equals(r.getAction(), "delete")){ + + } throw new BusinessException("-1", "错误");