| | |
| | |
|
| | | import java.math.BigDecimal;
|
| | | import java.util.ArrayList;
|
| | | import java.util.HashMap;
|
| | | import java.util.List;
|
| | | import java.util.Map;
|
| | | import javax.annotation.Resource;
|
| | |
|
| | | import org.springframework.stereotype.Service;
|
| | |
| | | import com.xcong.excoin.modules.coin.dao.platform.CnyUsdtExchangeDao;
|
| | | import com.xcong.excoin.modules.coin.entity.CnyUsdtExchange;
|
| | | import com.xcong.excoin.modules.coin.entity.MemberAccountMoneyChange;
|
| | | import com.xcong.excoin.modules.coin.parameter.vo.MemberAccountMoneyChangeInfoVo;
|
| | | import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletAgentInfoVo;
|
| | | import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletCoinInfoVo;
|
| | | import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletCoinVo;
|
| | | import com.xcong.excoin.modules.coin.parameter.vo.MemberWalletContractInfoVo;
|
| | | import com.xcong.excoin.modules.coin.service.CoinService;
|
| | | import com.xcong.excoin.modules.member.dao.MemberWalletAgentDao;
|
| | | import com.xcong.excoin.modules.member.dao.MemberWalletCoinDao;
|
| | |
| | |
|
| | | if(!StrUtil.isEmpty(memberId.toString())) {
|
| | |
|
| | | List<MemberWalletCoinEntity> MemberWalletCoinlist = memberWalletCoinDao.selectMemberWalletCoinsByMemberId(memberId);
|
| | | List<MemberWalletCoinEntity> memberWalletCoinlist = memberWalletCoinDao.selectMemberWalletCoinsByMemberId(memberId);
|
| | |
|
| | | if(CollUtil.isNotEmpty(MemberWalletCoinlist)) {
|
| | | for(MemberWalletCoinEntity walletCoin : MemberWalletCoinlist) {
|
| | | List<MemberWalletCoinInfoVo> memberWalletCoinInfoVolist = new ArrayList<MemberWalletCoinInfoVo>();
|
| | | MemberWalletCoinInfoVo memberWalletCoinInfoVo = new MemberWalletCoinInfoVo();
|
| | | if(CollUtil.isNotEmpty(memberWalletCoinlist)) {
|
| | | for(MemberWalletCoinEntity memberWalletCoinEntity : memberWalletCoinlist) {
|
| | | memberWalletCoinInfoVo.setAvailableBalance(memberWalletCoinEntity.getAvailableBalance());
|
| | | memberWalletCoinInfoVo.setFrozenBalance(memberWalletCoinEntity.getFrozenBalance());
|
| | | memberWalletCoinInfoVo.setMemberId(memberWalletCoinEntity.getMemberId());
|
| | | memberWalletCoinInfoVo.setTotalBalance(memberWalletCoinEntity.getTotalBalance());
|
| | | memberWalletCoinInfoVo.setWalletCode(memberWalletCoinEntity.getWalletCode());
|
| | | memberWalletCoinInfoVolist.add(memberWalletCoinInfoVo);
|
| | | }
|
| | | }
|
| | | |
| | | |
| | | if(CollUtil.isNotEmpty(memberWalletCoinlist)) {
|
| | | for(MemberWalletCoinEntity walletCoin : memberWalletCoinlist) {
|
| | | if(MemberWalletCoinEnum.WALLETCOINCODE.getValue().equals(walletCoin.getWalletCode())) {
|
| | | totalUsdt = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance());
|
| | | BigDecimal totalCny = totalUsdt.multiply(cnyUsdt);
|
| | |
| | | MemberWalletCoinVo memberWalletCoinVo = new MemberWalletCoinVo();
|
| | | memberWalletCoinVo.setTotalUsdt(totalUsdt.setScale(4, BigDecimal.ROUND_DOWN));
|
| | | memberWalletCoinVo.setTotalCny(totalUsdt.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
|
| | | memberWalletCoinVo.setWalletCoinEntities(MemberWalletCoinlist);
|
| | | memberWalletCoinVo.setMemberWalletCoinInfoVo(memberWalletCoinInfoVolist);
|
| | | return Result.ok(memberWalletCoinVo);
|
| | | }else {
|
| | | List<MemberWalletCoinEntity> MemberWalletCoinlist = new ArrayList<MemberWalletCoinEntity>();
|
| | | MemberWalletCoinEntity coin = new MemberWalletCoinEntity();
|
| | | List<MemberWalletCoinInfoVo> memberWalletCoinlist = new ArrayList<MemberWalletCoinInfoVo>();
|
| | | MemberWalletCoinInfoVo coin = new MemberWalletCoinInfoVo();
|
| | | coin.setAvailableBalance(BigDecimal.ZERO);
|
| | | coin.setTotalBalance(BigDecimal.ZERO);
|
| | | coin.setFrozenBalance(BigDecimal.ZERO);
|
| | | coin.setWalletCode(CoinTypeEnum.BTC.toString());
|
| | | MemberWalletCoinlist.add(coin);
|
| | | memberWalletCoinlist.add(coin);
|
| | | coin.setWalletCode(CoinTypeEnum.ETH.toString());
|
| | | MemberWalletCoinlist.add(coin);
|
| | | memberWalletCoinlist.add(coin);
|
| | | coin.setWalletCode(CoinTypeEnum.LTC.toString());
|
| | | MemberWalletCoinlist.add(coin);
|
| | | memberWalletCoinlist.add(coin);
|
| | | coin.setWalletCode(CoinTypeEnum.BCH.toString());
|
| | | MemberWalletCoinlist.add(coin);
|
| | | memberWalletCoinlist.add(coin);
|
| | | coin.setWalletCode(CoinTypeEnum.USDT.toString());
|
| | | MemberWalletCoinlist.add(coin);
|
| | | memberWalletCoinlist.add(coin);
|
| | | coin.setWalletCode(CoinTypeEnum.EOS.toString());
|
| | | MemberWalletCoinlist.add(coin);
|
| | | memberWalletCoinlist.add(coin);
|
| | | coin.setWalletCode(CoinTypeEnum.XRP.toString());
|
| | | MemberWalletCoinlist.add(coin);
|
| | | memberWalletCoinlist.add(coin);
|
| | | coin.setWalletCode(CoinTypeEnum.ETC.toString());
|
| | | MemberWalletCoinlist.add(coin);
|
| | | memberWalletCoinlist.add(coin);
|
| | | |
| | | MemberWalletCoinVo memberWalletCoinVo = new MemberWalletCoinVo();
|
| | | memberWalletCoinVo.setTotalUsdt(totalUsdt.setScale(4, BigDecimal.ROUND_DOWN));
|
| | | memberWalletCoinVo.setTotalCny(totalUsdt.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
|
| | | memberWalletCoinVo.setWalletCoinEntities(MemberWalletCoinlist);
|
| | | memberWalletCoinVo.setMemberWalletCoinInfoVo(memberWalletCoinlist);;
|
| | | return Result.ok(memberWalletCoinVo);
|
| | | }
|
| | | } catch (Exception e) {
|
| | |
| | | }
|
| | |
|
| | | @Override
|
| | | public Result getWalletCoinById(Long id) {
|
| | | public Result getWalletCoinBySymbol(String symbol) {
|
| | | try {
|
| | | //获取用户ID
|
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId();
|
| | | MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectById(id);
|
| | | |
| | | MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId,symbol);
|
| | | MemberWalletCoinInfoVo memberWalletCoinInfoVo = new MemberWalletCoinInfoVo();
|
| | | memberWalletCoinInfoVo.setFrozenBalance(walletCoin.getFrozenBalance());
|
| | | memberWalletCoinInfoVo.setAvailableBalance(walletCoin.getAvailableBalance());
|
| | | memberWalletCoinInfoVo.setMemberId(memberId);
|
| | | memberWalletCoinInfoVo.setWalletCode(symbol);
|
| | | if(!StrUtil.isEmpty(memberId.toString())) {
|
| | | CnyUsdtExchange cnyUsdtExchange =cnyUsdtExchangeDao.getCNYAndUSDTOne();
|
| | | BigDecimal cnyUsdt = cnyUsdtExchange.getValue();
|
| | | BigDecimal total = walletCoin.getAvailableBalance().add(walletCoin.getFrozenBalance());
|
| | |
|
| | | if(MemberWalletCoinEnum.WALLETCOINCODE.getValue().equals(walletCoin.getWalletCode())) {
|
| | | walletCoin.setTotalBalance(total.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
|
| | | memberWalletCoinInfoVo.setTotalBalance(total.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
|
| | |
|
| | | }else {
|
| | | BigDecimal closePrice = new BigDecimal("10.0000");
|
| | | //Double closePrice = symbolsService.getCloseSymbolsBySymbolsName(wallet.getCode()+"/USDT");
|
| | | walletCoin.setTotalBalance(total.multiply(closePrice).multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
|
| | | memberWalletCoinInfoVo.setTotalBalance(total.multiply(closePrice).multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
|
| | | }
|
| | | }
|
| | | return Result.ok(walletCoin);
|
| | | return Result.ok(memberWalletCoinInfoVo);
|
| | | } catch (Exception e) {
|
| | | e.printStackTrace();
|
| | | return Result.fail(MessageSourceUtils.getString("member_service_0003"));
|
| | |
| | | BigDecimal profitAndLoss = new BigDecimal("50.000");
|
| | | //获取总付款
|
| | | BigDecimal totalPayment = new BigDecimal("50.000");
|
| | | |
| | | walletContract.setFrozenBalance(totalPayment.setScale(4, BigDecimal.ROUND_DOWN));
|
| | | |
| | | BigDecimal lastTotalBalance = new BigDecimal("0");
|
| | | BigDecimal totalBalance = walletContract.getTotalBalance();
|
| | | lastTotalBalance = totalBalance.add(profitAndLoss);
|
| | |
| | | lastTotalBalance = new BigDecimal("0");
|
| | | }
|
| | |
|
| | | walletContract.setAvailableBalance(walletContract.getAvailableBalance());
|
| | | walletContract.setTotalBalance(lastTotalBalance.setScale(4, BigDecimal.ROUND_DOWN));
|
| | | MemberWalletContractInfoVo memberWalletContractInfoVo = new MemberWalletContractInfoVo();
|
| | | memberWalletContractInfoVo.setFrozenBalance(totalPayment.setScale(4, BigDecimal.ROUND_DOWN));
|
| | | memberWalletContractInfoVo.setAvailableBalance(walletContract.getAvailableBalance());
|
| | | memberWalletContractInfoVo.setTotalBalance(lastTotalBalance.setScale(4, BigDecimal.ROUND_DOWN));
|
| | | memberWalletContractInfoVo.setTotalRMBBalance(lastTotalBalance.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
|
| | |
|
| | | Map<String,Object> map = new HashMap<String, Object>();
|
| | | map.put(MemberWalletCoinEnum.WALLETCOINUSDT.getValue(), lastTotalBalance.setScale(4, BigDecimal.ROUND_DOWN));
|
| | | map.put(MemberWalletCoinEnum.WALLETCONTRACT.getValue(), walletContract);
|
| | | map.put(MemberWalletCoinEnum.WALLETCOINCNY.getValue(), lastTotalBalance.multiply(cnyUsdt).setScale(4, BigDecimal.ROUND_DOWN));
|
| | | return Result.ok(map);
|
| | | return Result.ok(memberWalletContractInfoVo);
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId();
|
| | | String walletCode = MemberWalletCoinEnum.WALLETCOINCODE.getValue();
|
| | | MemberWalletContractEntity walletContract = memberWalletContractDao.findWalletContractByMemberIdAndSymbol(memberId, walletCode);
|
| | | |
| | | return Result.ok(walletContract);
|
| | | BigDecimal availableBalance = walletContract.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN);
|
| | | return Result.ok(availableBalance);
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | |
|
| | | MemberWalletCoinEntity walletCoin = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, symbol);
|
| | | BigDecimal availableBalance = walletCoin.getAvailableBalance().setScale(4, BigDecimal.ROUND_DOWN);
|
| | | walletCoin.setAvailableBalance(availableBalance);
|
| | | return Result.ok(walletCoin);
|
| | | return Result.ok(availableBalance);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public Result getWalletCoinRecords() {
|
| | | //获取用户ID
|
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId();
|
| | | |
| | | List<MemberAccountMoneyChange> coinRecordList = memberAccountMoneyChangeDao.selectWalletCoinRecordsByMemIdTypeSymbol(memberId);
|
| | | return Result.ok(coinRecordList);
|
| | | ArrayList<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
|
| | | if(ObjectUtil.isNotNull(coinRecordList)) {
|
| | | for(MemberAccountMoneyChange memberAccountMoneyChange : coinRecordList) {
|
| | | MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
|
| | | memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount());
|
| | | memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent());
|
| | | memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
|
| | | memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
|
| | | memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
|
| | | arrayList.add(memberAccountMoneyChangeInfoVo);
|
| | | }
|
| | | }
|
| | | return Result.ok(arrayList);
|
| | | }
|
| | |
|
| | | @Override
|
| | | public Result getWalletContractRecords(String symbol) {
|
| | | public Result getWalletContractRecords() {
|
| | | //获取用户ID
|
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId();
|
| | | |
| | | String symbol = MemberWalletCoinEnum.WALLETCOINCODE.getValue();
|
| | | List<MemberAccountMoneyChange> contractRecordList = memberAccountMoneyChangeDao.selectWalletContractRecordsByMemIdTypeSymbol(symbol,memberId);
|
| | | return Result.ok(contractRecordList);
|
| | | |
| | | ArrayList<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
|
| | | if(ObjectUtil.isNotNull(contractRecordList)) {
|
| | | for(MemberAccountMoneyChange memberAccountMoneyChange : contractRecordList) {
|
| | | MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
|
| | | memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount());
|
| | | memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent());
|
| | | memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
|
| | | memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
|
| | | memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
|
| | | arrayList.add(memberAccountMoneyChangeInfoVo);
|
| | | }
|
| | | }
|
| | | |
| | | return Result.ok(arrayList);
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | |
|
| | | List<MemberAccountMoneyChange> contractRecordList =
|
| | | memberAccountMoneyChangeDao.selectWalletAgentRecordByMemIdTypeSymbol(MemberWalletCoinEnum.WALLETCOINCODE.getValue(),memberId);
|
| | | return Result.ok(contractRecordList);
|
| | | |
| | | ArrayList<MemberAccountMoneyChangeInfoVo> arrayList = new ArrayList<>();
|
| | | if(ObjectUtil.isNotNull(contractRecordList)) {
|
| | | for(MemberAccountMoneyChange memberAccountMoneyChange : contractRecordList) {
|
| | | MemberAccountMoneyChangeInfoVo memberAccountMoneyChangeInfoVo = new MemberAccountMoneyChangeInfoVo();
|
| | | memberAccountMoneyChangeInfoVo.setAmount(memberAccountMoneyChange.getAmount());
|
| | | memberAccountMoneyChangeInfoVo.setContent(memberAccountMoneyChange.getContent());
|
| | | memberAccountMoneyChangeInfoVo.setStatus(memberAccountMoneyChange.getStatus());
|
| | | memberAccountMoneyChangeInfoVo.setSymbol(memberAccountMoneyChange.getSymbol());
|
| | | memberAccountMoneyChangeInfoVo.setType(memberAccountMoneyChange.getType());
|
| | | arrayList.add(memberAccountMoneyChangeInfoVo);
|
| | | }
|
| | | }
|
| | | return Result.ok(arrayList);
|
| | | }
|
| | |
|
| | | @Override
|
| | |
| | |
|
| | | CnyUsdtExchange cnyUsdtExchange =cnyUsdtExchangeDao.getCNYAndUSDTOne();
|
| | | BigDecimal cnyUsdt = cnyUsdtExchange.getValue();
|
| | | |
| | | BigDecimal multiply = availableBalance.multiply(cnyUsdt);
|
| | |
|
| | | walletAgent.setAvailableBalance(availableBalance);
|
| | | Map<String,Object> map = new HashMap<String, Object>();
|
| | | map.put(MemberWalletCoinEnum.WALLETCOINUSDT.getValue(), availableBalance.setScale(4, BigDecimal.ROUND_DOWN));
|
| | | map.put(MemberWalletCoinEnum.WALLETAGENT.getValue(), walletAgent);
|
| | | map.put(MemberWalletCoinEnum.WALLETCOINCNY.getValue(), multiply.setScale(4, BigDecimal.ROUND_DOWN));
|
| | | return Result.ok(map);
|
| | | MemberWalletAgentInfoVo memberWalletAgentInfoVo = new MemberWalletAgentInfoVo();
|
| | | memberWalletAgentInfoVo.setTotalBalance(availableBalance.setScale(4, BigDecimal.ROUND_DOWN));
|
| | | memberWalletAgentInfoVo.setTotalRMBBalance(multiply.setScale(4, BigDecimal.ROUND_DOWN));
|
| | | return Result.ok(memberWalletAgentInfoVo);
|
| | | }
|
| | |
|
| | | }
|