lanan-system/dl-module-inspection/src/main/resources/mapper/inspection/ProjectRoyaltyMapper.xml

42 lines
2.0 KiB
XML
Raw Normal View History

2024-11-07 14:53:07 +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="cn.iocoder.yudao.module.inspection.mapper.ProjectRoyaltyMapper">
<!--
一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。
无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。
代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。
文档可见https://www.iocoder.cn/MyBatis/x-plugins/
-->
<insert id="insertBatch">
INSERT INTO inspection_project_royalty (project_id, goods_id, royalty_amount, deleted, create_time) VALUES
<foreach collection="createReq" item="item" separator=",">
(#{item.projectId},#{item.goodsId},#{item.royaltyAmount},0, NOW())
</foreach>
</insert>
<update id="updtaBatch">
UPDATE inspection_project_royalty
SET royalty_amount =
CASE
<foreach collection="list" item="item" index="index">
WHEN id = #{item.id} THEN #{item.royaltyAmount}
</foreach>
ELSE royalty_amount
END
WHERE id IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.id}
</foreach>
</update>
<delete id="deleteByProjectId" parameterType="java.lang.String">
UPDATE inspection_project_royalty SET deleted = 1 WHERE project_id = #{projectId}
</delete>
<select id="selectListByProjrctId" resultType="cn.iocoder.yudao.module.inspection.entity.ProjectRoyalty"
parameterType="java.lang.String">
SELECT ir.royalty_amount / 100 royaltyAmount, goods.title title, ir.id id, goods.id goodsId
FROM inspection_project_royalty ir
LEFT JOIN shop_inspection_goods goods ON goods.id = ir.goods_id
WHERE ir.project_id = #{projectId}
</select>
</mapper>