今日指数项目个股周K线功能实现

news2024/10/5 16:50:02

个股周K线功能实现

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"//股票编码
        }
    ]
}

代码实现

1. 表现层
    /**
     * 个股周K线功能
     */
    @ApiOperation(value = "个股周K线功能", notes = "个股周K线功能", httpMethod = "GET")
    @GetMapping("/stock/screen/weekkline")
    public R<List<WeekklineDomain>> getWeekkline(@RequestParam String code){
        return service.getWeekkline(code);
    }

2. 服务层
R<List<WeekklineDomain>> getWeekkline(String code);
    @Override
    public R<List<WeekklineDomain>> getWeekkline(String code) {
        // 获取当前时间点
        DateTime curDate = DateTimeUtil.getLastDate4Stock(DateTime.now());
        // 制造mock数据
        curDate = DateTime.parse("2022-07-07 14:55:00", DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss"));

        Date endDate = curDate.toDate();
        Date startDate = curDate.minusMonths(3).toDate();

        List<WeekklineDomain> date = stockRtInfoMapper.getWeekkline(startDate,endDate,code);

        return R.ok(date);
    }
3. Dao层
List<WeekklineDomain> getWeekkline(@Param("startDate") Date startDate, @Param("endDate") Date endDate, @Param("code") String code);
<select id="getWeekkline" resultType="com.jixu.stock.pojo.domain.WeekklineDomain">
        CREATE TEMPORARY TABLE sir1
        select
            min(min_price) as minPrice ,
            max(max_price) as maxPrice,
            max(cur_time) as mxTime,
            stock_code as stockCode,
            sum(cur_price)/count(cur_price) as avgPrice,
            YEARWEEK(cur_time) as week
        from stock_rt_info
        where stock_code = #{code}
        group by yearweek(cur_time);



        CREATE TEMPORARY TABLE sir2
        select cur_price ,
               stock_code,
               YEARWEEK(cur_time) as week
        from stock_rt_info
        where  stock_code = #{code} and cur_time in (
            select
                max(cur_time) as mxTime
            from stock_rt_info
            where stock_code = #{code}
            group by yearweek(cur_time)
        ) ;


        CREATE TEMPORARY TABLE sir3
        select open_price ,
               stock_code,
               YEARWEEK(cur_time) as week,
               cur_time
        from stock_rt_info
        where  stock_code = #{code} and cur_time in (
            select
                min(cur_time) as minTime
            from stock_rt_info
            where stock_code = #{code}
            group by yearweek(cur_time)
        )
        ;


        select sir1.stockCode as stockCode,
               sir1.avgPrice as avgPrice ,
               sir1.minPrice as minPrice,
               sir1.mxTime as mxTime,
               sir1.maxPrice as maxPrice,
               sir2.cur_price as closePrice,
               sir3.open_price as openPrice
        from sir1 join sir2 on sir1.stockCode = sir2.stock_code and sir1.week = sir2.week
                  join sir3 on sir3.stock_code=sir2.stock_code and sir2.week=sir3.week
        where sir3.cur_time between #{startDate} and #{endDate}
        ;

    </select>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2190185.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Linux】-----进程第二弹(优先级,环境变量)

目录 一、进程优先级 是什么 为什么要有&#xff1f; 查看进程优先级 修改进程优先级 二、环境变量 命令行参数 概念 常见环境变量 查看环境变量 配置环境变量 内存级别修改&#xff08;命令行修改&#xff0c;暂时&#xff09; ①拷贝到系统路径下 ② 路径添加…

【Android】中级控件

其他布局 相对布局RelativeLayout RelativeLayout下级视图的位置是相对位置&#xff0c;得有具体的参照物才能确定最终位置。如果不设定下级视图的参照物&#xff0c;那么下级视图默认显示在RelativeLayout内部的左上角。用于确定视图位置的参照物分两种&#xff0c;一种是与…

算法专题三: 二分查找

目录 1. 朴素版: 二分查找2. 查找排序数组元素第一个和最后一个位置3. 搜索插入位置4. x的平方根5. 山脉数组的峰顶索引6. 寻找旋转数组中的最小值7. 点名 博客主页: 酷酷学!!! 感谢您的关注~ 正文开始 1. 朴素版: 二分查找 题目思路: 仅需根据题意, 找出二段性, 正确更新下标…

Python编码系列—Python访问者模式:为对象结构添加新功能的艺术

&#x1f31f;&#x1f31f; 欢迎来到我的技术小筑&#xff0c;一个专为技术探索者打造的交流空间。在这里&#xff0c;我们不仅分享代码的智慧&#xff0c;还探讨技术的深度与广度。无论您是资深开发者还是技术新手&#xff0c;这里都有一片属于您的天空。让我们在知识的海洋中…

LLM端侧部署系列 | PowerInfer-2助力AI手机端侧部署47B大模型 (论文解读)

引言 简介 PowerInfer-2 概述 神经元感知的运行时推理 多态神经元引擎 内存中的神经元缓存 灵活的神经元加载 Neuron-Cluster-Level Pipeline 生成执行计划 执行 总结 0. 引言 一雨池塘水面平&#xff0c;淡磨明镜照檐楹。东风忽起垂杨舞&#xff0c;更作荷心万点声…

2024年liunx安装openvino非源码编译版(比源码编译简单!)

前言 真的要感慨一句&#xff0c;openvino源码编译真的麻烦&#xff01;由于2023年之后openvino官网的之间下载取消之后&#xff0c;很多人只能选择源码编译&#xff0c;我也是研究了好几天&#xff0c;又是clone改变的库&#xff0c;又是安装什么&#xff0c;搞了三四天都没有…

