wg-basic/module-examine/src/main/resources/mybatis/mapper/paper/paper-question-mapper.xml

87 lines
3.0 KiB
XML

<?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="ink.wgink.module.examine.dao.paper.IPaperQuestionDao">
<resultMap id="paperDTO" type="ink.wgink.module.examine.pojo.dtos.paper.PaperQuestionDTO">
<id column="paper_id" property="paperId"/>
<result column="paper_name" property="paperName"/>
</resultMap>
<resultMap id="paperQuestionPO" type="ink.wgink.module.examine.pojo.pos.paper.PaperQuestionPO">
<id column="paper_question_id" property="paperQuestionId"/>
<result column="paper_id" property="paperId"/>
<result column="question_id" property="questionId"/>
</resultMap>
<!-- 建表 -->
<update id="createTable">
CREATE TABLE IF NOT EXISTS `exam_paper_question` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增主键',
`paper_question_id` char(36) NOT NULL COMMENT '主键',
`paper_id` char(36) DEFAULT NULL COMMENT '试卷ID',
`question_id` varchar(255) DEFAULT NULL COMMENT '试题ID',
`question_sort` varchar(255) DEFAULT 'ZZZ-000' COMMENT '试题排序'
PRIMARY KEY (`id`,`paper_question_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
</update>
<!-- 新增试卷 -->
<insert id="save" parameterType="map">
INSERT INTO exam_paper_question(
paper_question_id,
paper_id,
question_id,
question_sort
) VALUES(
#{paperQuestionId},
#{paperId},
#{questionId},
#{questionSort}
)
</insert>
<!-- 删除试卷(物理) -->
<delete id="delete" parameterType="map">
DELETE FROM
exam_paper_question
WHERE
paper_id IN
<foreach collection="paperIds" index="index" open="(" separator="," close=")">
#{paperIds[${index}]}
</foreach>
</delete>
<!-- 修改试题排序 -->
<update id="updateQuestionSort" parameterType="map">
UPDATE
exam_paper_question
SET
question_sort = #{questionSort}
WHERE
paper_question_id = #{paperQuestionId}
</update>
<!-- 试卷试题列表 -->
<select id="listPO" parameterType="map" resultMap="paperQuestionPO">
SELECT
paper_question_id,
paper_id,
question_id,
question_sort
FROM
exam_paper_question
<where>
<if test="paperId != null and paperId != ''">
paper_id = #{paperId}
</if>
<if test="paperIds != null and paperIds.size > 0">
AND
paper_id IN
<foreach collection="paperIds" index="index" open="(" separator="," close=")">
#{paperIds[${index}]}
</foreach>
</if>
</where>
</select>
</mapper>