You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
2.2 KiB
60 lines
2.2 KiB
package com.example.demo.serviceImpl.Wallet;
|
|
|
|
import com.example.demo.Util.BusinessException;
|
|
import com.example.demo.domain.entity.UserGoldRecord;
|
|
import com.example.demo.domain.entity.UserRegionWallet;
|
|
import com.example.demo.domain.entity.UserWalletRecord;
|
|
import com.example.demo.exception.SystemException;
|
|
import com.example.demo.mapper.coin.WalletMapper;
|
|
import com.example.demo.service.Wallet.WalletService;
|
|
import lombok.RequiredArgsConstructor;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
import java.math.BigDecimal;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* @program: GOLD
|
|
* @ClassName WalletServiceImpl
|
|
* @description:
|
|
* @author: huangqizhen
|
|
* @create: 2026−03-06 13:53
|
|
* @Version 1.0
|
|
**/
|
|
@Service
|
|
@RequiredArgsConstructor
|
|
public class WalletServiceImpl implements WalletService {
|
|
@Autowired
|
|
private WalletMapper walletMapper;
|
|
|
|
@Override
|
|
public void updateUserGoldRecord(UserRegionWallet userRegionWallet) {
|
|
BigDecimal currentPermanentGold = userRegionWallet.getCurrentPermanentGold();
|
|
if (currentPermanentGold == null|| currentPermanentGold.compareTo(BigDecimal.ZERO) <= 0)
|
|
throw new SystemException("钱包金币传参错误");
|
|
if (userRegionWallet.getJwcode()!= null|| userRegionWallet.getWalletId() != null){
|
|
UserRegionWallet wallet = walletMapper.selectWallet(userRegionWallet.getJwcode(), userRegionWallet.getWalletId());
|
|
if (wallet == null){
|
|
throw new BusinessException("该用户钱包不存在");
|
|
}
|
|
else {
|
|
userRegionWallet.setCurrentPermanentGold(wallet.getCurrentPermanentGold().add(currentPermanentGold));
|
|
walletMapper.updateWallet(userRegionWallet);
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public List<UserWalletRecord> selectUserWalletRecord(Integer jwcode, String orderCode) {
|
|
if (jwcode == null){
|
|
throw new SystemException("精网号传参错误");
|
|
}
|
|
return walletMapper.selectWalletRecord(jwcode, orderCode);
|
|
}
|
|
|
|
@Override
|
|
public void updateUserWalletRecord(Integer id) {
|
|
walletMapper.updateWalletRecord(id);
|
|
}
|
|
}
|