封装了统计字段

This commit is contained in:
wucongxing8150 2025-06-18 11:54:39 +08:00
parent 61cef2f2a4
commit 6553531416
5 changed files with 473 additions and 230 deletions

View File

@ -403,137 +403,5 @@ public class CaseClinicalArticleController {
return Response.success(resultMap);
}
/**
* 新增文章的统计字段
* @param articleId 文章id
* @param type 类型1:阅读量 2收藏量 3:评论数
*/
public void IncClinicalArticleStats(String articleId,Integer type){
// 获取文章作者
LambdaQueryWrapper<CaseClinicalArticleAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalArticleAuthorModel::getArticleId, articleId);
List<CaseClinicalArticleAuthorModel> 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<CaseClinicalArticleAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalArticleAuthorModel::getArticleId, articleId);
List<CaseClinicalArticleAuthorModel> 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);
}
}
}
}

View File

@ -79,25 +79,11 @@ public class CaseClinicalArticleService {
return false;
}
// 增加文章收藏数
caseClinicalArticleDao.inc(Long.valueOf(articleId),"collect_num",1);
// 增加文章总收藏数
statsCaseClinicalDao.inc(1L,"article_collect_num",1);
// 获取文章作者
LambdaQueryWrapper<CaseClinicalArticleAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalArticleAuthorModel::getArticleId, articleId);
List<CaseClinicalArticleAuthorModel> caseClinicalArticleAuthors = caseClinicalArticleAuthorDao.selectList(authorQueryWrapper);
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);
// 新增统计字段
boolean r = IncClinicalArticleStats(articleId,2);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
@ -124,25 +110,11 @@ public class CaseClinicalArticleService {
return false;
}
// 减少文章收藏数
caseClinicalArticleDao.dec(Long.valueOf(articleId),"collect_num",1);
// 减少文章总收藏数
statsCaseClinicalDao.dec(1L,"article_collect_num",1);
// 获取文章作者
LambdaQueryWrapper<CaseClinicalArticleAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalArticleAuthorModel::getArticleId, articleId);
List<CaseClinicalArticleAuthorModel> caseClinicalArticleAuthors = caseClinicalArticleAuthorDao.selectList(authorQueryWrapper);
for (CaseClinicalArticleAuthorModel author : caseClinicalArticleAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 减少医院文章收藏数
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),"article_collect_num",1);
// 减少医生文章收藏数
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),"article_collect_num",1);
// 减少文章的统计字段
boolean r = DecClinicalArticleStats(articleId,2);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
@ -192,7 +164,18 @@ public class CaseClinicalArticleService {
}
int res = userCommentClinicalArticleDao.insert(userCommentClinicalArticleData);
return res > 0;
if (res <= 0){
return false;
}
// 新增文章的统计字段
boolean r = IncClinicalArticleStats(articleId,3);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
}
/**
@ -232,6 +215,13 @@ public class CaseClinicalArticleService {
return false;
}
// 减少文章的统计字段
boolean r = DecClinicalArticleStats(String.valueOf(comment.getArticleId()),2);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
}
@ -367,4 +357,145 @@ public class CaseClinicalArticleService {
return isAuthor;
}
/**
* 新增文章的统计字段
* @param articleId 文章id
* @param type 类型1:阅读量 2收藏量 3:评论数
*/
@Transactional
public boolean IncClinicalArticleStats(String articleId,Integer type){
try {
// 获取文章作者
LambdaQueryWrapper<CaseClinicalArticleAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalArticleAuthorModel::getArticleId, articleId);
List<CaseClinicalArticleAuthorModel> 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);
}
}
return true;
} catch (Exception e) {
return false;
}
}
/**
* 减少文章的统计字段
* @param articleId 文章id
* @param type 类型1:阅读量 2收藏量 3:评论数
*/
@Transactional
public boolean DecClinicalArticleStats(String articleId,Integer type){
try {
// 获取文章作者
LambdaQueryWrapper<CaseClinicalArticleAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalArticleAuthorModel::getArticleId, articleId);
List<CaseClinicalArticleAuthorModel> caseClinicalArticleAuthors = caseClinicalArticleAuthorDao.selectList(authorQueryWrapper);
// 阅读量
if (type == 1){
caseClinicalArticleDao.dec(Long.valueOf(articleId),"read_num",1);
statsCaseClinicalDao.dec(1L,"article_read_num",1);
for (CaseClinicalArticleAuthorModel author : caseClinicalArticleAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院文章收藏数
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),"article_read_num",1);
// 增加医生文章收藏数
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),"article_read_num",1);
}
}
// 收藏量
if (type == 2){
caseClinicalArticleDao.dec(Long.valueOf(articleId),"collect_num",1);
statsCaseClinicalDao.dec(1L,"article_collect_num",1);
for (CaseClinicalArticleAuthorModel author : caseClinicalArticleAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院文章收藏数
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),"article_collect_num",1);
// 增加医生文章收藏数
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),"article_collect_num",1);
}
}
// 评论数
if (type == 3){
caseClinicalArticleDao.dec(Long.valueOf(articleId),"comment_num",1);
statsCaseClinicalDao.dec(1L,"article_comment_num",1);
for (CaseClinicalArticleAuthorModel author : caseClinicalArticleAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院文章收藏数
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),"article_comment_num",1);
// 增加医生文章收藏数
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),"article_comment_num",1);
}
}
return true;
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
}
}

