diff --git a/src/main/java/com/example/caseData/controller/CaseClinicalArticleController.java b/src/main/java/com/example/caseData/controller/CaseClinicalArticleController.java index 6eb4f2b..4bc0562 100644 --- a/src/main/java/com/example/caseData/controller/CaseClinicalArticleController.java +++ b/src/main/java/com/example/caseData/controller/CaseClinicalArticleController.java @@ -59,6 +59,12 @@ public class CaseClinicalArticleController { @Resource private UserDao userDao; + @Resource + private StatsCaseClinicalDao statsCaseClinicalDao; + + @Resource + private StatsCaseClinicalHospitalDao statsCaseClinicalHospitalDao; + /** * 临床病例库-文章-详情 */ @@ -397,4 +403,137 @@ public class CaseClinicalArticleController { return Response.success(resultMap); } + /** + * 新增文章的统计字段 + * @param articleId 文章id + * @param type 类型:1:阅读量 2:收藏量 3:评论数 + */ + public void IncClinicalArticleStats(String articleId,Integer type){ + // 获取文章作者 + LambdaQueryWrapper authorQueryWrapper = new LambdaQueryWrapper<>(); + authorQueryWrapper.eq(CaseClinicalArticleAuthorModel::getArticleId, articleId); + List caseClinicalArticleAuthors = caseClinicalArticleAuthorDao.selectList(authorQueryWrapper); + + // 阅读量 + if (type == 1){ + caseClinicalArticleDao.inc(Long.valueOf(articleId),"read_num",1); + statsCaseClinicalDao.inc(1L,"article_read_num",1); + + for (CaseClinicalArticleAuthorModel author : caseClinicalArticleAuthors) { + // 查询医生 + CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId()); + + // 增加医院文章收藏数 + statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"article_read_num",1); + + // 增加医生文章收藏数 + statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"article_read_num",1); + } + } + + // 收藏量 + if (type == 2){ + caseClinicalArticleDao.inc(Long.valueOf(articleId),"collect_num",1); + statsCaseClinicalDao.inc(1L,"article_collect_num",1); + + for (CaseClinicalArticleAuthorModel author : caseClinicalArticleAuthors) { + // 查询医生 + CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId()); + + // 增加医院文章收藏数 + statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"article_collect_num",1); + + // 增加医生文章收藏数 + statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"article_collect_num",1); + } + } + + // 评论数 + if (type == 3){ + caseClinicalArticleDao.inc(Long.valueOf(articleId),"comment_num",1); + statsCaseClinicalDao.inc(1L,"article_comment_num",1); + + for (CaseClinicalArticleAuthorModel author : caseClinicalArticleAuthors) { + // 查询医生 + CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId()); + + // 增加医院文章收藏数 + statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"article_comment_num",1); + + // 增加医生文章收藏数 + statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"article_comment_num",1); + } + } + + + + + } + + /** + * 减少文章的统计字段 + * @param articleId 文章id + * @param type 类型:1:阅读量 2:收藏量 3:评论数 + */ + public void DecClinicalArticleStats(String articleId,Integer type){ + // 获取文章作者 + LambdaQueryWrapper authorQueryWrapper = new LambdaQueryWrapper<>(); + authorQueryWrapper.eq(CaseClinicalArticleAuthorModel::getArticleId, articleId); + List caseClinicalArticleAuthors = caseClinicalArticleAuthorDao.selectList(authorQueryWrapper); + + // 阅读量 + if (type == 1){ + caseClinicalArticleDao.inc(Long.valueOf(articleId),"read_num",1); + statsCaseClinicalDao.inc(1L,"article_read_num",1); + + for (CaseClinicalArticleAuthorModel author : caseClinicalArticleAuthors) { + // 查询医生 + CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId()); + + // 增加医院文章收藏数 + statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"article_read_num",1); + + // 增加医生文章收藏数 + statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"article_read_num",1); + } + } + + // 收藏量 + if (type == 2){ + caseClinicalArticleDao.inc(Long.valueOf(articleId),"collect_num",1); + statsCaseClinicalDao.inc(1L,"article_collect_num",1); + + for (CaseClinicalArticleAuthorModel author : caseClinicalArticleAuthors) { + // 查询医生 + CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId()); + + // 增加医院文章收藏数 + statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"article_collect_num",1); + + // 增加医生文章收藏数 + statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"article_collect_num",1); + } + } + + // 评论数 + if (type == 3){ + caseClinicalArticleDao.inc(Long.valueOf(articleId),"comment_num",1); + statsCaseClinicalDao.inc(1L,"article_comment_num",1); + + for (CaseClinicalArticleAuthorModel author : caseClinicalArticleAuthors) { + // 查询医生 + CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId()); + + // 增加医院文章收藏数 + statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"article_comment_num",1); + + // 增加医生文章收藏数 + statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"article_comment_num",1); + } + } + + + + + } } diff --git a/src/main/java/com/example/caseData/controller/ClinicalController.java b/src/main/java/com/example/caseData/controller/ClinicalController.java index 33fe68f..32fe586 100644 --- a/src/main/java/com/example/caseData/controller/ClinicalController.java +++ b/src/main/java/com/example/caseData/controller/ClinicalController.java @@ -315,6 +315,4 @@ public class ClinicalController extends BaseController { resultMap.put("data", resultPage.getRecords()); return Response.success(resultMap); } - - } diff --git a/src/main/java/com/example/caseData/controller/PublicController.java b/src/main/java/com/example/caseData/controller/PublicController.java index fb625d5..8c6ff66 100644 --- a/src/main/java/com/example/caseData/controller/PublicController.java +++ b/src/main/java/com/example/caseData/controller/PublicController.java @@ -186,7 +186,7 @@ public class PublicController { } } -// try { + try { // 获取用户openid WxMaJscode2SessionResult wxInfoData = wxMaServiceUtils.getSessionInfo(request.getWx_code()); if (wxInfoData == null) { @@ -205,9 +205,9 @@ public class PublicController { LoginDto g = userService.UserLoginWithMobile(request.getPhone()); return Response.success(g); -// } catch (Exception e) { -// return Response.error(e.getMessage()); -// } + } catch (Exception e) { + return Response.error(e.getMessage()); + } } } diff --git a/src/main/java/com/example/caseData/service/UserCaseReadService.java b/src/main/java/com/example/caseData/service/UserCaseReadService.java index 66cdd89..68d9af1 100644 --- a/src/main/java/com/example/caseData/service/UserCaseReadService.java +++ b/src/main/java/com/example/caseData/service/UserCaseReadService.java @@ -32,6 +32,9 @@ public class UserCaseReadService { @Resource private CaseExchangeDao caseExchangeDao; + @Resource + private StatsCaseClinicalDao statsCaseClinicalDao; + /** * 浏览记录-新增 * @return bool @@ -59,6 +62,7 @@ public class UserCaseReadService { // 文章 if (request.getType() == 1){ caseClinicalArticleDao.inc(Long.valueOf(request.getId()),"read_num",1); + statsCaseClinicalDao.inc(1L,"read_num",1); } // 视频 diff --git a/src/main/java/com/example/caseData/service/UserService.java b/src/main/java/com/example/caseData/service/UserService.java index d014533..4f04c82 100644 --- a/src/main/java/com/example/caseData/service/UserService.java +++ b/src/main/java/com/example/caseData/service/UserService.java @@ -167,10 +167,8 @@ public class UserService { // 修改用户所属医院 if (!Objects.equals(user.getHospitalId(), basicHospital.getHospitalId())){ - UserModel updateUser = new UserModel(); - updateUser.setUserId(user.getUserId()); - updateUser.setHospitalId(basicHospital.getHospitalId()); - userDao.updateById(updateUser); + user.setHospitalId(basicHospital.getHospitalId()); + userDao.updateById(user); } // 获取对应医生数据