From d61072f997839b4564ce35132d5902a1b6f7d54f Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 03 Aug 2020 17:39:10 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 225 ++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 146 insertions(+), 79 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 044d8f6..fc96eb1 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
@@ -30,19 +30,6 @@
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;
@@ -51,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;
@@ -117,6 +105,9 @@
MemberCoinWithdrawDao memberCoinWithdrawDao;
@Resource
+ AppVersionDao appVersionDao;
+
+ @Resource
private MemberWalletContractSimulateDao memberWalletContractSimulateDao;
@Transactional()
@@ -128,30 +119,43 @@
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()));
// 判断账号类型
- if (MemberEntity.ACCOUNT_TYPE_PHONE == registerDto.getType()) {
+ if (MemberEntity.ACCOUNT_TYPE_PHONE.equals(registerDto.getType())) {
member.setPhone(registerDto.getAccount());
- } else if (MemberEntity.ACCOUNT_TYPE_EMAIL == registerDto.getType()) {
+ } else if (MemberEntity.ACCOUNT_TYPE_EMAIL.equals(registerDto.getType())) {
member.setEmail(registerDto.getAccount());
} else {
return Result.fail("账号类型错误");
}
// 判断是否拥有推荐人,若为空则默认系统
- if (StrUtil.isBlank(registerDto.getRefererId())) {
- registerDto.setRefererId(AppContants.SYSTEM_REFERER);
+// if (StrUtil.isBlank(registerDto.getRefererId())) {
+// registerDto.setRefererId(AppContants.SYSTEM_REFERER);
+// }
+ 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.setIsForce(1);
member.setIsProfit(0);
+ member.setSpread(BigDecimal.ONE);
+ member.setClosingSpread(BigDecimal.ONE);
memberDao.insert(member);
String inviteId = ShareCodeUtil.toSerialCode(member.getId());
@@ -219,7 +223,8 @@
levelRate.setSymbol(symbolEnum.getValue());
memberLevelRateDao.insert(levelRate);
}
- return Result.ok("success");
+
+ return Result.ok(MessageSourceUtils.getString("home_service_0009"));
}
@Override
@@ -229,14 +234,14 @@
MemberEntity memberEntity = memberDao.selectById(memberId);
MemberInfoVo memberInfoVo = new MemberInfoVo();
if (ObjectUtil.isNotEmpty(memberEntity)) {
- String email = memberEntity.getEmail();
- String phone = memberEntity.getPhone();
- if(StrUtil.isNotEmpty(phone)) {
- memberInfoVo.setPhone(phone);
- }else if(StrUtil.isNotEmpty(email)) {
- memberInfoVo.setPhone(email);
- }
-
+ String email = memberEntity.getEmail();
+ String phone = memberEntity.getPhone();
+ if (StrUtil.isNotEmpty(phone)) {
+ memberInfoVo.setPhone(phone);
+ } else if (StrUtil.isNotEmpty(email)) {
+ memberInfoVo.setPhone(email);
+ }
+
memberInfoVo.setInviteId(memberEntity.getInviteId());
}
return Result.ok(memberInfoVo);
@@ -326,8 +331,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"));
}
@@ -351,15 +361,18 @@
}
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"));
+ 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())
@@ -369,19 +382,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"));
@@ -413,6 +429,7 @@
if (flag) {
memberEntity.setTradePassword(SecureUtil.md5(password));
memberDao.updateById(memberEntity);
+ LoginUserUtils.resetAppLoginUser(memberEntity);
return Result.ok(MessageSourceUtils.getString("member_service_0051"));
}
return Result.fail(MessageSourceUtils.getString("member_service_0045"));
@@ -438,8 +455,7 @@
@Transactional
public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) {
//获取用户ID
- Long memberId = LoginUserUtils.getAppLoginUser().getId();
- MemberEntity memberEntity = memberDao.selectById(memberId);
+ MemberEntity memberEntity = LoginUserUtils.getAppLoginUser();
String code = memberForgetPwdDto.getCode();
String password = memberForgetPwdDto.getPassword();
@@ -450,6 +466,8 @@
if (flag) {
memberEntity.setTradePassword(SecureUtil.md5(password));
memberDao.updateById(memberEntity);
+ // 重置内存中的用户信息
+ LoginUserUtils.resetAppLoginUser(memberEntity);
} else {
return Result.fail(MessageSourceUtils.getString("member_service_0015"));
}
@@ -467,6 +485,17 @@
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);
+ 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();
@@ -547,24 +576,27 @@
@Override
@Transactional
public Result memberBindPhone(@Valid MemberBindPhoneDto memberBindPhoneDto) {
- //获取用户ID
+ //获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
String phone = memberBindPhoneDto.getPhone();
String code = memberBindPhoneDto.getCode();
MemberEntity member = memberDao.selectById(memberId);
- String smsCode = redisUtils.get("SMS_" + phone) + "";
if (ObjectUtil.isNotEmpty(member)) {
- if (StrUtil.isEmpty(smsCode)) {
- return Result.fail(MessageSourceUtils.getString("member_service_0038"));
- }
- if (!smsCode.equals(code)) {
+ if (!commonservice.verifyCode(phone, code)) {
return Result.fail(MessageSourceUtils.getString("member_service_0013"));
}
- member.setPhone(phone);
- memberDao.updateById(member);
- return Result.ok(MessageSourceUtils.getString("member_service_0014"));
+ 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"));
+ }
}
return Result.fail(MessageSourceUtils.getString("member_service_0015"));
@@ -574,7 +606,7 @@
@Transactional
public Result memberBindEmail(@Valid MemberBindEmailDto memberBindEmailDto) {
- //获取用户ID
+ //获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
String email = memberBindEmailDto.getEmail();
String code = memberBindEmailDto.getCode();
@@ -583,9 +615,16 @@
boolean flag = commonservice.verifyCode(email, code);
if (ObjectUtil.isNotEmpty(member)) {
if (flag) {
- member.setEmail(email);
- memberDao.updateById(member);
- return Result.ok(MessageSourceUtils.getString("member_service_0018"));
+ Map<String, Object> columnMap = new HashMap<>();
+ columnMap.put("email", 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"));
+ }
}
}
return Result.fail(MessageSourceUtils.getString("member_service_0019"));
@@ -608,10 +647,7 @@
public Result memberCoinAddressList(String symbol) {
//获取用户ID
Long memberId = LoginUserUtils.getAppLoginUser().getId();
- Map<String, Object> columnMap = new HashMap<>();
- columnMap.put("member_id", memberId);
- columnMap.put("symbol", symbol);
- List<MemberCoinAddressEntity> selectByMap = memberCoinAddressDao.selectByMap(columnMap);
+ List<MemberCoinAddressEntity> selectByMap = memberCoinAddressDao.selectCoinAddressListByMap(symbol, memberId);
MemberCoinAddressListVo memberCoinAddressListVo = new MemberCoinAddressListVo();
List<MemberCoinAddressVo> arrayList = new ArrayList<>();
if (CollUtil.isNotEmpty(selectByMap)) {
@@ -649,7 +685,7 @@
MemberCoinAddressEntity memberCoinAddressEntity = new MemberCoinAddressEntity();
memberCoinAddressEntity.setAddress(address);
memberCoinAddressEntity.setMemberId(memberId);
- memberCoinAddressEntity.setIsBiyict(isBiyict);
+ memberCoinAddressEntity.setIsBiyict(MemberCoinAddressEntity.IS_BIYICT_NO);
memberCoinAddressEntity.setSymbolscoinId(symbolscoinId);
memberCoinAddressEntity.setLabel(remark);
memberCoinAddressEntity.setSymbol(platformSymbolsCoinEntity.getName());
@@ -703,6 +739,7 @@
memberAuthnticationInfoVo.setSecondName(memberAuthenticationEntity.getSecondName());
memberAuthnticationInfoVo.setNation(memberAuthenticationEntity.getNation());
memberAuthnticationInfoVo.setIdCardNo(memberAuthenticationEntity.getIdcardNo());
+ memberAuthnticationInfoVo.setType(memberAuthenticationEntity.getType());
}
}
return Result.ok(memberAuthnticationInfoVo);
@@ -715,6 +752,19 @@
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);
+ if(CollUtil.isEmpty(selectByMap)) {
+ memberPersonCenterInfoVo.setMemberPaymentMethod(0);
+ }else {
+ memberPersonCenterInfoVo.setMemberPaymentMethod(1);
+ }
+
if (StrUtil.isNotEmpty(member.getPhone())) {
memberPersonCenterInfoVo.setPhone(1);
} else {
@@ -745,8 +795,6 @@
@Override
public Result memberCoinInfoList() {
- //获取用户ID
- Long memberId = LoginUserUtils.getAppLoginUser().getId();
MemberCoinInfoListVo memberCoinInfoListVo = new MemberCoinInfoListVo();
List<PlatformSymbolsCoinEntity> selectByMap = platformSymbolsCoinDao.selectByMap(new HashMap<>());
@@ -772,15 +820,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
@@ -831,9 +886,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());
@@ -846,6 +901,7 @@
Map<String, Object> columnMap = new HashMap<>();
columnMap.put("symbol", memberSubmitCoinApplyDto.getSymbol());
columnMap.put("address", memberSubmitCoinApplyDto.getAddress());
+ columnMap.put("is_biyict", MemberCoinAddressEntity.IS_BIYICT_YES);
List<MemberCoinAddressEntity> selectByMap = memberCoinAddressDao.selectByMap(columnMap);
if (CollUtil.isEmpty(selectByMap)) {
memberCoinWithdrawEntity.setIsInside(MemberCoinWithdrawEntity.ISINSIDE_NO);
@@ -862,22 +918,17 @@
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("order_service_0040"));
+ return Result.fail(MessageSourceUtils.getString("member_service_0005"));
}
} else {
@@ -902,6 +953,22 @@
return Result.ok("");
}
+ @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);
+ }
}
--
Gitblit v1.9.1