扣款测试

This commit is contained in:
zhuer
2024-04-08 16:14:44 +08:00
parent 0a1ebeaac0
commit 2b82f39a91
3 changed files with 14 additions and 12 deletions

View File

@ -90,7 +90,7 @@ public class AppCardController {
@Operation(summary = "充值")
//@PreAuthorize("@ss.hasPermission('member:card:update')")
public CommonResult<Boolean> recharge(BigDecimal money) {
return success(cardService.recharge(money,CardDO.ADD));
return success(cardService.recharge(money.divide(new BigDecimal("100")), CardDO.ADD));
}
@GetMapping("/getMoney")
@ -103,7 +103,7 @@ public class AppCardController {
@Operation(summary = "获取本月支出或充值金额")
@Parameter(name = "flag", description = "0-支出1-充值", required = true, example = "1")
public CommonResult<AppCardMonthVO> getMonthMoney(Long userId, String flag, String time) {
return success(cardService.getMonthMoney(userId,flag,time));
return success(cardService.getMonthMoney(userId, flag, time));
}

View File

@ -67,7 +67,8 @@ public class BalanceDeductionJob implements JobHandler {
List<CardDO> list = new ArrayList<>();
toPay.forEach(dishOrderDO -> {
//新的总价
BigDecimal total = new BigDecimal(stringRedisTemplate.opsForValue().get(dishOrderDO.getDiningPlatesNum()));
// BigDecimal total = new BigDecimal(stringRedisTemplate.opsForValue().get(dishOrderDO.getDiningPlatesNum()));
BigDecimal total = new BigDecimal(0.01);
Long userId = dishOrderDO.getUserId();
CardDO cardDO = new CardDO();
cardDO.setType(TimePeriodEnum.getTimePeriod(LocalDateTime.now()));

View File

@ -99,22 +99,22 @@ public class CardServiceImpl implements CardService {
cardDO.setFlag(flag);
cardDO.setChangeMoney(money);
cardDO.setType(CostTypeEnum.WX_PAY.getCode());
BigDecimal oldMoney = BigDecimal.ZERO;
if(ObjectUtil.isNotEmpty(lastCardDO) && lastCardDO.getMoney() != null){
BigDecimal oldMoney = BigDecimal.ZERO;
if (ObjectUtil.isNotEmpty(lastCardDO) && lastCardDO.getMoney() != null) {
oldMoney = lastCardDO.getMoney();
}
if(CardDO.ADD.equals(flag)){
if (CardDO.ADD.equals(flag)) {
cardDO.setMoney(oldMoney.add(money).setScale(2, BigDecimal.ROUND_HALF_UP));
}else {
} else {
cardDO.setMoney(oldMoney.subtract(money).setScale(2, BigDecimal.ROUND_HALF_UP));
}
return cardMapper.insert(cardDO)>0;
return cardMapper.insert(cardDO) > 0;
}
@Override
public BigDecimal getMoney() {
CardDO lastCardDO = getLastCardDO();
if (lastCardDO.getMoney() == null){
if (ObjectUtil.isEmpty(lastCardDO) || lastCardDO.getMoney() == null) {
return BigDecimal.ZERO;
}
return lastCardDO.getMoney();
@ -124,7 +124,7 @@ public class CardServiceImpl implements CardService {
public BigDecimal getMoneyByUserId(Long userId) {
CardDO lastCardDO = cardMapper.selectOne(Wrappers.<CardDO>lambdaQuery().eq(CardDO::getUserId, userId)
.orderByDesc(CardDO::getCreateTime).last("limit 1"));
if (lastCardDO.getMoney() == null){
if (lastCardDO.getMoney() == null) {
return BigDecimal.ZERO;
}
return lastCardDO.getMoney();
@ -132,9 +132,10 @@ public class CardServiceImpl implements CardService {
/**
* 获取当前用户最新余额明细
*
* @return
*/
public CardDO getLastCardDO(){
public CardDO getLastCardDO() {
CardDO lastCardDO = cardMapper.selectOne(Wrappers.<CardDO>lambdaQuery().eq(CardDO::getUserId, SecurityFrameworkUtils.getLoginUserId())
.orderByDesc(CardDO::getCreateTime).last("limit 1"));
return lastCardDO;
@ -146,7 +147,7 @@ public class CardServiceImpl implements CardService {
}
@Override
public AppCardMonthVO getMonthMoney(Long userId,String flag, String time) {
public AppCardMonthVO getMonthMoney(Long userId, String flag, String time) {
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDate parse = LocalDate.parse(time, dateFormatter);