From 2e2eeeb8291415706f4941e55270a0b23e76bf23 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 04 Mar 2022 15:16:06 +0800
Subject: [PATCH] 20222223

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |  139 ++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 127 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
index 08c13dd..4433b3a 100644
--- a/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -5,6 +5,8 @@
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.SecureUtil;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xcong.excoin.common.LoginUserUtils;
 import com.xcong.excoin.common.contants.AppContants;
@@ -14,21 +16,16 @@
 import com.xcong.excoin.common.system.dto.RegisterDto;
 import com.xcong.excoin.common.system.service.CommonService;
 import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao;
+import com.xcong.excoin.modules.coin.dao.ZhiYaDao;
+import com.xcong.excoin.modules.coin.dao.ZhiYaRecordDao;
 import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
+import com.xcong.excoin.modules.coin.entity.ZhiYaEntity;
+import com.xcong.excoin.modules.coin.entity.ZhiYaRecordEntity;
+import com.xcong.excoin.modules.coin.entity.ZhiYaTeam;
+import com.xcong.excoin.modules.coin.parameter.vo.ZhiyaInfoVo;
 import com.xcong.excoin.modules.member.dao.*;
 import com.xcong.excoin.modules.member.entity.*;
-import com.xcong.excoin.modules.member.parameter.dto.MemberAddCoinAddressDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberAuthenticationDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberBindEmailDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberBindPhoneDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberDelCoinAddressDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberDelPaymethodDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberForgetPwdDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberPaymethodDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberSubmitCoinApplyDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberUpdatePwdDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradePwdDto;
-import com.xcong.excoin.modules.member.parameter.dto.MemberUpdateTradersPwdTimeDto;
+import com.xcong.excoin.modules.member.parameter.dto.*;
 import com.xcong.excoin.modules.member.parameter.vo.*;
 import com.xcong.excoin.modules.member.service.MemberService;
 import com.xcong.excoin.modules.platform.dao.PlatformFeeSettingDao;
@@ -45,6 +42,7 @@
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.web3j.abi.datatypes.Int;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
@@ -67,6 +65,9 @@
     private MemberDao memberDao;
 
     @Resource
+    private ZhiYaRecordDao zhiYaRecordDao;
+
+    @Resource
     private MemberWalletAgentDao memberWalletAgentDao;
 
     @Resource
@@ -77,6 +78,12 @@
 
     @Resource
     private MemberWalletCoinDao memberWalletCoinDao;
+
+    @Resource
+    private MemberCoinAddressInDao memberCoinAddressInDao;
+
+    @Resource
+    private ZhiYaDao zhiYaDao;
 
     @Resource
     private MemberLevelRateDao memberLevelRateDao;
@@ -218,6 +225,14 @@
             walletCoin.setBorrowedFund(AppContants.INIT_MONEY);
             memberWalletCoinDao.insert(walletCoin);
         }
+
+        //初始化质押
+        ZhiYaEntity zhiYaEntity = new ZhiYaEntity();
+        zhiYaEntity.setMemberId(member.getId());
+        zhiYaEntity.setAvailableBalance(AppContants.INIT_MONEY);
+        zhiYaEntity.setFrozenBalance(AppContants.INIT_MONEY);
+        zhiYaEntity.setTotalBalance(AppContants.INIT_MONEY);
+        zhiYaDao.insert(zhiYaEntity);
 
         // 初始化代理佣金钱包
         MemberWalletAgentEntity walletAgent = new MemberWalletAgentEntity();
@@ -1020,6 +1035,106 @@
         }
         return Result.ok(arrayList);
     }
