package org.example.controller; import cn.hutool.http.HttpUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.example.common.ServerResponse; import org.example.dao.JournalismMapper; import org.example.dao.StockMarketNewMapper; import org.example.dao.StockNewShareMapper; import org.example.enums.EStockType; import org.example.pojo.Journalism; import org.example.pojo.StockMarketNew; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; /** * @program: webSocketProject * @description: * @create: 2024-03-26 21:51 **/ @RestController @RequestMapping("/api/stock/") public class ApiController { @Autowired StockNewShareMapper stockNewShareMapper; @Autowired StockMarketNewMapper stockMarketNewMapper; /*查询股票日线*/ @RequestMapping({"getKData.do"}) @ResponseBody public String getKData( @RequestParam("pid") String pid, @RequestParam("interval") String interval, @RequestParam("stockType") String stockType ) { EStockType eStockType = null; if (stockType.equals("US")) { eStockType = EStockType.US; } else { eStockType = EStockType.IN; } return HttpUtil.get(eStockType.stockUrl + "kline?pid=" + pid + "&interval=" + interval + "&key=" + eStockType.stockKey); } @GetMapping("getStock.do") public ServerResponse StockMarketNew(@RequestParam(value = "stockType", required = false) String stockType){ // 将输入的股票类型转换为大写 String upperCase = stockType.toUpperCase(); // 根据代码获取对应的枚举类型 EStockType code = EStockType.getEsByCode(upperCase); if(code == null){ return ServerResponse.createBySuccessMsg("请输入正确的stockType"); } // 根据枚举类型进行不同的操作 switch(code){ case XG: // 查询新股市场数据 return getStockData(stockNewShareMapper); case IN: // 查询股票数据 return getStockData(stockMarketNewMapper); default: return ServerResponse.createBySuccessMsg("未找到对应的股票数据"); } } // 通用方法,根据传入的mapper查询数据 private ServerResponse getStockData(BaseMapper mapper){ LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); List list = mapper.selectList(wrapper); if(list.isEmpty()){ return ServerResponse.createByErrorMsg("查询结果为空"); } return ServerResponse.createBySuccess(list); } }