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,7 +93,7 @@
    //通过股票代码查询股票信息
    @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);
    }
@@ -75,9 +104,15 @@
    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);
    }
@@ -88,8 +123,12 @@
     */
    @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);
    }