From d4606eee672d8350f337befbb1ef9c969837f2ca Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Tue, 18 Jun 2024 14:33:05 +0800 Subject: [PATCH] 新增guess,猜数字游戏的分支 --- src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java | 93 +++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 82 insertions(+), 11 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java index 919db50..7e3ce7b 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java @@ -37,6 +37,7 @@ import java.math.BigDecimal; import java.util.*; +import java.util.regex.Pattern; import java.util.stream.Collectors; /** @@ -65,11 +66,25 @@ private final MallProductBuyRecordMapper mallProductBuyRecordMapper; private final MallProductBuyMapper mallProductBuyMapper; private final MallMemberSpeakMapper mallMemberSpeakMapper; + private final MallMemberChargeMapper mallMemberChargeMapper; @Value("${spring.profiles.active}") private String active; + private static final String ACCOUNT_PATTERN = "^[a-zA-Z0-9]{8,16}$"; + private static final Pattern pattern = Pattern.compile(ACCOUNT_PATTERN); + + + public static boolean validateAccount(String account) { + return pattern.matcher(account).matches(); + } + + public static void main(String[] args) { + String account = "example"; // 示例账号,可以根据需要替换 + boolean isValid = validateAccount(account); + System.out.println("账号是否有效: " + isValid); + } @Transactional(rollbackFor = Exception.class) @Override public FebsResponse register(RegisterDto registerDto) { @@ -80,6 +95,10 @@ * 返回账号和密钥给前端 */ String accountLogin = registerDto.getAccountLogin(); + boolean isValid = validateAccount(accountLogin); + if(!isValid){ + throw new FebsException("账号不规范。"); + } MallMember mallMember = this.baseMapper.selectByAccountLogin(accountLogin); if (mallMember != null) { throw new FebsException("账号已使用,请重新注册。"); @@ -258,7 +277,7 @@ DataDictionaryCustom fcmPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.FCM_PRICE.getType(), DataDictionaryEnum.FCM_PRICE.getCode()); - mallMemberVo.setFcmPrice(ObjectUtil.isEmpty(fcmPriceDic) ? new BigDecimal(2) : new BigDecimal(fcmPriceDic.getValue())); + mallMemberVo.setFcmPrice(ObjectUtil.isEmpty(fcmPriceDic) ? new BigDecimal(8) : new BigDecimal(fcmPriceDic.getValue())); DataDictionaryCustom outFcmFeeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( DataDictionaryEnum.OUT_FCM_FEE.getType(), @@ -323,6 +342,26 @@ DataDictionaryEnum.FCM_INSIDE_NFT_PERCENT.getCode() ); mallMemberVo.setInsideNFTPercent(insideNFTPercentDic.getValue()); + + DataDictionaryCustom chargeAddressDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.CHARGE_ADDRESS.getType(), + DataDictionaryEnum.CHARGE_ADDRESS.getCode() + ); + mallMemberVo.setChargeAddress(chargeAddressDic.getValue()); + + DataDictionaryCustom withdrawAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.WITHDRAW_AMOUNT.getType(), + DataDictionaryEnum.WITHDRAW_AMOUNT.getCode() + ); + BigDecimal withdrawAmount = new BigDecimal(withdrawAmountDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN); + mallMemberVo.setWithdrawAmount(withdrawAmount); + + DataDictionaryCustom usdtPriceDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.USDT_PRICE.getType(), + DataDictionaryEnum.USDT_PRICE.getCode() + ); + BigDecimal usdtPrice = new BigDecimal(usdtPriceDic.getValue()).setScale(2, BigDecimal.ROUND_DOWN); + mallMemberVo.setUsdtPrice(usdtPrice); return new FebsResponse().success().data(mallMemberVo); } @@ -919,7 +958,7 @@ MallMemberPayment mallMemberPayment = mallMemberPaymentMapper.selectByMemberId(memberId); mallMemberPayment.setWxQrcode(updatePaymentDto.getWxQrcode()); -// mallMemberPayment.setAliQrcode(updatePaymentDto.getAliQrcode()); + mallMemberPayment.setAliQrcode(updatePaymentDto.getAliQrcode()); mallMemberPayment.setBankName(updatePaymentDto.getBankName()); // mallMemberPayment.setBankNo(updatePaymentDto.getBankNo()); // mallMemberPayment.setBank(updatePaymentDto.getBank()); @@ -1005,16 +1044,48 @@ return new FebsResponse().success().data(pages); } - public static void main(String[] args) { - Set<String> objectsAccount = new HashSet<>(); - Set<String> objects = new HashSet<>(); - int j = 100; - for(int i =0;i < 100 ; i++){ - String s = ShareCodeUtil.toSerialNumberCodeTwo(j); - objects.add(s); + @Override + public FebsResponse chargeBalance(ApiChargeBalanceDto apiChargeBalanceDto) { + Long memberId = LoginUserUtil.getLoginUser().getId(); + MallMember mallMember = this.baseMapper.selectById(memberId); + BigDecimal amount = apiChargeBalanceDto.getAmount(); + DataDictionaryCustom chargeAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( + DataDictionaryEnum.CHARGE_AMOUNT.getType(), + DataDictionaryEnum.CHARGE_AMOUNT.getCode() + ); + BigDecimal chargeAmount = new BigDecimal(chargeAmountDic.getValue()).setScale(2,BigDecimal.ROUND_DOWN); + if(chargeAmount.compareTo(amount) > 0){ + throw new FebsException("充值金额需要大于"+chargeAmount); } - System.out.println(objects); - System.out.println(objects.size()); + if (StrUtil.isBlank(mallMember.getTradePassword())) { + throw new FebsException("请设置交易密码"); + } + + if (!mallMember.getTradePassword().equals(SecureUtil.md5(apiChargeBalanceDto.getTradePassword()))) { + throw new FebsException("交易密码错误"); + } + MallMemberCharge mallMemberCharge = new MallMemberCharge(); + mallMemberCharge.setMemberId(memberId); + mallMemberCharge.setAmount(amount); + mallMemberCharge.setAddress(apiChargeBalanceDto.getAddress()); + mallMemberCharge.setState(1); + mallMemberChargeMapper.insert(mallMemberCharge); + + + return new FebsResponse().success().message("操作成功"); } + +// public static void main(String[] args) { +// Set<String> objectsAccount = new HashSet<>(); +// Set<String> objects = new HashSet<>(); +// int j = 100; +// for(int i =0;i < 100 ; i++){ +// String s = ShareCodeUtil.toSerialNumberCodeTwo(j); +// objects.add(s); +// } +// +// System.out.println(objects); +// System.out.println(objects.size()); +// } } -- Gitblit v1.9.1