From 123fb7d4647a203d2b33ef51de56890f38491f9c Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 01 Jul 2024 16:54:17 +0800
Subject: [PATCH] 后台

---
 src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallMemberServiceImpl.java |   43 +++++++++++++++++++++++++++++++++----------
 1 files changed, 33 insertions(+), 10 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 f4abe29..4ed53bf 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
@@ -179,8 +179,8 @@
         if (mallMember == null) {
             throw new FebsException("账号或密码错误");
         }
-        if (MallMember.ACCOUNT_STATUS_DISABLED.equals(mallMember.getAccountStatus())) {
-            throw new FebsException("账号限制登录");
+        if (ProductEnum.MEMBER_FROZEN.getValue() == mallMember.getIsFrozen()) {
+            throw new FebsException("账号已冻结");
         }
 
         String redisKey = AppContants.APP_LOGIN_PREFIX + mallMember.getId();
@@ -242,6 +242,12 @@
         MallMemberVo mallMemberVo = MallMemberConversion.INSTANCE.entityToVo(mallMember);
         MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(mallMember.getId());
         mallMemberVo.setBalance(mallMemberWallet.getBalance());
+
+        DataDictionaryCustom chargeAddressDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
+                DataDictionaryEnum.CHARGE_ADDRESS.getType(),
+                DataDictionaryEnum.CHARGE_ADDRESS.getCode()
+        );
+        mallMemberVo.setSysAddress(chargeAddressDic.getValue());
         return new FebsResponse().success().data(mallMemberVo);
     }
 
@@ -935,6 +941,10 @@
     public FebsResponse chargeBalance(ApiChargeBalanceDto apiChargeBalanceDto) {
         Long memberId = LoginUserUtil.getLoginUser().getId();
         MallMember mallMember = this.baseMapper.selectById(memberId);
+        if(ObjectUtil.isEmpty(mallMember.getBindPhone())){
+            throw new FebsException("请绑定充值提取地址");
+        }
+        String address = mallMember.getBindPhone();
         BigDecimal amount = apiChargeBalanceDto.getAmount();
         DataDictionaryCustom chargeAmountDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                 DataDictionaryEnum.CHARGE_AMOUNT.getType(),
@@ -945,21 +955,34 @@
             throw new FebsException("充值金额需要大于"+chargeAmount);
         }
 
-        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.setAddress(address);
         mallMemberCharge.setState(1);
         mallMemberChargeMapper.insert(mallMemberCharge);
 
+        return new FebsResponse().success().message("操作成功");
+    }
 
+    @Override
+    public FebsResponse bindAddress(ApiBindAddressDto apiBindAddressDto) {
+        Long memberId = LoginUserUtil.getLoginUser().getId();
+
+        MallMember mallMember = this.baseMapper.selectById(memberId);
+        if(ObjectUtil.isNotEmpty(mallMember.getBindPhone())){
+            throw new FebsException("账号已绑定,请勿重复提交");
+        }
+
+        String address = apiBindAddressDto.getAddress().toLowerCase();
+        QueryWrapper<MallMember> objectQueryWrapper = new QueryWrapper<>();
+        objectQueryWrapper.eq("bind_phone",address);
+        List<MallMember> mallMembers = this.baseMapper.selectList(objectQueryWrapper);
+        if(CollUtil.isNotEmpty(mallMembers)){
+            throw new FebsException("请使用未绑定的地址");
+        }
+        mallMember.setBindPhone(address);
+        this.baseMapper.updateById(mallMember);
         return new FebsResponse().success().message("操作成功");
     }
 

--
Gitblit v1.9.1