From 45189f71f0eb2c119ea15de98c76839e9ee4b570 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 21 Oct 2022 18:14:48 +0800
Subject: [PATCH] 20221021

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |  125 +++++++++++++++++++++++++++++++++++------
 1 files changed, 107 insertions(+), 18 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
index 813b090..b143045 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -65,6 +65,8 @@
     private final PlatformBannerMapper platformBannerMapper;
     private final DappAccountMoneyChangeDao dappAccountMoneyChangeDao;
     private final DappBankDao dappBankDao;
+//    private final DappMemberService dappMemberService;
+    private final DappMemberAddressDao dappMemberAddressDao;
 
     private final RedisTemplate<String, Object> redisTemplate;
 
@@ -598,12 +600,26 @@
         DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
         if(ObjectUtil.isEmpty(dappMemberEntity)){
             memberInfoVo.setTotalAmount(AppContants.INIT_MONEY);
+            memberInfoVo.setAvailableAmount(AppContants.INIT_MONEY);
+            memberInfoVo.setFrozenAmount(AppContants.INIT_MONEY);
         }else{
             BigDecimal totalAmount = dappWalletCoinEntity.getTotalAmount();
+            BigDecimal frozenAmount = dappWalletCoinEntity.getFrozenAmount();
+            BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount();
             if(BigDecimal.ZERO.compareTo(totalAmount) > 0){
                 memberInfoVo.setTotalAmount(AppContants.INIT_MONEY);
             }else{
-                memberInfoVo.setTotalAmount(totalAmount.setScale(2,BigDecimal.ROUND_DOWN));
+                memberInfoVo.setTotalAmount(totalAmount.setScale(4,BigDecimal.ROUND_DOWN));
+            }
+            if(BigDecimal.ZERO.compareTo(frozenAmount) > 0){
+                memberInfoVo.setFrozenAmount(AppContants.INIT_MONEY);
+            }else{
+                memberInfoVo.setFrozenAmount(frozenAmount.setScale(4,BigDecimal.ROUND_DOWN));
+            }
+            if(BigDecimal.ZERO.compareTo(availableAmount) > 0){
+                memberInfoVo.setAvailableAmount(AppContants.INIT_MONEY);
+            }else{
+                memberInfoVo.setAvailableAmount(availableAmount.setScale(4,BigDecimal.ROUND_DOWN));
             }
         }
         return memberInfoVo;
@@ -732,18 +748,18 @@
         if (ObjectUtil.isEmpty(refererMember)) {
             return new FebsResponse().fail().message(MessageSourceUtils.getString("register_err_005"));
         }
-        member = new DappMemberEntity();
-        member.setUsername(apiAddTeammateDto.getAccount());
-        member.setPassword(SecureUtil.md5(apiAddTeammateDto.getPassword()));
-        member.setIdentity(DataDictionaryEnum.LEVEL_MB.getCode());
-        member.setRefererId(member.getInviteId());
-        dappMemberDao.insert(member);
+        DappMemberEntity memberadd = new DappMemberEntity();
+        memberadd.setUsername(apiAddTeammateDto.getAccount());
+        memberadd.setPassword(SecureUtil.md5(apiAddTeammateDto.getPassword()));
+        memberadd.setIdentity(DataDictionaryEnum.LEVEL_MB.getCode());
+        memberadd.setRefererId(member.getInviteId());
+        dappMemberDao.insert(memberadd);
 
         //更新用户信息
-        String inviteId = ShareCodeUtil.toSerialCode(member.getId());
-        member.setInviteId(inviteId);
+        String inviteId = ShareCodeUtil.toSerialCode(memberadd.getId());
+        memberadd.setInviteId(inviteId);
         boolean flag = false;
-        String parentId = member.getRefererId();
+        String parentId = memberadd.getRefererId();
         String ids = "";
         while (!flag) {
             ids += ("," + parentId);
@@ -756,11 +772,11 @@
                 flag = true;
             }
         }
-        member.setRefererIds(ids);
-        dappMemberDao.updateById(member);
+        memberadd.setRefererIds(ids);
+        dappMemberDao.updateById(memberadd);
         //初始化账户信息
         DappWalletCoinEntity dappWalletCoinEntity = new DappWalletCoinEntity();
-        dappWalletCoinEntity.setMemberId(member.getId());
+        dappWalletCoinEntity.setMemberId(memberadd.getId());
         dappWalletCoinEntity.setAvailableAmount(AppContants.INIT_MONEY);
         dappWalletCoinEntity.setFrozenAmount(AppContants.INIT_MONEY);
         dappWalletCoinEntity.setTotalAmount(AppContants.INIT_MONEY);
@@ -801,6 +817,7 @@
                 ApiAmountTypeVo apiAmountTypeVo = new ApiAmountTypeVo();
                 apiAmountTypeVo.setDescription(dataDictionaryCustom.getDescription());
                 apiAmountTypeVo.setCodeValue(dataDictionaryCustom.getValue());
