zainali5120
2020-10-28 8fda5eddb56178a0c1e0e247b5c7f45ffc739c92
修复K线生成问题
3 files modified
33 ■■■■ changed files
src/main/java/com/xcong/excoin/modules/member/entity/MemberEntity.java 7 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java 4 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/processor/DefaultCoinProcessor.java 22 ●●●● patch | view | raw | blame | history
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;
    /**
     * 滑点
     */
src/main/java/com/xcong/excoin/modules/member/service/impl/MemberServiceImpl.java
@@ -884,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"));
        }
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);