Skip to main content

daline unit generator and runner

Project description

本项目用于根据设计文档生成unit单元

框架的思路

  • 将复杂的流程转为一个个PU,框架托管PU的非逻辑部分,PU只关注逻辑部分代码即可。
  • 设计人员写完设计文档后,自动生成PU单元的脚本,提供测试数据,提供单元测试模块,可直接运行,后台开发人员可直接启动,提供假数据,同时进行业务逻辑开发。前端人员可快速调通接口,进行开发。

使用步骤

  1. 按格式编写设计文档
  2. 运行DalGenScript.py,直接运行须修改main函数中路径,cmd运行须传入路径参数
  3. 按设计文档自动生成对应unit单元,测试单元包括脚本、测试用例、测试数据、启动脚本
  4. 根据设计文档中的unit的连接关系,生成unit结构图,以新文件的形式重写md设计文档
    unit_frame

测试运行

  1. 运行生成文件中的run_test.py
  2. 运行jar
  3. 获取token,发送http请求:
    localhost:8080/pu?fidx=calSymbolProfit&type=QueryMeta&url=http://www.qq.com

生成目录

代码根据设计文档中unit中unit_info的folder路径,生成unit名称目录,然后生成.py和.info文件:
generate_folder

关于unit.py文件

根据设计文档生成unit类,设计文档中的function_list中的每个function都会生成4个函数

  • func_Info() 表示func的基本信息
  • func_Meta() 表示func的数据描述,首先请求此函数
  • func_Data() 表示func的实际数据,需要使用func_Meta()的返回结果来请求
  • func_NewData() 用户订阅数据后,数据更新则进入此函数

关于上层unit

  1. 根据设计文档中的上层unit列表,可自动生成上层unit中各function的数据接口,可直接调用获取数据,接口名格式如下:_get_[unit_name]_[function_name]_data()
  2. 上层unit和DB冲突,只能存在一个

关于设计文档

  • 设计文档采用markdowm格式编辑
  • 模板中以“#”开头的关键词请全部保留,即使内容为空
  • 设计文档模板见UnitDesign/design.md
  • 设计文档请严格按照模板目录结构编写,包括带“+ ”的数据列表,“+”数据列表赋值用“=”,注意markdown格式中的空格
  • 非开头的“#”作为数据注释
  • 保留“> ”开头的为注释
  • 功能的output请用json格式定义,注意不要漏写“双引号”

设计文档示例

# HoldingProfit_PU
## unit_info
+ discription = 计算品种持仓盈亏
+ lang = python
> 语言包括:python C++ 
+ folder = F:\SZZN\HuaWen\code\calPU\
+ type = pu
## upper_unit
+ tick_data_PU
+ sina_data_PU
+ trade_data_PU
## data_base
> 只生成读的函数,参数为: 表明、字段名列表 、where条件
+ hosts = localhost
+ port = 3306
+ user = root
+ pd = admin
+ db = MarketDataRaw
## function_list
### calSymbolProfit()
#### input
+ accountid = 42313454332
+ sttime = 20200401
+ symbol = cu2010
#### output
> 注意,md语法每行最后双空格再换行才是换行,转pdf时注意

{
    "trade_dic" :
    {
        "tradeId" : "str", # 交易代码
        "tradeTime" : "datetime", # 交易时间
        "buyPrice" : "st", # 买入价
        "symbolinfo" :  # 标的信息
        {
            "symbol":"str", # 标的名
            "exchange":"str", # 交易所
            "priceInfo": # 价格信息
            {
                "pricetick":"float", # 最小变动价格
                "margin":"float"
            }
        }
    }
}

#### meta_data
+ ownerID = 500
+ ownerGroupID = 200
+ acCode = 0x111
+ did = 9527
+ zipDataSize = 692k
+ rawDataSize = 1428k
+ md5 = lkjliudfadf12jolx
+ dataTime = 20200109
+ version = 1.0
+ description = 这里写了一堆的数据描述

### calTotalProfit()
#### input
+ accountid = 42313454332
+ sttime = 20200101
#### output
> 注意,md语法每行最后双空格再换行才是换行,转pdf时注意

{
    "trade_dic" :
    {
        "tradeId" : "str", # 交易代码
        "tradeTime" : "datetime", # 交易时间
        "buyPrice" : "st", # 买入价
        "symbolinfo" :  # 标的信息
        {
            "symbol":"str", # 标的名
            "exchange":"str", # 交易所
            "priceInfo": # 价格信息
            {
                "pricetick":"float", # 最小变动价格
                "margin":"float"
            }
        }
    }
}
#### meta_data
+ ownerID = 500
+ ownerGroupID = 200
+ acCode = 0x111
+ did = 9527
+ zipDataSize = 692k
+ rawDataSize = 1428k
+ md5 = lkjliudfadf12jolx
+ dataTime = 20200109
+ version = 1.0
+ description = 这里写了一堆的数据描述

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

DalineUnit-0.0.24.tar.gz (158.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

DalineUnit-0.0.24-py3-none-any.whl (34.9 kB view details)

Uploaded Python 3

File details

Details for the file DalineUnit-0.0.24.tar.gz.

File metadata

  • Download URL: DalineUnit-0.0.24.tar.gz
  • Upload date:
  • Size: 158.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for DalineUnit-0.0.24.tar.gz
Algorithm Hash digest
SHA256 7a2dbb8c86585d2237c16535d6da5192152e59595dc4618aa8dd421d940950f4
MD5 d9f73db5927d9c47f2b1ecd60456fabe
BLAKE2b-256 4d62301e3d8d17dccdc6015358948e6c9d389768baca6d53dd2c02118f911eb2

See more details on using hashes here.

File details

Details for the file DalineUnit-0.0.24-py3-none-any.whl.

File metadata

  • Download URL: DalineUnit-0.0.24-py3-none-any.whl
  • Upload date:
  • Size: 34.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.4.0 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.7

File hashes

Hashes for DalineUnit-0.0.24-py3-none-any.whl
Algorithm Hash digest
SHA256 c35dcd0c4930880b6a3235f6a7e59272fcda70bb41a18631d0157b52267103b2
MD5 8b9e9b0aab5a40df6e77a0ad86aef41b
BLAKE2b-256 5834ecaa463125889124f818b7ff9ce3a947ea5b5306dd9fc05c11449da869fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page