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

View File

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

View File

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

View File

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

View File

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

View File

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