已解决:TypeError: ‘int‘ object is not iterable

已解决&#xff1a;TypeError: ‘int’ object is not iterable 文章目录 写在前面问题描述报错原因分析 解决思路解决办法1. 检查代码中的 for 循环2. 检查函数返回值是否为可迭代对象3. 确认变量类型4. 使用 map() 或 list comprehension 处理整数5. 防止不必要的迭代 总结 写…

Leetcode—148. 排序链表【中等】

2024每日刷题&#xff08;171&#xff09; Leetcode—148. 排序链表 C实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(nullptr…

java计算机毕设课设—坦克大战游戏

这是什么系统&#xff1f; 坦克大战游戏是一款以坦克为主题的射击游戏&#xff0c;旨在为玩家提供一个刺激、有趣的游戏体验。该游戏不仅拥有丰富的功能&#xff0c;还注重玩家的互动体验。此系统是使用Java语言实现坦克大战游戏程序&#xff0c;玩家通过连接访问进入游戏&…

【C++】—— 类和对象(上)

【C】—— 类和对象(上) 文章目录 【C】—— 类和对象(上)前言1. 类的定义1.1 类定义格式1.2 访问限定符1.3 类域 2. 实例化2.1 实例化概念2.2 对象的大小 3. this指针4. C和C语言实现Stack对比结语 前言 小伙伴们大家好呀&#xff0c;今天我们就开始学习C的重点及难点——类和…

[python]Flask_Login

flask_login是flask框架中的一个拓展功能&#xff0c;用于更快捷的实现用户会话管理功能&#xff0c;主要处理登录&#xff0c;注销和长时间会话存储的功能处理。 目录 安装 使用 第一步,配置SECRET_KEY 第二步,创建LoginManager实例绑定app 第三步,用户类继承UserMixin …

Github优质项目推荐-第三期

文章目录 Github优质项目推荐 - 第三期一、【coding-interview-university】&#xff0c;305k stars - 软件工程师学习计划二、【drawdb】&#xff0c;20.1k stars - 数据库设计工具三、【twenty】&#xff0c;16k stars - 排名第一的开源 CRM四、【Douyin-Vue】&#xff0c;9.…

海南网站建设提升网站用户体验实用技巧

海南网站建设提升网站用户体验实用技巧 在当今数字时代&#xff0c;网站已成为企业展示形象和吸引客户的重要平台。尤其对于海南这一旅游胜地来说&#xff0c;优化网站用户体验显得尤为重要。以下是一些实用技巧&#xff0c;可帮助您提升网站的用户体验。 首先&#xff0c;确保…

柔性作业车间调度(FJSP)

1.1 调度问题的研究背景 生产调度是指针对一项可分解的工作(如产品制造),在尽可能满足工艺路线、资源情况、交货期等约束条件的前提下,通过下达生产指令,安排其组成部分(操作)所使用的资源、加工时间及加工的先后顺序,以获得产品制造时间或成本最优化的一项工作。 一般研究车间…

django的路由分发

前言&#xff1a; 在前面我们已经学习了基础的Django了&#xff0c;今天我们将继续学习&#xff0c;我们今天学习的是路由分发&#xff1a; 路由分发是Web框架中的一个核心概念&#xff0c;它指的是将不同的URL请求映射到对应的处理函数&#xff08;视图&#xff09;的过程。…

发现一篇瑞芯微RK3588上使用Gstreamer的文章(野火)

1. 前言 最近经常使用英伟达的Orin和瑞芯微RK3588做开发,自己还买了好几块开发板,很多需要自己琢磨,今天忽然发现了一篇文章,意外解决了一些之前的问题,以此作为记录: 文章链接:https://doc.embedfire.com/linux/rk356x/quick_start/zh/latest/lubancat_rk_software_har…

Redis基础三(redis的高级配置)

Redis进阶配置 一、Redis持久化操作 ​ 持久化就是把内存的数据写到磁盘中去&#xff0c;防止服务宕机了内存数据丢失。&#xff08;Redis 数据都放在内存中。如果机器挂掉&#xff0c;内存的数据就不存在。所以需要做持久化&#xff0c;将内存中的数据保存在磁盘&#xff0c…

Gralloc图形缓冲的分配过程

广告 首先帮我朋友打个广告 我们一起在运营一个视频号 感兴趣的可以帮忙点击右边这个小铃铛 铃铛 序 其实越往底下走在很多人嘴里就会变得很玄乎&#xff0c;变得不可思议&#xff0c;这里的gralloc就是一个native service&#xff0c;只是分装了一些调用接口&#xff0c;上…

使用Scikit-image进行图像处理入门

简介 在数据科学的广阔领域中&#xff0c;图像处理占据了重要的一席之地&#xff0c;为分析和处理视觉数据提供了各种工具和技术。Python 拥有丰富的库生态系统&#xff0c;为图像处理提供了多种选择&#xff0c;其中&#xff0c;scikit-image 凭借其强大且易用的功能脱颖而出…

记录使用gym和stable_baseline3训练出成功通关的贪吃蛇ai

参考自b站up林亦LYi的开源项目 传送门 本次只训练了cnn版本的 第一次接触这种项目&#xff0c;建python虚拟环境时出了点难以说清楚的小问题&#xff0c;安装不上requirement.txt中的gym库那个版本&#xff0c;折腾了一会&#xff0c;自己都乱了头绪&#xff0c;最后导致训练…