View File

@ -73,25 +73,11 @@ public class CaseClinicalVideoService {
return false;
}
// 增加视频收藏数
caseClinicalVideoDao.inc(Long.valueOf(videoId),"collect_num",1);
// 增加视频总收藏数
statsCaseClinicalDao.inc(1L,"video_collect_num",1);
// 获取视频作者
LambdaQueryWrapper<CaseClinicalVideoAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, videoId);
List<CaseClinicalVideoAuthorModel> caseClinicalVideoAuthors = caseClinicalVideoAuthorDao.selectList(authorQueryWrapper);
for (CaseClinicalVideoAuthorModel author : caseClinicalVideoAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院视频收藏数
statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"video_collect_num",1);
// 增加医生视频收藏数
statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"video_collect_num",1);
// 新增统计字段
boolean r = IncClinicalVideoStats(videoId,2);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
@ -118,25 +104,11 @@ public class CaseClinicalVideoService {
return false;
}
// 减少视频收藏数
caseClinicalVideoDao.dec(Long.valueOf(videoId),"collect_num",1);
// 减少视频总收藏数
statsCaseClinicalDao.dec(1L,"video_collect_num",1);
// 获取视频作者
LambdaQueryWrapper<CaseClinicalVideoAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, videoId);
List<CaseClinicalVideoAuthorModel> caseClinicalVideoAuthors = caseClinicalVideoAuthorDao.selectList(authorQueryWrapper);
for (CaseClinicalVideoAuthorModel author : caseClinicalVideoAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 减少医院视频收藏数
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),"video_collect_num",1);
// 减少医生视频收藏数
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),"video_collect_num",1);
// 减少视频的统计字段
boolean r = DecClinicalVideoStats(videoId,2);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
@ -186,7 +158,18 @@ public class CaseClinicalVideoService {
}
int res = userCommentClinicalVideoDao.insert(userCommentClinicalVideoData);
return res > 0;
if (res <= 0){
return false;
}
// 新增文章的统计字段
boolean r = IncClinicalVideoStats(videoId,3);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
}
/**
@ -226,6 +209,13 @@ public class CaseClinicalVideoService {
return false;
}
// 减少文章的统计字段
boolean r = DecClinicalVideoStats(String.valueOf(comment.getVideoId()),2);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
}
@ -361,4 +351,145 @@ public class CaseClinicalVideoService {
return userCollectClinicalVideoDao.selectOne(mapQueryWrapper);
}
/**
* 新增视频的统计字段
* @param videoId 视频id
* @param type 类型1:阅读量 2收藏量 3:评论数
*/
@Transactional
public boolean IncClinicalVideoStats(String videoId,Integer type){
try {
// 获取文章作者
LambdaQueryWrapper<CaseClinicalVideoAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, videoId);
List<CaseClinicalVideoAuthorModel> caseClinicalVideoAuthors = caseClinicalVideoAuthorDao.selectList(authorQueryWrapper);
// 阅读量
if (type == 1){
caseClinicalVideoDao.inc(Long.valueOf(videoId),"read_num",1);
statsCaseClinicalDao.inc(1L,"video_read_num",1);
for (CaseClinicalVideoAuthorModel author : caseClinicalVideoAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院文章收藏数
statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"video_read_num",1);
// 增加医生文章收藏数
statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"video_read_num",1);
}
}
// 收藏量
if (type == 2){
caseClinicalVideoDao.inc(Long.valueOf(videoId),"collect_num",1);
statsCaseClinicalDao.inc(1L,"video_collect_num",1);
for (CaseClinicalVideoAuthorModel author : caseClinicalVideoAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院文章收藏数
statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"video_collect_num",1);
// 增加医生文章收藏数
statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"video_collect_num",1);
}
}
// 评论数
if (type == 3){
caseClinicalVideoDao.inc(Long.valueOf(videoId),"comment_num",1);
statsCaseClinicalDao.inc(1L,"video_comment_num",1);
for (CaseClinicalVideoAuthorModel author : caseClinicalVideoAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院文章收藏数
statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"video_comment_num",1);
// 增加医生文章收藏数
statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"video_comment_num",1);
}
}
return true;
} catch (Exception e) {
return false;
}
}
/**
* 减少视频的统计字段
* @param videoId 文章id
* @param type 类型1:阅读量 2收藏量 3:评论数
*/
@Transactional
public boolean DecClinicalVideoStats(String videoId,Integer type){
try {
// 获取文章作者
LambdaQueryWrapper<CaseClinicalVideoAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, videoId);
List<CaseClinicalVideoAuthorModel> caseClinicalVideoAuthors = caseClinicalVideoAuthorDao.selectList(authorQueryWrapper);
// 阅读量
if (type == 1){
caseClinicalVideoDao.dec(Long.valueOf(videoId),"read_num",1);
statsCaseClinicalDao.dec(1L,"video_read_num",1);
for (CaseClinicalVideoAuthorModel author : caseClinicalVideoAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院文章收藏数
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),"video_read_num",1);
// 增加医生文章收藏数
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),"video_read_num",1);
}
}
// 收藏量
if (type == 2){
caseClinicalVideoDao.dec(Long.valueOf(videoId),"collect_num",1);
statsCaseClinicalDao.dec(1L,"video_collect_num",1);
for (CaseClinicalVideoAuthorModel author : caseClinicalVideoAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院文章收藏数
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),"video_collect_num",1);
// 增加医生文章收藏数
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),"video_collect_num",1);
}
}
// 评论数
if (type == 3){
caseClinicalVideoDao.dec(Long.valueOf(videoId),"comment_num",1);
statsCaseClinicalDao.dec(1L,"video_comment_num",1);
for (CaseClinicalVideoAuthorModel author : caseClinicalVideoAuthors) {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院文章收藏数
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),"video_comment_num",1);
// 增加医生文章收藏数
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),"video_comment_num",1);
}
}
return true;
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
}
}

