diff --git a/src/main/java/com/example/caseData/controller/ClinicalController.java b/src/main/java/com/example/caseData/controller/ClinicalController.java index 9059363..bd4d316 100644 --- a/src/main/java/com/example/caseData/controller/ClinicalController.java +++ b/src/main/java/com/example/caseData/controller/ClinicalController.java @@ -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); diff --git a/src/main/java/com/example/caseData/controller/UserCaseReadController.java b/src/main/java/com/example/caseData/controller/UserCaseReadController.java index 9a917ce..000eaf6 100644 --- a/src/main/java/com/example/caseData/controller/UserCaseReadController.java +++ b/src/main/java/com/example/caseData/controller/UserCaseReadController.java @@ -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("操作失败"); } diff --git a/src/main/java/com/example/caseData/dao/CaseClinicalArticleDao.java b/src/main/java/com/example/caseData/dao/CaseClinicalArticleDao.java index 432409c..d17b891 100644 --- a/src/main/java/com/example/caseData/dao/CaseClinicalArticleDao.java +++ b/src/main/java/com/example/caseData/dao/CaseClinicalArticleDao.java @@ -35,7 +35,8 @@ public interface CaseClinicalArticleDao extends BaseMapper Long getCaseClinicalVideoSearchCount( @Param("keyword") String keyword, @Param("hospitalId") String hospitalId, - @Param("doctorId") String doctorId + @Param("doctorId") String doctorId, + @Param("labelIden") String labelIden ); /** diff --git a/src/main/java/com/example/caseData/service/CaseExchangeService.java b/src/main/java/com/example/caseData/service/CaseExchangeService.java index 0259e95..74a306f 100644 --- a/src/main/java/com/example/caseData/service/CaseExchangeService.java +++ b/src/main/java/com/example/caseData/service/CaseExchangeService.java @@ -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 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; diff --git a/src/main/java/com/example/caseData/service/UserCaseReadService.java b/src/main/java/com/example/caseData/service/UserCaseReadService.java index 5027304..f08a203 100644 --- a/src/main/java/com/example/caseData/service/UserCaseReadService.java +++ b/src/main/java/com/example/caseData/service/UserCaseReadService.java @@ -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 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; diff --git a/src/main/resources/mapper/CaseClinicalArticleMapper.xml b/src/main/resources/mapper/CaseClinicalArticleMapper.xml index 0896597..b3447a5 100644 --- a/src/main/resources/mapper/CaseClinicalArticleMapper.xml +++ b/src/main/resources/mapper/CaseClinicalArticleMapper.xml @@ -106,5 +106,8 @@ AND d.doctor_id = #{doctorId} + + AND l.app_iden = #{labelIden} + \ No newline at end of file diff --git a/src/main/resources/mapper/CaseClinicalVideoMapper.xml b/src/main/resources/mapper/CaseClinicalVideoMapper.xml index 09e5bbe..3befa13 100644 --- a/src/main/resources/mapper/CaseClinicalVideoMapper.xml +++ b/src/main/resources/mapper/CaseClinicalVideoMapper.xml @@ -72,5 +72,8 @@ AND d.doctor_id = #{doctorId} + + AND l.app_iden = #{labelIden} + \ No newline at end of file