From 13ba1829996923725a1881aab88ce402abf579fd Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Thu, 24 Feb 2022 11:04:21 +0800
Subject: [PATCH] 20222223
---
src/main/java/com/xcong/excoin/modules/coin/dao/ZhiYaDao.java | 10 +++
src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java | 77 ++++++++++++++-----------
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 13 ++++
src/main/java/com/xcong/excoin/modules/coin/entity/ZhiYaEntity.java | 34 +++++++++++
src/main/java/com/xcong/excoin/common/enumerates/CoinTypeEnum.java | 3
src/main/resources/mapper/walletCoinOrder/ZhiYaDao.xml | 9 +++
6 files changed, 112 insertions(+), 34 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/common/enumerates/CoinTypeEnum.java b/src/main/java/com/xcong/excoin/common/enumerates/CoinTypeEnum.java
index 04a429c..8fe6b6a 100644
--- a/src/main/java/com/xcong/excoin/common/enumerates/CoinTypeEnum.java
+++ b/src/main/java/com/xcong/excoin/common/enumerates/CoinTypeEnum.java
@@ -7,5 +7,6 @@
*/
public enum CoinTypeEnum {
// USDT, BTC, ETH, LTC, EOS, XRP, BCH, ETC,BEA,GUSD,GOLDRICE,
- USDT, BTC, ETH, LTC, EOS, XRP, BCH, ETC,GUSD,GOLDRICE,
+ USDT, BTC, ETH, LTC, EOS, XRP, BCH, ETC,GOLDRICE,
+// USDT, BTC, ETH, LTC, EOS, XRP, BCH, ETC,GUSD,GOLDRICE,
}
diff --git a/src/main/java/com/xcong/excoin/modules/coin/dao/ZhiYaDao.java b/src/main/java/com/xcong/excoin/modules/coin/dao/ZhiYaDao.java
new file mode 100644
index 0000000..3e035ac
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/coin/dao/ZhiYaDao.java
@@ -0,0 +1,10 @@
+package com.xcong.excoin.modules.coin.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.modules.coin.entity.ZhiYaEntity;
+
+public interface ZhiYaDao extends BaseMapper<ZhiYaEntity> {
+
+ ZhiYaEntity selectByMemberId(Long memberId);
+
+}
diff --git a/src/main/java/com/xcong/excoin/modules/coin/entity/ZhiYaEntity.java b/src/main/java/com/xcong/excoin/modules/coin/entity/ZhiYaEntity.java
new file mode 100644
index 0000000..c190ad2
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/coin/entity/ZhiYaEntity.java
@@ -0,0 +1,34 @@
+package com.xcong.excoin.modules.coin.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.xcong.excoin.common.system.base.BaseEntity;
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+@Data
+@TableName("zhi_ya")
+public class ZhiYaEntity extends BaseEntity {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 用户Id
+ */
+ private Long memberId;
+
+ /**
+ * 可用余额
+ */
+ private BigDecimal availableBalance;
+
+ /**
+ * 总金额
+ */
+ private BigDecimal totalBalance;
+
+ /**
+ * 冻结金额
+ */
+ private BigDecimal frozenBalance;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
index d38cfac..bffd942 100644
--- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/CoinServiceImpl.java
@@ -7,7 +7,9 @@
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.date.DateUtil;
+import com.xcong.excoin.modules.coin.dao.ZhiYaDao;
import com.xcong.excoin.modules.coin.dao.ZhiYaRecordDao;
+import com.xcong.excoin.modules.coin.entity.ZhiYaEntity;
import com.xcong.excoin.modules.coin.entity.ZhiYaRecordEntity;
import com.xcong.excoin.modules.platform.entity.PlatformCnyUsdtExchangeEntity;
import org.springframework.stereotype.Service;
@@ -58,6 +60,8 @@
@Resource
MemberWalletCoinDao memberWalletCoinDao;
@Resource
+ ZhiYaDao zhiYaDao;
+ @Resource
MemberWalletContractDao memberWalletContractDao;
@Resource
MemberAccountMoneyChangeDao memberAccountMoneyChangeDao;
@@ -102,13 +106,15 @@
totalUsdts = totalUsdts.add(totalUsdt);
BigDecimal totalCny = totalUsdt.multiply(cnyUsdt);
walletCoin.setTotalBalance(totalCny);
- }else if (MemberWalletCoinEnum.WALLETGUSDCOINCODE.getValue().equals(walletCoin.getWalletCode())) {
- BigDecimal totalUsdt = BigDecimal.ZERO;
- totalUsdt = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance());
- totalUsdts = totalUsdts.add(totalUsdt);
- BigDecimal totalCny = totalUsdt.multiply(cnyUsdt);
- walletCoin.setTotalBalance(totalCny);
- } else {
+ }
+// else if (MemberWalletCoinEnum.WALLETGUSDCOINCODE.getValue().equals(walletCoin.getWalletCode())) {
+// BigDecimal totalUsdt = BigDecimal.ZERO;
+// totalUsdt = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance());
+// totalUsdts = totalUsdts.add(totalUsdt);
+// BigDecimal totalCny = totalUsdt.multiply(cnyUsdt);
+// walletCoin.setTotalBalance(totalCny);
+// }
+ else {
BigDecimal amount = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance());
// 获取最新价
BigDecimal closePrice = new BigDecimal(redisUtils.getString(CoinTypeConvert.convertToKey(walletCoin.getWalletCode()+"/USDT")));
@@ -147,8 +153,8 @@
memberWalletCoinlist.add(coin);
coin.setWalletCode(CoinTypeEnum.ETC.toString());
memberWalletCoinlist.add(coin);
- coin.setWalletCode(CoinTypeEnum.GUSD.toString());
- memberWalletCoinlist.add(coin);
+// coin.setWalletCode(CoinTypeEnum.GUSD.toString());
+// memberWalletCoinlist.add(coin);
coin.setWalletCode(CoinTypeEnum.GOLDRICE.toString());
memberWalletCoinlist.add(coin);
@@ -638,21 +644,23 @@
memberWalletCoinEntity.setTotalBalance(total);
int i = memberWalletCoinDao.updateById(memberWalletCoinEntity);
if (i < 1) {
- return Result.fail(MessageSourceUtils.getString("member_service_0095"));
+ return Result.fail(MessageSourceUtils.getString("member_service_0096"));
}
//添加资金划转历史记录
MemberAccountMoneyChange memberAccountRecord = new MemberAccountMoneyChange();
//获取usdt兑换gusd的兑换比例
- String gusdName = CoinTypeEnum.GUSD.name();
- MemberWalletCoinEntity gusdMemberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, gusdName);
- BigDecimal gusdAvailableBalance = gusdMemberWalletCoinEntity.getAvailableBalance();
- BigDecimal gusdTotalBalance = gusdMemberWalletCoinEntity.getTotalBalance();
- gusdMemberWalletCoinEntity.setAvailableBalance(gusdAvailableBalance.add(balance));
- gusdMemberWalletCoinEntity.setTotalBalance(gusdTotalBalance.add(balance));
+ ZhiYaEntity zhiya = zhiYaDao.selectByMemberId(memberId);
- int updateById = memberWalletCoinDao.updateById(gusdMemberWalletCoinEntity);
+// String gusdName = MemberWalletCoinEnum.WALLETGUSDCOINCODE.getValue();
+// MemberWalletCoinEntity gusdMemberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, gusdName);
+ BigDecimal gusdAvailableBalance = zhiya.getAvailableBalance();
+ BigDecimal gusdTotalBalance = zhiya.getTotalBalance();
+ zhiya.setAvailableBalance(gusdAvailableBalance.add(balance));
+ zhiya.setTotalBalance(gusdTotalBalance.add(balance));
+
+ int updateById = zhiYaDao.updateById(zhiya);
if (updateById < 1) {
- return Result.fail(MessageSourceUtils.getString("member_service_0095"));
+ return Result.fail(MessageSourceUtils.getString("member_service_0096"));
}
//添加资金划转历史记录
@@ -675,11 +683,13 @@
return Result.fail(MessageSourceUtils.getString("member_service_0005"));
}
//质押Gusd,质押数量进入冻结余额,
- String gusdName = CoinTypeEnum.GUSD.name();
- MemberWalletCoinEntity gusdMemberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, gusdName);
- BigDecimal gusdAvailableBalance = gusdMemberWalletCoinEntity.getAvailableBalance();
- BigDecimal gusdTotalBalance = gusdMemberWalletCoinEntity.getTotalBalance();
- BigDecimal gusdfrozenBalance = gusdMemberWalletCoinEntity.getFrozenBalance();
+// String gusdName = MemberWalletCoinEnum.WALLETGUSDCOINCODE.getValue();
+// MemberWalletCoinEntity gusdMemberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, gusdName);
+
+ ZhiYaEntity zhiya = zhiYaDao.selectByMemberId(memberId);
+ BigDecimal gusdAvailableBalance = zhiya.getAvailableBalance();
+ BigDecimal gusdTotalBalance = zhiya.getTotalBalance();
+ BigDecimal gusdfrozenBalance = zhiya.getFrozenBalance();
BigDecimal available = gusdAvailableBalance.subtract(balance);
if (available.compareTo(BigDecimal.ZERO) < 0) {
@@ -689,12 +699,12 @@
if (total.compareTo(BigDecimal.ZERO) < 0) {
return Result.fail(MessageSourceUtils.getString("member_service_0005"));
}
- gusdMemberWalletCoinEntity.setFrozenBalance(gusdfrozenBalance.add(gusdfrozenBalance));
- gusdMemberWalletCoinEntity.setAvailableBalance(gusdAvailableBalance.subtract(balance));
+ zhiya.setFrozenBalance(gusdfrozenBalance.add(gusdfrozenBalance));
+ zhiya.setAvailableBalance(gusdAvailableBalance.subtract(balance));
- int updateById = memberWalletCoinDao.updateById(gusdMemberWalletCoinEntity);
+ int updateById = zhiYaDao.updateById(zhiya);
if (updateById < 1) {
- return Result.fail(MessageSourceUtils.getString("member_service_0095"));
+ return Result.fail(MessageSourceUtils.getString("member_service_0096"));
}
//产生质押单,当前有的话,累加质押数量
ZhiYaRecordEntity zhiYaRecord = zhiYaRecordDao.selectByMemberIdAndOrderStatus(memberId,1);
@@ -703,7 +713,7 @@
ZhiYaRecordEntity zhiYaRecordEntity = new ZhiYaRecordEntity();
zhiYaRecordEntity.setMemberId(memberId);
zhiYaRecordEntity.setOrderNo(generateSimpleSerialno(memberId.toString()));
- zhiYaRecordEntity.setSymbol(gusdName);
+ zhiYaRecordEntity.setSymbol(MemberWalletCoinEnum.WALLETGUSDCOINCODE.getValue());
zhiYaRecordEntity.setZhiyaCnt(balance);
zhiYaRecordEntity.setOrderStatus(1);
Date date = new Date();
@@ -729,11 +739,12 @@
return Result.fail(MessageSourceUtils.getString("order_service_0010"));
}
//质押Gusd,质押数量进入冻结余额,
- String gusdName = CoinTypeEnum.GUSD.name();
- MemberWalletCoinEntity gusdMemberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, gusdName);
- BigDecimal gusdAvailableBalance = gusdMemberWalletCoinEntity.getAvailableBalance();
- BigDecimal gusdTotalBalance = gusdMemberWalletCoinEntity.getTotalBalance();
- BigDecimal gusdfrozenBalance = gusdMemberWalletCoinEntity.getFrozenBalance();
+// String gusdName = MemberWalletCoinEnum.WALLETGUSDCOINCODE.getValue();
+// MemberWalletCoinEntity gusdMemberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, gusdName);
+ ZhiYaEntity zhiya = zhiYaDao.selectByMemberId(memberId);
+ BigDecimal gusdAvailableBalance = zhiya.getAvailableBalance();
+ BigDecimal gusdTotalBalance = zhiya.getTotalBalance();
+ BigDecimal gusdfrozenBalance = zhiya.getFrozenBalance();
BigDecimal frozen = gusdfrozenBalance.subtract(balance);
if (frozen.compareTo(BigDecimal.ZERO) < 0) {
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 08c13dd..ad7f7f9 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
@@ -14,7 +14,9 @@
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.dao.ZhiYaDao;
import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
+import com.xcong.excoin.modules.coin.entity.ZhiYaEntity;
import com.xcong.excoin.modules.member.dao.*;
import com.xcong.excoin.modules.member.entity.*;
import com.xcong.excoin.modules.member.parameter.dto.MemberAddCoinAddressDto;
@@ -77,6 +79,9 @@
@Resource
private MemberWalletCoinDao memberWalletCoinDao;
+
+ @Resource
+ private ZhiYaDao zhiYaDao;
@Resource
private MemberLevelRateDao memberLevelRateDao;
@@ -219,6 +224,14 @@
memberWalletCoinDao.insert(walletCoin);
}
+ //初始化质押
+ ZhiYaEntity zhiYaEntity = new ZhiYaEntity();
+ zhiYaEntity.setMemberId(member.getId());
+ zhiYaEntity.setAvailableBalance(AppContants.INIT_MONEY);
+ zhiYaEntity.setFrozenBalance(AppContants.INIT_MONEY);
+ zhiYaEntity.setTotalBalance(AppContants.INIT_MONEY);
+ zhiYaDao.insert(zhiYaEntity);
+
// 初始化代理佣金钱包
MemberWalletAgentEntity walletAgent = new MemberWalletAgentEntity();
walletAgent.setMemberId(member.getId());
diff --git a/src/main/resources/mapper/walletCoinOrder/ZhiYaDao.xml b/src/main/resources/mapper/walletCoinOrder/ZhiYaDao.xml
new file mode 100644
index 0000000..8cca638
--- /dev/null
+++ b/src/main/resources/mapper/walletCoinOrder/ZhiYaDao.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.xcong.excoin.modules.coin.dao.ZhiYaDao">
+
+ <select id="selectByMemberId" resultType="com.xcong.excoin.modules.coin.entity.ZhiYaEntity">
+ SELECT * FROM zhi_ya a where a.member_id= #{memberId}
+ </select>
+
+</mapper>
--
Gitblit v1.9.1