This commit is contained in:
wucongxing8150 2025-07-18 17:32:09 +08:00
parent 579c81e553
commit 88ee5ad694
8 changed files with 39 additions and 32 deletions

View File

@ -130,7 +130,8 @@ public class ClinicalController extends BaseController {
Long searchVideoNum = caseClinicalVideoDao.getCaseClinicalVideoSearchCount(
request.getKeyword(),
request.getHospitalId(),
request.getDoctorId()
request.getDoctorId(),
request.getLabelIden()
);
resultMap.put("search_article_num", resultPage.getTotal());
@ -203,7 +204,8 @@ public class ClinicalController extends BaseController {
Long searchArticleNum = caseClinicalArticleDao.getCaseClinicalArticleSearchCount(
request.getKeyword(),
request.getHospitalId(),
request.getDoctorId()
request.getDoctorId(),
request.getLabelIden()
);
resultMap.put("search_article_num", searchArticleNum);

View File

@ -207,14 +207,13 @@ public class UserCaseReadController extends BaseController {
@RequestBody addUserCaseRead request
) {
String userId = (String) httpServletRequest.getAttribute("userId");
if (userId == null) {
String loginUserId = (String) httpServletRequest.getAttribute("userId");
if (loginUserId == null) {
return Response.error("操作失败");
}
try {
boolean res = userCaseReadService.AddUserCaseRead(request,userId);
boolean res = userCaseReadService.AddUserCaseRead(request,loginUserId);
if (!res){
return Response.error("操作失败");
}

View File

@ -35,7 +35,8 @@ public interface CaseClinicalArticleDao extends BaseMapper<CaseClinicalArticleMo
Long getCaseClinicalArticleSearchCount(
@Param("keyword") String keyword,
@Param("hospitalId") String hospitalId,
@Param("doctorId") String doctorId
@Param("doctorId") String doctorId,
@Param("labelIden") String labelIden
);
/**

View File

@ -36,7 +36,8 @@ public interface CaseClinicalVideoDao extends BaseMapper<CaseClinicalVideoModel>
Long getCaseClinicalVideoSearchCount(
@Param("keyword") String keyword,
@Param("hospitalId") String hospitalId,
@Param("doctorId") String doctorId
@Param("doctorId") String doctorId,
@Param("labelIden") String labelIden
);
/**

View File

@ -186,20 +186,13 @@ public class CaseExchangeService {
}
}
// 新增病例交流统计
StatsCaseExchangeModel statsCaseExchangeData = new StatsCaseExchangeModel();
statsCaseExchangeData.setExchangeNum(1);
res = statsCaseExchangeDao.insert(statsCaseExchangeData);
if (res <= 0){
// 病例交流统计
if (!handleStatsCaseExchange()){
throw new BusinessException("操作失败");
}
// 新增病例交流统计-用户
StatsCaseExchangeUserModel statsCaseExchangeUserData = new StatsCaseExchangeUserModel();
statsCaseExchangeUserData.setUserId(Long.valueOf(userId));
statsCaseExchangeUserData.setExchangeNum(1);
res = statsCaseExchangeUserDao.insert(statsCaseExchangeUserData);
if (res <= 0){
if (!handleStatsCaseExchangeUser(userId,"exchange_num")){
throw new BusinessException("操作失败");
}
@ -522,15 +515,21 @@ public class CaseExchangeService {
/**
* 新增病例交流统计
* @param userId 用户id
* @param type 类型1:阅读量 2收藏量 3:评论数 4:数量
* 新增病例交流统计字段
* @param exchangeId 病例id
* @param type 类型1:阅读量 2收藏量 3:评论数
*/
@Transactional
public boolean IncClinicalVideoStats(String userId,Integer type){
public boolean IncCaseExchangeStats(String exchangeId,Integer type){
try {
// 获取病例数据
CaseExchangeModel caseExchange = caseExchangeDao.selectById(exchangeId);
if (caseExchange == null){
throw new BusinessException("操作失败");
}
LambdaQueryWrapper<StatsCaseExchangeUserModel> mapQueryWrapper = new LambdaQueryWrapper<>();
mapQueryWrapper.eq(StatsCaseExchangeUserModel::getUserId, userId);
mapQueryWrapper.eq(StatsCaseExchangeUserModel::getUserId, caseExchange.getUserId());
StatsCaseExchangeUserModel statsCaseExchangeUser = statsCaseExchangeUserDao.selectOne(mapQueryWrapper);
if (statsCaseExchangeUser == null){
throw new BusinessException("操作失败");
@ -554,11 +553,6 @@ public class CaseExchangeService {
statsCaseExchangeUserDao.inc(statsCaseExchangeUser.getStatsId(),"exchange_collect_num",1);
}
// 文章数量-只加个人的
if (type == 3){
statsCaseExchangeUserDao.inc(statsCaseExchangeUser.getStatsId(),"exchange_num",1);
}
return true;
} catch (Exception e) {
return false;

View File

@ -50,16 +50,16 @@ public class UserCaseReadService {
* @return bool
*/
@Transactional
public boolean AddUserCaseRead(addUserCaseRead request, String userId){
public boolean AddUserCaseRead(addUserCaseRead request, String loginUserId){
// 检测是否已存在
LambdaQueryWrapper<UserCaseReadModel> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(UserCaseReadModel::getUserId, userId);
queryWrapper.eq(UserCaseReadModel::getUserId, loginUserId);
queryWrapper.eq(UserCaseReadModel::getId, request.getId());
queryWrapper.eq(UserCaseReadModel::getType, request.getType());
UserCaseReadModel userCaseRead = userCaseReadDao.selectOne(queryWrapper);
if (userCaseRead == null){
UserCaseReadModel data = new UserCaseReadModel();
data.setUserId(Long.valueOf(userId));
data.setUserId(Long.valueOf(loginUserId));
data.setId(Long.valueOf( request.getId()));
data.setType(request.getType());
data.setReadNum(1);
@ -93,7 +93,11 @@ public class UserCaseReadService {
// 病例交流
if (request.getType() == 3){
caseExchangeService.IncClinicalVideoStats(userId,1);
boolean r = caseExchangeService.IncCaseExchangeStats(request.getId(),1);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
}
return true;

View File

@ -106,5 +106,8 @@
<if test="doctorId != null and doctorId != ''">
AND d.doctor_id = #{doctorId}
</if>
<if test="labelIden != null and labelIden != ''">
AND l.app_iden = #{labelIden}
</if>
</select>
</mapper>

View File

@ -72,5 +72,8 @@
<if test="doctorId != null and doctorId != ''">
AND d.doctor_id = #{doctorId}
</if>
<if test="labelIden != null and labelIden != ''">
AND l.app_iden = #{labelIden}
</if>
</select>
</mapper>