From 43dcf668f510da7aea8ccbe43e44039fdbe52a4a Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 09 Jul 2020 16:36:53 +0800
Subject: [PATCH] 20200709  代码提交

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |   99 ++++++++++++++++++++++++++++++-------------------
 1 files changed, 61 insertions(+), 38 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 56ace36..795bc5c 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
@@ -38,6 +38,7 @@
 import com.xcong.excoin.utils.MessageSourceUtils;
 import com.xcong.excoin.utils.RedisUtils;
 import com.xcong.excoin.utils.ShareCodeUtil;
+import com.xcong.excoin.utils.ThreadPoolUtils;
 import lombok.extern.slf4j.Slf4j;
 
 import org.springframework.security.core.context.SecurityContextHolder;
@@ -102,7 +103,7 @@
 
     @Resource
     MemberCoinWithdrawDao memberCoinWithdrawDao;
-    
+
     @Resource
     AppVersionDao appVersionDao;
 
@@ -117,6 +118,11 @@
         if (member != null) {
             return Result.fail("账号已存在");
         }
+
+//        boolean isTrue = commonservice.verifyCode(registerDto.getAccount(), registerDto.getCode());
+//        if (!isTrue) {
+//            return Result.fail(MessageSourceUtils.getString("common_verify_code"));
+//        }
 
         member = new MemberEntity();
         member.setPassword(SecureUtil.md5(registerDto.getPassword()));
@@ -134,18 +140,21 @@
 //        if (StrUtil.isBlank(registerDto.getRefererId())) {
 //            registerDto.setRefererId(AppContants.SYSTEM_REFERER);
 //        }
-        MemberEntity isExist = memberDao.selectMemberInfoByInviteId(registerDto.getRefererId());
-        if (isExist == null) {
-            return Result.fail("推荐人不存在");
+        if (!AppContants.SYSTEM_REFERER.equals(registerDto.getRefererId())) {
+            MemberEntity isExist = memberDao.selectMemberInfoByInviteId(registerDto.getRefererId());
+            if (isExist == null) {
+                return Result.fail("推荐人不存在");
+            }
         }
 
         member.setRefererId(registerDto.getRefererId());
         member.setAccountStatus(MemberEntity.ACCOUNT_STATUS_ENABLE);
-        member.setAccountType(registerDto.getType());
+        member.setAccountType(MemberEntity.ACCOUNT_TYPE_NORMAL);
         member.setAgentLevel(MemberEntity.ACCOUNT_AGENT_LEVEL);
         member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_UN_SUBMIT);
         member.setIsForce(0);
         member.setIsProfit(0);
+        member.setSpread(BigDecimal.ZERO);
         memberDao.insert(member);
 
         String inviteId = ShareCodeUtil.toSerialCode(member.getId());
@@ -213,7 +222,8 @@
             levelRate.setSymbol(symbolEnum.getValue());
             memberLevelRateDao.insert(levelRate);
         }
-        return Result.ok("success");
+
+        return Result.ok(MessageSourceUtils.getString("home_service_0009"));
     }
 
     @Override
@@ -320,8 +330,13 @@
         //获取用户ID
         Long memberId = LoginUserUtils.getAppLoginUser().getId();
         MemberEntity member = memberDao.selectById(memberId);
+		if(MemberEntity.CERTIFY_STATUS_ING.equals(member.getCertifyStatus())) {
+			return Result.fail(MessageSourceUtils.getString("member_service_4000"));
+		}
         if (ObjectUtil.isNotEmpty(member)) {
-            MemberAuthenticationEntity memberAuthenticationEntity = new MemberAuthenticationEntity();
+
+        	MemberAuthenticationEntity memberAuthenticationEntity = new MemberAuthenticationEntity();
+
             if (MemberEntity.CERTIFY_STATUS_Y == member.getCertifyStatus()) {
                 return Result.fail(MessageSourceUtils.getString("member_service_0055"));
             }
@@ -344,10 +359,10 @@
                 return Result.fail(MessageSourceUtils.getString("member_service_0059"));
             }
             memberAuthenticationEntity.setSecondName(memberAuthenticationDto.getSecondName());
-            
+
             String type = memberAuthenticationDto.getType();
             memberAuthenticationEntity.setType(type);
-            
+
             String idCardNo = memberAuthenticationDto.getIdCardNo();
             if (StrUtil.isBlank(idCardNo)) {
             	return Result.fail(MessageSourceUtils.getString("member_service_0060"));
@@ -366,19 +381,22 @@
             memberAuthenticationEntity.setIdcardImageFront(memberAuthenticationDto.getIdCardFront());
             memberAuthenticationEntity.setIdcardImageBack(memberAuthenticationDto.getIdCardReverse());
             memberAuthenticationEntity.setIdcardImageInHand(memberAuthenticationDto.getIdCardImage());
-            memberAuthenticationDao.insert(memberAuthenticationEntity);
+
+            Map<String, Object> columnMap = new HashMap<>();
+        	columnMap.put("member_id", memberId);
+        	List<MemberAuthenticationEntity> selectByMap = memberAuthenticationDao.selectByMap(columnMap);
+        	if(CollUtil.isEmpty(selectByMap)) {
+        		memberAuthenticationDao.insert(memberAuthenticationEntity);
+        	}else {
+        		memberAuthenticationEntity.setId(selectByMap.get(0).getId());
+        		memberAuthenticationDao.updateById(memberAuthenticationEntity);
+        	}
 
             member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_ING);
             member.setIdcardNo(idCardNo);
             memberDao.updateById(member);
