From 320e9165ac6cc6d90978fbef3074a8ed9add1790 Mon Sep 17 00:00:00 2001 From: Administrator <1101184511@qq.com> Date: 星期五, 09 五月 2025 01:21:32 +0800 Subject: [PATCH] 后台管理页面完成 --- src/main/java/com/taoke/autopay/service/impl/credit/UserCreditBalanceServiceImpl.java | 20 +++++++++++++++----- 1 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/taoke/autopay/service/impl/credit/UserCreditBalanceServiceImpl.java b/src/main/java/com/taoke/autopay/service/impl/credit/UserCreditBalanceServiceImpl.java index 56e370d..02b2870 100644 --- a/src/main/java/com/taoke/autopay/service/impl/credit/UserCreditBalanceServiceImpl.java +++ b/src/main/java/com/taoke/autopay/service/impl/credit/UserCreditBalanceServiceImpl.java @@ -22,7 +22,7 @@ @Override public void initializeCreditBalance(Long userId) { - if(getCreditBalanceByUserId(userId)!=null){ + if (getCreditBalanceByUserId(userId) != null) { return; } UserCreditBalance userCreditBalance = new UserCreditBalance(); @@ -30,7 +30,7 @@ userCreditBalance.setCreditBalance(0); userCreditBalance.setCreateTime(new Date()); userCreditBalance.setUpdateTime(new Date()); - userCreditBalanceMapper.insert(userCreditBalance); + userCreditBalanceMapper.insertSelective(userCreditBalance); } @Override @@ -52,18 +52,28 @@ @Override public void increaseCreditBalance(Long userId, int amount) { UserCreditBalance userCreditBalance = userCreditBalanceMapper.selectByPrimaryKeyForUpdate(userId); + if (userCreditBalance == null) { + initializeCreditBalance(userId); + userCreditBalance = userCreditBalanceMapper.selectByPrimaryKeyForUpdate(userId); + } if (userCreditBalance != null) { userCreditBalanceMapper.updateByPrimaryKeySelective(UserCreditBalance.builder() - .id(userCreditBalance.getId()) - .creditBalance(userCreditBalance.getCreditBalance() + amount) - .updateTime(new Date()) + .id(userCreditBalance.getId()) + .creditBalance(userCreditBalance.getCreditBalance() + amount) + .updateTime(new Date()) .build()); } } + @Transactional(rollbackFor = Exception.class) @Override public void decreaseCreditBalance(Long userId, int amount) { UserCreditBalance userCreditBalance = userCreditBalanceMapper.selectByPrimaryKeyForUpdate(userId); + if (userCreditBalance == null) { + initializeCreditBalance(userId); + userCreditBalance = userCreditBalanceMapper.selectByPrimaryKeyForUpdate(userId); + } + if (userCreditBalance != null) { userCreditBalanceMapper.updateByPrimaryKeySelective(UserCreditBalance.builder() .id(userCreditBalance.getId()) -- Gitblit v1.8.0