From 5fce1d858346c23417d926a7893950f80e3fc670 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 08 Jun 2020 10:33:44 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 228 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 225 insertions(+), 3 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 fb01e03..a89f189 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
@@ -13,6 +13,8 @@
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.coin.dao.MemberAccountMoneyChangeDao;
+import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
import com.xcong.excoin.modules.member.dao.*;
import com.xcong.excoin.modules.member.entity.*;
import com.xcong.excoin.modules.member.parameter.dto.MemberAddCoinAddressDto;
@@ -23,18 +25,28 @@
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.vo.*;
+import com.xcong.excoin.modules.member.parameter.vo.MemberAuthenticationInfoVo;
+import com.xcong.excoin.modules.member.parameter.vo.MemberAvivableCoinInfoVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberCoinAddressCountListVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberCoinAddressCountVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberCoinAddressListVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberCoinAddressVo;
+import com.xcong.excoin.modules.member.parameter.vo.MemberCoinInfoListVo;
+import com.xcong.excoin.modules.member.parameter.vo.MemberCoinInfoVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberInfoVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailListVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberPaymethodDetailVo;
+import com.xcong.excoin.modules.member.parameter.vo.MemberPersonCenterInfoVo;
import com.xcong.excoin.modules.member.parameter.vo.MemberSendCodeWayVo;
import com.xcong.excoin.modules.member.service.MemberService;
+import com.xcong.excoin.modules.platform.dao.PlatformFeeSettingDao;
import com.xcong.excoin.modules.platform.dao.PlatformSymbolsCoinDao;
+import com.xcong.excoin.modules.platform.entity.PlatformFeeSettingEntity;
import com.xcong.excoin.modules.platform.entity.PlatformSymbolsCoinEntity;
import com.xcong.excoin.utils.MessageSourceUtils;
import com.xcong.excoin.utils.RedisUtils;
@@ -66,6 +78,9 @@
@Resource
private MemberWalletAgentDao memberWalletAgentDao;
+
+ @Resource
+ MemberAccountMoneyChangeDao memberAccountMoneyChangeDao;
@Resource
private MemberWalletContractDao memberWalletContractDao;
@@ -89,10 +104,16 @@
PlatformSymbolsCoinDao platformSymbolsCoinDao;
@Resource
+ PlatformFeeSettingDao platformFeeSettingDao;
+
+ @Resource
MemberCoinAddressDao memberCoinAddressDao;
@Resource
private CommonService commonservice;
+
+ @Resource
+ MemberCoinWithdrawDao memberCoinWithdrawDao;
@Resource
private MemberWalletContractSimulateDao memberWalletContractSimulateDao;
@@ -140,7 +161,7 @@
String ids = "";
while (!flag) {
ids += ("," + parentId);
- MemberEntity parentMember = memberDao.selectMemberInfoByRefererId(parentId);
+ MemberEntity parentMember = memberDao.selectMemberInfoByInviteId(parentId);
if (parentMember == null) {
break;
}
@@ -442,7 +463,6 @@
String paymentQrcode = memberPaymethodDto.getPaymentQrcode();
String paymentType = memberPaymethodDto.getPaymentType();
String subBank = memberPaymethodDto.getSubBank();
- String isDefualt = memberPaymethodDto.getIsDefualt();
MemberPaymentMethodEntity memberPaymentMethodEntity = new MemberPaymentMethodEntity();
memberPaymentMethodEntity.setMemberId(memberId);
memberPaymentMethodEntity.setAccount(account);
@@ -451,7 +471,6 @@
memberPaymentMethodEntity.setPaymentQrcode(paymentQrcode);
memberPaymentMethodEntity.setPaymentType(paymentType);
memberPaymentMethodEntity.setSubBank(subBank);
- memberPaymentMethodEntity.setIsDefualt(isDefualt);
memberPaymentMethodDao.insert(memberPaymentMethodEntity);
return Result.ok(MessageSourceUtils.getString("member_service_0024"));
}
@@ -656,4 +675,207 @@
return Result.ok("success");
}
+ @Override
+ public Result memberAuthenticationInfo() {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ MemberEntity member = memberDao.selectById(memberId);
+
+ Map<String, Object> columnMap = new HashMap<>();
+ columnMap.put("member_id", memberId);
+ List<MemberAuthenticationEntity> selectByMap = memberAuthenticationDao.selectByMap(columnMap);
+
+ MemberAuthenticationInfoVo memberAuthnticationInfoVo = new MemberAuthenticationInfoVo();
+ memberAuthnticationInfoVo.setCertifyStatus(member.getCertifyStatus());
+ if(CollUtil.isNotEmpty(selectByMap)) {
+ for(MemberAuthenticationEntity memberAuthenticationEntity : selectByMap) {
+ memberAuthnticationInfoVo.setFirstName(memberAuthenticationEntity.getFirstName());
+ memberAuthnticationInfoVo.setSecondName(memberAuthenticationEntity.getSecondName());
+ memberAuthnticationInfoVo.setNation(memberAuthenticationEntity.getNation());
+ memberAuthnticationInfoVo.setIdCardNo(memberAuthenticationEntity.getIdcardNo());
+ }
+ }
+ return Result.ok(memberAuthnticationInfoVo);
+ }
+
+ @Override
+ public Result memberPersonCenterInfo() {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ MemberEntity member = memberDao.selectById(memberId);
+
+ MemberPersonCenterInfoVo memberPersonCenterInfoVo = new MemberPersonCenterInfoVo();
+ if(StrUtil.isNotEmpty(member.getPhone())) {
+ memberPersonCenterInfoVo.setPhone(1);
+ }else {
+ memberPersonCenterInfoVo.setPhone(0);
+ }
+
+ if(StrUtil.isNotEmpty(member.getEmail())) {
+ memberPersonCenterInfoVo.setEmail(1);
+ }else {
+ memberPersonCenterInfoVo.setEmail(0);
+ }
+
+ if(StrUtil.isNotEmpty(member.getTradePassword())) {
+ memberPersonCenterInfoVo.setTradePassword(1);
+ }else {
+ memberPersonCenterInfoVo.setTradePassword(0);
+ }
+
+ Integer tradeAgingSetting = member.getTradeAgingSetting();
+ if(tradeAgingSetting != null && tradeAgingSetting == MemberPersonCenterInfoVo.PWD_NEED_FORVER) {
+ memberPersonCenterInfoVo.setTradeAgingSetting(MemberPersonCenterInfoVo.PWD_NEED_FORVER);
+ }else {
+ memberPersonCenterInfoVo.setTradeAgingSetting(MemberPersonCenterInfoVo.PWD_NEED_NO);
+ }
+
+ return Result.ok(memberPersonCenterInfoVo);
+ }
+
+ @Override
+ public Result memberCoinInfoList() {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+
+ MemberCoinInfoListVo memberCoinInfoListVo = new MemberCoinInfoListVo();
+ List<PlatformSymbolsCoinEntity> selectByMap = platformSymbolsCoinDao.selectByMap(new HashMap<>());
+ List<MemberCoinInfoVo> arrayList = new ArrayList<>();
+ if(CollUtil.isNotEmpty(selectByMap)) {
+ for(PlatformSymbolsCoinEntity platformSymbolsCoinEntity : selectByMap) {
+ MemberCoinInfoVo memberCoinInfoVo = new MemberCoinInfoVo();
+ memberCoinInfoVo.setName(platformSymbolsCoinEntity.getName());
+ arrayList.add(memberCoinInfoVo);
+ }
+ }
+ memberCoinInfoListVo.setMemberCoinInfoVo(arrayList);
+
+ return Result.ok(memberCoinInfoListVo);
+ }
+
+ @Override
+ public Result memberAvivableCoinInfo(String symbol) {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, symbol);
+ if (ObjectUtil.isEmpty(walletCoin)) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0087"));
+ }
+
+ MemberAvivableCoinInfoVo memberAvivableCoinInfoVo = new MemberAvivableCoinInfoVo();
+ memberAvivableCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance());
+
+ PlatformFeeSettingEntity feeSetting = platformFeeSettingDao.getFeeSettingByTypeAndSymbol(2,symbol);
+ if(ObjectUtil.isEmpty(feeSetting)) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0087"));
+ }
+ memberAvivableCoinInfoVo.setFee(feeSetting.getFeePrice());
+ return Result.ok(memberAvivableCoinInfoVo);
+ }
+
+ @Override
+ public NeedMoneyMemberVo selectFriendRelationUserByMemberId(Long memberId){
+ return memberDao.selectFriendRelationUserByMemberId(memberId);
+ }
+
+ @Override
+ public List<NeedMoneyMemberVo> selectAllNeedMoneyMember(List<String> list) {
+ return memberDao.selectAllNeedMoneyMember(list);
+ }
+
+ @Override
+ public MemberEntity selectMemberInfoByInviteId(String inviteId) {
+ return memberDao.selectMemberInfoByInviteId(inviteId);
+ }
+
+ @Override
+ @Transactional
+ public Result memberUpdateTradersPwdTime(MemberUpdateTradersPwdTimeDto memberUpdateTradersPwdTimeDto) {
+ //获取用户ID
+ Long memberId = LoginUserUtils.getAppLoginUser().getId();
+ MemberEntity member = memberDao.selectById(memberId);
+ member.setTradeAgingSetting(memberUpdateTradersPwdTimeDto.getTradeAgingSetting());
+ memberDao.updateById(member);
+ return Result.ok("success");
+ }
+
+ @Override
+ public Result memberSubmitCoinApply(@Valid MemberSubmitCoinApplyDto memberSubmitCoinApplyDto) {
+ //获取用户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(memberSubmitCoinApplyDto.getTradePassword()))) {
+ return Result.fail(MessageSourceUtils.getString("member_service_0082"));
+ }
+
+ boolean flag = commonservice.verifyCode(memberSubmitCoinApplyDto.getAccount(), memberSubmitCoinApplyDto.getCode());
+ if (flag) {
+ MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, memberSubmitCoinApplyDto.getSymbol());
+ BigDecimal availableBalance = walletCoin.getAvailableBalance();
+ BigDecimal coinNumber = memberSubmitCoinApplyDto.getCoinNumber().add(memberSubmitCoinApplyDto.getFeeAmount());
+ if(availableBalance.compareTo(BigDecimal.ZERO) > 0
+ && availableBalance.compareTo(coinNumber) > 0) {
+ //新增提币记录
+ MemberCoinWithdrawEntity memberCoinWithdrawEntity = new MemberCoinWithdrawEntity();
+ memberCoinWithdrawEntity.setAddress(memberSubmitCoinApplyDto.getAddress());
+ memberCoinWithdrawEntity.setAmount(coinNumber);
+ memberCoinWithdrawEntity.setFeeAmount(memberSubmitCoinApplyDto.getFeeAmount());
+ memberCoinWithdrawEntity.setSymbol(memberSubmitCoinApplyDto.getSymbol());
+ memberCoinWithdrawEntity.setMemberId(memberId);
+ memberCoinWithdrawEntity.setStatus(MemberCoinWithdrawEntity.STATUS_DOING);
+
+ Map<String,Object> columnMap = new HashMap<>();
+ columnMap.put("symbol", memberSubmitCoinApplyDto.getSymbol());
+ columnMap.put("address", memberSubmitCoinApplyDto.getAddress());
+ List<MemberCoinAddressEntity> selectByMap = memberCoinAddressDao.selectByMap(columnMap);
+ if(CollUtil.isEmpty(selectByMap)) {
+ memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_NO);
+ }else {
+ memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_YES);
+ }
+ 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(memberSubmitCoinApplyDto.getCoinNumber());
+ 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);
+ }
+ });
+ */
+ return Result.ok(MessageSourceUtils.getString("member_service_0086"));
+ }else {
+ return Result.fail(MessageSourceUtils.getString("order_service_0040"));
+ }
+
+ }else {
+ return Result.fail(MessageSourceUtils.getString("member_service_0039"));
+ }
+ }
+
}
+
+
--
Gitblit v1.9.1