封装了统计字段
This commit is contained in:
parent
61cef2f2a4
commit
6553531416
@ -403,137 +403,5 @@ public class CaseClinicalArticleController {
|
|||||||
return Response.success(resultMap);
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 增加文章收藏数
|
// 新增统计字段
|
||||||
caseClinicalArticleDao.inc(Long.valueOf(articleId),"collect_num",1);
|
boolean r = IncClinicalArticleStats(articleId,2);
|
||||||
|
if (!r){
|
||||||
// 增加文章总收藏数
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
statsCaseClinicalDao.inc(1L,"article_collect_num",1);
|
return false;
|
||||||
|
|
||||||
// 获取文章作者
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -124,25 +110,11 @@ public class CaseClinicalArticleService {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 减少文章收藏数
|
// 减少文章的统计字段
|
||||||
caseClinicalArticleDao.dec(Long.valueOf(articleId),"collect_num",1);
|
boolean r = DecClinicalArticleStats(articleId,2);
|
||||||
|
if (!r){
|
||||||
// 减少文章总收藏数
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
statsCaseClinicalDao.dec(1L,"article_collect_num",1);
|
return false;
|
||||||
|
|
||||||
// 获取文章作者
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -192,7 +164,18 @@ public class CaseClinicalArticleService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int res = userCommentClinicalArticleDao.insert(userCommentClinicalArticleData);
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 减少文章的统计字段
|
||||||
|
boolean r = DecClinicalArticleStats(String.valueOf(comment.getArticleId()),2);
|
||||||
|
if (!r){
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -367,4 +357,145 @@ public class CaseClinicalArticleService {
|
|||||||
|
|
||||||
return isAuthor;
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 增加视频收藏数
|
// 新增统计字段
|
||||||
caseClinicalVideoDao.inc(Long.valueOf(videoId),"collect_num",1);
|
boolean r = IncClinicalVideoStats(videoId,2);
|
||||||
|
if (!r){
|
||||||
// 增加视频总收藏数
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
statsCaseClinicalDao.inc(1L,"video_collect_num",1);
|
return false;
|
||||||
|
|
||||||
// 获取视频作者
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -118,25 +104,11 @@ public class CaseClinicalVideoService {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 减少视频收藏数
|
// 减少视频的统计字段
|
||||||
caseClinicalVideoDao.dec(Long.valueOf(videoId),"collect_num",1);
|
boolean r = DecClinicalVideoStats(videoId,2);
|
||||||
|
if (!r){
|
||||||
// 减少视频总收藏数
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
statsCaseClinicalDao.dec(1L,"video_collect_num",1);
|
return false;
|
||||||
|
|
||||||
// 获取视频作者
|
|
||||||
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);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
@ -186,7 +158,18 @@ public class CaseClinicalVideoService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int res = userCommentClinicalVideoDao.insert(userCommentClinicalVideoData);
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 减少文章的统计字段
|
||||||
|
boolean r = DecClinicalVideoStats(String.valueOf(comment.getVideoId()),2);
|
||||||
|
if (!r){
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -361,4 +351,145 @@ public class CaseClinicalVideoService {
|
|||||||
|
|
||||||
return userCollectClinicalVideoDao.selectOne(mapQueryWrapper);
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 增加病例交流收藏数
|
// 新增统计字段
|
||||||
caseExchangeDao.inc(Long.valueOf(exchangeId),"collect_num",1);
|
boolean r = IncCaseExchangeStats(exchangeId,userId,2);
|
||||||
|
if (!r){
|
||||||
// 增加病例交流总收藏数
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
statsCaseExchangeDao.inc(1L,"exchange_collect_num",1);
|
return false;
|
||||||
|
}
|
||||||
// 增加用户交流收藏数
|
|
||||||
statsCaseExchangeUserDao.inc(Long.valueOf(userId),"exchange_collect_num",1);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -261,14 +259,12 @@ public class CaseExchangeService {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 减少病例交流收藏数
|
// 减少文章的统计字段
|
||||||
caseExchangeDao.dec(Long.valueOf(exchangeId),"collect_num",1);
|
boolean r = DecCaseExchangeStats(exchangeId,userId,2);
|
||||||
|
if (!r){
|
||||||
// 减少病例交流总收藏数
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
statsCaseExchangeDao.dec(1L,"exchange_collect_num",1);
|
return false;
|
||||||
|
}
|
||||||
// 减少用户交流收藏数
|
|
||||||
statsCaseExchangeUserDao.dec(Long.valueOf(userId),"exchange_collect_num",1);
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -317,7 +313,18 @@ public class CaseExchangeService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
int res = userCommentExchangeDao.insert(userCommentExchangeData);
|
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;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 减少统计字段
|
||||||
|
boolean r = DecCaseExchangeStats(String.valueOf(comment.getExchangeId()),userId,2);
|
||||||
|
if (!r){
|
||||||
|
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -557,4 +571,87 @@ public class CaseExchangeService {
|
|||||||
|
|
||||||
return true;
|
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 lombok.extern.slf4j.Slf4j;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -35,6 +36,12 @@ public class UserCaseReadService {
|
|||||||
@Resource
|
@Resource
|
||||||
private StatsCaseClinicalDao statsCaseClinicalDao;
|
private StatsCaseClinicalDao statsCaseClinicalDao;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CaseClinicalArticleService caseClinicalArticleService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private CaseClinicalVideoService caseClinicalVideoService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 浏览记录-新增
|
* 浏览记录-新增
|
||||||
* @return bool
|
* @return bool
|
||||||
@ -61,13 +68,22 @@ public class UserCaseReadService {
|
|||||||
|
|
||||||
// 文章
|
// 文章
|
||||||
if (request.getType() == 1){
|
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){
|
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