数量为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}")
|
@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);
|
int inc(@Param("videoId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Dec 自减
|
* Dec 自减
|
||||||
*
|
*
|
||||||
@ -58,6 +59,8 @@ public interface CaseClinicalVideoDao extends BaseMapper<CaseClinicalVideoModel>
|
|||||||
* @param numeral 减少的数值
|
* @param numeral 减少的数值
|
||||||
* @return 更新的行数
|
* @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);
|
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 减少的数值
|
* @param numeral 减少的数值
|
||||||
* @return 更新的行数
|
* @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);
|
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 减少的数值
|
* @param numeral 减少的数值
|
||||||
* @return 更新的行数
|
* @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);
|
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 减少的数值
|
* @param numeral 减少的数值
|
||||||
* @return 更新的行数
|
* @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);
|
int dec(@Param("userId") Long userId, @Param("field") String field, @Param("numeral") int numeral);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -436,60 +436,51 @@ public class CaseClinicalArticleService {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public boolean DecClinicalArticleStats(String articleId,Integer type){
|
public boolean DecClinicalArticleStats(String articleId,Integer type){
|
||||||
try {
|
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<>();
|
LambdaQueryWrapper<CaseClinicalArticleAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
authorQueryWrapper.eq(CaseClinicalArticleAuthorModel::getArticleId, articleId);
|
authorQueryWrapper.eq(CaseClinicalArticleAuthorModel::getArticleId, articleId);
|
||||||
List<CaseClinicalArticleAuthorModel> caseClinicalArticleAuthors = caseClinicalArticleAuthorDao.selectList(authorQueryWrapper);
|
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) {
|
for (CaseClinicalArticleAuthorModel author : caseClinicalArticleAuthors) {
|
||||||
// 查询医生
|
// 查询医生
|
||||||
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
|
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);
|
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),statsCaseClinicalDoctorField,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;
|
return true;
|
||||||
|
|||||||
@ -15,6 +15,7 @@ import org.springframework.stereotype.Service;
|
|||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
import org.springframework.transaction.interceptor.TransactionAspectSupport;
|
||||||
|
|
||||||
|
import java.lang.reflect.Field;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
@ -435,60 +436,49 @@ public class CaseClinicalVideoService {
|
|||||||
@Transactional
|
@Transactional
|
||||||
public boolean DecClinicalVideoStats(String videoId,Integer type){
|
public boolean DecClinicalVideoStats(String videoId,Integer type){
|
||||||
try {
|
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<>();
|
LambdaQueryWrapper<CaseClinicalVideoAuthorModel> authorQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, videoId);
|
authorQueryWrapper.eq(CaseClinicalVideoAuthorModel::getVideoId, videoId);
|
||||||
List<CaseClinicalVideoAuthorModel> caseClinicalVideoAuthors = caseClinicalVideoAuthorDao.selectList(authorQueryWrapper);
|
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) {
|
for (CaseClinicalVideoAuthorModel author : caseClinicalVideoAuthors) {
|
||||||
// 查询医生
|
// 查询医生
|
||||||
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
|
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
|
||||||
|
|
||||||
// 增加医院文章收藏数
|
// 获取医院统计数据
|
||||||
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),"video_read_num",1);
|
statsCaseClinicalHospitalDao.dec(caseClinicalDoctor.getHospitalId(),statsCaseClinicalHospitalField,1);
|
||||||
|
statsCaseClinicalDoctorDao.dec(caseClinicalDoctor.getDoctorId(),statsCaseClinicalDoctorField,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;
|
return true;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user