时间排序

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 自减 * Dec 自减
* *
* @param articleId 文章 ID * @param hospitalId 文章 ID
* @param field 字段名称 * @param field 字段名称
* @param numeral 减少的数值 * @param numeral 减少的数值
* @return 更新的行数 * @return 更新的行数
@ -45,5 +45,5 @@ public interface StatsCaseClinicalHospitalDao extends BaseMapper<StatsCaseClinic
@Update("UPDATE stats_case_clinical_hospital " + @Update("UPDATE stats_case_clinical_hospital " +
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " + "SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
"WHERE hospital_id = #{hospitalId}") "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") @JsonProperty("article_num")
private String articleNum; // 数量-文章 private String articleNum; // 数量-文章
@JsonProperty("push_date")
private String pushDate; // 发布时间
public Map<String, String> toMap() { public Map<String, String> toMap() {
Map<String, String> map = new HashMap<>(); Map<String, String> map = new HashMap<>();
@ -54,6 +56,10 @@ public class getClinicalLabelSearchPage {
map.put("a.article_num", articleNum); map.put("a.article_num", articleNum);
} }
if (StringUtils.hasText(pushDate)) {
map.put("a.last_push_date", pushDate);
}
// 默认排序如果用户未传递任何排序字段 // 默认排序如果用户未传递任何排序字段
if (map.isEmpty()) { if (map.isEmpty()) {
map.put("a.updated_at", "desc"); map.put("a.updated_at", "desc");

View File

@ -414,10 +414,10 @@ public class CaseClinicalArticleService {
// 查询医生 // 查询医生
CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId()); CaseClinicalDoctorModel caseClinicalDoctor = caseClinicalDoctorDao.selectById(author.getDoctorId());
// 增加医院文章收藏 // 增加医院文章评论
statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"article_comment_num",1); statsCaseClinicalHospitalDao.inc(caseClinicalDoctor.getHospitalId(),"article_comment_num",1);
// 增加医生文章收藏 // 增加医生文章评论
statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"article_comment_num",1); statsCaseClinicalDoctorDao.inc(caseClinicalDoctor.getDoctorId(),"article_comment_num",1);
} }
} }
@ -498,4 +498,60 @@ public class CaseClinicalArticleService {
return false; 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;
}
} }