支付优化

This commit is contained in:
seesaw
2024-10-21 15:20:31 +08:00
parent 4c07cd320f
commit 5ee81d5d39
3 changed files with 7 additions and 14 deletions

View File

@ -19,8 +19,7 @@ import java.math.BigDecimal;
*/ */
@Service @Service
public class CardApiImpl implements CardApi{ public class CardApiImpl implements CardApi{
@Resource
private CardService cardService;
@Resource @Resource
private RechargeAmountService rechargeAmountService; private RechargeAmountService rechargeAmountService;
@Resource @Resource

View File

@ -428,13 +428,7 @@ public class CardServiceImpl implements CardService {
@Override @Override
public BigDecimal getCashMoney(Long userId) { public BigDecimal getCashMoney(Long userId) {
CardDO lastCardDO = cardMapper.selectOne(Wrappers.<CardDO>lambdaQuery().eq(CardDO::getUserId, userId) return amountService.getCashAmount(userId);
.orderByDesc(CardDO::getCreateTime).orderByDesc(CardDO::getId)
.last(MemberConstants.LIMIT_ONE));
if (ObjectUtil.isNotEmpty(lastCardDO)) {
return lastCardDO.getCashAmount();
}
return BigDecimal.ZERO;
} }
@Override @Override

View File

@ -200,7 +200,7 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
checkOrder(memberUserDO.getId()); checkOrder(memberUserDO.getId());
//余额验证 //余额验证
BigDecimal money = cardService.getMoneyByUserId(memberUserDO.getId()); BigDecimal money = memberUserDO.getMoney();
checkMoney(money); checkMoney(money);
diningPlatesDO.setUserId(memberUserDO.getId()); diningPlatesDO.setUserId(memberUserDO.getId());
@ -251,7 +251,7 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
//订单验证 //订单验证
checkOrder(memberUserDO.getId()); checkOrder(memberUserDO.getId());
//余额验证 //余额验证
BigDecimal money = cardService.getMoneyByUserId(memberUserDO.getId()); BigDecimal money = memberUserDO.getMoney();
checkMoney(money); checkMoney(money);
diningPlatesDO.setUserId(memberUserDO.getId()); diningPlatesDO.setUserId(memberUserDO.getId());
@ -307,7 +307,7 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
MemberUserDO memberUserDO = memberUserMapper.selectById(diningPlatesDO.getUserId()); MemberUserDO memberUserDO = memberUserMapper.selectById(diningPlatesDO.getUserId());
appUserInfoCardVO.setName(memberUserDO.getNickname()); appUserInfoCardVO.setName(memberUserDO.getNickname());
appUserInfoCardVO.setMoney(cardService.getMoneyByUserId(memberUserDO.getId())); appUserInfoCardVO.setMoney(memberUserDO.getMoney());
//刷新绑定时间 //刷新绑定时间
asyncService.flashTime(diningPlatesDO); asyncService.flashTime(diningPlatesDO);
@ -457,7 +457,7 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
.eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum) .eq(DiningPlatesDO::getDiningPlatesNum, diningPlatesNum)
.eq(DiningPlatesDO::getStoreId,storeId) .eq(DiningPlatesDO::getStoreId,storeId)
.last("limit 1")); .last("limit 1"));
BigDecimal moneyByUserId = cardService.getMoneyByUserId(diningPlatesDO.getUserId()); // BigDecimal moneyByUserId = cardService.getMoneyByUserId(diningPlatesDO.getUserId());
MemberUserDO memberUserDO = memberUserMapper.selectById(diningPlatesDO.getUserId()); MemberUserDO memberUserDO = memberUserMapper.selectById(diningPlatesDO.getUserId());
DishesRespDto dish = dishesApi.getDish(dishId); DishesRespDto dish = dishesApi.getDish(dishId);
@ -466,7 +466,7 @@ public class DiningPlatesServiceImpl implements DiningPlatesService {
appUserInfo.setNickname(StrUtil.isNotBlank(memberUserDO.getName())?memberUserDO.getName():memberUserDO.getNickname()) appUserInfo.setNickname(StrUtil.isNotBlank(memberUserDO.getName())?memberUserDO.getName():memberUserDO.getNickname())
.setDishesName(dish.getDishesName()) .setDishesName(dish.getDishesName())
.setDishesBasePrice(dish.getDishesBasePrice()).setDishesSumPrice(dish.getDishesSumPrice()) .setDishesBasePrice(dish.getDishesBasePrice()).setDishesSumPrice(dish.getDishesSumPrice())
.setMoney(moneyByUserId).setOrderMoney(new BigDecimal(stringRedisTemplate.opsForValue().get(diningPlatesNum+"-"+storeId))); .setMoney(memberUserDO.getMoney()).setOrderMoney(new BigDecimal(stringRedisTemplate.opsForValue().get(diningPlatesNum+"-"+storeId)));
return appUserInfo; return appUserInfo;
} }