You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
7.0 KiB
133 lines
7.0 KiB
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<!DOCTYPE mapper
|
|
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
|
<mapper namespace="com.chenhai.system.mapper.SysKnowledgeBaseMapper">
|
|
|
|
<resultMap type="SysKnowledgeBase" id="SysKnowledgeBaseResult">
|
|
<result property="id" column="id" />
|
|
<result property="title" column="title" />
|
|
<result property="category" column="category" />
|
|
<result property="keywords" column="keywords" />
|
|
<result property="possibleDiseases" column="possible_diseases" />
|
|
<result property="severityLevel" column="severity_level" />
|
|
<result property="suggestions" column="suggestions" />
|
|
<result property="content" column="content" />
|
|
<result property="suitableSpecies" column="suitable_species" />
|
|
<result property="viewCount" column="view_count" />
|
|
<result property="status" column="status" />
|
|
</resultMap>
|
|
|
|
<sql id="selectSysKnowledgeBaseVo">
|
|
select id, title, category, keywords, possible_diseases, severity_level, suggestions, content, suitable_species, view_count, status from sys_knowledge_base
|
|
</sql>
|
|
|
|
<select id="selectSysKnowledgeBaseList" parameterType="SysKnowledgeBase" resultMap="SysKnowledgeBaseResult">
|
|
<include refid="selectSysKnowledgeBaseVo"/>
|
|
<where>
|
|
<if test="title != null and title != ''"> and title = #{title}</if>
|
|
<if test="category != null and category != ''"> and category = #{category}</if>
|
|
<if test="keywords != null and keywords != ''"> and keywords = #{keywords}</if>
|
|
<if test="possibleDiseases != null and possibleDiseases != ''"> and possible_diseases = #{possibleDiseases}</if>
|
|
<if test="severityLevel != null and severityLevel != ''"> and severity_level = #{severityLevel}</if>
|
|
<if test="suggestions != null and suggestions != ''"> and suggestions = #{suggestions}</if>
|
|
<if test="content != null and content != ''"> and content = #{content}</if>
|
|
<if test="suitableSpecies != null and suitableSpecies != ''"> and suitable_species = #{suitableSpecies}</if>
|
|
<if test="viewCount != null "> and view_count = #{viewCount}</if>
|
|
<if test="status != null and status != ''"> and status = #{status}</if>
|
|
</where>
|
|
</select>
|
|
|
|
<select id="selectSysKnowledgeBaseById" parameterType="Long" resultMap="SysKnowledgeBaseResult">
|
|
<include refid="selectSysKnowledgeBaseVo"/>
|
|
where id = #{id}
|
|
</select>
|
|
|
|
<insert id="insertSysKnowledgeBase" parameterType="SysKnowledgeBase" useGeneratedKeys="true" keyProperty="id">
|
|
insert into sys_knowledge_base
|
|
<trim prefix="(" suffix=")" suffixOverrides=",">
|
|
<if test="title != null and title != ''">title,</if>
|
|
<if test="category != null and category != ''">category,</if>
|
|
<if test="keywords != null">keywords,</if>
|
|
<if test="possibleDiseases != null">possible_diseases,</if>
|
|
<if test="severityLevel != null">severity_level,</if>
|
|
<if test="suggestions != null">suggestions,</if>
|
|
<if test="content != null and content != ''">content,</if>
|
|
<if test="suitableSpecies != null">suitable_species,</if>
|
|
<if test="viewCount != null">view_count,</if>
|
|
<if test="status != null">status,</if>
|
|
</trim>
|
|
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
|
<if test="title != null and title != ''">#{title},</if>
|
|
<if test="category != null and category != ''">#{category},</if>
|
|
<if test="keywords != null">#{keywords},</if>
|
|
<if test="possibleDiseases != null">#{possibleDiseases},</if>
|
|
<if test="severityLevel != null">#{severityLevel},</if>
|
|
<if test="suggestions != null">#{suggestions},</if>
|
|
<if test="content != null and content != ''">#{content},</if>
|
|
<if test="suitableSpecies != null">#{suitableSpecies},</if>
|
|
<if test="viewCount != null">#{viewCount},</if>
|
|
<if test="status != null">#{status},</if>
|
|
</trim>
|
|
</insert>
|
|
|
|
<update id="updateSysKnowledgeBase" parameterType="SysKnowledgeBase">
|
|
update sys_knowledge_base
|
|
<trim prefix="SET" suffixOverrides=",">
|
|
<if test="title != null and title != ''">title = #{title},</if>
|
|
<if test="category != null and category != ''">category = #{category},</if>
|
|
<if test="keywords != null">keywords = #{keywords},</if>
|
|
<if test="possibleDiseases != null">possible_diseases = #{possibleDiseases},</if>
|
|
<if test="severityLevel != null">severity_level = #{severityLevel},</if>
|
|
<if test="suggestions != null">suggestions = #{suggestions},</if>
|
|
<if test="content != null and content != ''">content = #{content},</if>
|
|
<if test="suitableSpecies != null">suitable_species = #{suitableSpecies},</if>
|
|
<if test="viewCount != null">view_count = #{viewCount},</if>
|
|
<if test="status != null">status = #{status},</if>
|
|
</trim>
|
|
where id = #{id}
|
|
</update>
|
|
|
|
<delete id="deleteSysKnowledgeBaseById" parameterType="Long">
|
|
delete from sys_knowledge_base where id = #{id}
|
|
</delete>
|
|
|
|
<delete id="deleteSysKnowledgeBaseByIds" parameterType="String">
|
|
delete from sys_knowledge_base where id in
|
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
</delete>
|
|
|
|
<!-- 新增:模糊搜索方法 -->
|
|
<select id="searchSysKnowledgeBaseByKeyword" parameterType="String" resultMap="SysKnowledgeBaseResult">
|
|
<include refid="selectSysKnowledgeBaseVo"/>
|
|
<where>
|
|
<if test="keyword != null and keyword != ''">
|
|
title like concat('%', #{keyword}, '%')
|
|
or category like concat('%', #{keyword}, '%')
|
|
or keywords like concat('%', #{keyword}, '%')
|
|
or possible_diseases like concat('%', #{keyword}, '%')
|
|
or suggestions like concat('%', #{keyword}, '%')
|
|
or content like concat('%', #{keyword}, '%')
|
|
</if>
|
|
</where>
|
|
order by view_count desc, id desc
|
|
</select>
|
|
|
|
<!-- 新增:多关键词搜索 -->
|
|
<select id="searchByKeywords" parameterType="map" resultMap="SysKnowledgeBaseResult">
|
|
<include refid="selectSysKnowledgeBaseVo"/>
|
|
<where>
|
|
<foreach collection="keywords" item="kw" open="(" separator=" OR " close=")">
|
|
title like concat('%', #{kw}, '%')
|
|
or category like concat('%', #{kw}, '%')
|
|
or keywords like concat('%', #{kw}, '%')
|
|
or possible_diseases like concat('%', #{kw}, '%')
|
|
or suggestions like concat('%', #{kw}, '%')
|
|
or content like concat('%', #{kw}, '%')
|
|
</foreach>
|
|
</where>
|
|
order by view_count desc, id desc
|
|
</select>
|
|
</mapper>
|