1
zj
2024-05-23 649c8433a4f6f0f3ea2544c7f23f7eda74ff3b94
src/main/java/com/nq/service/impl/PriceServicesImpl.java
@@ -64,13 +64,14 @@
    public BigDecimal getBuyNowPrice(String stockCode,EStockType eStockType) {
        Stock stock = stockMapper.selectOne(new QueryWrapper<Stock>().eq("stock_code",stockCode));
        StockSetting stockSetting = stockSettingMapper.selectOne(new QueryWrapper<StockSetting>().eq("stock_code",stockCode));
        if(stockSetting != null){
            if(TimeUtil.isTradingHour(stockSetting.getStartTime(),stockSetting.getEndTime())){
                if(stockSetting.getType().equals("0")){
                    return  new BigDecimal(stockSetting.getPrice());
                }else{
                    String s = doGet(stock.getStockCode(),eStockType);
                    if(null != s){
                    if (s != null) {
                        Map<String, Object> stringObjectMap = jsonToMap(s);
                        return   new BigDecimal(stringObjectMap.get("last").toString()).multiply(new BigDecimal(stockSetting.getPrice()));
                    }
@@ -79,10 +80,11 @@
        }
        String s = doGet(stock.getStockCode(),eStockType);
        if(null != s) {
        if (s != null) {
            Map<String, Object> stringObjectMap = jsonToMap(s);
            return  new BigDecimal(stringObjectMap.get("last").toString());
        }
        return BigDecimal.ZERO;
    }
@@ -108,6 +110,7 @@
        }else{
            apiUrl  =  eStockType.getStockUrl()+"stock?pid="+pid+"&key="+eStockType.getStockKey();
        }
        try  {
            URL url  =  new  URL(apiUrl);
            HttpURLConnection connection  =  (HttpURLConnection)  url.openConnection();
@@ -132,14 +135,20 @@
    public BigDecimal getNowPrice(String stockCode, String stockType) {
        EStockType eStockType = EStockType.getEStockTypeByCode(stockType);
        BigDecimal nowPrice =   getBuyNowPrice(stockCode,eStockType);
        if (!stockType.equals("DZ")){
            return  nowPrice;
        }
        QueryWrapper queryWrapper =    new QueryWrapper<>();
        queryWrapper.eq("stock_code",stockCode);
        StockDz stockDz =  stockDZMapper.selectOne(queryWrapper);
        if(stockDz == null){
            return  nowPrice;}
            return nowPrice;
        }
        return  nowPrice.multiply(stockDz.getDiscount());
    }
}