203 lines
7.9 KiB
XML
203 lines
7.9 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.LessonDao">
|
||
|
|
<select id= "findGoodBooks" parameterType="int" resultType="com._3e.entity.Lesson" >
|
||
|
|
SELECT * FROM Lesson
|
||
|
|
WHERE parentid = #{parentid} and status = 1
|
||
|
|
ORDER BY orderid ASC
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id= "findBookByID" parameterType="int" resultType="com._3e.entity.Lesson" >
|
||
|
|
SELECT * FROM Lesson
|
||
|
|
WHERE lessonid = #{lessonid} and status = 1
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id= "findUnitsByBookID" parameterType="int" resultType="com._3e.entity.Lesson" >
|
||
|
|
SELECT * FROM Lesson
|
||
|
|
WHERE parentid = #{parentid} and status = 1
|
||
|
|
ORDER BY orderid ASC
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id= "findBookLessonsByBookID" parameterType="int" resultType="com._3e.entity.Lesson" >
|
||
|
|
SELECT a.* FROM Lesson a
|
||
|
|
INNER JOIN Lesson b on a.parentId = b.lessonId
|
||
|
|
WHERE b.parentId =#{bookid} and a.status = 1
|
||
|
|
order by orderid asc
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id= "findUnitLessonsByUnitID" parameterType="int" resultType="com._3e.entity.Lesson" >
|
||
|
|
SELECT * FROM Lesson
|
||
|
|
WHERE parentid = #{parentid} and status = 1
|
||
|
|
ORDER BY orderid ASC
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id= "findLessonByLessonID" parameterType="int" resultType="com._3e.entity.Lesson" >
|
||
|
|
SELECT * FROM Lesson
|
||
|
|
WHERE lessonid = #{lessonid} and status = 1
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id= "findLessonByLessonIDS" parameterType="list" resultType="com._3e.entity.Lesson" >
|
||
|
|
SELECT * FROM Lesson
|
||
|
|
WHERE lessonid in
|
||
|
|
<foreach item="lessonid" index="index" collection="list"
|
||
|
|
open="(" separator="," close=")">
|
||
|
|
#{lessonid}
|
||
|
|
</foreach>
|
||
|
|
and status = 1
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id= "findBookByLessonIDS" parameterType="list" resultType="java.lang.Object" >
|
||
|
|
SELECT A.lessonid, A.lessonname,A.lessontype, b.lessonid as unitid,
|
||
|
|
b.lessonname as unitname, C .lessonid as bookid, C.lessonname as bookname
|
||
|
|
FROM ( SELECT * FROM lesson WHERE lessontype != 'C' ) A
|
||
|
|
LEFT JOIN ( SELECT * FROM lesson WHERE lessontype != 'C' ) b ON A .parentid = b.lessonid
|
||
|
|
LEFT JOIN ( SELECT * FROM lesson WHERE lessontype != 'C' ) C ON b.parentid = C .lessonid
|
||
|
|
where a.lessonid in
|
||
|
|
<foreach item="lessonid" index="index" collection="list"
|
||
|
|
open="(" separator="," close=")">
|
||
|
|
#{lessonid}
|
||
|
|
</foreach>
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id= "findBookIdByLessonID" parameterType="int" resultType="com._3e.entity.Lesson" >
|
||
|
|
SELECT C.lessonid
|
||
|
|
FROM ( SELECT * FROM lesson WHERE lessontype != 'C' ) A
|
||
|
|
LEFT JOIN ( SELECT * FROM lesson WHERE lessontype != 'C' ) b ON A .parentid = b.lessonid and A.status=1
|
||
|
|
LEFT JOIN ( SELECT * FROM lesson WHERE lessontype != 'C' ) C ON b.parentid = C .lessonid and b.status =1 and c.status =1
|
||
|
|
where a.lessonid = #{lessonId}
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id= "findUnitWordsByUnitID" parameterType="int" resultType="com._3e.entity.Words" >
|
||
|
|
SELECT * FROM words
|
||
|
|
WHERE lessonid = #{lessonid}
|
||
|
|
ORDER BY content ASC
|
||
|
|
</select>
|
||
|
|
<!-- 取出结果后去外层组装Map -->
|
||
|
|
<select id= "findUnitLessByLessonID" parameterType="int" resultType="com._3e.entity.Lesson" >
|
||
|
|
select B.* from lesson B
|
||
|
|
where EXISTS(
|
||
|
|
SELECT C.lessonid
|
||
|
|
from lesson C
|
||
|
|
where C.parentid = #{parentid} and C.status = 1 and B.parentid = C.lessonid
|
||
|
|
)
|
||
|
|
and B.status = 1
|
||
|
|
order by parentid,orderid
|
||
|
|
</select>
|
||
|
|
<!-- 同上 -->
|
||
|
|
<select id= "findRolesByLessonID" parameterType="int" resultType="com._3e.entity.LessonRole" >
|
||
|
|
SELECT * FROM lessonrole A
|
||
|
|
where EXISTS (
|
||
|
|
select B.lessonid from lesson B
|
||
|
|
where EXISTS(
|
||
|
|
SELECT C.lessonid from lesson C
|
||
|
|
where C.parentid = #{parentid} and C.status = 1 and B.parentid = C.lessonid
|
||
|
|
)
|
||
|
|
and B.status = 1 and A.lessonid = B.lessonid
|
||
|
|
)
|
||
|
|
ORDER BY A.lessonid
|
||
|
|
</select>
|
||
|
|
<!-- 同上 -->
|
||
|
|
<select id= "findPartsByLessonID" parameterType="int" resultType="com._3e.entity.LessonPart" >
|
||
|
|
SELECT * FROM lessonpart A
|
||
|
|
where EXISTS (
|
||
|
|
select B.lessonid from lesson B
|
||
|
|
where EXISTS(
|
||
|
|
SELECT C.lessonid from lesson C
|
||
|
|
where C.parentid = #{parentid} and C.status = 1 and B.parentid = C.lessonid
|
||
|
|
)
|
||
|
|
and B.status = 1 and A.lessonid = B.lessonid
|
||
|
|
)
|
||
|
|
ORDER BY A.lessonid,A.orderid
|
||
|
|
</select>
|
||
|
|
<!-- 通上 -->
|
||
|
|
<select id= "findSentencesByLessonID" parameterType="int" resultType="com._3e.entity.Sentence" >
|
||
|
|
SELECT * FROM sentence Z
|
||
|
|
where EXISTS(
|
||
|
|
SELECT * FROM lessonpart A
|
||
|
|
where EXISTS (
|
||
|
|
select B.lessonid from lesson B
|
||
|
|
where EXISTS(
|
||
|
|
SELECT C.lessonid from lesson C
|
||
|
|
where C.parentid = #{parentid} and C.status = 1 and B.parentid = C.lessonid
|
||
|
|
)
|
||
|
|
and B.status = 1 and A.lessonid = B.lessonid
|
||
|
|
) and status = 1 and Z.lessonpartid = A.lessonpartid
|
||
|
|
)
|
||
|
|
order by Z.lessonpartid ,Z.orderid
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id= "findAllLessonPack" resultType="com._3e.entity.ResPackage" >
|
||
|
|
SELECT * FROM resPackage
|
||
|
|
WHERE packagename != ''
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<resultMap id="UnitUrlMap" type="com._3e.http.achivement.dto._3EResUnitUrl">
|
||
|
|
<result column="unitId" property="unitId"></result>
|
||
|
|
<result column="unitName" property="unitName"></result>
|
||
|
|
<result column="unitUrl" property="unitUrl"></result>
|
||
|
|
<collection property="lessons" ofType="com._3e.http.achivement.dto.LessonUrl">
|
||
|
|
<result column="lessonid" property="lessonId"></result>
|
||
|
|
<result column="lessonname" property="lessonName"></result>
|
||
|
|
<result column="lessonUrl" property="lessonUrl"></result>
|
||
|
|
</collection>
|
||
|
|
</resultMap>
|
||
|
|
<select id= "findUnitUrlByLessonId" resultMap="UnitUrlMap" >
|
||
|
|
select u.lessonid unitId,u.lessonname unitName,u.url unitUrl,l.lessonid,l.lessonname,l.url lessonUrl
|
||
|
|
from lesson u INNER JOIN lesson l on u.lessonid = l.parentid
|
||
|
|
where u.parentid = #{lessonid} and u.status = 1 and l.status = 1 ORDER BY u.orderid,l.orderid
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<resultMap id="UnitUrlMapV2" type="com._3e.http.achivement.dto._3EResUnitUrlV2">
|
||
|
|
<id property="unitId" column="unitId"/>
|
||
|
|
<result property="unitName" column="unitName"/>
|
||
|
|
<result property="unitUrl" column="unitUrl"/>
|
||
|
|
<result property="orderId" column="orderId"/>
|
||
|
|
<collection property="lessons" ofType="com._3e.http.achivement.dto.LessonUrlV2" resultMap="lessonMapV2"/>
|
||
|
|
</resultMap>
|
||
|
|
|
||
|
|
<resultMap id="lessonMapV2" type="com._3e.http.achivement.dto.LessonUrlV2">
|
||
|
|
<id property="lessonId" column="lessonId"/>
|
||
|
|
<result property="lessonName" column="lessonName"/>
|
||
|
|
<result property="lessonUrl" column="lessonUrl"/>
|
||
|
|
<result property="orderId" column="orderId"/>
|
||
|
|
<collection property="lessonParts" ofType="com._3e.http.achivement.dto.LessonPartUrlV2" resultMap="lessonPartMapV2"/>
|
||
|
|
</resultMap>
|
||
|
|
|
||
|
|
<resultMap id="lessonPartMapV2" type="com._3e.http.achivement.dto.LessonPartUrlV2">
|
||
|
|
<id property="lessonPartId" column="lessonPartId"/>
|
||
|
|
<result property="lessonPartName" column="lessonPartName"/>
|
||
|
|
<result property="orderId" column="orderId"/>
|
||
|
|
<collection property="sentences" ofType="com._3e.http.achivement.dto.SentenceUrlV2" resultMap="sentenceMapV2"/>
|
||
|
|
</resultMap>
|
||
|
|
|
||
|
|
<resultMap id="sentenceMapV2" type="com._3e.http.achivement.dto.SentenceUrlV2">
|
||
|
|
<id property="sentenceId" column="sentenceId"/>
|
||
|
|
<result property="content" column="content"/>
|
||
|
|
<result property="translate" column="translate"/>
|
||
|
|
<result property="url" column="url"/>
|
||
|
|
<result property="orderId" column="orderId"/>
|
||
|
|
</resultMap>
|
||
|
|
<select id= "findUnitUrlByLessonIdV2" resultMap="UnitUrlMapV2" >
|
||
|
|
SELECT
|
||
|
|
u.lessonid unitId,u.lessonname unitName,u.url unitUrl,u.orderId,
|
||
|
|
l.lessonid lessonId,l.lessonname lessonName,l.url lessonUrl,l.orderId,
|
||
|
|
lp.lessonpartid lessonPartId,lp.title lessonPartName,lp.orderId,
|
||
|
|
s.sentenceid sentenceId,s.content,s.translate,s.url,s.orderId
|
||
|
|
FROM lesson u
|
||
|
|
INNER JOIN lesson l ON u.lessonid = l.parentid AND l.status = 1
|
||
|
|
left JOIN lessonpart lp ON l.lessonid = lp.lessonid AND lp.status = 1
|
||
|
|
left JOIN sentence s ON lp.lessonpartid = s.lessonpartid AND s.status = 1
|
||
|
|
WHERE u.parentid = #{lessonid}
|
||
|
|
AND u.status = 1
|
||
|
|
ORDER BY u.orderid, l.orderid, lp.orderid, s.orderid
|
||
|
|
</select>
|
||
|
|
|
||
|
|
<select id= "findUnitWordUrlByLessonId" resultType="com._3e.http.achivement.dto._3EResUnitUrl" >
|
||
|
|
select u.lessonid unitId,u.lessonname unitName,u.url unitUrl
|
||
|
|
from lesson u
|
||
|
|
where u.parentid = #{lessonid} and u.status = 1 ORDER BY u.orderid
|
||
|
|
</select>
|
||
|
|
</mapper>
|