Compare commits

..

No commits in common. "b9eb35f13061dd3498938b0f8247251d1192b8fd" and "8eebb3fdfa11a6545dce8c5352b9d897d53c8ccc" have entirely different histories.

2 changed files with 18 additions and 31 deletions

View File

@ -38,7 +38,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode;
import java.time.temporal.ChronoUnit; import java.time.temporal.ChronoUnit;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -1288,9 +1287,6 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
BigDecimal waresPrice = saOrderItems.getWaresPrice(); BigDecimal waresPrice = saOrderItems.getWaresPrice();
// 商品数量 // 商品数量
BigDecimal waresQuantityBig = new BigDecimal(saOrderItems.getWaresQuantity()); BigDecimal waresQuantityBig = new BigDecimal(saOrderItems.getWaresQuantity());
// 单个商品价格
BigDecimal waresOnePrice = waresPrice.divide(waresQuantityBig, 6, RoundingMode.FLOOR);
// 前一个会员等级 // 前一个会员等级
int beforeGradeValue = 0; int beforeGradeValue = 0;
// 前一个会员等级的平级收益人数 // 前一个会员等级的平级收益人数
@ -1360,7 +1356,7 @@ public class BonusSettleRangeHandle extends BonusSettleHandle {
continue; continue;
} }
// 平级收益商品价格 * 千分之五 -- 6位小数四舍五入 // 平级收益商品价格 * 千分之五 -- 6位小数四舍五入
sameBonusIncome = waresOnePrice.multiply(RetailConstants.SAME_RATIO).setScale(6, BigDecimal.ROUND_HALF_UP).multiply(waresQuantityBig); sameBonusIncome = waresPrice.multiply(RetailConstants.SAME_RATIO).setScale(6, BigDecimal.ROUND_HALF_UP);
// 平级收益累计 // 平级收益累计
beforeSameBonus = beforeSameBonus.add(sameBonusIncome); beforeSameBonus = beforeSameBonus.add(sameBonusIncome);
// 平级等级代数等级 // 平级等级代数等级

View File

@ -594,31 +594,22 @@
</select> </select>
<update id="recalculateTeamNewBoxNum"> <update id="recalculateTeamNewBoxNum">
MERGE INTO ${retailsTableName} s UPDATE ${retailsTableName}
USING ( SET ENABLE_STATUS = 0, TEAM_NEW_BOX_NUM = (
SELECT SUM(boxNum) AS boxNum, SUM(pv) AS pv, pk_id SELECT SUM(boxNum)
FROM ( FROM (
SELECT b.PK_ID, SELECT b.PK_ID, NVL(s.NEW_BOX_NUM, 0) AS boxNum
NVL(s.NEW_BOX_NUM, 0) AS boxNum, FROM ${retailsTableName} s
NVL(s.NEW_CONSUME_PV, 0) AS pv RIGHT JOIN (
FROM ${retailsTableName} s SELECT cm.PK_ID
RIGHT JOIN ( FROM cu_member cm
SELECT cm.PK_ID WHERE cm.PK_ID != #{pkId}
FROM cu_member cm START WITH cm.PK_ID = #{pkId}
WHERE cm.PK_ID != #{pkId} CONNECT BY PRIOR cm.pk_id = cm.pk_parent
START WITH cm.PK_ID = #{pkId} ORDER BY LEVEL
CONNECT BY PRIOR cm.pk_id = cm.pk_parent ) b ON s.PK_MEMBER = b.PK_ID
ORDER BY LEVEL ) c
) 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> </update>
</mapper> </mapper>