# 小石得数 ## 系统功能 * 用户 * (已开发,差unionid部分)登录 * (小程序支持即可)注销 * (已开发,已测试)修改昵称 * (已开发,已测试)查询用户基本信息 * 小程序 * (已开发,已测试)可订阅列表查询 * (已开发,已测试)订阅源详情查看 * (已开发,已测试)已订阅列表查询 * (已开发,已测试)已订阅源的消息发送控制配置 * (已开发,待测试)每天推送的订阅源数据查看 * 新股 * 新债 * 双色球 * 大乐透 * Product Hunt的top30榜单 * 订单历史记录查询 * (已开发,待测试)微信用户关注服务号登记 * 微信用户支付处理 * 订阅支付 * 支付回调处理 * (已开发,待设置模板数据)系统定时任务 * 获取新股、新债数据并推送 * 获取双色球数据并推送 * 获取大乐透数据并推送 * 获取Product Hunt数据并推送 ## 定时任务 | 定时任务名称 | 执行时间 | cron表达式 | 实现类 | | ------------------------ | ---------------------------- | -------------------- | ------------------ | | 大乐透定时任务 | 每周一、三、六,晚上21:25 | 0 25 21 * * 1,3,6 | DaLeTouTask | | 双色球定时任务 | 每周二、周四、周日 晚上21:35 | 0 35 21 * * 2,4,7 | ShuangSeQiuTask | | 新债定时任务 | 每天早上8:35执行一次 | 0 35 8 * * * | IpoBondTask | | 新股定时任务 | 每天早上8:40执行一次 | 0 40 8 * * * | IpoStockTask | | ProductHunt热榜定时任务 | 每天下午16:05执行一次 | 0 5 16 * * * | ProductHuntTask | | 支付订单自动关闭定时任务 | 每15分钟执行一次 | 0 0,15,30,45 * * * * | AutoCloseOrderTask | ## 表设计 ### 用户表 表名:user | 字段 | 类型 | 描述 | | ---------------- | ------------ | ---------------------------------- | | id | bigint | 主键 | | union_id | varchar(128) | 微信唯一标识id | | ma_open_id | varchar(128) | 微信用户小程序标识id | | mp_open_id | varchar(128) | 微信用户服务号标识id | | nickname | varchar(100) | 用户昵称 | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更新人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 系统字典表 表名:sys_dict | 字段 | 类型 | 描述 | | ---------------- | ------------ | ---------------------------------- | | id | bigint | 主键 | | dict_code | varchar(100) | 字典编码 | | dict_name | varchar(100) | 字典名称 | | description | varchar(200) | 描述 | | status | int | 状态(1-启用,0-失效) | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更信人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 系统字典项表 表名:sys_dict_item | 字段 | 类型 | 描述 | | ---------------- | ------------ | ---------------------------------- | | id | bigint | 主键 | | dict_id | bigint | 字典表主键 | | data_type | int | 数据类型(0-String,1-Number) | | item_code | varchar(100) | 字典项编码 | | item_name | varchar(100) | 字典项名称 | | description | varchar(200) | 描述 | | status | int | 状态(1-启用,0-失效) | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更信人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### Product Hunt数据表 表名:data_product_hunt_post 表注释:Product Hunt榜单的帖子数据 | 字段 | 类型 | 描述 | | ---------------- | ------------- | ---------------------------------- | | id | bigint | 主键 | | rank_date | date | 榜单日期 | | rank_num | int | 排名位置 | | post_id | bigint | 帖子ID | | name | varchar(200) | 帖子名称 | | tagline | varchar(300) | 帖子的标语 | | description | varchar(1000) | 帖子信息 | | description_key | varchar(500) | 信息中的关键词 | | votes_count | int | 投票数 | | created_at | timestamp | 帖子的创建日期和时间 | | featured_at | timestamp | 帖子被特色展示的日期和时间 | | website | varchar(500) | 指向该帖子网站的重定向 URL | | url | varchar(500) | 帖子URL | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更信人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 大乐透数据表 表名:data_da_le_tou | 字段 | 类型 | 描述 | | ---------------- | ------------- | ---------------------------------- | | id | bigint | 主键 | | number | varchar(30) | 开奖号码,以竖杠隔开 | | number1 | varchar(2) | 特别号码1,第一个尾号 | | number2 | varchar(2) | 特别号码2,第二个尾号 | | qihao | char(5) | 期号 | | time | char(10) | 开奖日期 | | no1num | int | 一等奖注数 | | no2num | int | 二等奖注数 | | no3num | int | 三等奖注数 | | no4num | int | 四等奖注数 | | no5num | int | 五等奖注数 | | no6num | int | 六等奖注数 | | no7num | int | 七等奖注数 | | no8num | int | 八等奖注数 | | no9num | int | 九等奖注数 | | no1money | decimal(18,2) | 一等奖金额 | | no2money | decimal(18,2) | 二等奖金额 | | no3money | decimal(18,2) | 三等奖金额 | | no4money | decimal(18,2) | 四等奖金额 | | no5money | decimal(18,2) | 五等奖金额 | | no6money | decimal(18,2) | 六等奖金额 | | no7money | decimal(18,2) | 七等奖金额 | | no8money | decimal(18,2) | 八等奖金额 | | no9money | decimal(18,2) | 九等奖金额 | | name | varchar(30) | 彩票名称 | | xiaoshou | decimal(18,2) | 销售额 | | jiangchi | decimal(18,2) | 奖池金额 | | endtime | char(19) | 截止兑奖时间 | | no1numjia | int | 一等奖追加注数 | | no1moneyjia | decimal(18,2) | 一等奖追加奖金 | | no2numjia | int | 二等奖追加注数 | | no2moneyjia | decimal(18,2) | 二等奖追加奖金 | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更信人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 双色球数据表 表名:data_shuang_se_qiu | 字段 | 类型 | 描述 | | ---------------- | ------------- | ---------------------------------- | | id | bigint | 主键 | | number | varchar(30) | 开奖号码,以竖杠隔开 | | number1 | varchar(2) | 特别号码,尾号 | | qihao | char(8) | 期号 | | time | varchar(15) | 开奖日期 | | no1num | int | 一等奖注数 | | no2num | int | 二等奖注数 | | no3num | int | 三等奖注数 | | no4num | int | 四等奖注数 | | no5num | int | 五等奖注数 | | no6num | int | 六等奖注数 | | no1money | decimal(18,2) | 一等奖金额 | | no2money | decimal(18,2) | 二等奖金额 | | no3money | decimal(18,2) | 三等奖金额 | | no4money | decimal(18,2) | 四等奖金额 | | no5money | decimal(18,2) | 五等奖金额 | | no6money | decimal(18,2) | 六等奖金额 | | name | varchar(30) | 彩票名称 | | xiaoshou | decimal(18,2) | 销售额 | | jiangchi | decimal(18,2) | 奖池金额 | | no1msg | varchar(1000) | 一等奖中奖地域 | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更信人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 新股数据表 表名:data_ipo_stock | 字段 | 类型 | 描述 | | --------------------------------- | -------------- | ---------------------------------- | | id | bigint | 主键 | | stock_code | varchar(10) | 股票代码 | | stock_short_name | varchar(30) | 股票简称 | | subscription_code | varchar(10) | 申购代码 | | total_issued | decimal(22,4) | 发行总数 | | online_issued | decimal(22,4) | 网上发行 | | max_market_value_for_subscription | decimal(22,4) | 顶格申购需配市值 | | subscription_limit | int | 申购上限 | | issue_price | decimal(20,2) | 发行价格 | | latest_price | decimal(20,2) | 最新价 | | first_day_closing_price | decimal(20,2) | 首日收盘价 | | subscription_date | date | 申购日期 | | winning_number_announcement_date | date | 中签号公布日 | | payment_date_for_winning | date | 中签缴款日期 | | listing_date | date | 上市日期 | | issue_p_e_ratio | decimal(5,2) | 发行市盈率 | | industry_p_e_ratio | decimal(5,2) | 行业市盈率 | | winning_rate | decimal(11,10) | 中签率 | | cumulative_bid_multiple | decimal(20,2) | 询价累计报价倍数 | | bidding_firms_count | int | 配售对象报价家数 | | consecutive_limit_up_days | varchar(10) | 连续一字板数量 | | increase_rate | decimal(20,2) | 涨幅 | | profit_rer_winning_lot | decimal(20,2) | 每中一签获利 | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更信人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 新债数据表 表名:data_ipo_bond | 字段 | 类型 | 描述 | | ---------------------------------- | ------------- | ---------------------------------- | | id | bigint | 主键 | | bond_code | varchar(10) | 债券代码 | | bond_short_name | varchar(30) | 债券简称 | | announcement_date | date | 公告日期 | | issue_start_date | date | 发行起始日 | | issue_end_date | date | 发行终止日 | | planned_issue_amount | decimal(22,4) | 计划发行总量 | | actual_issue_amount | decimal(22,4) | 实际发行总量 | | issue_par_value | decimal(20.2) | 发行面值 | | issue_price | decimal(20.2) | 发行价格 | | issue_method | varchar(200) | 发行方式 | | issue_target | varchar(2000) | 发行对象 | | issue_scope | varchar(200) | 发行范围 | | underwriting_method | varchar(30) | 承销方式 | | fundraising_purpose | varchar(200) | 募资用途说明 | | initial_conversion_price | decimal(20.2) | 初始转股价格 | | conversion_start_date | date | 转股开始日期 | | conversion_end_date | date | 转股终止日期 | | online_subscription_date | date | 网上申购日期 | | online_subscription_code | varchar(10) | 网上申购代码 | | online_subscription_short_name | varchar(30) | 网上申购简称 | | online_subscription_max | decimal(20.2) | 网上申购数量上限 | | online_subscription_min | decimal(20.2) | 网上申购数量下限 | | online_subscription_unit | decimal(20.2) | 网上申购单位 | | online_subscription_result_date | date | 网上申购中签结果公告日及退款日 | | priority_subscription_date | date | 优先申购日 | | allotment_price | decimal(202) | 配售价格 | | creditor_registration_date | date | 债权登记日 | | priority_subscription_payment_date | date | 优先申购缴款日 | | conversion_code | varchar(10) | 转股代码 | | trading_market | varchar(30) | 交易市场 | | bond_name | varchar(100) | 债券名称 | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更信人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 订阅源表 表名:subscription_source | 字段 | 类型 | 描述 | | ---------------- | ------------- | ---------------------------------- | | id | bigint | 主键 | | title | varchar(100) | 主标题 | | sub_title | varchar(300) | 副标题 | | push_channel | varchar(10) | 推送渠道(WXMP-微信服务号) | | push_frequency | varchar(100) | 推送频率 | | description | varchar(1000) | 详情描述 | | pics | varchar(2000) | 详情图片 | | paid_option | varchar(10) | 付费选项(FREE-免费、PAID-付费) | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更新人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 订阅价格计划表 表名:subscription_plan | 字段 | 类型 | 描述 | | ---------------------- | ------------- | ---------------------------------- | | id | bigint | 主键 | | subscription_source_id | bigint | 订阅源ID | | subscription_price | decimal(12,2) | 订阅价格(单位:元) | | subscription_duration | int | 订阅时长(单位:天) | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更新人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 用户的订阅源配置表 表名:subscription_user_config | 字段 | 类型 | 描述 | | ---------------------- | ----------- | --------------------------------------- | | id | bigint | 主键 | | user_id | bigint | 用户ID | | subscription_source_id | bigint | 订阅源ID | | start_time | timestamp | 订阅开始时间 | | end_time | timestamp | 订阅结束时间 | | push_option | varchar(10) | 消息推送选项(ENABLE-开启、DISABLE-关闭) | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更新人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 订阅源与定时任务配置表 表名:subscription_task_config | 字段 | 类型 | 描述 | | ---------------------- | ------------ | ------------------------------------- | | id | bigint | 主键 | | task_code | varchar(30) | 定时任务编码 | | task_name | varchar(100) | 定时任务名称 | | subscription_source_id | bigint | 订阅源ID | | execute_option | varchar(10) | 执行选项(ENABLED-开启、DISABLED-关闭) | | page_path | varchar(100) | 页面路径 | | template_id | varchar(100) | 消息模板ID | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更新人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 定时任务执行记录表 表名:sys_schedule_task_log | 字段 | 类型 | 描述 | | ---------------- | ------------- | --------------------------------------------------- | | id | bigint | 主键 | | task_code | varchar(100) | 定时任务编码 | | task_name | varchar(100) | 定时任务名称 | | launch_method | varchar(10) | 启动方式(AUTO-自动,MANUAL-手动) | | start_time | timestamp | 任务开始时间 | | end_time | timestamp | 任务结束时间 | | process_status | varchar(10) | 执行状态(RUNNING-执行中,SUCCESS-成功,FAIL-失败) | | error_message | varchar(5000) | 错误信息 | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更新人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 用户的订阅日志表 表名:subscription_user_log | 字段 | 类型 | 描述 | | ---------------------- | ------------- | ---------------------------------- | | id | bigint | 主键 | | user_id | bigint | 用户ID | | subscription_source_id | bigint | 订阅源ID | | subscription_plan_id | bigint | 订阅价格计划ID | | subscription_order_id | bigint | 订单ID | | paid_option | varchar(10) | 付费选项(FREE-免费、PAID-付费) | | subscription_price | decimal(12,2) | 订阅价格(单位:元) | | subscription_duration | int | 本次订阅时长(单位:天) | | start_time | timestamp | 订阅前开始时间 | | before_end_time | timestamp | 订阅前结束时间 | | after_end_time | timestamp | 订阅后结束时间 | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更新人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) | ### 订单表 表名:subscription_order | 字段 | 类型 | 描述 | | ---------------------- | ------------- | ------------------------------------------------------------ | | id | bigint | 主键 | | user_id | bigint | 用户ID | | subscription_source_id | bigint | 订阅源ID | | subscription_plan_id | bigint | 订阅价格计划ID | | order_no | varchar(30) | 订单号(格式:3位业务编码 + yyMMddHHmmss + 3位序列号) | | subscription_price | decimal(12,2) | 订阅价格(单位:元) | | subscription_duration | int | 订阅时长(单位:天) | | close_time | timestamp | 订单关闭时间 | | payment_status | varchar(10) | 支付状态(NOTPAY-未支付,SUCCESS-支付成功、REFUND-转入退款、CLOSED-已关闭、REVOKED-已撤销) | | created_by | bigint | 创建人 | | creation_time | timestamp | 创建时间 | | last_updated_by | bigint | 最后更新人 | | last_update_time | timestamp | 最后更新时间 | | version | bigint | 版本号 | | delete_flag | tinyint | 逻辑删除标志(0-未删除,1-已删除) |