334444
This commit is contained in:
+58
@@ -0,0 +1,58 @@
|
||||
package net.lab1024.sa.admin.extend.app.UserInfo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
public class GetUserInfoListResponse {
|
||||
/** 接口调用状态。200:正常;其它值:调用出错 */
|
||||
private int code;
|
||||
|
||||
/** 结果说明。如果接口调用出错,那么返回错误描述。成功则返回 ok */
|
||||
private String msg;
|
||||
|
||||
/** 接口返回的用户信息数据 */
|
||||
private List<ResponsData> data;
|
||||
|
||||
/** 接口是否调用成功 */
|
||||
private boolean success;
|
||||
|
||||
/** 错误信息或提示信息 */
|
||||
private String message;
|
||||
|
||||
|
||||
@Data
|
||||
public static class ResponsData {
|
||||
|
||||
/** app唯一标识 */
|
||||
private String uuid;
|
||||
|
||||
/** 科室 */
|
||||
private String officeName;
|
||||
|
||||
/** 姓名 */
|
||||
private String realname;
|
||||
|
||||
/** 医院唯一标识 */
|
||||
private String hospitalUuid;
|
||||
|
||||
/** 手机号 */
|
||||
private String mobile;
|
||||
|
||||
/** 头像地址 */
|
||||
private String img_host;
|
||||
|
||||
/** 头像地址 */
|
||||
private String photo;
|
||||
|
||||
/** 创建时间 */
|
||||
private String createDate;
|
||||
|
||||
/** 职称 */
|
||||
private String positionName;
|
||||
|
||||
/** 省份 */
|
||||
private String provName;
|
||||
}
|
||||
}
|
||||
@@ -11,6 +11,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -159,12 +160,12 @@ public class UserInfo extends Base {
|
||||
}
|
||||
|
||||
// 根据姓名获取信息
|
||||
public GetUserInfoResponse getUserInfoByName(String doctorName) throws BusinessException {
|
||||
public GetUserInfoListResponse getUserInfoByName(String doctorName) throws BusinessException {
|
||||
String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
|
||||
|
||||
// 处理参数
|
||||
Map<String, Object> requestData = new HashMap<>();
|
||||
requestData.put("userName", doctorName);
|
||||
requestData.put("user_name", doctorName);
|
||||
requestData.put("platform", appConfig.getPlatform());
|
||||
requestData.put("timestamp", timestamp);
|
||||
|
||||
@@ -186,7 +187,7 @@ public class UserInfo extends Base {
|
||||
}
|
||||
|
||||
// 反序列化 JSON
|
||||
GetUserInfoResponse result = JSONUtil.toBean(response.body(), GetUserInfoResponse.class);
|
||||
GetUserInfoListResponse result = JSONUtil.toBean(response.body(), GetUserInfoListResponse.class);
|
||||
log.info("获取app数据返回:{}",result);
|
||||
if (result.getCode() != 200){
|
||||
if (!Objects.equals(result.getMsg(), "")){
|
||||
|
||||
+8
-8
@@ -176,7 +176,7 @@ public class CaseClinicalService {
|
||||
|
||||
// 新增医院统计
|
||||
@Transactional
|
||||
public StatsCaseClinicalHospitalEntity IncStatsCaseClinicalHospital(String hospitalId, Integer type, LocalDateTime lastPushDate){
|
||||
public StatsCaseClinicalHospitalEntity IncStatsCaseClinicalHospital(String hospitalId, Integer type, LocalDateTime lastPushDate,Integer num){
|
||||
LambdaQueryWrapper<StatsCaseClinicalHospitalEntity> mapQueryWrapper = new LambdaQueryWrapper<>();
|
||||
mapQueryWrapper.eq(StatsCaseClinicalHospitalEntity::getHospitalId, hospitalId);
|
||||
StatsCaseClinicalHospitalEntity statsCaseClinicalHospital = statsCaseClinicalHospitalDao.selectOne(mapQueryWrapper);
|
||||
@@ -185,9 +185,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){
|
||||
@@ -196,9 +196,9 @@ public class CaseClinicalService {
|
||||
statsCaseClinicalHospitalDao.insert(statsCaseClinicalHospital);
|
||||
}else{
|
||||
if (type == 1){
|
||||
statsCaseClinicalHospitalDao.inc(statsCaseClinicalHospital.getHospitalId(),"article_num",1);
|
||||
statsCaseClinicalHospitalDao.inc(statsCaseClinicalHospital.getHospitalId(),"article_num",num);
|
||||
}else{
|
||||
statsCaseClinicalHospitalDao.inc(statsCaseClinicalHospital.getHospitalId(),"video_num",1);
|
||||
statsCaseClinicalHospitalDao.inc(statsCaseClinicalHospital.getHospitalId(),"video_num",num);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -212,7 +212,7 @@ public class CaseClinicalService {
|
||||
* @return
|
||||
*/
|
||||
@Transactional
|
||||
public StatsCaseClinicalHospitalEntity DecStatsCaseClinicalHospital(String hospitalId,Integer type){
|
||||
public StatsCaseClinicalHospitalEntity DecStatsCaseClinicalHospital(String hospitalId,Integer type,Integer num){
|
||||
LambdaQueryWrapper<StatsCaseClinicalHospitalEntity> mapQueryWrapper = new LambdaQueryWrapper<>();
|
||||
mapQueryWrapper.eq(StatsCaseClinicalHospitalEntity::getHospitalId, hospitalId);
|
||||
StatsCaseClinicalHospitalEntity statsCaseClinicalHospital = statsCaseClinicalHospitalDao.selectOne(mapQueryWrapper);
|
||||
@@ -227,7 +227,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));
|
||||
@@ -235,7 +235,7 @@ public class CaseClinicalService {
|
||||
statsCaseClinicalHospital.setLastPushDate(lastPushDate);
|
||||
statsCaseClinicalHospitalDao.updateById(statsCaseClinicalHospital);
|
||||
}
|
||||
statsCaseClinicalHospitalDao.dec(statsCaseClinicalHospital.getHospitalId(),"video_num",1);
|
||||
statsCaseClinicalHospitalDao.dec(statsCaseClinicalHospital.getHospitalId(),"video_num",num);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+10
-7
@@ -238,7 +238,7 @@ public class CaseClinicalArticleService {
|
||||
caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(author.getDoctorId()),1);
|
||||
|
||||
// 减少医院统计
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),1);
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),1,1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -305,7 +305,7 @@ public class CaseClinicalArticleService {
|
||||
caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(author.getDoctorId()),1);
|
||||
|
||||
// 减少医院统计
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),1);
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),1,1);
|
||||
}
|
||||
|
||||
caseClinicalArticleDao.deleteById(articleId);
|
||||
@@ -360,7 +360,7 @@ public class CaseClinicalArticleService {
|
||||
caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(author.getDoctorId()),1);
|
||||
|
||||
// 减少医院统计
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),1);
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),1,1);
|
||||
}
|
||||
|
||||
return ResponseDTO.ok();
|
||||
@@ -517,7 +517,8 @@ public class CaseClinicalArticleService {
|
||||
caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(author.getDoctorId()), 1);
|
||||
|
||||
// 减少医院统计
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()), 1);
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),
|
||||
1,1);
|
||||
}
|
||||
} else if (status == 1) {
|
||||
// 状态改为正常,增加统计数量
|
||||
@@ -551,7 +552,8 @@ public class CaseClinicalArticleService {
|
||||
caseClinicalService.IncStatsCaseClinicalDoctor(String.valueOf(author.getDoctorId()), 1, lastPushDate);
|
||||
|
||||
// 增加医院统计
|
||||
caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()), 1, lastPushDate);
|
||||
caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),
|
||||
1, lastPushDate,1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -713,7 +715,7 @@ public class CaseClinicalArticleService {
|
||||
caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),1);
|
||||
|
||||
// 减少医院统计
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),1);
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),1,1);
|
||||
|
||||
// 删除该作者
|
||||
caseClinicalArticleAuthorDao.deleteById(author.getAuthorId());
|
||||
@@ -741,7 +743,8 @@ public class CaseClinicalArticleService {
|
||||
caseClinicalService.IncStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),1,lastPushDate);
|
||||
|
||||
// 新增医院统计
|
||||
caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),1,lastPushDate);
|
||||
caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),1,
|
||||
lastPushDate,1);
|
||||
|
||||
// 生成用户证书-文章/视频
|
||||
if (qrCodeBytes == null || qrCodeBytes.length == 0) {
|
||||
|
||||
+1
-1
@@ -92,7 +92,7 @@ public class CaseClinicalDoctorController {
|
||||
@Operation(summary = "获取APP医生信息 @author xing")
|
||||
@GetMapping("/caseClinicalDoctor/getAppDoctor")
|
||||
@SaCheckPermission("caseClinicalDoctor:query")
|
||||
public ResponseDTO<AppDoctorVO> getAppDoctor(@RequestParam String doctorName) {
|
||||
public ResponseDTO<List<AppDoctorVO>> getAppDoctor(@RequestParam String doctorName) {
|
||||
return caseClinicalDoctorService.getAppDoctor(doctorName);
|
||||
}
|
||||
|
||||
|
||||
+3
@@ -34,4 +34,7 @@ public class CaseClinicalDoctorUpdateForm {
|
||||
@JsonDeserialize(using = FileKeyVoDeserializer.class)
|
||||
private String avatar;
|
||||
|
||||
@Schema(description = "所属医院id", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "所属医院id 不能为空")
|
||||
private Long hospitalId;
|
||||
}
|
||||
+128
-59
@@ -1,8 +1,13 @@
|
||||
package net.lab1024.sa.admin.module.business.caseClinicalDoctor.service;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Objects;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import net.lab1024.sa.admin.extend.app.UserInfo.GetUserInfoListResponse;
|
||||
import net.lab1024.sa.admin.module.business.caseClinical.service.CaseClinicalService;
|
||||
import net.lab1024.sa.admin.module.business.caseClinicalArticle.dao.CaseClinicalArticleDao;
|
||||
import net.lab1024.sa.admin.module.business.caseClinicalDoctor.dao.CaseClinicalDoctorDao;
|
||||
import net.lab1024.sa.admin.module.business.basicHospital.dao.BasicHospitalDao;
|
||||
import net.lab1024.sa.admin.module.business.basicHospital.domain.entity.BasicHospitalEntity;
|
||||
@@ -13,6 +18,8 @@ import net.lab1024.sa.admin.module.business.caseClinicalDoctor.domain.form.CaseC
|
||||
import net.lab1024.sa.admin.module.business.caseClinicalDoctor.domain.form.CaseClinicalDoctorUpdateForm;
|
||||
import net.lab1024.sa.admin.module.business.caseClinicalDoctor.domain.vo.CaseClinicalDoctorVO;
|
||||
import net.lab1024.sa.admin.module.business.caseClinicalDoctor.domain.vo.AppDoctorVO;
|
||||
import net.lab1024.sa.admin.module.business.statsCaseClinical.dao.StatsCaseClinicalDoctorDao;
|
||||
import net.lab1024.sa.admin.module.business.statsCaseClinical.domain.entity.StatsCaseClinicalDoctorEntity;
|
||||
import net.lab1024.sa.admin.module.business.user.service.UserService;
|
||||
import net.lab1024.sa.base.common.exception.BusinessException;
|
||||
import net.lab1024.sa.admin.extend.app.UserInfo.UserInfo;
|
||||
@@ -27,6 +34,7 @@ import net.lab1024.sa.base.common.domain.ResponseDTO;
|
||||
import net.lab1024.sa.base.common.domain.PageResult;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@@ -61,6 +69,15 @@ public class CaseClinicalDoctorService {
|
||||
@Resource
|
||||
private UserService userService;
|
||||
|
||||
@Resource
|
||||
private CaseClinicalService caseClinicalService;
|
||||
|
||||
@Autowired
|
||||
private StatsCaseClinicalDoctorDao statsCaseClinicalDoctorDao;
|
||||
|
||||
@Autowired
|
||||
private CaseClinicalArticleDao caseClinicalArticleDao;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*/
|
||||
@@ -170,9 +187,25 @@ public class CaseClinicalDoctorService {
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
// 没有 uuid 时,按表单直接新增
|
||||
// 没有 uuid 时,二次匹配
|
||||
// 二次匹配:姓名 + 医院
|
||||
LambdaQueryWrapper<CaseClinicalDoctorEntity> doctorWrapper = new LambdaQueryWrapper<>();
|
||||
doctorWrapper.eq(CaseClinicalDoctorEntity::getDoctorName, addForm.getDoctorName());
|
||||
doctorWrapper.eq(CaseClinicalDoctorEntity::getHospitalId, addForm.getHospitalId());
|
||||
CaseClinicalDoctorEntity caseClinicalDoctor = caseClinicalDoctorDao.selectOne(doctorWrapper);
|
||||
if (caseClinicalDoctor != null) {
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
CaseClinicalDoctorEntity caseClinicalDoctorEntity = SmartBeanUtil.copy(addForm, CaseClinicalDoctorEntity.class);
|
||||
caseClinicalDoctorDao.insert(caseClinicalDoctorEntity);
|
||||
|
||||
LocalDateTime lastPushDate = caseClinicalArticleDao.selectLastArticlePushDateByHospitalId(addForm.getHospitalId());
|
||||
|
||||
// 新增新的医院统计-文章
|
||||
caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(addForm.getHospitalId()),1,
|
||||
lastPushDate,0);
|
||||
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
@@ -181,8 +214,40 @@ public class CaseClinicalDoctorService {
|
||||
*
|
||||
*/
|
||||
public ResponseDTO<String> update(CaseClinicalDoctorUpdateForm updateForm) {
|
||||
CaseClinicalDoctorEntity caseClinicalDoctorEntity = SmartBeanUtil.copy(updateForm, CaseClinicalDoctorEntity.class);
|
||||
caseClinicalDoctorDao.updateById(caseClinicalDoctorEntity);
|
||||
// 获取医生数据
|
||||
CaseClinicalDoctorEntity caseClinicalDoctor = caseClinicalDoctorDao.selectById(updateForm.getDoctorId());
|
||||
if (caseClinicalDoctor == null) {
|
||||
throw new BusinessException("操作失败");
|
||||
}
|
||||
|
||||
// 检测医院是否改动
|
||||
if (!Objects.equals(caseClinicalDoctor.getHospitalId(), updateForm.getHospitalId())){
|
||||
// 获取医生统计
|
||||
LambdaQueryWrapper<StatsCaseClinicalDoctorEntity> doctorWrapper = new LambdaQueryWrapper<>();
|
||||
doctorWrapper.eq(StatsCaseClinicalDoctorEntity::getDoctorId, caseClinicalDoctor.getDoctorId());
|
||||
StatsCaseClinicalDoctorEntity statsCaseClinicalDoctor = statsCaseClinicalDoctorDao.selectOne(doctorWrapper);
|
||||
if (statsCaseClinicalDoctor != null) {
|
||||
// 减少医院统计-文章
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),1
|
||||
,statsCaseClinicalDoctor.getArticleNum());
|
||||
|
||||
LocalDateTime lastPushDate = caseClinicalArticleDao.selectLastArticlePushDateByHospitalId(updateForm.getHospitalId());
|
||||
|
||||
// 新增新的医院统计-文章
|
||||
caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(updateForm.getHospitalId()),1,
|
||||
lastPushDate,statsCaseClinicalDoctor.getArticleNum());
|
||||
|
||||
// 减少医院统计-视频
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2
|
||||
,statsCaseClinicalDoctor.getVideoNum());
|
||||
|
||||
// 新增新的医院统计-视频
|
||||
caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(updateForm.getHospitalId()),1,
|
||||
lastPushDate,statsCaseClinicalDoctor.getVideoNum());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return ResponseDTO.ok();
|
||||
}
|
||||
|
||||
@@ -238,78 +303,82 @@ public class CaseClinicalDoctorService {
|
||||
/**
|
||||
* 获取APP医生信息
|
||||
*/
|
||||
@Transactional
|
||||
public ResponseDTO<AppDoctorVO> getAppDoctor(String doctorName) {
|
||||
public ResponseDTO<List<AppDoctorVO>> getAppDoctor(String doctorName) {
|
||||
if (doctorName == null || doctorName.trim().isEmpty()) {
|
||||
return ResponseDTO.userErrorParam("医生姓名不能为空");
|
||||
}
|
||||
|
||||
// 调用UserInfo获取医生信息
|
||||
GetUserInfoResponse userInfoResponse = userInfo.getUserInfoByName(doctorName);
|
||||
GetUserInfoListResponse userInfoResponse = userInfo.getUserInfoByName(doctorName);
|
||||
|
||||
if (userInfoResponse == null || userInfoResponse.getData() == null) {
|
||||
throw new BusinessException("未找到医生信息");
|
||||
}
|
||||
|
||||
if (userInfoResponse.getData().getUuid() == null) {
|
||||
List<GetUserInfoListResponse.ResponsData> userDataList = userInfoResponse.getData();
|
||||
if (userDataList.isEmpty()) {
|
||||
throw new BusinessException("未找到医生信息");
|
||||
}
|
||||
|
||||
GetUserInfoResponse.ResponsData userData = userInfoResponse.getData();
|
||||
|
||||
// 转换为AppDoctorVO
|
||||
AppDoctorVO appDoctor = new AppDoctorVO();
|
||||
appDoctor.setUuid(userData.getUuid());
|
||||
appDoctor.setDoctorName(userData.getRealname());
|
||||
appDoctor.setPhone(userData.getMobile());
|
||||
appDoctor.setProvince(userData.getProvName());
|
||||
appDoctor.setHospitalUuid(userData.getHospitalUuid());
|
||||
|
||||
// 如果存在hospitalUuid,检查并获取医院信息
|
||||
if (userData.getHospitalUuid() != null && !userData.getHospitalUuid().trim().isEmpty()) {
|
||||
// 先查询数据库中是否已存在该医院
|
||||
LambdaQueryWrapper<BasicHospitalEntity> hospitalQueryWrapper = new LambdaQueryWrapper<>();
|
||||
hospitalQueryWrapper.eq(BasicHospitalEntity::getHospitalIden, userData.getHospitalUuid());
|
||||
BasicHospitalEntity existingHospital = basicHospitalDao.selectOne(hospitalQueryWrapper);
|
||||
|
||||
if (existingHospital != null) {
|
||||
// 医院已存在,设置hospitalId和hospitalName
|
||||
appDoctor.setHospitalId(existingHospital.getHospitalId());
|
||||
appDoctor.setHospitalName(existingHospital.getHospitalName());
|
||||
} else {
|
||||
// 医院不存在,调用API获取医院信息并存储
|
||||
GetHospitalByUuidResponse hospitalResponse = hospital.getHospitalByUuid(userData.getHospitalUuid());
|
||||
|
||||
if (hospitalResponse == null || hospitalResponse.getData() == null) {
|
||||
throw new BusinessException("获取医院信息失败:医院数据为空");
|
||||
}
|
||||
|
||||
GetHospitalByUuidResponse.GetHospitalByUuidData hospitalData = hospitalResponse.getData();
|
||||
|
||||
// 创建新的医院实体
|
||||
BasicHospitalEntity newHospital = new BasicHospitalEntity();
|
||||
newHospital.setHospitalIden(hospitalData.getUuid());
|
||||
newHospital.setHospitalName(hospitalData.getName());
|
||||
newHospital.setHospitalLevel(hospitalData.getLevel());
|
||||
newHospital.setProvince(hospitalData.getProv_name());
|
||||
newHospital.setCity(hospitalData.getCity_name());
|
||||
newHospital.setDoctorNumber(hospitalData.getExpert_num());
|
||||
newHospital.setSource(2); // 默认来源为肝胆相照
|
||||
|
||||
// 插入医院数据
|
||||
basicHospitalDao.insert(newHospital);
|
||||
|
||||
// 设置返回的hospitalId和hospitalName
|
||||
appDoctor.setHospitalId(newHospital.getHospitalId());
|
||||
appDoctor.setHospitalName(newHospital.getHospitalName());
|
||||
List<AppDoctorVO> appDoctorList = new ArrayList<>();
|
||||
|
||||
for (GetUserInfoListResponse.ResponsData userData : userDataList) {
|
||||
if (userData.getUuid() == null) {
|
||||
continue; // 跳过无效数据
|
||||
}
|
||||
} else {
|
||||
// 没有hospitalUuid,设置为null
|
||||
appDoctor.setHospitalId(null);
|
||||
appDoctor.setHospitalName(null);
|
||||
|
||||
// 转换为AppDoctorVO
|
||||
AppDoctorVO appDoctor = new AppDoctorVO();
|
||||
appDoctor.setUuid(userData.getUuid());
|
||||
appDoctor.setDoctorName(userData.getRealname());
|
||||
appDoctor.setPhone(userData.getMobile());
|
||||
appDoctor.setProvince(userData.getProvName());
|
||||
appDoctor.setHospitalUuid(userData.getHospitalUuid());
|
||||
|
||||
// 如果存在hospitalUuid,获取医院信息(不存储到数据库)
|
||||
if (userData.getHospitalUuid() != null && !userData.getHospitalUuid().trim().isEmpty()) {
|
||||
// 先查询数据库中是否已存在该医院
|
||||
LambdaQueryWrapper<BasicHospitalEntity> hospitalQueryWrapper = new LambdaQueryWrapper<>();
|
||||
hospitalQueryWrapper.eq(BasicHospitalEntity::getHospitalIden, userData.getHospitalUuid());
|
||||
BasicHospitalEntity existingHospital = basicHospitalDao.selectOne(hospitalQueryWrapper);
|
||||
|
||||
if (existingHospital != null) {
|
||||
// 医院已存在,设置hospitalId和hospitalName
|
||||
appDoctor.setHospitalId(existingHospital.getHospitalId());
|
||||
appDoctor.setHospitalName(existingHospital.getHospitalName());
|
||||
} else {
|
||||
// 医院不存在,调用API获取医院信息并存储
|
||||
GetHospitalByUuidResponse hospitalResponse = hospital.getHospitalByUuid(userData.getHospitalUuid());
|
||||
|
||||
if (hospitalResponse == null || hospitalResponse.getData() == null) {
|
||||
throw new BusinessException("获取医院信息失败:医院数据为空");
|
||||
}
|
||||
|
||||
GetHospitalByUuidResponse.GetHospitalByUuidData hospitalData = hospitalResponse.getData();
|
||||
|
||||
// 创建新的医院实体
|
||||
BasicHospitalEntity newHospital = new BasicHospitalEntity();
|
||||
newHospital.setHospitalIden(hospitalData.getUuid());
|
||||
newHospital.setHospitalName(hospitalData.getName());
|
||||
newHospital.setHospitalLevel(hospitalData.getLevel());
|
||||
newHospital.setProvince(hospitalData.getProv_name());
|
||||
newHospital.setCity(hospitalData.getCity_name());
|
||||
newHospital.setDoctorNumber(hospitalData.getExpert_num());
|
||||
newHospital.setSource(2); // 默认来源为肝胆相照
|
||||
|
||||
// 插入医院数据
|
||||
basicHospitalDao.insert(newHospital);
|
||||
|
||||
// 设置返回的hospitalId和hospitalName
|
||||
appDoctor.setHospitalId(newHospital.getHospitalId());
|
||||
appDoctor.setHospitalName(newHospital.getHospitalName());
|
||||
}
|
||||
}
|
||||
|
||||
appDoctorList.add(appDoctor);
|
||||
}
|
||||
|
||||
return ResponseDTO.ok(appDoctor);
|
||||
return ResponseDTO.ok(appDoctorList);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+12
-7
@@ -237,7 +237,8 @@ public class CaseClinicalVideoService {
|
||||
caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(author.getDoctorId()),2);
|
||||
|
||||
// 减少医院统计
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2);
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2
|
||||
,1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -304,7 +305,8 @@ public class CaseClinicalVideoService {
|
||||
caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(author.getDoctorId()),2);
|
||||
|
||||
// 减少医院统计
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2);
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2
|
||||
,1);
|
||||
}
|
||||
|
||||
caseClinicalVideoDao.deleteById(videoId);
|
||||
@@ -359,7 +361,7 @@ public class CaseClinicalVideoService {
|
||||
caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(author.getDoctorId()),2);
|
||||
|
||||
// 减少医院统计
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2);
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2,1);
|
||||
}
|
||||
|
||||
return ResponseDTO.ok();
|
||||
@@ -516,7 +518,8 @@ public class CaseClinicalVideoService {
|
||||
caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(author.getDoctorId()), 2);
|
||||
|
||||
// 减少医院统计
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()), 2);
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),
|
||||
2,1);
|
||||
}
|
||||
} else if (status == 1) {
|
||||
// 状态改为正常,增加统计数量
|
||||
@@ -550,7 +553,8 @@ public class CaseClinicalVideoService {
|
||||
caseClinicalService.IncStatsCaseClinicalDoctor(String.valueOf(author.getDoctorId()), 2, lastPushDate);
|
||||
|
||||
// 增加医院统计
|
||||
caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()), 2, lastPushDate);
|
||||
caseClinicalService.IncStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),
|
||||
2, lastPushDate,1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -624,7 +628,7 @@ public class CaseClinicalVideoService {
|
||||
caseClinicalService.DecStatsCaseClinicalDoctor(String.valueOf(caseClinicalDoctor.getDoctorId()),2);
|
||||
|
||||
// 减少医院统计
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2);
|
||||
caseClinicalService.DecStatsCaseClinicalHospital(String.valueOf(caseClinicalDoctor.getHospitalId()),2,1);
|
||||
|
||||
// 删除该作者
|
||||
caseClinicalVideoAuthorDao.deleteById(author.getAuthorId());
|
||||
@@ -652,7 +656,8 @@ 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);
|
||||
|
||||
// 生成用户证书-文章/视频
|
||||
if (qrCodeBytes == null || qrCodeBytes.length == 0) {
|
||||
|
||||
Reference in New Issue
Block a user