From d23645e976981bc9b670eea1d469fe8a36be309c Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 17 Apr 2024 17:19:53 +0800
Subject: [PATCH] 55测试环境

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |  442 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 349 insertions(+), 93 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 a01ec56..34ce5af 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,7 @@
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.crypto.SecureUtil;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.xcong.excoin.common.LoginUserUtils;
 import com.xcong.excoin.common.contants.AppContants;
@@ -13,22 +14,20 @@
 import com.xcong.excoin.common.response.Result;
 import com.xcong.excoin.common.system.dto.RegisterDto;
 import com.xcong.excoin.common.system.service.CommonService;
+import com.xcong.excoin.modules.activity.dao.ActivityMainDao;
+import com.xcong.excoin.modules.activity.dao.ActivityMemberDetailDao;
+import com.xcong.excoin.modules.activity.dao.ActivityReceiveRecordDao;
+import com.xcong.excoin.modules.activity.dao.ActivitySubDao;
+import com.xcong.excoin.modules.activity.entity.ActivityMain;
+import com.xcong.excoin.modules.activity.entity.ActivityMemberDetail;
+import com.xcong.excoin.modules.activity.entity.ActivityReceiveRecord;
+import com.xcong.excoin.modules.activity.entity.ActivitySub;
 import com.xcong.excoin.modules.coin.dao.MemberAccountMoneyChangeDao;
 import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
+import com.xcong.excoin.modules.contract.entity.ContractEntrustOrderEntity;
 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;
@@ -41,12 +40,14 @@
 import com.xcong.excoin.utils.ThreadPoolUtils;
 import lombok.extern.slf4j.Slf4j;
 
+import org.apache.commons.collections4.Put;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -97,6 +98,9 @@
 
     @Resource
     MemberCoinAddressDao memberCoinAddressDao;
+    
+    @Resource
+    MemberCoinAddressInDao memberCoinAddressInDao;
 
     @Resource
     private CommonService commonservice;
@@ -106,6 +110,18 @@
 
     @Resource
     AppVersionDao appVersionDao;
+    
+    @Resource
+    ActivityMainDao activityMainDao;
+    @Resource
+    ActivityMemberDetailDao activityMemberDetailDao;
+    @Resource
+    ActivityReceiveRecordDao activityReceiveRecordDao;
+    @Resource
+    ActivitySubDao activitySubDao;
+    
+    @Resource
+    private MemberSettingDao memberSettingDao;
 
     @Resource
     private MemberWalletContractSimulateDao memberWalletContractSimulateDao;
@@ -152,11 +168,17 @@
         member.setAccountType(MemberEntity.ACCOUNT_TYPE_NORMAL);
         member.setAgentLevel(MemberEntity.ACCOUNT_AGENT_LEVEL);
         member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_UN_SUBMIT);
-        member.setIsForce(0);
+        member.setIsForce(1);
         member.setIsProfit(0);
-        member.setSpread(BigDecimal.ONE);
-        member.setClosingSpread(BigDecimal.ONE);
+        member.setContractPositionType(ContractEntrustOrderEntity.POSITION_TYPE_ALL);
         memberDao.insert(member);
+
+        MemberSettingEntity memberSettingEntity = new MemberSettingEntity();
+        memberSettingEntity.setSpread(BigDecimal.valueOf(0.5));
+        memberSettingEntity.setClosingSpread(BigDecimal.valueOf(2));
+        memberSettingEntity.setForceParam(BigDecimal.valueOf(0.0085));
+        memberSettingEntity.setMemberId(member.getId());
+        memberSettingDao.insert(memberSettingEntity);
 
         String inviteId = ShareCodeUtil.toSerialCode(member.getId());
         member.setInviteId(inviteId);
@@ -178,6 +200,15 @@
         member.setRefererIds(ids);
         memberDao.updateById(member);
 
