修正了dec inc的字段小于0的问题

This commit is contained in:
wucongxing8150 2025-06-06 09:37:35 +08:00
parent 6380b06140
commit a0b70e5029
4 changed files with 12 additions and 4 deletions

View File

@ -45,6 +45,8 @@ public interface CaseClinicalArticleDao extends BaseMapper<CaseClinicalArticleMo
* @param numeral 减少的数值
* @return 更新的行数
*/
@Update("UPDATE case_clinical_article SET ${field} = ${field} - #{numeral} WHERE article_id = #{articleId}")
@Update("UPDATE case_clinical_article " +
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
"WHERE article_id = #{articleId}")
int dec(@Param("articleId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
}

View File

@ -24,6 +24,8 @@ public interface StatsCaseClinicalDao extends BaseMapper<StatsCaseClinicalModel>
* @param numeral 减少的数值
* @return 更新的行数
*/
@Update("UPDATE stats_case_clinical SET ${field} = ${field} - #{numeral} WHERE stats_id = #{statsId}")
@Update("UPDATE stats_case_clinical " +
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
"WHERE stats_id = #{statsId}")
int dec(@Param("statsId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
}

View File

@ -42,6 +42,8 @@ public interface StatsCaseClinicalDoctorDao extends BaseMapper<StatsCaseClinical
* @param numeral 减少的数值
* @return 更新的行数
*/
@Update("UPDATE stats_case_clinical_doctor SET ${field} = ${field} - #{numeral} WHERE doctor_id = #{doctorId}")
@Update("UPDATE stats_case_clinical_doctor " +
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
"WHERE doctor_id = #{doctorId}")
int dec(@Param("doctorId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
}

View File

@ -42,6 +42,8 @@ public interface StatsCaseClinicalHospitalDao extends BaseMapper<StatsCaseClinic
* @param numeral 减少的数值
* @return 更新的行数
*/
@Update("UPDATE stats_case_clinical_hospital SET ${field} = ${field} - #{numeral} WHERE hospital_id = #{hospitalId}")
@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);
}