Compare commits

...

2 Commits

3 changed files with 30 additions and 0 deletions

View File

@ -156,6 +156,16 @@ public interface CuMemberAchieveMapper extends BaseMapper<CuMemberAchieve> {
void chargeBackSaOrder(@Param("targetTable") String targetTable, @Param("sourceTable") String sourceTable,
@Param("period") Integer period, @Param("achieve") MemberAchieveParam memberAchieveParam);
/**
* 补偿结余金额
* @param targetTable
* @param sourceTable
* @param period
* @param memberAchieveParam
*/
void compensationBalanceAmount(@Param("targetTable") String targetTable, @Param("sourceTable") String sourceTable,
@Param("period") Integer period, @Param("achieve") MemberAchieveParam memberAchieveParam);
/**
* 根据每日日业绩开始更新会员业绩 新增业绩累计业绩新増金额累计金额
*

View File

@ -185,6 +185,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
int settlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
String targetTable = TableNameConstants.CU_MEMBER_SETTLE + settlePeriod;
baseMapper.chargeBackSaOrder(targetTable, sourceTable, period, cuMemberAchieve);
baseMapper.compensationBalanceAmount(targetTable, sourceTable, period, cuMemberAchieve);
}
return Boolean.TRUE;
}

View File

@ -1011,6 +1011,25 @@
a.a_balance = b.a_balance,a.b_balance = b.b_balance,
a.min_achieve = b.min_achieve,a.round = b.round,a.second = b.second
</update>
<update id="compensationBalanceAmount">
UPDATE ${targetTable} t
SET A_BALANCE = CASE
WHEN t.a_sum_pv > t.b_sum_pv THEN t.a_sum_pv - t.b_sum_pv
ELSE 0
END,
B_BALANCE = CASE
WHEN t.b_sum_pv > t.a_sum_pv THEN t.b_sum_pv - t.a_sum_pv
ELSE 0
END
WHERE t.period = 14
AND t.pk_member IN (
SELECT pk_member
FROM ${targetTable}
WHERE period = #{period}
START WITH pk_member = 20768
CONNECT BY PRIOR pk_member = #{achieve.pkMember}
)
</update>
<select id="queryCuMemberAchieveByPkMember" resultMap="CuMemberAchieve">
SELECT PK_MEMBER,