嗨玩后端开发规范

数据库表调整记录


配置文件注解

<ul> <li><a href="#database_conf">1.数据库配置</a></li> <li><a href="#data_conf">2.数据分析配置</a></li> <li><a href="#oss_conf">3.OSS配置</a></li> <li><a href="#timing_task_conf">4.定时任务</a></li> <li><a href="#earning_grant_conf">5.收益发放配置</a></li> </ul> <p><br><h3 id="database_conf">1.数据库配置</h3></p> <ul> <li> <p>文件路径:</p> <blockquote> <p><code>dao/conf/conf_deault.py, dao/conf/conf_override.py</code></p> </blockquote> </li> <li> <p>备注:</p> <blockquote> <p>conf_default.py与conf_override.py文件皆为数据库配置文件 默认default文件不修改, 所有数据库配置文件需要更改皆在conf_override内替换 default文件内value为None的key,需要在conf_override.py文件中进行覆盖</p> </blockquote> </li> <li>配置内容: <blockquote> <pre><code>configs = {   # mysql配置   'mysql': {     'host': '172.16.1.79',  # 地址     'user': 'oss',  # 用户     'database': 'oss_dev',  # 数据库     'password': '123456'  # 密码   },   # redis数据库配置   'redis': {     'host': '172.16.1.79',  # 地址     'db': 1  # 数据库   } }</code></pre> </blockquote></li> </ul> <p><br><h3 id="data_conf">2.数据分析配置</h3></p> <ol> <li> <p>文件路径:</p> <blockquote> <p><code>DDD/external/EghData/egh_data_conf.py</code></p> </blockquote> </li> <li> <p>备注:</p> <blockquote> <p>此配置为数据分析请求配置文件</p> </blockquote> </li> <li> <p>配置内容:</p> <blockquote> <pre><code>egh_data_conf = {     "egh_data_address": "egh_data_address",     "aes_key": "aes_key",     "aes_iv": "aes_iv",     "app_code": "app_code" }</code></pre> </blockquote> </li> <li>配置参数详解:   1.<code>egh_data_address</code>: 数据分析请求接口</li> </ol> <p>  2.<code>aes_key</code>: 注册数据分析时返回的加密参数</p> <p>  3.<code>aes_iv</code>: 注册数据分析时返回的加密参数</p> <p>  4.<code>app_code</code>: 注册数据分析时返回的加密参数</p> <p><br><h3 id="oss_conf">3.OSS配置</h3></p> <ol> <li> <p>文件路径:</p> <blockquote> <p><code>DDD/external/OssAPIService/oss_task_conf.py</code></p> </blockquote> </li> <li> <p>备注:</p> <blockquote> <p>此配置为自动支付与发放批次生成支付批次时参数</p> </blockquote> </li> <li> <p>配置内容:</p> <blockquote> <pre><code>oss_task_conf = {   "task_time": {     # 推送任务每日执行时间     "push_time": "17:05:00",     # 确认批次任务每日执行时间     "confirm_time": "17:10:00",     # 获取任务每日执行时间     "pull_time": "17:15:00",     # 获取任务执行失败下次执行间隔时间 当前结束时间+pull_interval     "pull_interval": 4,   },   "task_interval":    {     # 创建批次定时任务间隔时间     "create_withdrawl_bat_task_interval_time": [5],     # 推送批次间隔时间     "bat_push_and_audit_task_interval_time": [10],     # 批次发放间隔时间     "bat_grant_task_interval_time": [20],     # 批次拉取间隔时间     "bat_pull_task_interval_time": [30, 40],   },   "oss_conf": {     "oss_address": "oss_address",     "notify_url": "notify_url",     "aes_key": "aes_key",     "ase_iv": "ase_iv",     "app_code": "app_code"   } }</code></pre> <p><strong>double underscores</strong></p> </blockquote> </li> <li>配置参数详解:   1.<code>task_time.push_time</code>: 原提现批次推送时间(作废)</li> </ol> <p>  2.<code>task_time.confirm_time</code>: 原提现批次确认时间(作废)</p> <p>  3.<code>task_time.pull_time</code>: 原提现批次拉取时间(作废)</p> <p>  4.<code>task_time.pull_interval</code>: 原提现批次拉取间隔时间(作废)</p> <p>  5.<code>task_interval.create_withdrawl_bat_task_interval_time</code>: 提现记录创建批次时间.   &gt; 参数值为列表, 执行时间为初始时间+遍历参数值   &gt; 列表内容为执行时间间隔, 如填写5, 则代表定时任务执行时间+5分钟后创建批次()   &gt; 与<a href="#timing_task_conf">定时任务配置相关</a>, 初始时间为定时任务执行时间.列表内如填写n个则代表执行n次, 执行时间分别为初始时间+参数值.</p> <p>  6.<code>task_interval.bat_push_and_audit_task_interval_time</code>: 推送提现批次至OSS时间, 其余同上.</p> <p>  7.<code>task_interval.bat_grant_task_interval_time</code>: 提现批次支付时间, 其余同上.</p> <p>  8.<code>task_interval.bat_pull_task_interval_time</code>: 提现批次支付时间, 其余同上.</p> <p>  9.<code>oss_conf.oss_address</code>: OSS开放接口地址.</p> <p>  10.<code>oss_conf.notify_url</code>: EGH开放回单回调地址.</p> <p>  11.<code>oss_conf.aes_key</code>: 开放接口加密参数.</p> <p>  12.<code>oss_conf.ase_iv</code>: 开放接口加密参数.</p> <p>  13.<code>oss_conf.app_code</code>: 开放接口加密参数.</p> <p><br><h3 id="timing_task_conf">4.定时任务配置</h3></p> <ol> <li> <p>文件路径:</p> <blockquote> <p><code>manager/celery_flask/celery_config.py</code>, <code>manager/conf/conf_default.py</code></p> </blockquote> </li> <li> <p>备注:</p> <blockquote> <p>celery_config配置为定时任务配置 conf_default为定时任务执行时间配置</p> </blockquote> </li> <li> <p>配置内容: celery_config.py</p> <blockquote> <pre><code>celery_config = {   # Broker 地址   "broker": f"redis://{configs['redis']['host']}:{configs['redis']['port']}/3",   # 结果存储地址   "backend": f"redis://{configs['redis']['host']}:{configs['redis']['port']}/4",   # 任务路径   "include": ['manager.celery_flask.celery_tasks'],   # 定时任务   "beat_schedule": {     # 轮询定时任务     'polling_task': {       'task': 'manager.celery_flask.celery_tasks.polling_task',       'schedule': time_config('polling_task'),       'args': ()     },     # 创建自动支付任务     'create_auto_grant_batch_task': {       'task': 'manager.celery_flask.celery_tasks.create_auto_grant_batch_task',       'schedule': time_config('create_auto_grant_batch_task'),       'args': ()     },     # 创建修改收款账户定时自动支付任务     'create_pay_withdrawl_bat_auto_grant_batch_task': {       'task': 'manager.celery_flask.celery_tasks.create_pay_withdrawl_bat_auto_grant_batch_task',       'schedule': time_config('create_pay_withdrawl_bat_auto_grant_batch_task'),       'args': ()     },   },   # 任务序列化方式   "task_serializer": 'pickle',   # 任务执行结果序列化方式   "result_serializer": 'json',   # 指定任务接受的内容类型(序列化)   "accept_content": ['json', 'pickle'],   # 是否使用UTC   "enable_utc": False,   # 时区   "timezone": 'Asia/Shanghai', }</code></pre> <p>conf_default.py</p> <pre><code>configs = {   # 阿里云配置   'aliyun': {     'access_key_id': 'access_key_id',     'access_secret': 'access_secret',     'region_id': 'region_id',     'sign_name': 'sign_name'   },   # 小程序配置   'wechat': {     'appid': 'appid',     'secret': 'secret'   },   # 3c校验配置   'mobile3c': {     'get_way': 'get_way',     'app_code': 'app_code'   },   # 2c校验配置   'idcardnum2c': {     'get_way': 'get_way',     'app_code': 'app_code'   },   # 银行卡校验配置   'bankcardnum3c': {     'get_way': 'get_way',     'app_code': 'app_code'   },   # 开户行校验地址   'bankaddress': {     'get_way': 'get_way',     'app_code': 'app_code'   },   'celery': {     # 轮询任务时间设置     'polling_task':       {         # 轮询任务执行时间配置类型1:每天的00:00执行,2:间隔多长时间执行一次         'model': 2,         # 每天的几点几分,执行该轮询任务         'exc_at': '18:54',         # 间隔多长时间执行一次,单位:秒         'interval': 60,         # 从任务表中取多久之后的任务,单位:秒         'long_after': 3600 * 1       },     # 自动支付     'create_auto_grant_batch_task':       {         'model': 2,         'exc_at': '22:00',         'interval': 60 * 60 * 4,         'long_after': 3600 * 1       },     # 修改收款账户自动支付     'create_pay_withdrawl_bat_auto_grant_batch_task':       {         'model': 1,         'exc_at': '17:55',         'interval': 60 * 60 * 4,         'long_after': 3600 * 1       },   } }</code></pre> </blockquote> </li> <li>配置参数详解(<font color="red">参数过多,只对需要经常修改以及比较重要的参数进行注解</font>):   1.<code>celery_config.py/celery_config.beat_schedule</code>: 定时任务配置   &gt; 定时任务字典, key为定时任务名称, value为定时任务配置   &gt; <code>task</code>: 定时任务执行函数地址   &gt; <font id="schedule"><code>schedule</code></font>: 定时任务执行时间, 格式为 <code>time_config('polling_task')</code>, polling_task与<a href="#celery_time_conf">定时任务执行时间配置</a>相关, 为<a href="#celery_time_conf">定时任务执行时间配置</a>的<code>key</code>   &gt; <code>args</code>: 定时任务执行参数(默认为())</li> </ol> <p>  2.<code>conf_default.py/configs.celery</code>: <font id="celery_time_conf"> 定时任务执行时间配置</font>   &gt; 定时任务字典, <code>key</code>为定时任务配置的 <a href="#schedule">schedule</a>内的参数, <code>value</code>为定时任务时间配置字典   &gt; <code>model</code>: 任务执行时间配置类型 1:每天的 <a href="#exc_at">exc_at</a> 时间执行,2:间隔 <a href="#interval">interval</a> 时间执行一次   &gt; <font id="exc_at"><code>exc_at</code></font>: 定时任务执行时间   &gt; <font id="interval"><code>interval</code></font>: 定时任务间隔执行时间, 单位:秒, 例: 60 * 60 * 4 则为4小时   &gt; <code>long_after</code>;从任务表中取多久之后的任务,单位:秒</p> <ol> <li>现有celery启动定时任务统计:   1.<code>polling_task</code>: 轮询定时任务   2.<code>create_auto_grant_batch_task</code>: 正常提现创建批次与自动支付定时任务   3.<code>create_pay_withdrawl_bat_auto_grant_batch_task</code>: 修改收款账户创建批次与自动支付定时任务</li> </ol> <p><br><h3 id="earning_grant_conf">5.收益发放配置</h3></p> <ol> <li> <p>文件路径:</p> <blockquote> <p><code>service/conf/config.ini</code></p> </blockquote> </li> <li> <p>备注:</p> <blockquote> <p>此配置为收益发放配置与其小程序等配置</p> </blockquote> </li> <li> <p>配置内容:</p> <blockquote> <pre><code>[stl] error_min = 1 error_max = 3 [wallet] daily_limit = 10000 fee_rate = 0 [online] online_status = 2 [wechat_secret_info] alipay_btn = "添加支付宝" bankcard_btn = "添加银行卡" withdrawal_btn = "申请提现" acctinfo_btn = "修改账户信息" etr_stl_mode_btn = "艺人结算方式修改" [applet_btn] withdrawal = 1 bankcard = 1 alipay = 1 acctinfo = 1 etr_stl_mode = 1 etr_rate = 0 # 收益发放配置 [earning_grant] auto_grant = 1 day_grant_date = "17:00:00"</code></pre> </blockquote> </li> <li>配置参数详解:   1.<code>error_min</code>: 校验误差范围</li> </ol> <p>  2.<code>error_max</code>: 校验误差范围</p> <p>  3.<code>daily_limit</code>: 每日限额(失效)</p> <p>  4.<code>fee_rate</code>: 提现手续费</p> <p>  5.<code>online_status</code>: 上线完整状态</p> <p>  6.<code>alipay_btn</code>: 微信真实用户可访问内容</p> <p>  7.<code>bankcard_btn</code>: 微信真实用户可访问内容</p> <p>  8.<code>withdrawal_btn</code>: 微信真实用户可访问内容</p> <p>  9.<code>acctinfo_btn</code>: 微信真实用户可访问内容</p> <p>  10.<code>etr_stl_mode_btn</code>: 微信真实用户可访问内容</p> <p>  11.<code>withdrawal</code>: 小程序功能设置信息</p> <p>  12.<code>bankcard</code>: 小程序功能设置信息</p> <p>  13.<code>alipay</code>: 小程序功能设置信息</p> <p>  14.<code>acctinfo</code>: 小程序功能设置信息</p> <p>  15.<code>etr_stl_mode</code>: 小程序功能设置信息</p> <p>  16.<code>etr_rate</code>: 小程序功能设置信息</p> <p>  17.<code>auto_grant</code>: 自动收益发放</p> <p>  18.<code>day_grant_date</code>: 收益发放当天统计时间点</p>

页面列表

ITEM_HTML