89 lines
3.2 KiB
XML
Raw Permalink Normal View History

2026-03-10 14:30:24 +08:00
<?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="GoodsOwnPackage">
<insert id="insertGoodsOwnPackage" parameterType="GoodsOwnPackage">
INSERT INTO GoodsOwnPackage ( goodsId, lessonId, courseType ) Values ( #{goodsId}, #{lessonId}, #{courseType} )
</insert>
<update id="updateGoodsOwnPackage" parameterType="GoodsOwnPackage">
UPDATE GoodsOwnPackage
SET goodsId = #{goodsId}, lessonId = #{lessonId}, courseType = #{courseType}
where goodsId=#{goodsId} and lessonId=#{lessonId} and courseType=#{courseType}
</update>
<select id="getGoodsOwnPackageByKey" parameterType="java.util.Map" resultType="GoodsOwnPackage">
SELECT goodsId , lessonId , courseType
FROM GoodsOwnPackage
WHERE goodsId=#{goodsId} and lessonId=#{lessonId}
AND courseType=#{courseType}
</select>
<select id="getSeqGoodsOwnPackage" resultType="Integer" useCache="false" flushCache="true">
SELECT nextval('seq_goodsOwnPackageId') ;
</select>
<insert id="insertGoodsOwnPackageBatch" parameterType="java.util.List">
INSERT INTO GoodsOwnPackage ( goodsId, lessonId, courseType ) Values
<foreach collection="list" index="index" item="item" separator=",">
( #{item.goodsId}, #{item.lessonId},
#{item.courseType} )
</foreach>
</insert>
<select id="getGoodsOwnPackagesByGoodsId" parameterType="java.lang.Integer" resultType="ResPackage">
SELECT b.lessonId, b.courseType, b.courseCode, b.version,
b.versionNo, b.packagePic , b.packageName , b.packageTitle
FROM GoodsOwnPackage a
INNER JOIN ResPackage b
ON a.lessonId = b.lessonId and a.courseType = b.courseType
WHERE a.goodsId=#{goodsId}
ORDER BY a.lessonId , a.courseType
</select>
<select id="getPackagesByGoodsWillUse" parameterType="java.lang.Integer" resultType="java.util.HashMap">
select b.lessonId , b.courseType , b.courseCode , b.version , b.versionNo ,
b.packagePic , b.packageName , b.packageTitle ,
0 as goodsId
from Lesson a
inner join ResPackage b
on a.lessonId = b.lessonId
where a.parentId = #{lessonId}
</select>
<select id="getPackagesByGoodsWillUseAndGoodsId" parameterType="java.util.HashMap" resultType="java.util.HashMap">
select b.lessonId , b.courseType , b.courseCode , b.version , b.versionNo ,
b.packagePic , b.packageName , b.packageTitle ,
case
when c.goodsId is null then 0
else c.goodsId
end as goodsId
from Lesson a
inner join ResPackage b
on a.lessonId = b.lessonId
left join GoodsOwnPackage c
on b.lessonId = c.lessonId and b.courseType = c.courseType and c.goodsId = #{goodsId}
where a.parentId = #{lessonId}
</select>
<delete id="deleteGoodsOwnPackagesByGoodsId" parameterType="java.lang.Integer">
delete
from GoodsOwnPackage b
where b.goodsId = #{goodsId}
</delete>
</mapper>