+        MemberWalletContractSimulateEntity walletContractSimulate = new MemberWalletContractSimulateEntity();
+        walletContractSimulate.setMemberId(member.getId());
+        walletContractSimulate.setAvailableBalance(new BigDecimal(AppContants.INIT_SIMULATE_MONEY));
+        walletContractSimulate.setTotalBalance(new BigDecimal(AppContants.INIT_SIMULATE_MONEY));
+        walletContractSimulate.setFrozenBalance(AppContants.INIT_MONEY);
+        walletContractSimulate.setBorrowedFund(AppContants.INIT_MONEY);
+        walletContractSimulate.setWalletCode(CoinTypeEnum.USDT.name());
+        memberWalletContractSimulateDao.insert(walletContractSimulate);
+
         //初始化合约钱包
         MemberWalletContractEntity walletContract = new MemberWalletContractEntity();
         walletContract.setMemberId(member.getId());
@@ -188,18 +219,8 @@
         walletContract.setWalletCode(CoinTypeEnum.USDT.name());
         memberWalletContractDao.insert(walletContract);
 
-        MemberWalletContractSimulateEntity walletContractSimulate = new MemberWalletContractSimulateEntity();
-        walletContractSimulate.setMemberId(member.getId());
-        walletContractSimulate.setAvailableBalance(new BigDecimal(AppContants.INIT_SIMULATE_MONEY));
-        walletContractSimulate.setTotalBalance(new BigDecimal(AppContants.INIT_SIMULATE_MONEY));
-        walletContractSimulate.setFrozenBalance(AppContants.INIT_MONEY);
-        walletContractSimulate.setBorrowedFund(AppContants.INIT_MONEY);
-        walletContractSimulate.setWalletCode(CoinTypeEnum.USDT.name());
-        memberWalletContractSimulateDao.insert(walletContractSimulate);
-
-
-        // 初始化币币钱包
         for (CoinTypeEnum coinTypeEnum : CoinTypeEnum.values()) {
+            // 初始化币币钱包
             MemberWalletCoinEntity walletCoin = new MemberWalletCoinEntity();
             walletCoin.setWalletCode(coinTypeEnum.name());
             walletCoin.setMemberId(member.getId());
@@ -222,6 +243,42 @@
             levelRate.setMemberId(member.getId());
             levelRate.setSymbol(symbolEnum.getValue());
             memberLevelRateDao.insert(levelRate);
+        }
+        /**
+         * 初始化活动信息
+         */
+        //获取开始中的活动
+        ActivityMain activityMain = activityMainDao.selectById(1);
+        if(ObjectUtil.isNotEmpty(activityMain)) {
+        	if(ActivityMain.STATE_START == activityMain.getState()) {
+        		//新增【活动记录表】信息
+        		ActivityReceiveRecord activityReceiveRecord = new ActivityReceiveRecord();
+        		activityReceiveRecord.setMemberId(member.getId());
+        		activityReceiveRecord.setMainId(activityMain.getId());
+        		activityReceiveRecord.setReceiveCoinAmount(BigDecimal.ZERO);
+        		activityReceiveRecord.setReceiveState(ActivityReceiveRecord.RECEIVESTATE_TWO);
+        		Date startTime = new Date();
+        		Date date = new Date(startTime.getTime() + ActivityReceiveRecord.DAYS*24*60*60*1000);
+        		activityReceiveRecord.setInvalidTime(date);
+        		Map<String, Object> activitySubMap = new HashMap<>();
+        		activitySubMap.put("main_id", activityMain.getId());
+				List<ActivitySub> activitySubs = activitySubDao.selectByMap(activitySubMap );
+				if(CollUtil.isNotEmpty(activitySubs)) {
+					for(ActivitySub ActivitySub : activitySubs) {
+						Long subId = ActivitySub.getId();
+						activityReceiveRecord.setSubId(subId);
+						activityReceiveRecordDao.insert(activityReceiveRecord);
+					}
+				}
+        		//新增【活动个人详情表】信息
+        		ActivityMemberDetail activityMemberDetail = new ActivityMemberDetail();
+        		activityMemberDetail.setMainId(activityMain.getId());
+        		activityMemberDetail.setBurstUsdt(BigDecimal.ZERO);
+        		activityMemberDetail.setReceivedUsdt(BigDecimal.ZERO);
+        		activityMemberDetail.setSurplusUsdt(activityMain.getAmount());
+        		activityMemberDetail.setMemberId(member.getId());
+        		activityMemberDetailDao.insert(activityMemberDetail);
+        	}
         }
 
         return Result.ok(MessageSourceUtils.getString("home_service_0009"));
