32 lines
1.2 KiB
Java
32 lines
1.2 KiB
Java
package com.example.caseData.dao;
|
|
|
|
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
|
import com.example.caseData.model.StatsCaseClinicalModel;
|
|
import com.example.caseData.model.StatsCaseExchangeModel;
|
|
import org.apache.ibatis.annotations.Param;
|
|
import org.apache.ibatis.annotations.Update;
|
|
|
|
public interface StatsCaseExchangeDao extends BaseMapper<StatsCaseExchangeModel> {
|
|
/**
|
|
* Inc 自增
|
|
* @param statsId 文章 ID
|
|
* @param field 字段名称
|
|
* @param numeral 增加的数值
|
|
* @return 更新的行数
|
|
*/
|
|
@Update("UPDATE stats_case_exchange SET ${field} = ${field} + #{numeral} WHERE stats_id = #{statsId}")
|
|
int inc(@Param("statsId") Long statsId, @Param("field") String field, @Param("numeral") int numeral);
|
|
|
|
/**
|
|
* Dec 自减
|
|
*
|
|
* @param statsId 文章 ID
|
|
* @param field 字段名称
|
|
* @param numeral 减少的数值
|
|
* @return 更新的行数
|
|
*/
|
|
@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);
|
|
} |