forked from erp-dev/erp
feat: new module for daily settlement
This commit is contained in:
30
settlement/handlers.py
Normal file
30
settlement/handlers.py
Normal file
@@ -0,0 +1,30 @@
|
||||
"""日结模块信号处理函数"""
|
||||
import logging
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
def on_daily_settlement_completed(sender, **kwargs):
|
||||
"""日结完成时的处理(日志输出)"""
|
||||
merchant = kwargs.get('merchant')
|
||||
settlement_date = kwargs.get('settlement_date')
|
||||
status = kwargs.get('status')
|
||||
modules = kwargs.get('modules', [])
|
||||
errors = kwargs.get('errors', {})
|
||||
task_id = kwargs.get('task_id')
|
||||
|
||||
# 检查配置是否启用通知
|
||||
config = merchant.settlement_config
|
||||
if not config or not config.notification_enabled:
|
||||
logger.info(
|
||||
f'[settlement.handlers] 商户 {merchant.id} 日结完成,通知未启用'
|
||||
)
|
||||
return
|
||||
|
||||
# 根据通知渠道处理(目前只有企业微信)
|
||||
if config.notification_channel == config.NotificationChannelEnum.WECOM:
|
||||
logger.info(
|
||||
f'[settlement.handlers] 商户 {merchant.id} 日结完成,'
|
||||
f'状态={status}, 模块={modules}, 错误={errors}, '
|
||||
f'通知渠道=企业微信(暂不发送具体内容)'
|
||||
)
|
||||
Reference in New Issue
Block a user