@@ -331,12 +388,12 @@
         //获取用户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 (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"));
@@ -366,13 +423,13 @@
 
             String idCardNo = memberAuthenticationDto.getIdCardNo();
             if (StrUtil.isBlank(idCardNo)) {
-            	return Result.fail(MessageSourceUtils.getString("member_service_0060"));
+                return Result.fail(MessageSourceUtils.getString("member_service_0060"));
             }
             memberAuthenticationEntity.setIdcardNo(idCardNo);
             //同一个身份证号码不能重复实名认证
             int count = memberAuthenticationDao.findMemberbyIdCardNoCount(idCardNo);
             if (count > 0) {
-            	return Result.fail(MessageSourceUtils.getString("member_service_0060"));
+                return Result.fail(MessageSourceUtils.getString("member_service_0060"));
             }
             if (StrUtil.isBlank(memberAuthenticationDto.getIdCardFront())
                     || StrUtil.isBlank(memberAuthenticationDto.getIdCardReverse())
@@ -384,14 +441,14 @@
             memberAuthenticationEntity.setIdcardImageInHand(memberAuthenticationDto.getIdCardImage());
 
             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);
-        	}
+            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);
@@ -488,14 +545,14 @@
 
         Map<String, Object> columnMap = new HashMap<>();
         columnMap.put("member_id", memberId);
-		List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
-		if(CollUtil.isNotEmpty(selectByMap)) {
-			for(MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) {
-				if(memberPaymethodDto.getAccount().equals(memberPaymentMethodEntity.getAccount())) {
-					return Result.fail(MessageSourceUtils.getString("member_service_0097"));
-				}
-			}
-		}
+        List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
+        if (CollUtil.isNotEmpty(selectByMap)) {
+            for (MemberPaymentMethodEntity memberPaymentMethodEntity : selectByMap) {
+                if (memberPaymethodDto.getAccount().equals(memberPaymentMethodEntity.getAccount())) {
+                    return Result.fail(MessageSourceUtils.getString("member_service_0097"));
+                }
+            }
+        }
         String account = memberPaymethodDto.getAccount();
         String bank = memberPaymethodDto.getBank();
         String name = memberPaymethodDto.getName();
@@ -576,7 +633,7 @@
     @Override
     @Transactional
     public Result memberBindPhone(@Valid MemberBindPhoneDto memberBindPhoneDto) {
-    	//获取用户ID
+        //获取用户ID
         Long memberId = LoginUserUtils.getAppLoginUser().getId();
         String phone = memberBindPhoneDto.getPhone();
         String code = memberBindPhoneDto.getCode();
@@ -589,13 +646,13 @@
             }
             Map<String, Object> columnMap = new HashMap<>();
             columnMap.put("phone", phone);
-			List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap );
-            if(CollUtil.isEmpty(selectByMap)) {
-            	member.setPhone(phone);
-            	memberDao.updateById(member);
-            	return Result.ok(MessageSourceUtils.getString("member_service_0014"));
-            }else {
-            	return Result.fail(MessageSourceUtils.getString("member_service_1400"));
+            List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap);
+            if (CollUtil.isEmpty(selectByMap)) {
+                member.setPhone(phone);
+                memberDao.updateById(member);
+                return Result.ok(MessageSourceUtils.getString("member_service_0014"));
+            } else {
+                return Result.fail(MessageSourceUtils.getString("member_service_1400"));
             }
         }
 
