This commit is contained in:
2025-12-25 20:18:43 +08:00
parent 19af647b04
commit 6bddf05c36
3 changed files with 24 additions and 16 deletions

View File

@@ -674,12 +674,19 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
@Override
@Transactional(rollbackFor = Exception.class)
public void refund(Long orderId, String orderNo) {
long count = distributionFlowService.count(new QueryWrapper().eq(MkDistributionFlow::getOrderNo, orderNo).eq(MkDistributionFlow::getStatus, TableValueConstant.DistributionFlow.Status.PENDING.getCode()));
if (count >= 1) {
boolean exists = distributionFlowService.exists(new QueryWrapper()
.eq(MkDistributionFlow::getOrderNo, orderNo)
.eq(MkDistributionFlow::getStatus, TableValueConstant.DistributionFlow.Status.REFUND.getCode()));
if (exists) {
log.warn("此分销已经退款");
return;
}
distributionFlowService.list(new QueryWrapper().eq(MkDistributionFlow::getOrderNo, orderNo).ne(MkDistributionFlow::getStatus, TableValueConstant.DistributionFlow.Status.REFUND.getCode())).forEach(item -> {
List<MkDistributionFlow> list = distributionFlowService.list(new QueryWrapper()
.eq(MkDistributionFlow::getOrderNo, orderNo)
.ne(MkDistributionFlow::getStatus, TableValueConstant.DistributionFlow.Status.REFUND.getCode()));
list.forEach(item -> {
MkDistributionFlow refundFlow = BeanUtil.copyProperties(item, MkDistributionFlow.class);
refundFlow.setStatus(TableValueConstant.DistributionFlow.Status.REFUND.getCode());
refundFlow.setSourceId(item.getId());
@@ -688,7 +695,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
refundFlow.setUpdateTime(DateUtil.date().toLocalDateTime());
if (TableValueConstant.DistributionFlow.Status.PENDING.getCode().equals(item.getStatus())) {
item.setStatus(TableValueConstant.DistributionFlow.Status.SUCCESS.getCode());
updateIncome(item.getRewardAmount().negate(), BigDecimal.ZERO, BigDecimal.ZERO, item.getDistributionUserId(), item.getUserId(), item.getShopUserId(), item.getShopId(), item.getLevel());
// updateIncome(item.getRewardAmount().negate(), BigDecimal.ZERO, BigDecimal.ZERO, item.getDistributionUserId(), item.getUserId(), item.getShopUserId(), item.getShopId(), item.getLevel());
distributionFlowService.updateById(item);
} else {
// 执行扣款
@@ -737,14 +744,6 @@ public class MkDistributionUserServiceImpl extends ServiceImpl<MkDistributionUse
}
}
static void main() {
BigDecimal amount = new BigDecimal("0.18");
BigDecimal fee = amount.multiply(BigDecimal.valueOf(0.08)).setScale(2, RoundingMode.UP);
BigDecimal finalAmount = amount.subtract(fee);
System.out.println(finalAmount);
System.out.println(fee);
}
@Override
public Boolean withdraw(long userId, MkDistributionWithdrawFlowDTO withdrawFlowDTO) {
UserInfo userInfo = userInfoService.getById(userId);