diff --git a/src/main/java/com/example/caseData/dao/CaseClinicalArticleDao.java b/src/main/java/com/example/caseData/dao/CaseClinicalArticleDao.java index c4b8787..a3bf51c 100644 --- a/src/main/java/com/example/caseData/dao/CaseClinicalArticleDao.java +++ b/src/main/java/com/example/caseData/dao/CaseClinicalArticleDao.java @@ -45,6 +45,8 @@ public interface CaseClinicalArticleDao extends BaseMapper= #{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); } \ No newline at end of file diff --git a/src/main/java/com/example/caseData/dao/StatsCaseClinicalDao.java b/src/main/java/com/example/caseData/dao/StatsCaseClinicalDao.java index c3d18df..2a63f5e 100644 --- a/src/main/java/com/example/caseData/dao/StatsCaseClinicalDao.java +++ b/src/main/java/com/example/caseData/dao/StatsCaseClinicalDao.java @@ -24,6 +24,8 @@ public interface StatsCaseClinicalDao extends BaseMapper * @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); } \ No newline at end of file diff --git a/src/main/java/com/example/caseData/dao/StatsCaseClinicalDoctorDao.java b/src/main/java/com/example/caseData/dao/StatsCaseClinicalDoctorDao.java index 6e82dec..80a34c9 100644 --- a/src/main/java/com/example/caseData/dao/StatsCaseClinicalDoctorDao.java +++ b/src/main/java/com/example/caseData/dao/StatsCaseClinicalDoctorDao.java @@ -42,6 +42,8 @@ public interface StatsCaseClinicalDoctorDao extends BaseMapper= #{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); } \ No newline at end of file diff --git a/src/main/java/com/example/caseData/dao/StatsCaseClinicalHospitalDao.java b/src/main/java/com/example/caseData/dao/StatsCaseClinicalHospitalDao.java index a8b95bb..ccfa94a 100644 --- a/src/main/java/com/example/caseData/dao/StatsCaseClinicalHospitalDao.java +++ b/src/main/java/com/example/caseData/dao/StatsCaseClinicalHospitalDao.java @@ -42,6 +42,8 @@ public interface StatsCaseClinicalHospitalDao extends BaseMapper= #{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); } \ No newline at end of file