| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.system.mapper.TCommissionTransactionFlowMapper; |
| | | import com.ruoyi.system.model.TAppUser; |
| | | import com.ruoyi.system.model.TCommissionTransactionFlow; |
| | | import com.ruoyi.system.mapper.TCommissionTransactionFlowMapper; |
| | | import com.ruoyi.system.model.THtmlConfig; |
| | | import com.ruoyi.system.service.TAppUserService; |
| | | import com.ruoyi.system.service.TCommissionTransactionFlowService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.system.service.THtmlConfigService; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.context.annotation.Lazy; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.math.RoundingMode; |
| | | import java.time.LocalDateTime; |
| | |
| | | */ |
| | | @Slf4j |
| | | @Service |
| | | @RequiredArgsConstructor(onConstructor_ = @Lazy) |
| | | public class TCommissionTransactionFlowServiceImpl extends ServiceImpl<TCommissionTransactionFlowMapper, TCommissionTransactionFlow> implements TCommissionTransactionFlowService { |
| | | |
| | | @Resource |
| | | private TAppUserService appUserService; |
| | | private final TAppUserService appUserService; |
| | | |
| | | @Resource |
| | | private THtmlConfigService htmlConfigService; |
| | | private final THtmlConfigService htmlConfigService; |
| | | |
| | | @Override |
| | | public void calculateAndSaveCommission(Integer orderId, Integer orderType, BigDecimal orderPrice, Integer appUserId) { |
| | |
| | | flow.setOrderId(orderId); |
| | | flow.setOrderType(orderType); |
| | | flow.setOrderPrice(orderPrice); |
| | | flow.setCommissionAmount(commissionAmount); |
| | | flow.setCommissionAmount(commissionAmount.intValue()); |
| | | flow.setCreateTime(LocalDateTime.now()); |
| | | |
| | | save(flow); |
| | | log.info("保存佣金流水成功,用户ID:{},佣金金额:{}", userId, commissionAmount); |
| | | |
| | | // 更新用户累计积分(佣金金额1:1转积分) |
| | | TAppUser user = appUserService.getById(userId); |
| | | if (user != null) { |
| | | int currentIntegral = user.getAccumulativeIntegral() != null ? user.getAccumulativeIntegral() : 0; |
| | | user.setAccumulativeIntegral(currentIntegral + commissionAmount.intValue()); |
| | | appUserService.updateById(user); |
| | | log.info("更新用户累计积分成功,用户ID:{},新增积分:{},累计积分:{}", userId, commissionAmount.intValue(), user.getAccumulativeIntegral()); |
| | | } |
| | | } |
| | | |
| | | /** |