封装了统计字段
This commit is contained in:
parent
61cef2f2a4
commit
6553531416
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
// 病例交流
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user