-            /**
-             *  TODO dingtalk
 
-             Constant.excutor.execute(new Runnable() {
-            @Override public void run() {
-            DingTalkUtils.sendActionCard(4);
-            }
-            });*/
+            ThreadPoolUtils.sendDingTalk(4);
             return Result.ok(MessageSourceUtils.getString("member_service_0024"));
         }
         return Result.fail(MessageSourceUtils.getString("member_service_0063"));
@@ -466,7 +484,7 @@
         if (!MemberEntity.CERTIFY_STATUS_Y.equals(member.getCertifyStatus())) {
             return Result.fail(MessageSourceUtils.getString("member_service_0077"));
         }
-        
+
         Map<String, Object> columnMap = new HashMap<>();
         columnMap.put("member_id", memberId);
 		List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
@@ -733,7 +751,10 @@
         MemberEntity member = memberDao.selectById(memberId);
 
         MemberPersonCenterInfoVo memberPersonCenterInfoVo = new MemberPersonCenterInfoVo();
-        
+
+        Integer certifyStatus = member.getCertifyStatus();
+        memberPersonCenterInfoVo.setCertifyStatus(certifyStatus);
+
         Map<String, Object> columnMap = new HashMap<>();
         columnMap.put("member_id", memberId);
         List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
@@ -742,7 +763,7 @@
         }else {
         	memberPersonCenterInfoVo.setMemberPaymentMethod(1);
         }
-        
+
         if (StrUtil.isNotEmpty(member.getPhone())) {
             memberPersonCenterInfoVo.setPhone(1);
         } else {
@@ -798,15 +819,22 @@
             return Result.fail(MessageSourceUtils.getString("member_service_0087"));
         }
 
-        MemberAvivableCoinInfoVo memberAvivableCoinInfoVo = new MemberAvivableCoinInfoVo();
-        memberAvivableCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance());
+        List<MemberAvivableCoinInfoVo> arrayList = new ArrayList<>();
 
-        PlatformFeeSettingEntity feeSetting = platformFeeSettingDao.getFeeSettingByTypeAndSymbol(2, symbol);
-        if (ObjectUtil.isEmpty(feeSetting)) {
+
+		List<PlatformFeeSettingEntity> feeSettingByTypeAndSymbolLable = platformFeeSettingDao.getFeeSettingsByTypeAndSymbol(2, symbol);
+        if (CollUtil.isEmpty(feeSettingByTypeAndSymbolLable)) {
             return Result.fail(MessageSourceUtils.getString("member_service_0087"));
         }
-        memberAvivableCoinInfoVo.setFee(feeSetting.getFeePrice());
-        return Result.ok(memberAvivableCoinInfoVo);
+        for(PlatformFeeSettingEntity platformFeeSettingEntity : feeSettingByTypeAndSymbolLable) {
+        	MemberAvivableCoinInfoVo memberAvivableCoinInfoVo = new MemberAvivableCoinInfoVo();
+        	memberAvivableCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance());
+        	memberAvivableCoinInfoVo.setFee(platformFeeSettingEntity.getFeePrice());
+        	memberAvivableCoinInfoVo.setLable(platformFeeSettingEntity.getLable());
+        	arrayList.add(memberAvivableCoinInfoVo);
+        }
+
+        return Result.ok(arrayList);
     }
 
     @Override
@@ -857,9 +885,9 @@
         if (flag) {
             MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, memberSubmitCoinApplyDto.getSymbol());
             BigDecimal availableBalance = walletCoin.getAvailableBalance();
-            BigDecimal coinNumber = memberSubmitCoinApplyDto.getCoinNumber().add(memberSubmitCoinApplyDto.getFeeAmount());
+            BigDecimal coinNumber = memberSubmitCoinApplyDto.getCoinNumber();
             if (availableBalance.compareTo(BigDecimal.ZERO) > 0
-                    && availableBalance.compareTo(coinNumber) > 0) {
+                    && availableBalance.compareTo(coinNumber) >= 0) {
                 //新增提币记录
                 MemberCoinWithdrawEntity memberCoinWithdrawEntity = new MemberCoinWithdrawEntity();
                 memberCoinWithdrawEntity.setAddress(memberSubmitCoinApplyDto.getAddress());
@@ -888,19 +916,14 @@
                 MemberAccountMoneyChange accountRecord = new MemberAccountMoneyChange();
                 accountRecord.setContent("提币");
                 accountRecord.setMemberId(memberId);
-                accountRecord.setAmount(memberSubmitCoinApplyDto.getCoinNumber());
+                accountRecord.setAmount(coinNumber);
+                accountRecord.setWithdrawId(memberCoinWithdrawEntity.getId());
                 accountRecord.setStatus(MemberAccountMoneyChange.STATUS_WAIT_INTEGER);
                 accountRecord.setSymbol(memberSubmitCoinApplyDto.getSymbol());
                 accountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN);
                 memberAccountMoneyChangeDao.insert(accountRecord);
-                /**
-                 *  TODO dingtalk
-                 Constant.excutor.execute(new Runnable() {
-                @Override public void run() {
-                DingTalkUtils.sendActionCard(3);
-                }
-                });
-                 */
+
+                ThreadPoolUtils.sendDingTalk(3);
                 return Result.ok(MessageSourceUtils.getString("member_service_0086"));
             } else {
                 return Result.fail(MessageSourceUtils.getString("member_service_0005"));
@@ -932,7 +955,7 @@
 	public Result getAppVersionInfo() {
 	Map<String, Object> columnMap = new HashMap<>();
 	List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap);
-	List<Object> arrayList = new ArrayList<>(); 
+	List<Object> arrayList = new ArrayList<>();
 		if(CollUtil.isNotEmpty(selectByMap)) {
 			for(AppVersionEntity appVersionEntity : selectByMap) {
 					AppVersionVo appVersionVo = new AppVersionVo();

--
Gitblit v1.9.1