66 lines
2.4 KiB
Java
66 lines
2.4 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.caseClinicalVideo.CaseClinicalVideoDto;
|
|
import com.example.caseData.model.CaseClinicalVideoModel;
|
|
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 CaseClinicalVideoDao extends BaseMapper<CaseClinicalVideoModel> {
|
|
/**
|
|
* 临床病例库-搜索
|
|
* @param page 分页数据
|
|
* @param keyword 搜索关键词-标题/医生名称/标签名称
|
|
* @param order 排序
|
|
*/
|
|
IPage<CaseClinicalVideoDto> getCaseClinicalVideoSearchPage(
|
|
Page<?> page,
|
|
@Param("keyword") String keyword,
|
|
@Param("hospitalId") String hospitalId,
|
|
@Param("doctorId") String doctorId,
|
|
@Param("labelIden") String labelIden,
|
|
@Param("order") Map<String, String> order
|
|
);
|
|
|
|
/**
|
|
* 临床病例库-搜索-数量
|
|
* @param keyword 搜索关键词-标题/医生名称/标签名称
|
|
*/
|
|
Long getCaseClinicalVideoSearchCount(
|
|
@Param("keyword") String keyword,
|
|
@Param("hospitalId") String hospitalId,
|
|
@Param("doctorId") String doctorId,
|
|
@Param("labelIden") String labelIden
|
|
);
|
|
|
|
/**
|
|
* Inc 自增
|
|
* @param articleId 文章 ID
|
|
* @param field 字段名称
|
|
* @param numeral 增加的数值
|
|
* @return 更新的行数
|
|
*/
|
|
@Update("UPDATE case_clinical_video SET ${field} = ${field} + #{numeral} WHERE video_id = #{videoId}")
|
|
int inc(@Param("videoId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
|
|
|
|
|
|
/**
|
|
* Dec 自减
|
|
*
|
|
* @param articleId 文章 ID
|
|
* @param field 字段名称
|
|
* @param numeral 减少的数值
|
|
* @return 更新的行数
|
|
*/
|
|
@Update("UPDATE case_clinical_video " +
|
|
"SET ${field} = CASE WHEN ${field} >= #{numeral} THEN ${field} - #{numeral} ELSE 0 END " +
|
|
"WHERE video_id = #{videoId}")
|
|
int dec(@Param("videoId") Long articleId, @Param("field") String field, @Param("numeral") int numeral);
|
|
} |