支付修改

This commit is contained in:
seesaw
2024-10-21 11:32:48 +08:00
parent 08863c51ab
commit 862823b82f
8 changed files with 52 additions and 214 deletions

View File

@ -15,6 +15,7 @@ import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundRespDTO;
import cn.iocoder.yudao.framework.pay.core.client.dto.refund.PayRefundUnifiedReqDTO;
import cn.iocoder.yudao.framework.pay.core.enums.divide.PayDivideRefundStatusRespEnum;
import cn.iocoder.yudao.framework.pay.core.enums.divide.PayDivideStatusRespEnum;
import cn.iocoder.yudao.module.member.api.card.CardApi;
import cn.iocoder.yudao.module.pay.controller.admin.divide.vo.DividePageReqVO;
import cn.iocoder.yudao.module.pay.controller.admin.divide.vo.DivideSaveReqVO;
import cn.iocoder.yudao.module.pay.controller.app.divide.vo.DrawMoneyVO;
@ -93,6 +94,9 @@ public class DivideServiceImpl implements DivideService {
@Resource
private StringRedisTemplate divideRedisTemplate;
@Resource
private CardApi cardApi;
@Override
public Long createDivide(DivideSaveReqVO createReqVO) {
@ -740,27 +744,7 @@ public class DivideServiceImpl implements DivideService {
@Override
public void subtractWx(Integer amount, Long userId) {
DivideCardDO lastCardDO = divideCardMapper.selectOne(Wrappers.<DivideCardDO>lambdaQuery()
.eq(DivideCardDO::getUserId, userId)
.orderByDesc(DivideCardDO::getCreateTime)
.orderByDesc(DivideCardDO::getId)
.last("limit 1"));
BigDecimal changeMoney = new BigDecimal(amount).divide(new BigDecimal("100"));
//获取最新余额
DivideCardDO cardDO = new DivideCardDO();
cardDO.setUserId(userId);
cardDO.setFlag(DivideCardDO.MINUS);
cardDO.setChangeMoney(changeMoney);
cardDO.setType("7");
BigDecimal oldMoney = lastCardDO.getMoney();
BigDecimal wxOldMoney = lastCardDO.getWxAmount();
cardDO.setMoney(oldMoney.subtract(changeMoney).setScale(2, BigDecimal.ROUND_HALF_UP));
cardDO.setWxAmount(wxOldMoney.subtract(changeMoney).setScale(2, BigDecimal.ROUND_HALF_UP));
cardDO.setGiftAmount(lastCardDO.getGiftAmount());
cardDO.setCashAmount(lastCardDO.getCashAmount());
divideCardMapper.insert(cardDO);
cardApi.wxDraw(amount, userId);
}
@Override