时间排序

This commit is contained in:
wucongxing8150 2025-07-17 15:25:53 +08:00
parent 69071077bd
commit d99ecce3a4
3 changed files with 66 additions and 4 deletions

View File

@ -37,7 +37,7 @@ public interface StatsCaseClinicalHospitalDao extends BaseMapper<StatsCaseClinic
/**
* Dec 自减
*
* @param articleId 文章 ID
* @param hospitalId 文章 ID
* @param field 字段名称
* @param numeral 减少的数值
* @return 更新的行数
@ -45,5 +45,5 @@ public interface StatsCaseClinicalHospitalDao extends BaseMapper<StatsCaseClinic
@Update("UPDATE stats_case_clinical_hospital " +
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
"WHERE hospital_id = #{hospitalId}")
int dec(@Param("hospitalId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
int dec(@Param("hospitalId") Long hospitalId, @Param("field") String field, @Param("numeral") int numeral);
}

View File

@ -39,6 +39,8 @@ public class getClinicalLabelSearchPage {
@JsonProperty("article_num")
private String articleNum; // 数量-文章
@JsonProperty("push_date")
private String pushDate; // 发布时间
public Map<String, String> toMap() {
Map<String, String> map = new HashMap<>();
@ -54,6 +56,10 @@ public class getClinicalLabelSearchPage {
map.put("a.article_num", articleNum);
}
if (StringUtils.hasText(pushDate)) {
map.put("a.last_push_date", pushDate);
}
// 默认排序如果用户未传递任何排序字段
if (map.isEmpty()) {
map.put("a.updated_at", "desc");

View File

@ -414,10 +414,10 @@ public class CaseClinicalArticleService {
// 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院文章收藏
// 增加医院文章评论
statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"article_comment_num",1);
// 增加医生文章收藏
// 增加医生文章评论
statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"article_comment_num",1);
}
}
@ -498,4 +498,60 @@ public class CaseClinicalArticleService {
return false;
}
}
/**
* 处理文章所属医院的数量统计
*/
@Transactional
public boolean handleHospitalStat(String doctorId,Long oldHospitalId,String newHospitalId){
try {
// 获取统计表医生数据
LambdaQueryWrapper<StatsCaseClinicalDoctorModel> doctorQueryWrapper = new LambdaQueryWrapper<>();
doctorQueryWrapper.eq(StatsCaseClinicalDoctorModel::getDoctorId, doctorId);
StatsCaseClinicalDoctorModel statsCaseClinicalDoctor = statsCaseClinicalDoctorDao.selectOne(doctorQueryWrapper);
if (statsCaseClinicalDoctor == null){
return true;
}
// 获取旧医院数据
StatsCaseClinicalHospitalModel statsCaseClinicalHospital = statsCaseClinicalHospitalDao.selectById(oldHospitalId);
if (statsCaseClinicalHospital == null){
throw new BusinessException("操作失败");
}
// 减少数-文章
statsCaseClinicalHospitalDao.dec(oldHospitalId,"article_num",statsCaseClinicalDoctor.getArticleNum());
// 减少阅读数-文章
statsCaseClinicalHospitalDao.dec(oldHospitalId,"article_read_num",statsCaseClinicalDoctor.getArticleReadNum());
// 减少收藏数-文章
statsCaseClinicalHospitalDao.dec(oldHospitalId,"article_collect_num",statsCaseClinicalDoctor.getArticleCollectNum());
// 减少评论数-文章
statsCaseClinicalHospitalDao.dec(oldHospitalId,"article_comment_num",statsCaseClinicalDoctor.getArticleCommentNum());
// 减少数-视频
statsCaseClinicalHospitalDao.dec(oldHospitalId,"video_num",statsCaseClinicalDoctor.getVideoNum());
// 减少阅读数-视频
statsCaseClinicalHospitalDao.dec(oldHospitalId,"video_read_num",statsCaseClinicalDoctor.getVideoReadNum());
// 减少收藏数-视频
statsCaseClinicalHospitalDao.dec(oldHospitalId,"video_collect_num",statsCaseClinicalDoctor.getVideoCollectNum());
// 减少评论数-视频
statsCaseClinicalHospitalDao.dec(oldHospitalId,"video_comment_num",statsCaseClinicalDoctor.getVideoCommentNum());
// 最后一篇文章发表时间
} catch (Exception e) {
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
return false;
}
return true;
}
}