@@ -606,7 +663,7 @@
     @Transactional
     public Result memberBindEmail(@Valid MemberBindEmailDto memberBindEmailDto) {
 
-    	//获取用户ID
+        //获取用户ID
         Long memberId = LoginUserUtils.getAppLoginUser().getId();
         String email = memberBindEmailDto.getEmail();
         String code = memberBindEmailDto.getCode();
@@ -615,15 +672,15 @@
         boolean flag = commonservice.verifyCode(email, code);
         if (ObjectUtil.isNotEmpty(member)) {
             if (flag) {
-            	Map<String, Object> columnMap = new HashMap<>();
+                Map<String, Object> columnMap = new HashMap<>();
                 columnMap.put("email", email);
-    			List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap );
-                if(CollUtil.isEmpty(selectByMap)) {
-                	member.setEmail(email);
+                List<MemberEntity> selectByMap = memberDao.selectByMap(columnMap);
+                if (CollUtil.isEmpty(selectByMap)) {
+                    member.setEmail(email);
                     memberDao.updateById(member);
                     return Result.ok(MessageSourceUtils.getString("member_service_0018"));
-                }else {
-                	return Result.fail(MessageSourceUtils.getString("member_service_1400"));
+                } else {
+                    return Result.fail(MessageSourceUtils.getString("member_service_1400"));
                 }
             }
         }
@@ -677,10 +734,10 @@
         Long memberId = LoginUserUtils.getAppLoginUser().getId();
         String address = memberAddCoinAddressDto.getAddress();
         String isBiyict = memberAddCoinAddressDto.getIsBiyict();
-        Long symbolscoinId = memberAddCoinAddressDto.getSymbolscoinId();
+        String symbol = memberAddCoinAddressDto.getSymbol();
         String remark = memberAddCoinAddressDto.getRemark();
-
-        PlatformSymbolsCoinEntity platformSymbolsCoinEntity = platformSymbolsCoinDao.selectById(symbolscoinId);
+        PlatformSymbolsCoinEntity platformSymbolsCoinEntity = platformSymbolsCoinDao.selectOneBySymbol(symbol);
+        Long symbolscoinId = platformSymbolsCoinEntity.getId();
 
         MemberCoinAddressEntity memberCoinAddressEntity = new MemberCoinAddressEntity();
         memberCoinAddressEntity.setAddress(address);
@@ -759,10 +816,10 @@
         Map<String, Object> columnMap = new HashMap<>();
         columnMap.put("member_id", memberId);
         List<MemberPaymentMethodEntity> selectByMap = memberPaymentMethodDao.selectByMap(columnMap);
-        if(CollUtil.isEmpty(selectByMap)) {
-        	memberPersonCenterInfoVo.setMemberPaymentMethod(0);
-        }else {
-        	memberPersonCenterInfoVo.setMemberPaymentMethod(1);
+        if (CollUtil.isEmpty(selectByMap)) {
+            memberPersonCenterInfoVo.setMemberPaymentMethod(0);
+        } else {
+            memberPersonCenterInfoVo.setMemberPaymentMethod(1);
         }
 
         if (StrUtil.isNotEmpty(member.getPhone())) {
@@ -790,6 +847,9 @@
             memberPersonCenterInfoVo.setTradeAgingSetting(MemberPersonCenterInfoVo.PWD_NEED_NO);
         }
 
+        Integer fingerprintState = member.getFingerprintState();
+        memberPersonCenterInfoVo.setFingerprintState(fingerprintState);
+
         return Result.ok(memberPersonCenterInfoVo);
     }
 
@@ -812,7 +872,7 @@
     }
 
     @Override
