修改了返回值11111
This commit is contained in:
parent
5509480265
commit
6814bd7b6e
@ -42,6 +42,9 @@ public class GetHospitalByUuidResponse
|
||||
/** 城市 */
|
||||
private String city_name;
|
||||
|
||||
/** 区县 */
|
||||
private String county_name;
|
||||
|
||||
/** 医生数量 */
|
||||
private Integer expert_num;
|
||||
}
|
||||
|
||||
@ -65,4 +65,50 @@ public class Hospital extends Base {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
// 根据医院名称获取医院数据
|
||||
public GetHospitalByUuidResponse getHospitalByName(String hospitalIden) throws BusinessException {
|
||||
String timestamp = String.valueOf(System.currentTimeMillis() / 1000);
|
||||
|
||||
// 处理参数
|
||||
Map<String, Object> requestData = new HashMap<>();
|
||||
requestData.put("hospital_uuid", hospitalIden);
|
||||
requestData.put("platform", appConfig.getPlatform());
|
||||
requestData.put("timestamp", timestamp);
|
||||
|
||||
// 生成签名
|
||||
String sign = genSignature(requestData,appConfig.getSecretKey());
|
||||
|
||||
String url = appConfig.getApiUrl() + "/expert-api/getHospitalByUuid";
|
||||
String jsonBody = JSONUtil.toJsonStr(requestData);
|
||||
log.info("获取app数据参数:{}",jsonBody);
|
||||
|
||||
try(HttpResponse response = HttpRequest.post(url)
|
||||
.header("Content-Type", "application/json")
|
||||
.header("sign", sign)
|
||||
.body(jsonBody)
|
||||
.execute()){
|
||||
|
||||
if (response.getStatus() != 200) {
|
||||
throw new BusinessException("失败");
|
||||
}
|
||||
|
||||
// 反序列化 JSON
|
||||
GetHospitalByUuidResponse result = JSONUtil.toBean(response.body(), GetHospitalByUuidResponse.class);
|
||||
log.info("获取app数据返回:{}",result);
|
||||
if (result.getCode() != 200){
|
||||
if (!Objects.equals(result.getMsg(), "")){
|
||||
throw new BusinessException(result.getMsg());
|
||||
}else{
|
||||
throw new BusinessException("失败");
|
||||
}
|
||||
}
|
||||
|
||||
if (result.getData() == null){
|
||||
throw new BusinessException("失败");
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,11 +1,16 @@
|
||||
package net.lab1024.sa.admin.module.business.basicHospital.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import net.lab1024.sa.admin.extend.app.Hospital.GetHospitalByUuidResponse;
|
||||
import net.lab1024.sa.admin.extend.app.Hospital.Hospital;
|
||||
import net.lab1024.sa.admin.module.business.basicHospital.dao.BasicHospitalDao;
|
||||
import net.lab1024.sa.admin.module.business.basicHospital.domain.entity.BasicHospitalEntity;
|
||||
import net.lab1024.sa.admin.module.business.basicHospital.domain.form.BasicHospitalQueryForm;
|
||||
import net.lab1024.sa.admin.module.business.basicHospital.domain.form.BasicHospitalQueryListForm;
|
||||
import net.lab1024.sa.admin.module.business.basicHospital.domain.vo.BasicHospitalVO;
|
||||
import net.lab1024.sa.base.common.exception.BusinessException;
|
||||
import net.lab1024.sa.base.common.util.SmartBeanUtil;
|
||||
import net.lab1024.sa.base.common.util.SmartPageUtil;
|
||||
import net.lab1024.sa.base.common.domain.ResponseDTO;
|
||||
@ -16,6 +21,8 @@ import org.springframework.stereotype.Service;
|
||||
|
||||
import jakarta.annotation.Resource;
|
||||
|
||||
import static com.baomidou.mybatisplus.extension.toolkit.Db.save;
|
||||
|
||||
/**
|
||||
* 基础数据-医院 Service
|
||||
*
|
||||
@ -30,6 +37,9 @@ public class BasicHospitalService {
|
||||
@Resource
|
||||
private BasicHospitalDao basicHospitalDao;
|
||||
|
||||
@Resource
|
||||
private Hospital hospital;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*/
|
||||
@ -43,6 +53,75 @@ public class BasicHospitalService {
|
||||
* 列表查询
|
||||
*/
|
||||
public List<BasicHospitalVO> queryList(BasicHospitalQueryListForm queryForm) {
|
||||
// 获取app医院名称
|
||||
try {
|
||||
GetAppHospitalByName(queryForm.getKeywords());
|
||||
} catch (Exception e) {
|
||||
// 不处理
|
||||
}
|
||||
|
||||
return basicHospitalDao.queryList(queryForm);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取app医院数据
|
||||
* @param hospitalIden app医院唯一标识
|
||||
* @return BasicHospitalEntity
|
||||
*/
|
||||
public BasicHospitalEntity GetAppHospital(String hospitalIden) throws BusinessException {
|
||||
// 查询数据库医院信息
|
||||
LambdaQueryWrapper<BasicHospitalEntity> basicHospitalWrapper = new LambdaQueryWrapper<>();
|
||||
basicHospitalWrapper.eq(BasicHospitalEntity::getHospitalIden, hospitalIden);
|
||||
BasicHospitalEntity basicHospital = basicHospitalDao.selectOne(basicHospitalWrapper);
|
||||
if (basicHospital == null){
|
||||
// 请求接口获取数据
|
||||
GetHospitalByUuidResponse result = hospital.getHospitalByUuid(hospitalIden);
|
||||
GetHospitalByUuidResponse.GetHospitalByUuidData data = result.getData();
|
||||
|
||||
// 构造 UserEntity 对象
|
||||
basicHospital = new BasicHospitalEntity();
|
||||
basicHospital.setHospitalIden(hospitalIden);
|
||||
basicHospital.setHospitalName(data.getName());
|
||||
basicHospital.setSource(2);
|
||||
basicHospital.setHospitalLevel(data.getLevel());
|
||||
basicHospital.setDoctorNumber(data.getExpert_num());
|
||||
basicHospital.setProvince(data.getProv_name());
|
||||
basicHospital.setCity(data.getCity_name());
|
||||
basicHospital.setCounty(data.getCounty_name());
|
||||
save(basicHospital);
|
||||
}
|
||||
|
||||
return basicHospital;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取app医院数据 -名称搜索
|
||||
* @param hospitalName app医院名称
|
||||
* @return BasicHospitalEntity
|
||||
*/
|
||||
public BasicHospitalEntity GetAppHospitalByName(String hospitalName) throws BusinessException {
|
||||
// 查询数据库医院信息
|
||||
LambdaQueryWrapper<BasicHospitalEntity> basicHospitalWrapper = new LambdaQueryWrapper<>();
|
||||
basicHospitalWrapper.eq(BasicHospitalEntity::getHospitalName, hospitalName);
|
||||
BasicHospitalEntity basicHospital = basicHospitalDao.selectOne(basicHospitalWrapper);
|
||||
if (basicHospital == null){
|
||||
// 请求接口获取数据
|
||||
GetHospitalByUuidResponse result = hospital.getHospitalByName(hospitalName);
|
||||
GetHospitalByUuidResponse.GetHospitalByUuidData data = result.getData();
|
||||
|
||||
// 构造 UserEntity 对象
|
||||
basicHospital = new BasicHospitalEntity();
|
||||
basicHospital.setHospitalIden(data.getUuid());
|
||||
basicHospital.setHospitalName(data.getName());
|
||||
basicHospital.setSource(2);
|
||||
basicHospital.setHospitalLevel(data.getLevel());
|
||||
basicHospital.setDoctorNumber(data.getExpert_num());
|
||||
basicHospital.setProvince(data.getProv_name());
|
||||
basicHospital.setCity(data.getCity_name());
|
||||
basicHospital.setCounty(data.getCounty_name());
|
||||
save(basicHospital);
|
||||
}
|
||||
|
||||
return basicHospital;
|
||||
}
|
||||
}
|
||||
|
||||
@ -39,8 +39,8 @@ public interface CaseClinicalArticleDao extends BaseMapper<CaseClinicalArticleEn
|
||||
* @param numeral 增加的数值
|
||||
* @return 更新的行数
|
||||
*/
|
||||
@Update("UPDATE stats_case_clinical SET ${field} = ${field} + #{numeral} WHERE stats_id = #{statsId}")
|
||||
int inc(@Param("statsId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
@Update("UPDATE case_clinical_article SET ${field} = ${field} + #{numeral} WHERE article_id = #{articleId}")
|
||||
int inc(@Param("articleId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
|
||||
/**
|
||||
* Dec 自减
|
||||
@ -50,10 +50,10 @@ public interface CaseClinicalArticleDao extends BaseMapper<CaseClinicalArticleEn
|
||||
* @param numeral 减少的数值
|
||||
* @return 更新的行数
|
||||
*/
|
||||
@Update("UPDATE stats_case_clinical " +
|
||||
@Update("UPDATE case_clinical_article " +
|
||||
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
|
||||
"WHERE stats_id = #{statsId}")
|
||||
int dec(@Param("statsId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
"WHERE article_id = #{articleId}")
|
||||
int dec(@Param("articleId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
|
||||
/**
|
||||
* 根据医院ID查询该医院最后一篇文章的发表时间
|
||||
|
||||
@ -26,6 +26,12 @@ public class AppDoctorVO {
|
||||
@Schema(description = "省份")
|
||||
private String province;
|
||||
|
||||
@Schema(description = "市")
|
||||
private String city;
|
||||
|
||||
@Schema(description = "区")
|
||||
private String county;
|
||||
|
||||
@Schema(description = "医院UUID")
|
||||
private String hospitalUuid;
|
||||
|
||||
|
||||
@ -6,6 +6,7 @@ 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.basicHospital.service.BasicHospitalService;
|
||||
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;
|
||||
@ -78,6 +79,9 @@ public class CaseClinicalDoctorService {
|
||||
@Autowired
|
||||
private CaseClinicalArticleDao caseClinicalArticleDao;
|
||||
|
||||
@Autowired
|
||||
private BasicHospitalService basicHospitalService;
|
||||
|
||||
/**
|
||||
* 分页查询
|
||||
*/
|
||||
@ -337,42 +341,15 @@ public class CaseClinicalDoctorService {
|
||||
|
||||
// 如果存在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());
|
||||
BasicHospitalEntity existingHospital = basicHospitalService.GetAppHospital(userData.getHospitalUuid());
|
||||
if (existingHospital == null){
|
||||
throw new BusinessException("获取医院信息失败:医院数据为空");
|
||||
}
|
||||
|
||||
appDoctor.setHospitalId(existingHospital.getHospitalId());
|
||||
appDoctor.setHospitalName(existingHospital.getHospitalName());
|
||||
appDoctor.setCity(existingHospital.getCity());
|
||||
appDoctor.setCounty(existingHospital.getCounty());
|
||||
}
|
||||
|
||||
appDoctorList.add(appDoctor);
|
||||
@ -473,34 +450,4 @@ public class CaseClinicalDoctorService {
|
||||
//
|
||||
// return caseClinicalDoctor;
|
||||
// }
|
||||
|
||||
/**
|
||||
* 获取app医院数据
|
||||
* @param hospitalIden app医院唯一标识
|
||||
* @return BasicHospitalEntity
|
||||
*/
|
||||
public BasicHospitalEntity GetAppHospital(String hospitalIden) throws BusinessException {
|
||||
// 查询数据库医院信息
|
||||
LambdaQueryWrapper<BasicHospitalEntity> basicHospitalWrapper = new LambdaQueryWrapper<>();
|
||||
basicHospitalWrapper.eq(BasicHospitalEntity::getHospitalIden, hospitalIden);
|
||||
BasicHospitalEntity basicHospital = basicHospitalDao.selectOne(basicHospitalWrapper);
|
||||
if (basicHospital == null){
|
||||
// 请求接口获取数据
|
||||
GetHospitalByUuidResponse result = hospital.getHospitalByUuid(hospitalIden);
|
||||
GetHospitalByUuidResponse.GetHospitalByUuidData data = result.getData();
|
||||
|
||||
// 构造 UserEntity 对象
|
||||
basicHospital = new BasicHospitalEntity();
|
||||
basicHospital.setHospitalIden(hospitalIden);
|
||||
basicHospital.setHospitalName(data.getName());
|
||||
basicHospital.setSource(2);
|
||||
basicHospital.setHospitalLevel(data.getLevel());
|
||||
basicHospital.setDoctorNumber(data.getExpert_num());
|
||||
basicHospital.setProvince(data.getProv_name());
|
||||
basicHospital.setCity(data.getCity_name());
|
||||
save(basicHospital);
|
||||
}
|
||||
|
||||
return basicHospital;
|
||||
}
|
||||
}
|
||||
|
||||
@ -34,26 +34,27 @@ public interface CaseClinicalVideoDao extends BaseMapper<CaseClinicalVideoEntity
|
||||
|
||||
/**
|
||||
* Inc 自增
|
||||
* @param videoId 视频 ID
|
||||
* @param articleId 文章 ID
|
||||
* @param field 字段名称
|
||||
* @param numeral 增加的数值
|
||||
* @return 更新的行数
|
||||
*/
|
||||
@Update("UPDATE stats_case_clinical SET ${field} = ${field} + #{numeral} WHERE stats_id = #{statsId}")
|
||||
int inc(@Param("statsId") Long videoId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
@Update("UPDATE case_clinical_video SET ${field} = ${field} + #{numeral} WHERE video_id = #{videoId}")
|
||||
int inc(@Param("videoId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
|
||||
|
||||
/**
|
||||
* Dec 自减
|
||||
*
|
||||
* @param videoId 视频 ID
|
||||
* @param articleId 文章 ID
|
||||
* @param field 字段名称
|
||||
* @param numeral 减少的数值
|
||||
* @return 更新的行数
|
||||
*/
|
||||
@Update("UPDATE stats_case_clinical " +
|
||||
@Update("UPDATE case_clinical_video " +
|
||||
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
|
||||
"WHERE stats_id = #{statsId}")
|
||||
int dec(@Param("statsId") Long videoId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
"WHERE video_id = #{videoId}")
|
||||
int dec(@Param("videoId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
|
||||
/**
|
||||
* 根据医院ID查询该医院最后一个视频的发表时间
|
||||
|
||||
@ -197,7 +197,7 @@ public class UserCommentClinicalVideoService {
|
||||
UserCommentClinicalVideoEntity userCommentClinicalVideo = userCommentClinicalVideoDao.selectById(commentId);
|
||||
if (null == userCommentClinicalVideo) {
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
return ResponseDTO.userErrorParam("操作失败");
|
||||
return ResponseDTO.userErrorParam("操作失败1");
|
||||
}
|
||||
|
||||
// 减少文章的统计字段
|
||||
@ -208,7 +208,7 @@ public class UserCommentClinicalVideoService {
|
||||
);
|
||||
if (!r){
|
||||
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||
return ResponseDTO.userErrorParam("操作失败");
|
||||
return ResponseDTO.userErrorParam("操作失败2");
|
||||
}
|
||||
|
||||
userCommentClinicalVideoDao.deleteById(commentId);
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user