扣款测试
This commit is contained in:
@ -90,7 +90,7 @@ public class AppCardController {
|
|||||||
@Operation(summary = "充值")
|
@Operation(summary = "充值")
|
||||||
//@PreAuthorize("@ss.hasPermission('member:card:update')")
|
//@PreAuthorize("@ss.hasPermission('member:card:update')")
|
||||||
public CommonResult<Boolean> recharge(BigDecimal money) {
|
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")
|
@GetMapping("/getMoney")
|
||||||
@ -103,7 +103,7 @@ public class AppCardController {
|
|||||||
@Operation(summary = "获取本月支出或充值金额")
|
@Operation(summary = "获取本月支出或充值金额")
|
||||||
@Parameter(name = "flag", description = "0-支出,1-充值", required = true, example = "1")
|
@Parameter(name = "flag", description = "0-支出,1-充值", required = true, example = "1")
|
||||||
public CommonResult<AppCardMonthVO> getMonthMoney(Long userId, String flag, String time) {
|
public CommonResult<AppCardMonthVO> getMonthMoney(Long userId, String flag, String time) {
|
||||||
return success(cardService.getMonthMoney(userId,flag,time));
|
return success(cardService.getMonthMoney(userId, flag, time));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -67,7 +67,8 @@ public class BalanceDeductionJob implements JobHandler {
|
|||||||
List<CardDO> list = new ArrayList<>();
|
List<CardDO> list = new ArrayList<>();
|
||||||
toPay.forEach(dishOrderDO -> {
|
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();
|
Long userId = dishOrderDO.getUserId();
|
||||||
CardDO cardDO = new CardDO();
|
CardDO cardDO = new CardDO();
|
||||||
cardDO.setType(TimePeriodEnum.getTimePeriod(LocalDateTime.now()));
|
cardDO.setType(TimePeriodEnum.getTimePeriod(LocalDateTime.now()));
|
||||||
|
@ -99,22 +99,22 @@ public class CardServiceImpl implements CardService {
|
|||||||
cardDO.setFlag(flag);
|
cardDO.setFlag(flag);
|
||||||
cardDO.setChangeMoney(money);
|
cardDO.setChangeMoney(money);
|
||||||
cardDO.setType(CostTypeEnum.WX_PAY.getCode());
|
cardDO.setType(CostTypeEnum.WX_PAY.getCode());
|
||||||
BigDecimal oldMoney = BigDecimal.ZERO;
|
BigDecimal oldMoney = BigDecimal.ZERO;
|
||||||
if(ObjectUtil.isNotEmpty(lastCardDO) && lastCardDO.getMoney() != null){
|
if (ObjectUtil.isNotEmpty(lastCardDO) && lastCardDO.getMoney() != null) {
|
||||||
oldMoney = lastCardDO.getMoney();
|
oldMoney = lastCardDO.getMoney();
|
||||||
}
|
}
|
||||||
if(CardDO.ADD.equals(flag)){
|
if (CardDO.ADD.equals(flag)) {
|
||||||
cardDO.setMoney(oldMoney.add(money).setScale(2, BigDecimal.ROUND_HALF_UP));
|
cardDO.setMoney(oldMoney.add(money).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||||
}else {
|
} else {
|
||||||
cardDO.setMoney(oldMoney.subtract(money).setScale(2, BigDecimal.ROUND_HALF_UP));
|
cardDO.setMoney(oldMoney.subtract(money).setScale(2, BigDecimal.ROUND_HALF_UP));
|
||||||
}
|
}
|
||||||
return cardMapper.insert(cardDO)>0;
|
return cardMapper.insert(cardDO) > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public BigDecimal getMoney() {
|
public BigDecimal getMoney() {
|
||||||
CardDO lastCardDO = getLastCardDO();
|
CardDO lastCardDO = getLastCardDO();
|
||||||
if (lastCardDO.getMoney() == null){
|
if (ObjectUtil.isEmpty(lastCardDO) || lastCardDO.getMoney() == null) {
|
||||||
return BigDecimal.ZERO;
|
return BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
return lastCardDO.getMoney();
|
return lastCardDO.getMoney();
|
||||||
@ -124,7 +124,7 @@ public class CardServiceImpl implements CardService {
|
|||||||
public BigDecimal getMoneyByUserId(Long userId) {
|
public BigDecimal getMoneyByUserId(Long userId) {
|
||||||
CardDO lastCardDO = cardMapper.selectOne(Wrappers.<CardDO>lambdaQuery().eq(CardDO::getUserId, userId)
|
CardDO lastCardDO = cardMapper.selectOne(Wrappers.<CardDO>lambdaQuery().eq(CardDO::getUserId, userId)
|
||||||
.orderByDesc(CardDO::getCreateTime).last("limit 1"));
|
.orderByDesc(CardDO::getCreateTime).last("limit 1"));
|
||||||
if (lastCardDO.getMoney() == null){
|
if (lastCardDO.getMoney() == null) {
|
||||||
return BigDecimal.ZERO;
|
return BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
return lastCardDO.getMoney();
|
return lastCardDO.getMoney();
|
||||||
@ -132,9 +132,10 @@ public class CardServiceImpl implements CardService {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取当前用户最新余额明细
|
* 获取当前用户最新余额明细
|
||||||
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public CardDO getLastCardDO(){
|
public CardDO getLastCardDO() {
|
||||||
CardDO lastCardDO = cardMapper.selectOne(Wrappers.<CardDO>lambdaQuery().eq(CardDO::getUserId, SecurityFrameworkUtils.getLoginUserId())
|
CardDO lastCardDO = cardMapper.selectOne(Wrappers.<CardDO>lambdaQuery().eq(CardDO::getUserId, SecurityFrameworkUtils.getLoginUserId())
|
||||||
.orderByDesc(CardDO::getCreateTime).last("limit 1"));
|
.orderByDesc(CardDO::getCreateTime).last("limit 1"));
|
||||||
return lastCardDO;
|
return lastCardDO;
|
||||||
@ -146,7 +147,7 @@ public class CardServiceImpl implements CardService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@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");
|
DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
||||||
LocalDate parse = LocalDate.parse(time, dateFormatter);
|
LocalDate parse = LocalDate.parse(time, dateFormatter);
|
||||||
|
Reference in New Issue
Block a user