当前位置: 首页 > news >正文

day07-实战-今日指数

今日指数-day07

1.股票Code联想推荐

1.1 股票Code联想推荐功能介绍

1) 原型效果

在这里插入图片描述

输入框输入股票编码后,显示关联的股票信息;

2)接口定义说明

接口说明:

功能描述:根据输入的个股代码,进行模糊查询,返回证券代码和证券名称
服务路径:/quot/stock/search
服务方法:GET
请求参数:searchStr (只接受代码模糊查询,不支持文字查询)  

响应数据格式:

{"code": 1,"data": [{"code": "600000",//股票编码"name": "浦发银行" //股票名称},{"code": "600004","name": "白云机场"}]
}

1.2股票Code联想推荐功能实现

1)定义Web访问接口
    @GetMapping("/stock/search")public R<List<Map<String,Object>>> fuzzyQuery(@RequestParam("searchStr") String searchStr){return stockService.fuzzyQuery(searchStr);}
2)定义服务接口和实现

定义服务接口

    /*** 根据输入的个股代码,进行模糊查询,返回证券代码和证券名称* @param searchStr* @return*/R<List<Map<String, Object>>> fuzzyQuery(String searchStr);

实现

    @Overridepublic R<List<Map<String, Object>>> fuzzyQuery(String searchStr) {//检查参数校验if(StringUtils.isBlank(searchStr)){R.error(ResponseCode.DATA_ERROR.getMessage());}// 对参数进行模糊处理String searchStrFuzzy = "%" + searchStr + "%";//根据股票代码模糊查询List<Map<String,Object>>stockRtInfoList=stockRtInfoMapper.getByCodeFuzzy(searchStrFuzzy);return R.ok(stockRtInfoList);}
3)定义mapper接口方法与xml

mapper

    /*** 根据股票编码模糊查询* @param searchStrFuzzy* @return*/List<Map<String, Object>> getByCodeFuzzy(String searchStrFuzzy);

xml

<select id="getByCodeFuzzy" resultType="java.util.Map">select distinctsri.stock_code as code,sri.stock_name as namefrom stock_rt_info as sriwhere sri.stock_code like #{searchStrFuzzy}
</select>

2.个股描述功能实现

2.1 个股描述功能实现说明

1)原型示意

在这里插入图片描述

2)接口说明
功能描述:个股主营业务查询接口
服务路径:/api/quot/stock/describe
服务方法:GET
请求参数:code #股票编码

响应参数:

{"code": 1,"data": {"code": "000002", //股票编码"trade": "房地产  ", //行业,也就是行业板块名称"business": "房地产开发和物业服务",//公司主营业务"name": "万科A" //公司名称}
}

2.2股描述功能实现

1)定义Web访问接口
/*** 个股主营业务查询接口* @param code* @return*/
@GetMapping("/stock/describe")
public R<Map<String,Object>> getStockDescribe(@RequestParam("code") String code){return stockService.getStockDescribe(code);
}
2)定义服务接口和实现

定义服务接口

/*** 个股主营业务查询接口* @param code* @return*/
R<Map<String, Object>> getStockDescribe(String code);

实现

@Override
public R<Map<String, Object>> getStockDescribe(String code) {//检查参数校验if(StringUtils.isBlank(code)){R.error(ResponseCode.DATA_ERROR.getMessage());}//根据参数查询个股主营业务Map<String,Object> mapResult=stockBusinessMapper.getBySecCodeInfo(code);return R.ok(mapResult);}
3)定义mapper接口方法与xml

mapper

   /*** 根据参数查询个股主营业务* @param code* @return*/Map<String, Object> getBySecCodeInfo(String code);

xml

<select id="getBySecCodeInfo" resultType="java.util.Map">selectsb.stock_code as code,sb.stock_name as name,sb.block_name as trade,sb.business as businessfrom stock_business as sbwhere stock_code=#{code}
</select>

3.个股周K线功能实现

3.1 个股周K线功能实现功能分析

1)个股周K线功能原型分析

在这里插入图片描述

在这里插入图片描述

2)个股周K线功能接口分析
个股周K线数据主要包含:股票ID、 一周内最高价、 一周内最低价 、周1开盘价、周5的收盘价、整周均价、以及一周内最大交易日期(一般是周五所对应日期)

接口要求:

功能描述:统计每周内的股票数据信息,信息包含:股票ID、 一周内最高价、 一周内最低价 、周1开盘价、周5的收盘价、整周均价、以及一周内最大交易日期(一般是周五所对应日期);
服务路径:/api/quot/stock/screen/weekkline
服务方法:GET
请求参数:code //股票编码

响应数据格式:

