2026-03-10 14:30:24 +08:00

189 lines
7.7 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="UnivTeacher">
<insert id="insertUnivTeacher" parameterType="UnivTeacher">
INSERT INTO UnivTeacher ( teacherId, schoolId, loginNo, password, truename,
nickname, gender, address, areaId, recognizeCode, cellphone,
telephone, email, status, source )
Values ( #{teacherId}, #{schoolId}, upper(#{loginNo}), #{password}, #{truename},
#{nickname}, #{gender}, #{address}, #{areaId}, #{recognizeCode}, #{cellphone},
#{telephone}, #{email}, #{status}, #{source} )
</insert>
<update id="updateUnivTeacher" parameterType="UnivTeacher">
UPDATE UnivTeacher
SET teacherId = #{teacherId}, schoolId = #{schoolId},
loginNo = upper(#{loginNo}),
truename = #{truename}, nickname = #{nickname},
gender = #{gender}, address = #{address}, areaId = #{areaId},
recognizeCode = #{recognizeCode}, cellphone = #{cellphone},
telephone = #{telephone}, email = #{email}, status = #{status},
source = #{source} , lastSignIn = #{lastSignIn} , jdToken = #{jdToken},
signature = #{signature}
WHERE teacherId=#{teacherId}
</update>
<select id="getUnivTeacherByKey" parameterType="java.lang.Long" resultType="UnivTeacher">
SELECT teacherId , schoolId , loginNo , password , truename , nickname ,
gender , address , areaId , recognizeCode , cellphone , telephone ,
avatar , email , status , source ,signature
FROM UnivTeacher
WHERE teacherId=#{teacherId}
</select>
<select id="getSeqUnivTeacher" resultType="Integer" useCache="false" flushCache="true">
SELECT nextval('seq_UnivteacherId') ;
</select>
<select id="getAllUnivTeacher" resultType="UnivTeacher">
SELECT teacherId , schoolId , loginNo , password , truename ,
nickname , gender , address , areaId , recognizeCode ,
cellphone , telephone , email , status , source ,signature
FROM UnivTeacher
</select>
<insert id="insertUnivTeacherBatch" parameterType="java.util.List">
INSERT INTO UnivTeacher ( teacherId, schoolId, loginNo, password, truename,
nickname, gender, address, areaId, recognizeCode, cellphone,
telephone, email, status, source ) Values
<foreach collection="list" index="index" item="item" separator=",">
( #{item.teacherId}, #{item.schoolId}, upper(#{item.loginNo}),
#{item.password}, #{item.truename}, #{item.nickname},
#{item.gender}, #{item.address}, #{item.areaId},
#{item.recognizeCode}, #{item.cellphone}, #{item.telephone},
#{item.email}, #{item.status}, #{item.source} )
</foreach>
</insert>
<select id="getUnivTeacherByLoginNo" parameterType="java.lang.String" resultType="Teacher">
SELECT teacherId , schoolId , loginNo , password , truename , nickname ,
gender , address , areaId , recognizeCode , cellphone , telephone ,
avatar , email , status , source ,signature
FROM UnivTeacher
WHERE upper(loginNo)=upper(#{_parameter})
</select>
<select id="getUnivTeachersCountByschoolId" parameterType="java.lang.Long" resultType="Integer">
SELECT count(*) as howmuch
FROM UnivTeacher
WHERE schoolId=#{schoolId}
AND status = 1
</select>
<select id="getUnivTeachersBySchoolId" parameterType="java.util.Map" resultType="Teacher">
SELECT teacherId , schoolId , loginNo , password , truename , nickname ,
gender , address , areaId , recognizeCode , cellphone , telephone ,
avatar , email , status , source ,signature
FROM UnivTeacher
WHERE schoolId=#{schoolId} and status = 1
ORDER BY loginNo
<if test="pageSize!=null">
LIMIT #{pageSize}
</if>
<if test="offset!=null">
OFFSET #{offset}
</if>
</select>
<update id="updateUnivTeacherPassword" parameterType="java.util.Map">
UPDATE UnivTeacher
SET password = #{password}
where teacherId =#{teacherId}
</update>
<update id="updateUnivTeacherAvatar" parameterType="java.util.Map">
UPDATE UnivTeacher
SET avatar = #{avatar}
where teacherId =#{teacherId}
</update>
<select id="getUnivSchoolIdByTeacherId" parameterType="long" resultType="Long">
select schoolid
from classes
where classtype = 1 and status = 1
and teacherId = #{uid}
limit 1
</select>
<select id="getUnivTeacherMapByTrueName" parameterType="java.util.HashMap" resultType="java.util.HashMap">
select t.teacherid , t.truename , t.loginno , 0 as classesid ,
'' as classname , s.schoolid , s.schoolname
from Univteacher t
left join Univclasses c
on t.teacherid = c.teacherid
and c.classtype = 1 and c.status =1
left join University s
on s.schoolid = c.schoolId
where t.truename like '%${trueName}%'
group by t.teacherid , t.truename ,t.loginno ,s.schoolid , s.schoolname
order by t.loginno
limit #{pageSize} offset #{offset}
</select>
<select id="getUnivTeacherMapByTrueNameCount" parameterType="String" resultType="Integer">
select count(distinct(t.teacherid))
from Univteacher t
left join Univclasses c
on t.teacherid = c.teacherid
and c.classtype = 1 and c.status =1
left join University s
on s.schoolid = c.schoolId
where t.truename like '%${_parameter}%'
</select>
<select id="getUnivTeacherMapByLoginNo" parameterType="java.util.HashMap" resultType="java.util.HashMap">
select t.teacherid , t.truename , t.loginno , 0 as classesid ,
'' as classname , s.schoolid , s.schoolname
from Univteacher t
left join Univclasses c
on t.teacherid = c.teacherid
and c.classtype = 1 and c.status =1
left join University s
on s.schoolid = t.schoolId
where upper(t.loginno) = upper(#{loginNo})
group by t.teacherid , t.truename ,t.loginno ,s.schoolid , s.schoolname
order by t.loginno
limit #{pageSize} offset #{offset}
</select>
<select id="getUnivTeacherMapByLoginNoCount" parameterType="String" resultType="Integer">
select count(distinct t.teacherid )
from Univteacher t
left join Univclasses c
on t.teacherid = c.teacherid
and c.classtype = 1 and c.status =1
left join University s
on s.schoolid = t.schoolId
where upper(t.loginno) = upper(#{_parameter})
</select>
<select id="getUnivTeacherMapByEmail" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT t.teacherid , t.truename , t.loginno , 0 as classesid ,
'' as classname , s.schoolid , s.schoolname
FROM Univteacher t
LEFT join University s
ON t.schoolid = s.schoolId
WHERE upper( t.email ) = upper( #{email} )
ORDER by t.loginno
LIMIT #{pageSize} OFFSET #{offset}
</select>
<select id="getUnivTeacherMapCountByEmail" parameterType="String" resultType="Integer">
SELECT count(t.teacherid)
FROM Univteacher t
LEFT JOIN University s
ON t.schoolid = s.schoolId
where upper( t.email ) = upper( #{_parameter} )
</select>
<select id="getUnivTeacherByStudentId" parameterType="java.lang.Long" resultType="UnivTeacher">
SELECT teacherId , schoolId , truename , nickname
FROM univTeacher where teacherid=(select teacherid from univclasses c
inner join univstudentownclass s on c.classesid=s.classesid and c.classtype=1 and c.status=1 and s.status=1
and s.studentid=#{studentId})
</select>
</mapper>