+                apiAmountTypeVos.add(apiAmountTypeVo);
             }
         }
         return new FebsResponse().success().data(apiAmountTypeVos);
@@ -816,12 +833,84 @@
     }
 
     @Override
-    public IPage<ApiBankListVo> getBankListInPage(ApiBankListDto apiBankListDto) {
+    public FebsResponse getBankListInPage(ApiBankListDto apiBankListDto) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
-        Page<ApiBankListVo> page = new Page<>(apiBankListDto.getPageNum(), apiBankListDto.getPageSize());
-        apiBankListDto.setMemberId(member.getId());
-        IPage<ApiBankListVo> apiBankListVoIPage = dappBankDao.selectBankListInPage(apiBankListDto,page);
-        return apiBankListVoIPage;
+        List<ApiBankListVo> apiBankListVos = dappBankDao.selectBankListByMemberId(member.getId());
+        return new FebsResponse().success().data(apiBankListVos);
+    }
+
+    @Override
+    public FebsResponse addBank(ApiAddBankDto addBankDto) {
+        DappMemberEntity member = LoginUserUtil.getAppUser();
+        if(ObjectUtil.isEmpty(addBankDto.getTransferCode())){
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_006"));
+        }
+        //验证资金密码
+        Boolean aBoolean = validateTransferCodeInside(addBankDto.getTransferCode(), member.getId());
+        if(!aBoolean){
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_006"));
+        }
+        DappBank dappBank = new DappBank();
+        dappBank.setMemberId(member.getId());
+        dappBank.setType(addBankDto.getType());
+        dappBank.setMemberName(addBankDto.getMemberName());
+        dappBank.setCardCode(addBankDto.getCardCode());
+        dappBank.setBankName(addBankDto.getBankName());
+        dappBank.setBankOtherName(addBankDto.getBankOtherName());
+        dappBank.setCountry(addBankDto.getCountry());
+        dappBank.setProvince(addBankDto.getProvince());
+        dappBank.setAddress(addBankDto.getAddress());
+        dappBank.setIdentifyCode(addBankDto.getIdentifyCode());
+        dappBank.setSwiftBicCode(addBankDto.getSwiftBicCode());
+        dappBank.setIbanCode(addBankDto.getIbanCode());
+        dappBankDao.insert(dappBank);
+        return new FebsResponse().success().message(MessageSourceUtils.getString("Operation_001"));
+    }
+
+    private Boolean validateTransferCodeInside(String transferCode, Long memberId) {
+        boolean flag = false;
+        DappMemberEntity member = dappMemberDao.selectById(memberId);
+        if (ObjectUtil.isEmpty(member)) {
+            return flag;
+        }
+        String transferCodeMember = member.getTransferCode();
+        String transferCodeMd5Pwd = SecureUtil.md5(transferCode);
+        if(transferCodeMd5Pwd.equals(transferCodeMember)){
+            flag = true;
+        }else{
+            return flag;
+        }
+        return flag;
+    }
+
+    @Override
+    public FebsResponse getBankListInPage() {
+        DappMemberEntity member = LoginUserUtil.getAppUser();
+        ApiAddressInfoVo apiAddressInfoVo = dappMemberAddressDao.selectByMemberId(member.getId());
+        return new FebsResponse().success().data(apiAddressInfoVo);
+    }
+
+    @Override
+    public FebsResponse addAddress(ApiAddAddressDto apiAddAddressDto) {
+        DappMemberEntity member = LoginUserUtil.getAppUser();
+        if(ObjectUtil.isEmpty(apiAddAddressDto.getTransferCode())){
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_006"));
+        }
+        //验证资金密码
+        Boolean aBoolean = validateTransferCodeInside(apiAddAddressDto.getTransferCode(), member.getId());
+        if(!aBoolean){
+            return new FebsResponse().fail().message(MessageSourceUtils.getString("member_err_006"));
+        }
+        ApiAddressInfoVo apiAddressInfoVo = dappMemberAddressDao.selectByMemberId(member.getId());
+        if(ObjectUtil.isNotEmpty(apiAddressInfoVo)){
+            return new FebsResponse().success().message(MessageSourceUtils.getString("Operation_002"));
+        }
+        DappMemberAddress dappMemberAddress = new DappMemberAddress();
+        dappMemberAddress.setType(apiAddAddressDto.getType());
+        dappMemberAddress.setMemberId(member.getId());
+        dappMemberAddress.setAddress(apiAddAddressDto.getAddress());
+        dappMemberAddressDao.insert(dappMemberAddress);
+        return new FebsResponse().success().message(MessageSourceUtils.getString("Operation_001"));
     }
 
     public String generateAsaToken(String token) {

--
Gitblit v1.9.1