## Opt - 补偿结余金额计算逻辑
This commit is contained in:
parent
9e3684a04d
commit
41eda4e79e
|
@ -156,6 +156,16 @@ public interface CuMemberAchieveMapper extends BaseMapper<CuMemberAchieve> {
|
||||||
void chargeBackSaOrder(@Param("targetTable") String targetTable, @Param("sourceTable") String sourceTable,
|
void chargeBackSaOrder(@Param("targetTable") String targetTable, @Param("sourceTable") String sourceTable,
|
||||||
@Param("period") Integer period, @Param("achieve") MemberAchieveParam memberAchieveParam);
|
@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);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据每日日业绩开始更新会员业绩 新增业绩、累计业绩、新増金额、累计金额
|
* 根据每日日业绩开始更新会员业绩 新增业绩、累计业绩、新増金额、累计金额
|
||||||
*
|
*
|
||||||
|
|
|
@ -185,6 +185,7 @@ public class CuMemberAchieveServiceImpl extends ServiceImpl<CuMemberAchieveMappe
|
||||||
int settlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
|
int settlePeriod = cuMemberSettlePeriodService.getCuMemberSettlePeriodByDate(settleDate).getPkId();
|
||||||
String targetTable = TableNameConstants.CU_MEMBER_SETTLE + settlePeriod;
|
String targetTable = TableNameConstants.CU_MEMBER_SETTLE + settlePeriod;
|
||||||
baseMapper.chargeBackSaOrder(targetTable, sourceTable, period, cuMemberAchieve);
|
baseMapper.chargeBackSaOrder(targetTable, sourceTable, period, cuMemberAchieve);
|
||||||
|
baseMapper.compensationBalanceAmount(targetTable, sourceTable, period, cuMemberAchieve);
|
||||||
}
|
}
|
||||||
return Boolean.TRUE;
|
return Boolean.TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1011,6 +1011,25 @@
|
||||||
a.a_balance = b.a_balance,a.b_balance = b.b_balance,
|
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
|
a.min_achieve = b.min_achieve,a.round = b.round,a.second = b.second
|
||||||
</update>
|
</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 id="queryCuMemberAchieveByPkMember" resultMap="CuMemberAchieve">
|
||||||
SELECT PK_MEMBER,
|
SELECT PK_MEMBER,
|
||||||
|
|
Loading…
Reference in New Issue