{"code": 1,"data": [{"avgPrice": 8.574954,//一周内平均价"minPrice": 8.56,//一周内最低价"openPrice": 8.6,//周一开盘价"maxPrice": 8.6,//一周内最高价"closePrice": 8.57,//周五收盘价(如果当前日期不到周五,则显示最新价格)"mxTime": "2021-12-19 15:00",//一周内最大时间"stockCode": "600000"//股票编码}]
}

3.2个股周K线功能实现

1)定义Web访问接口
    /*** 功能描述:统计每周内的股票数据信息,信息包含:* 股票ID、 一周内最高价、 一周内最低价 、周1开盘价、周5的收盘价、* 整周均价、以及一周内最大交易日期(一般是周五所对应日期)** @param code* @return*/@GetMapping("/stock/screen/weekkline")public R<List<Map<String, Object>>> getStockInfo(@RequestParam("code") String code) {return stockService.getStockInfo(code);}
2)定义服务接口和实现

定义服务接口

/*** 功能描述:统计每周内的股票数据信息,信息包含:* 股票ID、 一周内最高价、 一周内最低价 、周1开盘价、周5的收盘价、* 整周均价、以及一周内最大交易日期(一般是周五所对应日期)** @param code* @return*/
R<List<Map<String, Object>>> getStockInfo(String code);

实现

@Override
public R<List<Map<String, Object>>> getStockInfo(String code) {// 获取日期范围DateTime lastDate4Stock = DateTimeUtil.getLastDate4Stock(DateTime.now());Date endTime = lastDate4Stock.toDate();Date startTime = lastDate4Stock.minusDays(4).toDate();// TODO moke 测试数据startTime = DateTime.parse("2021-12-25 09:30:00", DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")).toDate();endTime = DateTime.parse("2021-12-30 15:00:00", DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")).toDate();// 根据日期范围统计每周的股票数据信息List<Map<String, Object>> mapResult =  stockRtInfoMapper.getStockInfo4Week(code, startTime, endTime);return R.ok(mapResult);
}
3)定义mapper接口方法与xml

定义mapper

   List<Map<String, Object>> getStockInfo4Week(@Param("code") String code,@Param("startTime") Date startTime,@Param("endTime") Date endTime);

xml

    <select id="getStockInfo4Week" resultType="java.util.Map">select distinctavg(sri.cur_price) as avgPrice,min(sri.cur_price) as minPrice,sri.open_price as openPrice,max(sri.cur_price) as maxPrice,sri.cur_price as closePrice,date_format(max(sri.cur_time), '%Y%m%d') as mxTime,sri.stock_code as stock_codefrom stock_rt_info as sriwhere sri.stock_code = #{code}and sri.cur_time between #{startTime} and #{endTime}</select>
    max(sri.cur_price) as maxPrice,sri.cur_price as closePrice,date_format(max(sri.cur_time), '%Y%m%d') as mxTime,sri.stock_code as stock_codefrom stock_rt_info as sriwhere sri.stock_code = #{code}and sri.cur_time between #{startTime} and #{endTime}
</select>

相关文章:

  • 如何在 Angular 中为响应式表单创建自定义验证器
  • 如何对线上项目Debug
  • C语言希尔排序详解!!!速过
  • redis的缓存穿透,缓存并发,缓存雪崩,缓存问题及解决方案
  • 【MySQL】事务的一致性究竟怎么理解?
  • Spring Boot项目打包及依赖管理-瘦身
  • css中选择器的优先级
  • flink operator 1.7 更换日志框架log4j 到logback
  • 最近火的一键穿衣AI,这款服装设计软件也不赖
  • 【动态规划专栏】专题二:路径问题--------6.地下城游戏
  • 2024-02-20(数位DP)
  • RuntimeError: CUDA out of memory.【多种场景下的解决方案】
  • Delphi语言教程
  • Uipath 读取Word模板实现录用通知书PDF批量生成
  • CSS篇--transform
  • canvas绘制圆角头像
  • conda常用的命令
  • express + mock 让前后台并行开发
  • interface和setter,getter
  • Javascript基础之Array数组API
  • js操作时间(持续更新)
  • Redash本地开发环境搭建
  • 关于extract.autodesk.io的一些说明
  • 基于webpack 的 vue 多页架构
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 试着探索高并发下的系统架构面貌
  • 用Visual Studio开发以太坊智能合约
  • 正则学习笔记
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • ​如何防止网络攻击?
  • (145)光线追踪距离场柔和阴影
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (规划)24届春招和25届暑假实习路线准备规划
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • .bat文件调用java类的main方法
  • .NET 4 并行(多核)“.NET研究”编程系列之二 从Task开始
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .Net Memory Profiler的使用举例
  • .NET Standard 支持的 .NET Framework 和 .NET Core
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • .NET命名规范和开发约定
  • .Net中的集合
  • .php结尾的域名,【php】php正则截取url中域名后的内容
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • /var/lib/dpkg/lock 锁定问题
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [2544]最短路 (两种算法)(HDU)
  • [C#基础知识系列]专题十七:深入理解动态类型
  • [codevs 1515]跳 【解题报告】