-    public Result memberAvivableCoinInfo(String symbol) {
+    public Result memberAvivableCoinInfo(String symbol,String lable) {
         //获取用户ID
         Long memberId = LoginUserUtils.getAppLoginUser().getId();
         MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, symbol);
@@ -823,16 +883,16 @@
         List<MemberAvivableCoinInfoVo> arrayList = new ArrayList<>();
 
 
-		List<PlatformFeeSettingEntity> feeSettingByTypeAndSymbolLable = platformFeeSettingDao.getFeeSettingsByTypeAndSymbol(2, symbol);
+        List<PlatformFeeSettingEntity> feeSettingByTypeAndSymbolLable = platformFeeSettingDao.getFeeSettingsByTypeAndSymbol(2, symbol,lable);
         if (CollUtil.isEmpty(feeSettingByTypeAndSymbolLable)) {
             return Result.fail(MessageSourceUtils.getString("member_service_0087"));
         }
-        for(PlatformFeeSettingEntity platformFeeSettingEntity : feeSettingByTypeAndSymbolLable) {
-        	MemberAvivableCoinInfoVo memberAvivableCoinInfoVo = new MemberAvivableCoinInfoVo();
-        	memberAvivableCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance());
-        	memberAvivableCoinInfoVo.setFee(platformFeeSettingEntity.getFeePrice());
-        	memberAvivableCoinInfoVo.setLable(platformFeeSettingEntity.getLable());
-        	arrayList.add(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);
@@ -896,6 +956,7 @@
                 memberCoinWithdrawEntity.setFeeAmount(memberSubmitCoinApplyDto.getFeeAmount());
                 memberCoinWithdrawEntity.setSymbol(memberSubmitCoinApplyDto.getSymbol());
                 memberCoinWithdrawEntity.setMemberId(memberId);
+                memberCoinWithdrawEntity.setLabel(memberSubmitCoinApplyDto.getLable());
                 memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_DOING);
 
                 Map<String, Object> columnMap = new HashMap<>();
@@ -953,22 +1014,217 @@
         return Result.ok("");
     }
 
+    @Override
+    public Result getAppVersionInfo() {
+//        MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
+
+        Map<String, Object> columnMap = new HashMap<>();
+        List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap);
+        List<Object> arrayList = new ArrayList<>();
+        if (CollUtil.isNotEmpty(selectByMap)) {
+            for (AppVersionEntity appVersionEntity : selectByMap) {
+                AppVersionVo appVersionVo = new AppVersionVo();
+//                if ("37059551".equals(memberEntity.getInviteId())) {
+//                    appVersionVo.setAddress("www.baidu.com");
+//                    appVersionVo.setType(appVersionEntity.getType());
+//                    appVersionVo.setVersion(appVersionEntity.getVersion());
+//                } else {
+//
+//                }
+                appVersionVo.setAddress(appVersionEntity.getAddress());
+                appVersionVo.setType(appVersionEntity.getType());
+                appVersionVo.setVersion(appVersionEntity.getVersion());
+                arrayList.add(appVersionVo);
+            }
+        }
+        return Result.ok(arrayList);
+    }
+
+    @Override
+    public Result getPcVersionInfo() {
+        Map<String, Object> columnMap = new HashMap<>();
+        List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap);
+        List<Object> arrayList = new ArrayList<>();
+        if (CollUtil.isNotEmpty(selectByMap)) {
+            for (AppVersionEntity appVersionEntity : selectByMap) {
+                AppVersionVo appVersionVo = new AppVersionVo();
+                appVersionVo.setAddress(appVersionEntity.getAddress());
+                appVersionVo.setType(appVersionEntity.getType());
+                appVersionVo.setVersion(appVersionEntity.getVersion());
+                arrayList.add(appVersionVo);
+            }
+        }
+        return Result.ok(arrayList);
+    }
+
 	@Override