View File

@ -228,14 +228,12 @@ public class CaseExchangeService {
return false;
}
// 增加病例交流收藏数
caseExchangeDao.inc(Long.valueOf(exchangeId),"collect_num",1);
// 增加病例交流总收藏数
statsCaseExchangeDao.inc(1L,"exchange_collect_num",1);
// 增加用户交流收藏数
statsCaseExchangeUserDao.inc(Long.valueOf(userId),"exchange_collect_num",1);
// 新增统计字段
boolean r = IncCaseExchangeStats(exchangeId,userId,2);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
}
@ -261,14 +259,12 @@ public class CaseExchangeService {
return false;
}
// 减少病例交流收藏数
caseExchangeDao.dec(Long.valueOf(exchangeId),"collect_num",1);
// 减少病例交流总收藏数
statsCaseExchangeDao.dec(1L,"exchange_collect_num",1);
// 减少用户交流收藏数
statsCaseExchangeUserDao.dec(Long.valueOf(userId),"exchange_collect_num",1);
// 减少文章的统计字段
boolean r = DecCaseExchangeStats(exchangeId,userId,2);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
}
@ -317,7 +313,18 @@ public class CaseExchangeService {
}
int res = userCommentExchangeDao.insert(userCommentExchangeData);
return res > 0;
if (res <= 0){
return false;
}
// 新增统计字段
boolean r = IncCaseExchangeStats(exchangeId,userId,2);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
}
/**
@ -356,6 +363,13 @@ public class CaseExchangeService {
return false;
}
// 减少统计字段
boolean r = DecCaseExchangeStats(String.valueOf(comment.getExchangeId()),userId,2);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
}
@ -557,4 +571,87 @@ public class CaseExchangeService {
return true;
}
/**
* 新增病例交流的统计字段
* @param exchangeId id
* @param type 类型1:阅读量 2收藏量 3:评论数
*/
@Transactional
public boolean IncCaseExchangeStats(String exchangeId,String userId,Integer type){
try {
// 阅读量
if (type == 1){
caseExchangeDao.inc(Long.valueOf(exchangeId),"read_num",1);
statsCaseExchangeDao.inc(1L,"exchange_read_num",1);
// 此处无需担心stats_case_exchange_user无数据发布病例时会新增
statsCaseExchangeUserDao.inc(Long.valueOf(userId),"exchange_read_num",1);
}
// 收藏量
if (type == 2){
caseExchangeDao.inc(Long.valueOf(exchangeId),"collect_num",1);
statsCaseExchangeDao.inc(1L,"exchange_collect_num",1);
// 此处无需担心stats_case_exchange_user无数据发布病例时会新增
statsCaseExchangeUserDao.inc(Long.valueOf(userId),"exchange_collect_num",1);
}
// 评论数
if (type == 3){
caseExchangeDao.inc(Long.valueOf(exchangeId),"comment_num",1);
statsCaseExchangeDao.inc(1L,"exchange_comment_num",1);
// 此处无需担心stats_case_exchange_user无数据发布病例时会新增
statsCaseExchangeUserDao.inc(Long.valueOf(userId),"exchange_comment_num",1);
}
return true;
} catch (Exception e) {
return false;
}
}
/**
* 减少文章的统计字段
* @param exchangeId id
* @param type 类型1:阅读量 2收藏量 3:评论数
*/
@Transactional
public boolean DecCaseExchangeStats(String exchangeId,String userId,Integer type){
try {
// 阅读量
if (type == 1){
caseExchangeDao.dec(Long.valueOf(exchangeId),"read_num",1);
statsCaseExchangeDao.dec(1L,"exchange_read_num",1);
// 此处无需担心stats_case_exchange_user无数据发布病例时会新增
statsCaseExchangeUserDao.dec(Long.valueOf(userId),"exchange_read_num",1);
}
// 收藏量
if (type == 2){
caseExchangeDao.inc(Long.valueOf(exchangeId),"collect_num",1);
statsCaseExchangeDao.dec(1L,"exchange_collect_num",1);
// 此处无需担心stats_case_exchange_user无数据发布病例时会新增
statsCaseExchangeUserDao.dec(Long.valueOf(userId),"exchange_collect_num",1);
}
// 评论数
if (type == 3){
caseExchangeDao.inc(Long.valueOf(exchangeId),"comment_num",1);
statsCaseExchangeDao.dec(1L,"exchange_comment_num",1);
// 此处无需担心stats_case_exchange_user无数据发布病例时会新增
statsCaseExchangeUserDao.dec(Long.valueOf(userId),"exchange_comment_num",1);
}
return true;
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
}
}

View File

@ -14,6 +14,7 @@ import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.util.List;
@ -35,6 +36,12 @@ public class UserCaseReadService {
@Resource
private StatsCaseClinicalDao statsCaseClinicalDao;
@Resource
private CaseClinicalArticleService caseClinicalArticleService;
@Resource
private CaseClinicalVideoService caseClinicalVideoService;
/**
* 浏览记录-新增
* @return bool
@ -61,13 +68,22 @@ public class UserCaseReadService {
// 文章
if (request.getType() == 1){
caseClinicalArticleDao.inc(Long.valueOf(request.getId()),"read_num",1);
statsCaseClinicalDao.inc(1L,"read_num",1);
// 新增统计字段
boolean r = caseClinicalArticleService.IncClinicalArticleStats(request.getId(),1);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
}
// 视频
if (request.getType() == 2){
caseClinicalVideoDao.inc(Long.valueOf(request.getId()),"read_num",1);
// 新增统计字段
boolean r = caseClinicalVideoService.IncClinicalVideoStats(request.getId(),1);
if (!r){
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
}
// 病例交流