数量为0的判断
This commit is contained in:
parent
cbe48f9780
commit
59de0d8ea1
@ -50,6 +50,7 @@ public interface CaseClinicalVideoDao extends BaseMapper<CaseClinicalVideoModel>
|
||||
@Update("UPDATE case_clinical_video SET ${field} = ${field} + #{numeral} WHERE video_id = #{videoId}")
|
||||
int inc(@Param("videoId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
|
||||
|
||||
/**
|
||||
* Dec 自减
|
||||
*
|
||||
@ -58,6 +59,8 @@ public interface CaseClinicalVideoDao extends BaseMapper<CaseClinicalVideoModel>
|
||||
* @param numeral 减少的数值
|
||||
* @return 更新的行数
|
||||
*/
|
||||
@Update("UPDATE case_clinical_video SET ${field} = ${field} - #{numeral} WHERE video_id = #{videoId}")
|
||||
@Update("UPDATE case_clinical_video " +
|
||||
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
|
||||
"WHERE video_id = #{videoId}")
|
||||
int dec(@Param("videoId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
}
|
||||
@ -44,6 +44,8 @@ public interface StatsCaseClinicalLabelDao extends BaseMapper<StatsCaseClinicalL
|
||||
* @param numeral 减少的数值
|
||||
* @return 更新的行数
|
||||
*/
|
||||
@Update("UPDATE stats_case_exchange_label SET ${field} = ${field} - #{numeral} WHERE label_iden = #{labelIdenuserId}")
|
||||
@Update("UPDATE stats_case_exchange_label " +
|
||||
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
|
||||
"WHERE label_iden = #{labelIden}")
|
||||
int dec(@Param("labelIden") Long labelIden, @Param("field") String field, @Param("numeral") int numeral);
|
||||
}
|
||||
|
||||
@ -25,6 +25,8 @@ public interface StatsCaseExchangeDao extends BaseMapper<StatsCaseExchangeModel>
|
||||
* @param numeral 减少的数值
|
||||
* @return 更新的行数
|
||||
*/
|
||||
@Update("UPDATE stats_case_exchange SET ${field} = ${field} - #{numeral} WHERE stats_id = #{statsId}")
|
||||
@Update("UPDATE stats_case_exchange " +
|
||||
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
|
||||
"WHERE stats_id = #{statsId}")
|
||||
int dec(@Param("statsId") Long statsId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
}
|
||||
@ -32,6 +32,8 @@ public interface StatsCaseExchangeUserDao extends BaseMapper<StatsCaseExchangeUs
|
||||
* @param numeral 减少的数值
|
||||
* @return 更新的行数
|
||||
*/
|
||||
@Update("UPDATE stats_case_exchange_user SET ${field} = ${field} - #{numeral} WHERE user_id = #{userId}")
|
||||
@Update("UPDATE stats_case_exchange_user " +
|
||||
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
|
||||
"WHERE user_id = #{userId}")
|
||||
int dec(@Param("userId") Long userId, @Param("field") String field, @Param("numeral") int numeral);
|
||||
}
|
||||
|
||||
@ -436,60 +436,51 @@ public class CaseClinicalArticleService {
|
||||
@Transactional
|
||||
public boolean DecClinicalArticleStats(String articleId,Integer type){
|
||||
try {
|
||||
String caseClinicalArticleField = ""; // 具体文章
|
||||
String statsCaseClinicalField = ""; // 全部文章
|
||||
String statsCaseClinicalHospitalField = ""; // 医院
|
||||
String statsCaseClinicalDoctorField = ""; // 医生
|
||||
|
||||
// 阅读
|
||||
if (type == 1){
|
||||
caseClinicalArticleField = "read_num"; // 具体文章
|
||||
statsCaseClinicalField = "article_read_num"; // 全部文章
|
||||
statsCaseClinicalHospitalField = "article_read_num"; // 医院
|
||||
statsCaseClinicalDoctorField = "article_read_num"; // 医生
|
||||
}
|
||||
|
||||
// 收藏
|
||||
if (type == 2){
|
||||
caseClinicalArticleField = "collect_num"; // 具体文章
|
||||
statsCaseClinicalField = "article_collect_num"; // 全部文章
|
||||
statsCaseClinicalHospitalField = "article_collect_num"; // 医院
|
||||
statsCaseClinicalDoctorField = "article_collect_num"; // 医生
|
||||
}
|
||||
|
||||
// 评论
|
||||
if (type == 3){
|
||||
caseClinicalArticleField = "comment_num"; // 具体文章
|
||||
statsCaseClinicalField = "article_comment_num"; // 全部文章
|
||||
statsCaseClinicalHospitalField = "article_comment_num"; // 医院
|
||||
statsCaseClinicalDoctorField = "article_comment_num"; // 医生
|
||||
}
|
||||
|
||||
caseClinicalArticleDao.dec(Long.valueOf(articleId),caseClinicalArticleField,1);
|
||||
statsCaseClinicalDao.dec(1L,statsCaseClinicalField,1);
|
||||
|
||||
// 获取文章作者
|
||||
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);
|
||||
// 减少医生文章数
|
||||
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),statsCaseClinicalHospitalField,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);
|
||||
}
|
||||
// 减少医生文章数
|
||||
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),statsCaseClinicalDoctorField,1);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@ -15,6 +15,7 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@ -435,60 +436,49 @@ public class CaseClinicalVideoService {
|
||||
@Transactional
|
||||
public boolean DecClinicalVideoStats(String videoId,Integer type){
|
||||
try {
|
||||
String caseClinicalVideoField = ""; // 具体文章
|
||||
String statsCaseClinicalField = ""; // 全部文章
|
||||
String statsCaseClinicalHospitalField = ""; // 医院
|
||||
String statsCaseClinicalDoctorField = ""; // 医生
|
||||
|
||||
// 阅读
|
||||
if (type == 1){
|
||||
caseClinicalVideoField = "read_num"; // 具体文章
|
||||
statsCaseClinicalField = "video_read_num"; // 全部文章
|
||||
statsCaseClinicalHospitalField = "video_read_num"; // 医院
|
||||
statsCaseClinicalDoctorField = "video_read_num"; // 医生
|
||||
}
|
||||
|
||||
// 收藏
|
||||
if (type == 2){
|
||||
caseClinicalVideoField = "collect_num"; // 具体文章
|
||||
statsCaseClinicalField = "video_collect_num"; // 全部文章
|
||||
statsCaseClinicalHospitalField = "video_collect_num"; // 医院
|
||||
statsCaseClinicalDoctorField = "video_collect_num"; // 医生
|
||||
}
|
||||
|
||||
// 评论
|
||||
if (type == 3){
|
||||
caseClinicalVideoField = "comment_num"; // 具体文章
|
||||
statsCaseClinicalField = "video_comment_num"; // 全部文章
|
||||
statsCaseClinicalHospitalField = "video_comment_num"; // 医院
|
||||
statsCaseClinicalDoctorField = "video_comment_num"; // 医生
|
||||
}
|
||||
|
||||
caseClinicalVideoDao.dec(Long.valueOf(videoId),caseClinicalVideoField,1);
|
||||
statsCaseClinicalDao.dec(1L,statsCaseClinicalField,1);
|
||||
|
||||
// 获取文章作者
|
||||
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);
|
||||
}
|
||||
// 获取医院统计数据
|
||||
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),statsCaseClinicalHospitalField,1);
|
||||
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),statsCaseClinicalDoctorField,1);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user