1
zj
2025-04-25 b6c57b550483b3f91685731a24df903898c3c077
src/main/java/com/nq/controller/StockApiController.java
@@ -1,9 +1,13 @@
package com.nq.controller;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.nq.common.ServerResponse;
import com.nq.pojo.SiteSetting;
import com.nq.service.IStockService;
import com.nq.service.StockDzService;
import com.nq.utils.redis.RedisKeyConstant;
import com.nq.utils.redis.RedisShardedPoolUtils;
import com.nq.utils.translate.GoogleTranslateUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -14,6 +18,7 @@
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import java.util.HashMap;
@Controller
@RequestMapping({"/api/stock/"})
@@ -52,6 +57,30 @@
        return this.iStockService.getStockByType(pageNum, pageSize, orderBy,keyWords , stockType, request);
    }
    @RequestMapping("getGoldCrudeOil.do")
    @ResponseBody
    public ServerResponse getGoldCrudeOil(HttpServletRequest request)   {
        String gold = RedisShardedPoolUtils.get(RedisKeyConstant.XAUUSD);
        String crudeOil = RedisShardedPoolUtils.get(RedisKeyConstant.USOIL);
        HashMap<String,HashMap> hashMap = new HashMap<>();
        HashMap<String,String> goldMap = new HashMap<>();
        goldMap.put("XAUUSD",gold);
        goldMap.put("hcrate",RedisShardedPoolUtils.get("XAUUSD"+"_H"));
        goldMap.put("hcrateP",RedisShardedPoolUtils.get("XAUUSD"+"_H")+"%");
        hashMap.put("XAUUSD",goldMap);
        HashMap<String,String> crudOilMap = new HashMap<>();
        crudOilMap.put("USOIL",crudeOil);
        crudOilMap.put("hcrate",RedisShardedPoolUtils.get("USOIL"+"_H"));
        crudOilMap.put("hcrateP",RedisShardedPoolUtils.get("USOIL"+"_H")+"%");
        hashMap.put("USOIL",crudOilMap);
        return ServerResponse.createBySuccess(hashMap);
    }
    @RequestMapping("getOptionStock.do")
@@ -64,100 +93,42 @@
    //通过股票代码查询股票信息
    @RequestMapping({"getSingleStock.do"})
    @ResponseBody
    public ServerResponse getSingleStock(@RequestParam("code") String code, HttpServletRequest request) {
    public ServerResponse getSingleStock(@RequestParam("code") String code, HttpServletRequest request) throws JsonProcessingException {
        return this.iStockService.getSingleStock(code, request);
    }
    //美股股票代码查询股票信息
    @RequestMapping({"getSingleStockByCode.do"})
    @ResponseBody
    public ServerResponse getSingleStockByCode(@RequestParam("code") String code) {
        return this.iStockService.getSingleStockByCode(code);
    }
    @RequestMapping({"getMinK.do"})
    @ResponseBody
    public ServerResponse getMinK(@RequestParam("code") String code, @RequestParam("time") Integer time, @RequestParam("ma") Integer ma, @RequestParam("size") Integer size) {
        return this.iStockService.getMinK(code, time, ma, size);
    }
    /*查询股票日线*/
    @RequestMapping({"getDayK.do"})
    @ResponseBody
    public ServerResponse getDayK(@RequestParam("code") String code) {
        return this.iStockService.getDayK_Echarts(code);
    }
    /*查询股票日线*/
    @RequestMapping({"getKData.do"})
    @ResponseBody
    public Object getKData(
            @RequestParam("pid") String pid,
            @RequestParam("interval") String interval,
            @RequestParam("stockType") String stockType
            @RequestParam("stockType") String stockType,
            HttpServletRequest request
    ) {
        return this.iStockService.getKData(pid,interval,stockType);
        try {
            return this.iStockService.getKData(pid,interval,stockType);
        }catch (Exception e){
            log.error("获取k线失败",e.getMessage());
        }
        return ServerResponse.createByErrorMsg("获取k线失败",request);
    }
    //查询股票历史数据数据
    @RequestMapping({"getMinK_Echarts.do"})
    @ResponseBody
    public ServerResponse getMinK_Echarts(@RequestParam("code") String code, @RequestParam("time") Integer time, @RequestParam("ma") Integer ma, @RequestParam("size") Integer size) {
        return this.iStockService.getMinK_Echarts(code, time, ma, size);
    }
    /*期货分时-k线*/
    @RequestMapping({"getFuturesMinK_Echarts.do"})
    @ResponseBody
    public ServerResponse getFuturesMinK_Echarts(@RequestParam("code") String code, @RequestParam("time") Integer time, @RequestParam("size") Integer size) {
        return this.iStockService.getFuturesMinK_Echarts(code, time, size);
    }
    /*指数分时-k线*/
    @RequestMapping({"getIndexMinK_Echarts.do"})
    @ResponseBody
    public ServerResponse getIndexMinK_Echarts(@RequestParam("code") String code, @RequestParam("time") Integer time, @RequestParam("size") Integer size) {
        return this.iStockService.getIndexMinK_Echarts(code, time, size);
    }
    /*查询期货日线*/
    @RequestMapping({"getFuturesDayK.do"})
    @ResponseBody
    public ServerResponse getFuturesDayK(@RequestParam("code") String code) {
        return this.iStockService.getFuturesDayK(code);
    }
    /*指数日线*/
    @RequestMapping({"getIndexDayK.do"})
    @ResponseBody
    public ServerResponse getIndexDayK(@RequestParam("code") String code) {
        return this.iStockService.getIndexDayK(code);
    }
   /* 股票日线*/
   @RequestMapping({"getStockDayK.do"})
   @ResponseBody
   public ServerResponse getStockDayK(@RequestParam("code") String code) {
       return this.iStockService.getStockDayK(code);
   }
//    //查询股票需要换数据源的股票
//    @RequestMapping({"stockDataBase.do"})
//    @ResponseBody
//    public ServerResponse stockDataBase() {
//        return this.iStockService.stockDataBase();
//    }
    /**
     *大宗交易 列表
     */
    @PostMapping({"getDzList.do"})
    @ResponseBody
    public ServerResponse getDzList() {
        return this.stockDzService.getDzList();
    public ServerResponse getDzList(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                    @RequestParam(value = "pageSize", defaultValue = "10") int pageSize,
                                    @RequestParam(value = "orderBy", required = false) String orderBy,
                                    @RequestParam(value = "keyWords", required = false) String keyWords,
                                    HttpServletRequest request) {
        return stockDzService.getDzList(pageNum, pageSize, orderBy,keyWords , request);
    }