2026-03-10 16:40:19 +08:00

116 lines
5.1 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="com._3e.dao.AssignCommDao">
<select id= "getNextSeq" resultType="int">
SELECT NEXTVAL('seq_assignCommId')
</select>
<insert id= "doSave" parameterType="com._3e.entity.AssignComm">
INSERT INTO assignComm(assignCommId,teacherId,assignmentId,toObject,objectId,created,voice,description,status,memo,voicelen)
VALUES (
<if test="assignCommId == 0">
(SELECT NEXTVAL('seq_assignCommId')),
</if>
<if test="assignCommId != 0">
#{assignCommId},
</if>
#{teacherId},#{assignmentId},#{toObject},#{objectId},#{created},#{voice},#{description},#{status},#{memo},#{voicelen})
</insert>
<insert id= "doSaveCustomize" parameterType="com._3e.http.teachercenter.dto.achivement.AssignCommDto">
INSERT INTO assignComm(assignCommId,teacherId,assignmentId,toObject,objectId,created,voice,description,status,memo,voicelen,tier,badge,medias)
VALUES (
<if test="assignCommId == 0">
(SELECT NEXTVAL('seq_assignCommId')),
</if>
<if test="assignCommId != 0">
#{assignCommId},
</if>
#{teacherId},#{assignmentId},#{toObject},#{objectId},#{created},#{voice},#{description},#{status},#{memo},#{voicelen},#{tier},#{badge},#{medias,typeHandler=com._3e.http.wrongbook.typehandler.JSONTypeHandlerPg})
</insert>
<update id= "doUpdate" parameterType="com._3e.entity.AssignComm" >
Update assignComm
<set>
<if test="teacherId != null">teacherId = #{teacherId},</if>
<if test="assignmentId != null">assignmentId = #{assignmentId},</if>
<if test="toObject != null">toObject = #{toObject},</if>
<if test="objectId != null">objectId = #{objectId},</if>
<if test="created != null">created = #{created},</if>
<if test="voice != null">voice = #{voice},</if>
<if test="description != null">description = #{description},</if>
<if test="status != null">status = #{status},</if>
<if test="memo != null">memo = #{memo},</if>
<if test="voicelen != null">voicelen = #{voicelen}</if>
</set>
WHERE assignCommId = #{assignCommId}
</update>
<update id= "doUpdateCustomize" parameterType="com._3e.http.teachercenter.dto.achivement.AssignCommDto" >
Update assignComm
<set>
<if test="teacherId != null">teacherId = #{teacherId},</if>
<if test="assignmentId != null">assignmentId = #{assignmentId},</if>
<if test="toObject != null">toObject = #{toObject},</if>
<if test="objectId != null">objectId = #{objectId},</if>
<if test="created != null">created = #{created},</if>
<if test="voice != null">voice = #{voice},</if>
<if test="description != null">description = #{description},</if>
<if test="status != null">status = #{status},</if>
<if test="memo != null">memo = #{memo},</if>
<if test="voicelen != null">voicelen = #{voicelen},</if>
<if test="tier != null and tier != -1">tier = #{tier},</if>
<if test="badge != null and tier != -1">badge = #{badge},</if>
<if test="medias != null">medias = #{medias,typeHandler=com._3e.http.wrongbook.typehandler.JSONTypeHandlerPg}</if>
</set>
WHERE assignCommId = #{assignCommId}
</update>
<update id="doUpdateTier">
update assignComm set tier= #{tier} where toObject = 1 and assignmentId = #{assignmentId} and objectId = #{objectId}
</update>
<update id="doUpdateBadge">
update assignComm set badge= #{badge} where toObject = 1 and assignmentId = #{assignmentId} and objectId = #{objectId}
</update>
<select id= "getAssignCommByPk" parameterType="int" resultType="com._3e.entity.AssignComm" >
SELECT * FROM assignComm
WHERE assignCommId = #{assignCommId} AND status = 1
</select>
<select id= "getAssignCommByObjectId" parameterType="map" resultType="com._3e.entity.AssignComm" >
select * from assignComm WHERE objectId = #{objectId} AND assignmentId = #{assignmentId}
AND status = 1 AND (description <![CDATA[<>]]> '' OR voice <![CDATA[<>]]> '')
</select>
<select id= "getStudentCommInfo" parameterType="map" resultType="com._3e.entity.AssignComm" >
SELECT *
FROM assignComm
WHERE assignmentId = #{assignmentId} AND status = 1
AND (objectId = #{classesId}
OR objectId = #{studentId} )
ORDER BY created ASC
</select>
<select id= "getAssignCommsByClassesIdWithAssignmentId" parameterType="map" resultType="com._3e.entity.AssignComm" >
SELECT DISTINCT a.objectId, a.toObject
FROM assignComm a
LEFT JOIN studentOwnClass s
ON s.studentId = a.objectId
WHERE a.assignmentId = #{assignmentId} AND a.status = 1
AND (a.objectId = #{objectId}
OR (s.classesId = #{objectId} AND s.status = 1))
AND (a.description <![CDATA[<>]]> '' OR a.voice <![CDATA[<>]]> '' or tier > 0 or badge > 0)
</select>
<select id= "getAssignCommsByObjectId" parameterType="map" resultType="com._3e.entity.AssignComm" >
SELECT *
FROM assignComm
WHERE assignmentId = #{assignmentId} AND status = 1
AND objectId = #{objectId}
ORDER BY created ASC
</select>
<select id= "getLastAssignComm" parameterType="map" resultType="com._3e.entity.AssignComm" >
SELECT *
FROM assignComm
WHERE assignmentId = #{assignmentId} AND status = 1
AND objectId = #{objectId}
ORDER BY created desc limit 1
</select>
</mapper>