case-data-api/src/main/java/com/example/caseData/dao/CaseExchangeDao.java

53 lines
1.9 KiB
Java

package com.example.caseData.dao;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.caseData.dto.caseClinicalArticle.CaseClinicalArticleDto;
import com.example.caseData.dto.caseExchange.CaseExchangeDto;
import com.example.caseData.model.CaseClinicalArticleModel;
import com.example.caseData.model.CaseExchangeModel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;
import java.util.Map;
@Mapper
public interface CaseExchangeDao extends BaseMapper<CaseExchangeModel> {
/**
* 临床病例库-搜索
* @param page 分页数据
* @param keyword 搜索关键词-标题/医生名称/标签名称
* @param order 排序
*/
IPage<CaseExchangeDto> getCaseExchangeSearchPage(
Page<?> page,
@Param("keyword") String keyword,
@Param("userId") String userId,
@Param("order") Map<String, String> order
);
/**
* Inc 自增
* @param exchangeId 文章 ID
* @param field 字段名称
* @param numeral 增加的数值
* @return 更新的行数
*/
@Update("UPDATE case_exchange SET ${field} = ${field} + #{numeral} WHERE exchange_id = #{exchangeId}")
int inc(@Param("exchangeId") Long exchangeId, @Param("field") String field, @Param("numeral") int numeral);
/**
* Dec 自减
*
* @param exchangeId 文章 ID
* @param field 字段名称
* @param numeral 减少的数值
* @return 更新的行数
*/
@Update("UPDATE case_exchange SET ${field} = ${field} - #{numeral} WHERE exchange_id = #{exchangeId}")
int dec(@Param("exchangeId") Long exchangeId, @Param("field") String field, @Param("numeral") int numeral);
}