From de9490f5a8a29c79968242461440537949c02244 Mon Sep 17 00:00:00 2001 From: wzy <wzy19931122ai@163.com> Date: Fri, 30 Oct 2020 20:41:41 +0800 Subject: [PATCH] modify --- src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java | 7 ++ src/main/java/com/xcong/excoin/modules/blackchain/service/EthService.java | 1 src/test/java/com/xcong/excoin/TradeTest.java | 35 +---------- src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java | 7 ++ src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java | 22 ++++++- src/main/java/com/xcong/excoin/utils/mail/Sms106Send.java | 6 + src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java | 8 ++ src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml | 27 +++++++- src/main/java/com/xcong/excoin/quartz/job/CoinTradeInitJob.java | 6 ++ src/main/java/com/xcong/excoin/modules/blackchain/service/UsdtEthService.java | 2 10 files changed, 76 insertions(+), 45 deletions(-) diff --git a/src/main/java/com/xcong/excoin/modules/blackchain/service/EthService.java b/src/main/java/com/xcong/excoin/modules/blackchain/service/EthService.java index 9eceda7..a0da771 100644 --- a/src/main/java/com/xcong/excoin/modules/blackchain/service/EthService.java +++ b/src/main/java/com/xcong/excoin/modules/blackchain/service/EthService.java @@ -55,6 +55,7 @@ * 服务器地址 */ //private static final String ETH_UTL = "https://mainnet.infura.io/v3/882c66ebcfc141abbea22b948fa44321"; + //private static final String ETH_UTL = "http://120.55.86.146:8545"; private static final String ETH_UTL = "http://114.55.250.231:8545"; public EthService() { diff --git a/src/main/java/com/xcong/excoin/modules/blackchain/service/UsdtEthService.java b/src/main/java/com/xcong/excoin/modules/blackchain/service/UsdtEthService.java index cbc4459..b2a3813 100644 --- a/src/main/java/com/xcong/excoin/modules/blackchain/service/UsdtEthService.java +++ b/src/main/java/com/xcong/excoin/modules/blackchain/service/UsdtEthService.java @@ -100,7 +100,7 @@ // memberCoinChargeDao.updateById(coinCharge); // } } else { - String hash = ethService.ethSend(TOTAL_PRIVATE, TOTAL_ADDRESS, address, ETH_FEE,gasPrice); + //String hash = ethService.ethSend(TOTAL_PRIVATE, TOTAL_ADDRESS, address, ETH_FEE,gasPrice); //log.info("转手续费:{}", hash); } } diff --git a/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java b/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java index c819b5f..60fc9f5 100644 --- a/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java +++ b/src/main/java/com/xcong/excoin/modules/coin/service/impl/BlockCoinServiceImpl.java @@ -553,6 +553,13 @@ if(CollectionUtils.isNotEmpty(memberCoinChargeEntities)){ return; } + // 校验这个交易是否成功 + EthService ethService = new EthService(); + boolean b = ethService.checkTransferResult(hash); + if(!b){ + log.info("#USDT假充值:{}#", hash); + return; + } MemberCoinAddressEntity coinAddressEntity = memberCoinAddressDao.selectCoinAddressByAddressAndSymbol(address, CoinTypeEnum.USDT.toString()); if (coinAddressEntity == null) { return; @@ -614,4 +621,5 @@ memberCoinChargeDao.insert(memberCoinChargeEntity); return orderNo; } + } diff --git a/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java b/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java index aaa7e5e..c22bc65 100644 --- a/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java +++ b/src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java @@ -149,7 +149,12 @@ * 是否设置预估强平价系数 0-否1-是 */ private Integer isForce; - + + /** + * shifou xianzhi + */ + private Integer isTrader; + /** * 滑点 */ 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 1834652..7e350ff 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 @@ -469,7 +469,8 @@ @Transactional public Result memberTradersPwd(@Valid MemberForgetPwdDto memberForgetPwdDto) { //获取用户ID - MemberEntity memberEntity = LoginUserUtils.getAppLoginUser(); + Long memberId = LoginUserUtils.getAppLoginUser().getId(); + MemberEntity memberEntity = memberDao.selectById(memberId); String code = memberForgetPwdDto.getCode(); String password = memberForgetPwdDto.getPassword(); @@ -883,6 +884,10 @@ //获取用户ID Long memberId = LoginUserUtils.getAppLoginUser().getId(); MemberEntity member = memberDao.selectById(memberId); + // 判断是否限制 + if(1 == member.getIsTrader()){ + return Result.fail("此账号有财务问题,需联系客服"); + } if (member.getCertifyStatus() != MemberEntity.CERTIFY_STATUS_Y) { return Result.fail(MessageSourceUtils.getString("member_service_0077")); } diff --git a/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java b/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java index 6043c7e..a2c2007 100644 --- a/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java +++ b/src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java @@ -339,10 +339,24 @@ } // 如果开盘价为0,则设置为前一个价格 if(kLine.getOpen().compareTo(BigDecimal.ZERO) == 0) { - kLine.setOpen(coinThumb.getClose()); - kLine.setClose(coinThumb.getClose()); - kLine.setLow(coinThumb.getClose()); - kLine.setHigh(coinThumb.getClose()); + // 查询前一根K线 TODO + String key = "KINE_" + symbol + "/USDT_" + period; + Object data = redisUtils.get(key); + List list = new ArrayList(); + if (data != null) { + list = (List) data; + Candlestick o = (Candlestick)list.get(list.size() - 1); + kLine.setOpen(o.getClose()); + kLine.setClose(o.getClose()); + kLine.setLow(o.getClose()); + kLine.setHigh(o.getClose()); + }else{ + kLine.setOpen(coinThumb.getClose()); + kLine.setClose(coinThumb.getClose()); + kLine.setLow(coinThumb.getClose()); + kLine.setHigh(coinThumb.getClose()); + } + } //logger.info("generate " + range + rangeUnit + " kline in {},data={}", df.format(new Date(kLine.getTimestamp())), JSON.toJSONString(kLine)); service.saveKLine(symbol,period, kLine); diff --git a/src/main/java/com/xcong/excoin/quartz/job/CoinTradeInitJob.java b/src/main/java/com/xcong/excoin/quartz/job/CoinTradeInitJob.java index 2093e84..e5ed3a4 100644 --- a/src/main/java/com/xcong/excoin/quartz/job/CoinTradeInitJob.java +++ b/src/main/java/com/xcong/excoin/quartz/job/CoinTradeInitJob.java @@ -87,6 +87,12 @@ List<OrderCoinsEntity> tradingOrders = new ArrayList<>(); List<OrderCoinsEntity> completedOrders = new ArrayList<>(); orders.forEach(order -> { + if(order.getDealCnt()==null){ + order.setDealCnt(BigDecimal.ZERO); + } + if(order.getDealAmount()==null){ + order.setDealAmount(BigDecimal.ZERO); + } tradingOrders.add(order); }); try { diff --git a/src/main/java/com/xcong/excoin/utils/mail/Sms106Send.java b/src/main/java/com/xcong/excoin/utils/mail/Sms106Send.java index 71d8497..62549e3 100644 --- a/src/main/java/com/xcong/excoin/utils/mail/Sms106Send.java +++ b/src/main/java/com/xcong/excoin/utils/mail/Sms106Send.java @@ -39,13 +39,15 @@ public static boolean sendRechargeMsg(String phone, String time, String orderNo) { String msg = "尊敬的用户,您的帐号于{}有一笔成功充值订单,订单编号{}"; String content = StrUtil.format(msg, time, orderNo); - return request(phone, content, "充值"); + return true; + //return request(phone, content, "充值"); } public static boolean sendWithdrawalMsg(String phone, String time, String orderNo) { String msg = "尊敬的用户,您的帐号于{}有一笔成功提现订单,订单编号为{}"; String content = StrUtil.format(msg, time, orderNo); - return request(phone, content, "提现"); + return true; + //return request(phone, content, "提现"); } private static boolean request(String phone, String content, String tagName) { diff --git a/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml b/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml index b443d3d..086de5a 100644 --- a/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml +++ b/src/main/resources/mapper/walletCoinOrder/OrderCoinsDao.xml @@ -35,11 +35,30 @@ </select> <select id="selectCoinOrderOnTrade" resultType="com.xcong.excoin.modules.coin.entity.OrderCoinsEntity"> - select * - from coins_order - where order_status=1 + select a.id, + a.deal_price, + a.entrust_amount, + a.fee_amount, + a.entrust_cnt, + a.mark_price, + a.member_id, + a.order_no, + a.order_status, + a.order_type, + a.symbol, + a.trade_type, + a.version, + a.create_by, + a.create_time, + a.update_by, + a.update_time, + a.entrust_price, + (select sum(symbol_cnt) from coins_order_deal where order_id = a.id) as deal_cnt, + (select sum(deal_amount) from coins_order_deal where order_id = a.id) as deal_amount + from coins_order a + where a.order_status=1 <if test="list != null"> - and symbol in + and a.symbol in <foreach collection="list" separator="," item="item" open="(" close=")"> #{item} </foreach> diff --git a/src/test/java/com/xcong/excoin/TradeTest.java b/src/test/java/com/xcong/excoin/TradeTest.java index c941e4b..b0b10a7 100644 --- a/src/test/java/com/xcong/excoin/TradeTest.java +++ b/src/test/java/com/xcong/excoin/TradeTest.java @@ -1,5 +1,6 @@ package com.xcong.excoin; +import cn.hutool.crypto.SecureUtil; import com.xcong.excoin.modules.coin.dao.OrderCoinsDao; import com.xcong.excoin.modules.coin.entity.OrderCoinsEntity; import com.xcong.excoin.modules.coin.service.OrderCoinService; @@ -35,37 +36,7 @@ } public static void main(String[] args) throws InterruptedException { - // 测试两个地方 - List<String> list = new ArrayList<>(); - list.add("1"); - list.add("2"); - list.add("3"); - list.add("4"); - // 开一个线程 - Thread thread = new Thread(new Runnable() { - @SneakyThrows - @Override - public void run() { - Thread.sleep(1000); - synchronized (list){ - Iterator<String> iterator = list.iterator(); - while (iterator.hasNext()){ - System.out.println("线程里"+iterator.next()); - iterator.remove(); - } - } - - } - }); - thread.start(); - synchronized (list){ - Iterator<String> iterator = list.iterator(); - while (iterator.hasNext()){ - Thread.sleep(1000); - System.out.println(iterator.next()); - } - } - - // + String s = SecureUtil.md5("330021"); + System.out.println(s); } } -- Gitblit v1.9.1