<?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.reward.dal.mysql.redeem.RewardRedeemMapper"> <!-- 一般情况下,尽可能使用 Mapper 进行 CRUD 增删改查即可。 无法满足的场景,例如说多表关联查询,才使用 XML 编写 SQL。 代码生成器暂时只生成 Mapper XML 文件本身,更多推荐 MybatisX 快速开发插件来生成查询。 文档可见:https://www.iocoder.cn/MyBatis/x-plugins/ --> <select id="pageInfo" resultType="cn.iocoder.yudao.module.reward.vo.reward.RewardRedeemPageRespVO"> select <include refid="columns"/> from ecw_reward_redeem err left join ecw_reward er on err.reward_id = er.id left join member_user mu on mu.id = err.member_id left join ecw_node en on er.node_id = en.id left join system_user suc on suc.id = er.creator left join system_user suu on suu.id = er.updater left join ecw_currency cc on err.currency = cc.id left join ecw_express ee on err.courier_company = ee.id where 1=1 <include refid="pageCondition"/> order by err.create_time desc limit #{start}, #{size} </select> <select id="pageCount" resultType="java.lang.Integer"> select count(*) from ecw_reward_redeem err left join ecw_reward er on err.reward_id = er.id left join member_user mu on mu.id = err.member_id left join ecw_node en on er.node_id = en.id left join system_user suc on suc.id = er.creator left join system_user suu on suu.id = er.updater left join ecw_express ee on err.courier_company = ee.id where 1=1 <include refid="pageCondition"/> </select> <select id="detail" resultType="cn.iocoder.yudao.module.reward.vo.reward.RewardRedeemPageRespVO"> select mus.hold_score as holdScore, er.points_require as pointsRequire, er.start_time as startTime, er.end_time as endTime, er.img_zh as imgZh, er.img_en as imgEn, er.points_require as oncePointsRequire, <include refid="columns"/> from ecw_reward_redeem err left join ecw_reward er on err.reward_id = er.id left join member_user mu on mu.id = err.member_id left join member_user_score mus on mu.id = mus.member_id left join ecw_node en on er.node_id = en.id left join system_user suc on suc.id = er.creator left join system_user suu on suu.id = er.updater left join ecw_currency cc on err.currency = cc.id left join ecw_express ee on err.courier_company = ee.id where err.id = #{id} </select> <select id="exportList" resultType="cn.iocoder.yudao.module.reward.vo.reward.RewardRedeemPageRespVO"> select <include refid="columns"/> from ecw_reward_redeem err left join ecw_reward er on err.reward_id = er.id left join member_user mu on mu.id = err.member_id left join ecw_node en on er.node_id = en.id left join system_user suc on suc.id = er.creator left join system_user suu on suu.id = er.updater left join ecw_currency cc on err.currency = cc.id left join ecw_express ee on err.courier_company = ee.id where 1=1 <include refid="pageCondition"/> order by er.create_time desc </select> <sql id="columns"> err.id , err.member_id as memberId, err.reward_id as rewardId, err.status, err.reward_count as rewardCount, err.redeem_type as redeemType, err.entrance, err.expenses, err.currency, err.recipient_name as recipientName, err.recipient_phone_num as recipientPhoneNum, err.recipient_address as recipientAddress, err.redeemer, err.redemption_time as redemptionTime, err.courier_company as courierCompany, ee.company_name as courierCompanyName, err.express_no as expressNo, err.express_date as expressDate, err.express_sender as expressSender, err.annex as annex, err.remark as remark, err.create_time as createTime, err.update_time as updateTime, err.creator as creator, err.updater as updater, err.deleted as deleted, err.verify_user as verifyUser, err.verify_time as verifyTime, mu.nickname as memberNameZh, mu.english_name as memberNameEn, er.code as rewardCode, er.title_zh as rewardTitleZh, er.title_en as rewardTitleEn, er.title_fr as rewardTitleFr, en.title_zh as nodeTitleZh, en.title_en as nodeTitleEn, err.score_count as totalCount, suc.username as creatorName, suu.username as updaterName, cc.title_zh as currencyTitleZh, cc.title_en as currencyTitleEn, (select username from system_user where id = er.updater) as updaterName </sql> <sql id="pageCondition"> <if test="req.rewardTitle != null and req.rewardTitle !=''"> and (er.title_zh like '%${req.rewardTitle}%' or er.title_en like '%${req.rewardTitle}%' or er.title_fr like '%${req.rewardTitle}%') </if> <if test="req.memberName != null and req.memberName !=''"> and mu.nickname like '%${req.memberName}%' </if> <if test="req.rewardCode != null and req.rewardCode !=''"> and er.code like '%${req.rewardCode}%' </if> <if test="req.redeemType != null"> and err.redeem_type = #{req.redeemType} </if> <if test="req.status != null"> and err.status = #{req.status} </if> <if test="req.entrance != null"> and err.entrance = #{req.entrance} </if> <if test="req.nodeId != null"> and er.node_id = #{req.nodeId} </if> <if test="req.rewardCount != null and req.rewardCountOperate != null"> <!--1:大于 2:等于 3:小于--> <if test="req.rewardCountOperate == 1"> and err.reward_count > #{req.rewardCount} </if> <if test="req.rewardCountOperate == 2"> and err.reward_count = #{req.rewardCount} </if> <if test="req.rewardCountOperate == 3"> and err.reward_count < #{req.rewardCount} </if> </if> <if test="req.startTime != null "> and err.create_time >= #{req.startTime} </if> <if test="req.endTime != null "> and err.create_time <= #{req.endTime} </if> <if test="req.memberId != null"> and err.member_id = #{req.memberId} </if> </sql> </mapper>