| | |
| | | package com.nq.utils.stock.sina; |
| | | |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import com.nq.common.ServerResponse; |
| | | import com.nq.pojo.*; |
| | | import com.nq.utils.ConverterUtil; |
| | | import com.nq.utils.http.HttpClientRequest; |
| | | import com.nq.utils.PropertiesUtil; |
| | | import com.nq.utils.redis.JsonUtil; |
| | |
| | | import java.math.BigDecimal; |
| | | import java.util.*; |
| | | |
| | | import org.apache.commons.beanutils.BeanUtils; |
| | | import org.apache.commons.lang3.StringUtils; |
| | | import org.codehaus.jackson.type.TypeReference; |
| | | import org.slf4j.Logger; |
| | |
| | | public class StockApi { |
| | | public static final String sina_url = PropertiesUtil.getProperty("sina.single.stock.url"); |
| | | private static final Logger log = LoggerFactory.getLogger(StockApi.class); |
| | | private static final ObjectMapper objectMapper = new ObjectMapper(); |
| | | |
| | | public static List<StockListVO> getStockReailTimes(List<Stock> stocks) { |
| | | if (stocks.size() == 0) { |
| | |
| | | } |
| | | List<StockListVO> stockListVOs = new ArrayList<>(); |
| | | try { |
| | | for (int i = 0; i < stocks.size(); i++) { |
| | | Stock stock = stocks.get(i); |
| | | StockRealTimeBean realTimeStock = RedisKeyUtil.getCacheRealTimeStock(stock); |
| | | StockListVO stockListVO = new StockListVO(); |
| | | stockListVO.setHcrate(new BigDecimal(realTimeStock.getPcp())); |
| | | stockListVO.setHcrateP(realTimeStock.getPcp()+"%"); |
| | | if(realTimeStock.getPcp().contains("-")){ |
| | | stockListVO.setColor(0); |
| | | }else{ |
| | | stockListVO.setColor(1); |
| | | stockListVO.setHcrateP("+"+realTimeStock.getPcp()+"%"); |
| | | } |
| | | stockListVO.setNowPrice(realTimeStock.getLast()); |
| | | stockListVO.setToday_max(realTimeStock.getHigh()); |
| | | stockListVO.setToday_min(realTimeStock.getLow()); |
| | | stockListVO.setOpen_px(realTimeStock.getBid()); |
| | | stockListVO.setPreclose_px(realTimeStock.getPc()); |
| | | stockListVO.setBusiness_amount(realTimeStock.getAsk()); |
| | | stockListVO.setBusiness_balance(""); |
| | | |
| | | stockListVO.setName(stock.getStockName()); |
| | | stockListVO.setCode(stock.getStockCode()); |
| | | stockListVO.setSpell(stock.getStockSpell()); |
| | | stockListVO.setGid(stock.getStockGid()); |
| | | stockListVO.setStock_plate(stock.getStockPlate()); |
| | | stockListVO.setStock_type(stock.getStockType()); |
| | | stockListVOs.add(stockListVO); |
| | | for (int i = 0; i < stocks.size(); i++) { |
| | | |
| | | Stock stock = stocks.get(i); |
| | | // StockRealTimeBean realTimeStock = RedisKeyUtil.getCacheRealTimeStock(stock); |
| | | String s = RedisKeyUtil.doPost(stock.getStockCode(), stock.getStockType()); |
| | | if(StringUtils.isNotEmpty(s) && !"[]".equals(s)){ |
| | | Map<String, Object> map = RedisKeyUtil.jsonToMap(s); |
| | | StockRealTimeDto realTimeStock = StockRealTimeDto.fromMap(map); |
| | | StockListVO stockListVO = new StockListVO(); |
| | | stockListVO.setHcrate(new BigDecimal(realTimeStock.getChg())); |
| | | stockListVO.setHcrateP(realTimeStock.getChgPct()+"%"); |
| | | if(realTimeStock.getChgPct().contains("-")){ |
| | | stockListVO.setColor(0); |
| | | }else{ |
| | | stockListVO.setColor(1); |
| | | stockListVO.setHcrateP(realTimeStock.getChgPct()+"%"); |
| | | } |
| | | stockListVO.setNowPrice(realTimeStock.getLast()); |
| | | stockListVO.setToday_max(realTimeStock.getHigh()); |
| | | stockListVO.setToday_min(realTimeStock.getLow()); |
| | | stockListVO.setOpen_px(realTimeStock.getBid()); |
| | | stockListVO.setPreclose_px(realTimeStock.getPrevClose()); |
| | | stockListVO.setBusiness_amount(realTimeStock.getAsk()); |
| | | stockListVO.setBusiness_balance(""); |
| | | |
| | | stockListVO.setName(stock.getStockName()); |
| | | stockListVO.setCode(stock.getStockCode()); |
| | | stockListVO.setSpell(stock.getStockSpell()); |
| | | stockListVO.setGid(stock.getStockGid()); |
| | | stockListVO.setStock_plate(stock.getStockPlate()); |
| | | stockListVO.setStock_type(stock.getStockType()); |
| | | stockListVOs.add(stockListVO); |
| | | } |
| | | } |
| | | |
| | | |