83 lines
3.6 KiB
XML
83 lines
3.6 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.hzs.bonus.detail.mapper.CuMemberAwardsMapper">
|
|
|
|
<!-- 通用查询映射结果 -->
|
|
<resultMap id="CuMemberAwards" type="com.hzs.common.domain.member.detail.CuMemberAwards">
|
|
<id column="PK_ID" property="pkId" />
|
|
<result column="PK_MEMBER" property="pkMember" />
|
|
<result column="PERIOD" property="period" />
|
|
<result column="UP_TYPE" property="upType" />
|
|
<result column="OLD_LEVEL" property="oldLevel" />
|
|
<result column="NEW_LEVEL" property="newLevel" />
|
|
<result column="PURCHASE_STATUS" property="purchaseStatus" />
|
|
<result column="PK_ORDER" property="pkOrder" />
|
|
<result column="REMARK" property="remark" />
|
|
<result column="DEL_FLAG" property="delFlag" />
|
|
<result column="CREATION_TIME" property="creationTime" />
|
|
<result column="MODIFIED_TIME" property="modifiedTime" />
|
|
<result column="PK_COUNTRY" property="pkCountry" />
|
|
<result column="PK_CREATOR" property="pkCreator" />
|
|
<result column="PK_MODIFIED" property="pkModified" />
|
|
</resultMap>
|
|
|
|
<insert id="saveBatchCuMemberAwards">
|
|
insert ALL
|
|
<foreach item="item" index="index" collection="cuMemberAwardsList" separator=" ">
|
|
into cu_member_awards(
|
|
pk_member, period, up_type, old_level, new_level,
|
|
purchase_status, pk_creator, pk_country
|
|
)
|
|
values (
|
|
#{item.pkMember}, #{item.period}, #{item.upType}, #{item.oldLevel}, #{item.newLevel},
|
|
#{item.purchaseStatus}, #{item.pkCreator}, #{item.pkCountry}
|
|
)
|
|
</foreach>
|
|
SELECT 1 FROM dual
|
|
</insert>
|
|
|
|
<update id="updateBatchCuMemberAwards">
|
|
update cu_member_awards set del_flag = 1, modified_time = sysdate, PK_MODIFIED = 1
|
|
where period= #{period} and pk_member in
|
|
<foreach collection="cuMemberAwardsList" item="item" open="(" close=")" separator=",">
|
|
#{item.pkMember}
|
|
</foreach>
|
|
</update>
|
|
|
|
<update id="updateCuMemberAwardsExamine">
|
|
merge into cu_member_settle_awards a
|
|
using (
|
|
select ca.pk_member, ca.period, ce.assess_target, ce.assess_status
|
|
from cu_member_settle_awards ca
|
|
inner join ${assessTableName} ce
|
|
on ca.pk_member = ce.pk_member
|
|
where ca.period = #{awardPeriod}
|
|
and ce.period = #{assessPeriod}
|
|
) b on (a.pk_member = b.pk_member and a.period = b.period)
|
|
when matched then
|
|
update set a.assess_target = b.assess_target,a.assess_status = b.assess_status
|
|
</update>
|
|
|
|
<!-- 删除自动升级的奖衔升级记录 -->
|
|
<delete id="deleteCuMemberAwards">
|
|
delete from cu_member_awards where period = #{period} and up_type = 1
|
|
</delete>
|
|
|
|
<select id="queryLastCuMemberAwards" resultMap="CuMemberAwards">
|
|
select ca.pk_member,ba.awards_value new_level from cu_member_awards ca
|
|
inner join (
|
|
select pk_member,max(pk_id) pk_id from cu_member_awards
|
|
where del_flag=0 and pk_member in
|
|
<foreach collection="cuMemberAwardsList" item="item" open="(" close=")" separator=",">
|
|
#{item.pkMember}
|
|
</foreach>
|
|
group by pk_member
|
|
) cm
|
|
on ca.pk_id=cm.pk_id
|
|
inner join bd_awards ba
|
|
on ca.new_level = ba.pk_id
|
|
where ca.del_flag=0 and ba.del_flag=0
|
|
</select>
|
|
|
|
</mapper>
|