Compare commits
3 Commits
8eebb3fdfa
...
b9eb35f130
| Author | SHA1 | Date |
|---|---|---|
|
|
b9eb35f130 | |
|
|
147e28fbf6 | |
|
|
dc4681cd3b |
|
|
@ -38,6 +38,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
|||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.RoundingMode;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
|
@ -1287,6 +1288,9 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
BigDecimal waresPrice = saOrderItems.getWaresPrice();
|
||||
// 商品数量
|
||||
BigDecimal waresQuantityBig = new BigDecimal(saOrderItems.getWaresQuantity());
|
||||
// 单个商品价格
|
||||
BigDecimal waresOnePrice = waresPrice.divide(waresQuantityBig, 6, RoundingMode.FLOOR);
|
||||
|
||||
// 前一个会员等级
|
||||
int beforeGradeValue = 0;
|
||||
// 前一个会员等级的平级收益人数
|
||||
|
|
@ -1356,7 +1360,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
|
|||
continue;
|
||||
}
|
||||
// 平级收益(商品价格 * 千分之五) -- 6位小数,四舍五入
|
||||
sameBonusIncome = waresPrice.multiply(RetailConstants.SAME_RATIO).setScale(6, BigDecimal.ROUND_HALF_UP);
|
||||
sameBonusIncome = waresOnePrice.multiply(RetailConstants.SAME_RATIO).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(waresQuantityBig);
|
||||
// 平级收益累计
|
||||
beforeSameBonus = beforeSameBonus.add(sameBonusIncome);
|
||||
// 平级等级代数等级
|
||||
|
|
|
|||
|
|
@ -594,11 +594,13 @@
|
|||
</select>
|
||||
|
||||
<update id="recalculateTeamNewBoxNum">
|
||||
UPDATE ${retailsTableName}
|
||||
SET ENABLE_STATUS = 0, TEAM_NEW_BOX_NUM = (
|
||||
SELECT SUM(boxNum)
|
||||
MERGE INTO ${retailsTableName} s
|
||||
USING (
|
||||
SELECT SUM(boxNum) AS boxNum, SUM(pv) AS pv, pk_id
|
||||
FROM (
|
||||
SELECT b.PK_ID, NVL(s.NEW_BOX_NUM, 0) AS boxNum
|
||||
SELECT b.PK_ID,
|
||||
NVL(s.NEW_BOX_NUM, 0) AS boxNum,
|
||||
NVL(s.NEW_CONSUME_PV, 0) AS pv
|
||||
FROM ${retailsTableName} s
|
||||
RIGHT JOIN (
|
||||
SELECT cm.PK_ID
|
||||
|
|
@ -609,7 +611,14 @@
|
|||
ORDER BY LEVEL
|
||||
) b ON s.PK_MEMBER = b.PK_ID
|
||||
) c
|
||||
)
|
||||
WHERE PK_MEMBER = #{pkId}
|
||||
GROUP BY pk_id
|
||||
) result
|
||||
ON (s.PK_MEMBER = result.PK_ID)
|
||||
WHEN MATCHED THEN
|
||||
UPDATE SET
|
||||
s.ENABLE_STATUS = 0,
|
||||
s.TEAM_NEW_BOX_NUM = result.boxNum,
|
||||
s.TEAM_NEW_PV = result.pv
|
||||
WHERE s.PK_MEMBER = #{pkId}
|
||||
</update>
|
||||
</mapper>
|
||||
|
|
|
|||
Loading…
Reference in New Issue