From f45eff2b375d45668bb2e9253b4faec2f04d39b9 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Wed, 03 Mar 2021 17:21:03 +0800
Subject: [PATCH] 20210303   消息提醒更新

---
 src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java |  227 +++++++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 198 insertions(+), 29 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 4e52040..19fdafd 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
@@ -15,20 +15,10 @@
 import com.xcong.excoin.common.system.service.CommonService;
 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;
@@ -97,6 +87,9 @@
 
     @Resource
     MemberCoinAddressDao memberCoinAddressDao;
+    
+    @Resource
+    MemberCoinAddressInDao memberCoinAddressInDao;
 
     @Resource
     private CommonService commonservice;
@@ -106,6 +99,8 @@
 
     @Resource
     AppVersionDao appVersionDao;
+    @Resource
+    private MemberSettingDao memberSettingDao;
 
     @Resource
     private MemberWalletContractSimulateDao memberWalletContractSimulateDao;
@@ -154,10 +149,15 @@
         member.setCertifyStatus(MemberEntity.CERTIFY_STATUS_UN_SUBMIT);
         member.setIsForce(1);
         member.setIsProfit(0);
-        member.setSpread(BigDecimal.ONE);
-        member.setClosingSpread(BigDecimal.ONE);
-        member.setForceParam(BigDecimal.valueOf(0.0015));
+        member.setContractPositionType(ContractEntrustOrderEntity.POSITION_TYPE_ALL);
         memberDao.insert(member);
+
+        MemberSettingEntity memberSettingEntity = new MemberSettingEntity();
+        memberSettingEntity.setSpread(BigDecimal.ONE);
+        memberSettingEntity.setClosingSpread(BigDecimal.valueOf(5));
+        memberSettingEntity.setForceParam(BigDecimal.valueOf(0.0055));
+        memberSettingEntity.setMemberId(member.getId());
+        memberSettingDao.insert(memberSettingEntity);
 
         String inviteId = ShareCodeUtil.toSerialCode(member.getId());
         member.setInviteId(inviteId);
@@ -179,6 +179,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());
@@ -189,18 +198,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());
@@ -678,10 +677,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);
@@ -791,6 +790,9 @@
             memberPersonCenterInfoVo.setTradeAgingSetting(MemberPersonCenterInfoVo.PWD_NEED_NO);
         }
 
+        Integer fingerprintState = member.getFingerprintState();
+        memberPersonCenterInfoVo.setFingerprintState(fingerprintState);
+
         return Result.ok(memberPersonCenterInfoVo);
     }
 
@@ -897,6 +899,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<>();
@@ -995,6 +998,172 @@
         }
         return Result.ok(arrayList);
     }
+
+	@Override
+	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();
+        	
+        	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"));
+			}
+			MemberCoinAddressEntity memberCoinAddressEntity = selectByMap2.get(0);
+			String 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