+
+    @Override
+    public Result memberTeam(MemberTeamRecordsPageDto memberTeamRecordsPageDto) {
+        //获取用户ID
+        Long memberId = LoginUserUtils.getAppLoginUser().getId();
+        MemberEntity member = memberDao.selectById(memberId);
+        MemberTeamVo memberTeamVo = memberDao.selectAllTeamByInviteIdInPage(memberId,member.getInviteId());
+        List<TeamVo> teamVos = new ArrayList<>();
+        //直属会员
+        List<MemberEntity> memberZhiShu = memberDao.selectMemberInfoByRefererId(member.getInviteId());
+        if(ObjectUtil.isEmpty(memberTeamVo)){
+            MemberTeamVo memberTeamVoNull = new MemberTeamVo();
+            Integer teamCnt = memberDao.selectMemberCountByInvitedId(member.getInviteId());
+            memberTeamVoNull.setTeamCnt(teamCnt);
+            memberTeamVoNull.setZhiyaCnt(BigDecimal.ZERO);
+            memberTeamVoNull.setRewardCnt(BigDecimal.ZERO);
+            //直属会员
+            if(CollUtil.isNotEmpty(memberZhiShu)){
+                for(MemberEntity zhishu : memberZhiShu){
+                    TeamVo teamVo = new TeamVo();
+                    String phone = zhishu.getPhone();
+                    if(StrUtil.isNotEmpty(phone)){
+                        String result = phone.substring(phone.length()-4,phone.length());
+                        teamVo.setAccount(result);
+                    }
+                    int memberCnt = memberDao.selectMemberCountByInvitedId(zhishu.getInviteId());
+                    teamVo.setTeamCnt(memberCnt);
+                    teamVo.setZhiyaCnt(BigDecimal.ZERO);
+                    teamVo.setRewardCnt(BigDecimal.ZERO);
+                    teamVos.add(teamVo);
+                }
+                memberTeamVoNull.setTeamVo(teamVos);
+            }
+            return Result.ok(memberTeamVoNull);
+        }
+        if(CollUtil.isNotEmpty(memberZhiShu)){
+            for(MemberEntity zhishu : memberZhiShu){
+                Long zhiShuMemberId = zhishu.getId();
+                ZhiYaTeam zhiYaTeam = memberDao.selectZhiYaTeamRecordByMemberId(zhiShuMemberId);
+                TeamVo teamVo = new TeamVo();
+                String phone = zhishu.getPhone();
+                if(StrUtil.isNotEmpty(phone)){
+                    String result = phone.substring(phone.length()-4,phone.length());
+                    teamVo.setAccount(result);
+                }
+                int memberCnt = memberDao.selectMemberCountByInvitedId(zhishu.getInviteId());
+                teamVo.setTeamCnt(memberCnt);
+
+                Long aLong = zhiYaRecordDao.selectSumZhiyaCntByMemberIdAndOrderStatus(zhiShuMemberId, 1);
+                Long rLong = zhiYaRecordDao.selectSumRewardCntByMemberId(zhiShuMemberId);
+                teamVo.setZhiyaCnt(new BigDecimal(aLong));
+                teamVo.setRewardCnt(new BigDecimal(rLong));
+                if(ObjectUtil.isNotEmpty(zhiYaTeam)){
+                    teamVo.setZhiyaCnt((zhiYaTeam.getZhiyaCnt() == null ? BigDecimal.ZERO : zhiYaTeam.getZhiyaCnt()).add(new BigDecimal(aLong)));
+                    teamVo.setRewardCnt(zhiYaTeam.getRewardCnt() == null ?BigDecimal.ZERO : zhiYaTeam.getRewardCnt().add(new BigDecimal(rLong)));
+                }
+                teamVos.add(teamVo);
+            }
+            memberTeamVo.setTeamVo(teamVos);
+        }
+        return Result.ok(memberTeamVo);
+    }
+
+    @Override
+    public Result memberCoinAddressInList() {
+        //获取用户ID
+        Long memberId = LoginUserUtils.getAppLoginUser().getId();
+
+        Map<String, Object> columnMap = new HashMap<>();
+        columnMap.put("member_id", memberId);
+        List<MemberCoinAddressInEntity> selectByMap = memberCoinAddressInDao.selectByMap(columnMap );
+        List<MemberCoinAddressInListVo> arrayList = new ArrayList<>();
+        if (CollUtil.isNotEmpty(selectByMap)) {
+            for (MemberCoinAddressInEntity memberCoinAddressInEntity : selectByMap) {
+                MemberCoinAddressInListVo memberCoinAddressInListVo = new MemberCoinAddressInListVo();
+                memberCoinAddressInListVo.setId(memberCoinAddressInEntity.getId());
+                memberCoinAddressInListVo.setAccount(memberCoinAddressInEntity.getAccount());
+                memberCoinAddressInListVo.setContent(memberCoinAddressInEntity.getContent());
+                arrayList.add(memberCoinAddressInListVo);
+            }
+        }
+        return Result.ok(arrayList);
+    }
+
+    @Override
+    @Transactional
+    public Result memberAddCoinAddressIn(MemberAddCoinAddressInDto memberAddCoinAddressDto) {
+
+        //获取用户ID
+        Long memberId = LoginUserUtils.getAppLoginUser().getId();
+        String address = memberAddCoinAddressDto.getAddress();
+        String remark = memberAddCoinAddressDto.getRemark();
+
+        MemberCoinAddressInEntity memberCoinAddressInEntity = new MemberCoinAddressInEntity();
+        memberCoinAddressInEntity.setAccount(address);
+        memberCoinAddressInEntity.setMemberId(memberId);
+        memberCoinAddressInEntity.setContent(remark);
+        memberCoinAddressInDao.insert(memberCoinAddressInEntity);
+        return Result.ok(MessageSourceUtils.getString("member_service_0024"));
+    }
 }
 
 

--
Gitblit v1.9.1