-	public Result getAppVersionInfo() {
-	Map<String, Object> columnMap = new HashMap<>();
-	List<AppVersionEntity> selectByMap = appVersionDao.selectByMap(columnMap);
-	List<Object> arrayList = new ArrayList<>();
-		if(CollUtil.isNotEmpty(selectByMap)) {
-			for(AppVersionEntity appVersionEntity : selectByMap) {
-					AppVersionVo appVersionVo = new AppVersionVo();
-					appVersionVo.setAddress(appVersionEntity.getAddress());
-					appVersionVo.setType(appVersionEntity.getType());
-					appVersionVo.setVersion(appVersionEntity.getVersion());
-					arrayList.add(appVersionVo);
-				}
-			}
-	return Result.ok(arrayList);
-	}
+	public Result memberSubmitCoinApplyIn(@Valid MemberSubmitCoinApplyInDto memberSubmitCoinApplyInDto) {
+        //获取用户ID
+        Long memberId = LoginUserUtils.getAppLoginUser().getId();
+        MemberEntity member = memberDao.selectById(memberId);
+        if (member.getCertifyStatus() != MemberEntity.CERTIFY_STATUS_Y) {
+            return Result.fail(MessageSourceUtils.getString("member_service_0077"));
+        }
+        if (StrUtil.isEmpty(member.getTradePassword())) {
+            return Result.fail(MessageSourceUtils.getString("member_service_0081"));
+        }
+        if (member.getTradePassword() == null) {
+            return Result.fail(MessageSourceUtils.getString("member_service_0082"));
+        }
+        if (!member.getTradePassword().equals(SecureUtil.md5(memberSubmitCoinApplyInDto.getTradePassword()))) {
+            return Result.fail(MessageSourceUtils.getString("member_service_0082"));
+        }
+
+        boolean flag = commonservice.verifyCode(memberSubmitCoinApplyInDto.getAccount(), memberSubmitCoinApplyInDto.getCode());
+        if (flag) {
+        	//获取到账地址
+        	String address = memberSubmitCoinApplyInDto.getAddress();
+			//根据账号获取会员信息
+        	MemberEntity selectMemberInfoByAccount = memberDao.selectMemberInfoByAccount(address);
+        	if(ObjectUtil.isEmpty(selectMemberInfoByAccount)) {
+        		return Result.fail(MessageSourceUtils.getString("member_service_0087"));
+        	}
+        	Long memberInfoId = selectMemberInfoByAccount.getId();
+        	String symbol = memberSubmitCoinApplyInDto.getSymbol();
+
+        	String addressIn = "";
+        	Map<String, Object> columnMapAddress = new HashMap<>();
+        	columnMapAddress.put("member_id", memberInfoId);
+        	columnMapAddress.put("symbol", symbol);
+			List<MemberCoinAddressEntity> selectByMap2 = memberCoinAddressDao.selectByMap(columnMapAddress);
+			if(CollUtil.isEmpty(selectByMap2)) {
+//				return Result.fail(MessageSourceUtils.getString("member_service_0087"));
+                addressIn = address;
+			} else {
+                MemberCoinAddressEntity memberCoinAddressEntity = selectByMap2.get(0);
+                addressIn = memberCoinAddressEntity.getAddress();
+            }
+        	
+            MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, memberSubmitCoinApplyInDto.getSymbol());
+            BigDecimal availableBalance = walletCoin.getAvailableBalance();
+            BigDecimal coinNumber = memberSubmitCoinApplyInDto.getCoinNumber();
+            if (availableBalance.compareTo(BigDecimal.ZERO) > 0
+                    && availableBalance.compareTo(coinNumber) >= 0) {
+                //新增提币记录
+                MemberCoinWithdrawEntity memberCoinWithdrawEntity = new MemberCoinWithdrawEntity();
+                memberCoinWithdrawEntity.setAddress(addressIn);
+                memberCoinWithdrawEntity.setAmount(coinNumber);
+                memberCoinWithdrawEntity.setFeeAmount(BigDecimal.ZERO);
+                memberCoinWithdrawEntity.setSymbol(memberSubmitCoinApplyInDto.getSymbol());
+                memberCoinWithdrawEntity.setMemberId(memberId);
+                memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_DOING);
+                memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_YES);
+                memberCoinWithdrawEntity.setLabel(memberSubmitCoinApplyInDto.getLable());
+                memberCoinWithdrawDao.insert(memberCoinWithdrawEntity);
+                BigDecimal subtract = walletCoin.getAvailableBalance().subtract(coinNumber);
+                walletCoin.setAvailableBalance(subtract);
+                BigDecimal add = walletCoin.getFrozenBalance().add(coinNumber);
+                walletCoin.setFrozenBalance(add);
+                memberWalletCoinDao.updateById(walletCoin);
+
+                MemberAccountMoneyChange accountRecord = new MemberAccountMoneyChange();
+                accountRecord.setContent("提币");
+                accountRecord.setMemberId(memberId);
+                accountRecord.setAmount(coinNumber);
+                accountRecord.setWithdrawId(memberCoinWithdrawEntity.getId());
+                accountRecord.setStatus(MemberAccountMoneyChange.STATUS_WAIT_INTEGER);
+                accountRecord.setSymbol(memberSubmitCoinApplyInDto.getSymbol());
+                accountRecord.setType(MemberAccountMoneyChange.TYPE_WALLET_COIN);
+                memberAccountMoneyChangeDao.insert(accountRecord);
+
+                ThreadPoolUtils.sendDingTalk(3);
+                return Result.ok(MessageSourceUtils.getString("member_service_0086"));
+            } else {
+                return Result.fail(MessageSourceUtils.getString("member_service_0005"));
+            }
+
+        } else {
+            return Result.fail(MessageSourceUtils.getString("member_service_0039"));
+        }
+    }
+
+	@Override
+	public Result memberAddCoinAddressIn(@Valid 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"));
+    }
+
+	@Override
+	public Result memberDelCoinAddressIn(@Valid MemberDelCoinAddressDto memberDelCoinAddressDto) {
+        //获取用户ID
+        Long memberId = LoginUserUtils.getAppLoginUser().getId();
+        MemberEntity member = memberDao.selectById(memberId);
+        if (ObjectUtil.isNotEmpty(member)) {
+            Long id = memberDelCoinAddressDto.getId();
+            memberCoinAddressInDao.deleteById(id);
+        }
+        return Result.ok("success");
+    }
+
+	@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
+    public Result memberFingerprintState(@Valid MemberFingerprintStateDto memberFingerprintStateDto) {
+        //获取用户ID
+        Long memberId = LoginUserUtils.getAppLoginUser().getId();
+
+        String password = SecureUtil.md5(memberFingerprintStateDto.getPassword());
+        MemberEntity member = memberDao.selectById(memberId);
+
+        if(password.equals(member.getPassword())){
+            Integer fingerprintState = memberFingerprintStateDto.getFingerprintState();
+            MemberEntity memberEntity = memberDao.selectById(memberId);
+            memberEntity.setFingerprintState(fingerprintState);
+            memberDao.updateById(memberEntity);
+            return Result.ok(MessageSourceUtils.getString("member_service_0024"));
+        }else{
+            return Result.fail(MessageSourceUtils.getString("home_service_0005"));
+        }
+    }
+
+    @Override
+    @Transactional
+    public Result memberMessageReminder() {
+        //获取用户ID
+        Long memberId = LoginUserUtils.getAppLoginUser().getId();
+        MemberMessageReminderVo memberMessageReminderVo = new MemberMessageReminderVo();
+        MemberSettingEntity selectById = memberSettingDao.selectMemberSettingByMemberId(memberId);
+        if(ObjectUtil.isNotEmpty(selectById)) {
+        	memberMessageReminderVo.setMessageReminder(selectById.getMessageReminder());
+        }
+        return Result.ok(memberMessageReminderVo);
+    }
+
+
 }
 
 

--
Gitblit v1.9.1