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.

132 lines
7.0 KiB

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE mapper
  3. PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4. "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.chenhai.system.mapper.SysKnowledgeBaseMapper">
  6. <resultMap type="SysKnowledgeBase" id="SysKnowledgeBaseResult">
  7. <result property="id" column="id" />
  8. <result property="title" column="title" />
  9. <result property="category" column="category" />
  10. <result property="keywords" column="keywords" />
  11. <result property="possibleDiseases" column="possible_diseases" />
  12. <result property="severityLevel" column="severity_level" />
  13. <result property="suggestions" column="suggestions" />
  14. <result property="content" column="content" />
  15. <result property="suitableSpecies" column="suitable_species" />
  16. <result property="viewCount" column="view_count" />
  17. <result property="status" column="status" />
  18. </resultMap>
  19. <sql id="selectSysKnowledgeBaseVo">
  20. select id, title, category, keywords, possible_diseases, severity_level, suggestions, content, suitable_species, view_count, status from sys_knowledge_base
  21. </sql>
  22. <select id="selectSysKnowledgeBaseList" parameterType="SysKnowledgeBase" resultMap="SysKnowledgeBaseResult">
  23. <include refid="selectSysKnowledgeBaseVo"/>
  24. <where>
  25. <if test="title != null and title != ''"> and title = #{title}</if>
  26. <if test="category != null and category != ''"> and category = #{category}</if>
  27. <if test="keywords != null and keywords != ''"> and keywords = #{keywords}</if>
  28. <if test="possibleDiseases != null and possibleDiseases != ''"> and possible_diseases = #{possibleDiseases}</if>
  29. <if test="severityLevel != null and severityLevel != ''"> and severity_level = #{severityLevel}</if>
  30. <if test="suggestions != null and suggestions != ''"> and suggestions = #{suggestions}</if>
  31. <if test="content != null and content != ''"> and content = #{content}</if>
  32. <if test="suitableSpecies != null and suitableSpecies != ''"> and suitable_species = #{suitableSpecies}</if>
  33. <if test="viewCount != null "> and view_count = #{viewCount}</if>
  34. <if test="status != null and status != ''"> and status = #{status}</if>
  35. </where>
  36. </select>
  37. <select id="selectSysKnowledgeBaseById" parameterType="Long" resultMap="SysKnowledgeBaseResult">
  38. <include refid="selectSysKnowledgeBaseVo"/>
  39. where id = #{id}
  40. </select>
  41. <insert id="insertSysKnowledgeBase" parameterType="SysKnowledgeBase" useGeneratedKeys="true" keyProperty="id">
  42. insert into sys_knowledge_base
  43. <trim prefix="(" suffix=")" suffixOverrides=",">
  44. <if test="title != null and title != ''">title,</if>
  45. <if test="category != null and category != ''">category,</if>
  46. <if test="keywords != null">keywords,</if>
  47. <if test="possibleDiseases != null">possible_diseases,</if>
  48. <if test="severityLevel != null">severity_level,</if>
  49. <if test="suggestions != null">suggestions,</if>
  50. <if test="content != null and content != ''">content,</if>
  51. <if test="suitableSpecies != null">suitable_species,</if>
  52. <if test="viewCount != null">view_count,</if>
  53. <if test="status != null">status,</if>
  54. </trim>
  55. <trim prefix="values (" suffix=")" suffixOverrides=",">
  56. <if test="title != null and title != ''">#{title},</if>
  57. <if test="category != null and category != ''">#{category},</if>
  58. <if test="keywords != null">#{keywords},</if>
  59. <if test="possibleDiseases != null">#{possibleDiseases},</if>
  60. <if test="severityLevel != null">#{severityLevel},</if>
  61. <if test="suggestions != null">#{suggestions},</if>
  62. <if test="content != null and content != ''">#{content},</if>
  63. <if test="suitableSpecies != null">#{suitableSpecies},</if>
  64. <if test="viewCount != null">#{viewCount},</if>
  65. <if test="status != null">#{status},</if>
  66. </trim>
  67. </insert>
  68. <update id="updateSysKnowledgeBase" parameterType="SysKnowledgeBase">
  69. update sys_knowledge_base
  70. <trim prefix="SET" suffixOverrides=",">
  71. <if test="title != null and title != ''">title = #{title},</if>
  72. <if test="category != null and category != ''">category = #{category},</if>
  73. <if test="keywords != null">keywords = #{keywords},</if>
  74. <if test="possibleDiseases != null">possible_diseases = #{possibleDiseases},</if>
  75. <if test="severityLevel != null">severity_level = #{severityLevel},</if>
  76. <if test="suggestions != null">suggestions = #{suggestions},</if>
  77. <if test="content != null and content != ''">content = #{content},</if>
  78. <if test="suitableSpecies != null">suitable_species = #{suitableSpecies},</if>
  79. <if test="viewCount != null">view_count = #{viewCount},</if>
  80. <if test="status != null">status = #{status},</if>
  81. </trim>
  82. where id = #{id}
  83. </update>
  84. <delete id="deleteSysKnowledgeBaseById" parameterType="Long">
  85. delete from sys_knowledge_base where id = #{id}
  86. </delete>
  87. <delete id="deleteSysKnowledgeBaseByIds" parameterType="String">
  88. delete from sys_knowledge_base where id in
  89. <foreach item="id" collection="array" open="(" separator="," close=")">
  90. #{id}
  91. </foreach>
  92. </delete>
  93. <!-- 新增:模糊搜索方法 -->
  94. <select id="searchSysKnowledgeBaseByKeyword" parameterType="String" resultMap="SysKnowledgeBaseResult">
  95. <include refid="selectSysKnowledgeBaseVo"/>
  96. <where>
  97. <if test="keyword != null and keyword != ''">
  98. title like concat('%', #{keyword}, '%')
  99. or category like concat('%', #{keyword}, '%')
  100. or keywords like concat('%', #{keyword}, '%')
  101. or possible_diseases like concat('%', #{keyword}, '%')
  102. or suggestions like concat('%', #{keyword}, '%')
  103. or content like concat('%', #{keyword}, '%')
  104. </if>
  105. </where>
  106. order by view_count desc, id desc
  107. </select>
  108. <!-- 新增:多关键词搜索 -->
  109. <select id="searchByKeywords" parameterType="map" resultMap="SysKnowledgeBaseResult">
  110. <include refid="selectSysKnowledgeBaseVo"/>
  111. <where>
  112. <foreach collection="keywords" item="kw" open="(" separator=" OR " close=")">
  113. title like concat('%', #{kw}, '%')
  114. or category like concat('%', #{kw}, '%')
  115. or keywords like concat('%', #{kw}, '%')
  116. or possible_diseases like concat('%', #{kw}, '%')
  117. or suggestions like concat('%', #{kw}, '%')
  118. or content like concat('%', #{kw}, '%')
  119. </foreach>
  120. </where>
  121. order by view_count desc, id desc
  122. </select>
  123. </mapper>