chore: update tasks.md
This commit is contained in:
@@ -29,25 +29,25 @@
|
|||||||
- 当某种卡类型无记录时,对应余额为 0
|
- 当某种卡类型无记录时,对应余额为 0
|
||||||
- **Validates: Requirements 2.1, 2.2, 2.3, 10.1**
|
- **Validates: Requirements 2.1, 2.2, 2.3, 10.1**
|
||||||
|
|
||||||
- [ ] 3. ETL 赠送卡新增充值拆分
|
- [x] 3. ETL 赠送卡新增充值拆分
|
||||||
- [x] 3.1 新增 `_extract_gift_recharge_breakdown()` 方法
|
- [x] 3.1 新增 `_extract_gift_recharge_breakdown()` 方法
|
||||||
- 文件:`apps/etl/connectors/feiqiu/tasks/dws/finance_recharge_task.py`
|
- 文件:`apps/etl/connectors/feiqiu/tasks/dws/finance_recharge_task.py`
|
||||||
- SQL:`dwd_recharge_order JOIN dim_member_card_account`(`tenant_member_card_id` → `tenant_member_id`)按 card_type_id 分组
|
- SQL:`dwd_recharge_order JOIN dim_member_card_account`(`tenant_member_card_id` → `tenant_member_id`)按 card_type_id 分组
|
||||||
- 新增 `GIFT_RECHARGE_FIELD_MAP` 常量映射
|
- 新增 `GIFT_RECHARGE_FIELD_MAP` 常量映射
|
||||||
- 返回 `{gift_liquor_recharge, gift_table_fee_recharge, gift_voucher_recharge}`,缺失卡类型默认 0
|
- 返回 `{gift_liquor_recharge, gift_table_fee_recharge, gift_voucher_recharge}`,缺失卡类型默认 0
|
||||||
- _Requirements: 3.1, 3.2, 3.3_
|
- _Requirements: 3.1, 3.2, 3.3_
|
||||||
- [-] 3.2 编写属性测试:ETL 新增提取 round-trip
|
- [x] 3.2 编写属性测试:ETL 新增提取 round-trip
|
||||||
- **Property 4: ETL 新增提取 round-trip**
|
- **Property 4: ETL 新增提取 round-trip**
|
||||||
- 生成随机 `dwd_recharge_order` + `dim_member_card_account` 记录,mock DB,验证各类型新增等于对应 card_type_id 的 point_amount 之和
|
- 生成随机 `dwd_recharge_order` + `dim_member_card_account` 记录,mock DB,验证各类型新增等于对应 card_type_id 的 point_amount 之和
|
||||||
- 当某种卡类型无充值记录时,对应新增为 0
|
- 当某种卡类型无充值记录时,对应新增为 0
|
||||||
- **Validates: Requirements 3.1, 3.2, 3.3, 10.2**
|
- **Validates: Requirements 3.1, 3.2, 3.3, 10.2**
|
||||||
|
|
||||||
- [ ] 4. ETL transform 合并细分字段
|
- [ ] 4. ETL transform 合并细分字段
|
||||||
- [~] 4.1 修改 `extract()` 调用新方法并传递结果
|
- [-] 4.1 修改 `extract()` 调用新方法并传递结果
|
||||||
- 文件:`apps/etl/connectors/feiqiu/tasks/dws/finance_recharge_task.py`
|
- 文件:`apps/etl/connectors/feiqiu/tasks/dws/finance_recharge_task.py`
|
||||||
- 在 extract 返回值中新增 `gift_recharge_breakdown` key
|
- 在 extract 返回值中新增 `gift_recharge_breakdown` key
|
||||||
- _Requirements: 4.1_
|
- _Requirements: 4.1_
|
||||||
- [~] 4.2 修改 `transform()` 将 6 个新字段写入 record dict
|
- [-] 4.2 修改 `transform()` 将 6 个新字段写入 record dict
|
||||||
- 使用 `self.safe_decimal()` 处理值,缺失 key 时填充 0
|
- 使用 `self.safe_decimal()` 处理值,缺失 key 时填充 0
|
||||||
- 沿用现有 delete-before-insert 幂等策略
|
- 沿用现有 delete-before-insert 幂等策略
|
||||||
- _Requirements: 4.1, 4.2, 4.3_
|
- _Requirements: 4.1, 4.2, 4.3_
|
||||||
|
|||||||
@@ -1,68 +1,9 @@
|
|||||||
{
|
{
|
||||||
"audit_required": true,
|
"audit_required": false,
|
||||||
"db_docs_required": true,
|
"db_docs_required": false,
|
||||||
"reasons": [
|
"reasons": [],
|
||||||
"root-file",
|
"changed_files": [],
|
||||||
"dir:admin-web",
|
"change_fingerprint": "",
|
||||||
"dir:backend",
|
"marked_at": "2026-03-20T01:48:07.860062+08:00",
|
||||||
"dir:etl",
|
|
||||||
"dir:miniprogram",
|
|
||||||
"dir:db",
|
|
||||||
"db-schema-change"
|
|
||||||
],
|
|
||||||
"changed_files": [
|
|
||||||
"AI_CHANGELOG.md",
|
|
||||||
"apps/DEMO-miniprogram/",
|
|
||||||
"apps/XCX-TEST/",
|
|
||||||
"apps/admin-web/src/api/client.ts",
|
|
||||||
"apps/backend/README.md",
|
|
||||||
"apps/backend/app/main.py",
|
|
||||||
"apps/backend/app/middleware/response_wrapper.py",
|
|
||||||
"apps/backend/app/routers/xcx_board.py",
|
|
||||||
"apps/backend/app/routers/xcx_coaches.py",
|
|
||||||
"apps/backend/app/routers/xcx_config.py",
|
|
||||||
"apps/backend/app/routers/xcx_customers.py",
|
|
||||||
"apps/backend/app/routers/xcx_performance.py",
|
|
||||||
"apps/backend/app/routers/xcx_tasks.py",
|
|
||||||
"apps/backend/app/schemas/base.py",
|
|
||||||
"apps/backend/app/schemas/xcx_auth.py",
|
|
||||||
"apps/backend/app/schemas/xcx_board.py",
|
|
||||||
"apps/backend/app/schemas/xcx_coaches.py",
|
|
||||||
"apps/backend/app/schemas/xcx_config.py",
|
|
||||||
"apps/backend/app/schemas/xcx_customers.py",
|
|
||||||
"apps/backend/app/schemas/xcx_notes.py",
|
|
||||||
"apps/backend/app/schemas/xcx_performance.py",
|
|
||||||
"apps/backend/app/schemas/xcx_tasks.py",
|
|
||||||
"apps/backend/app/services/board_service.py",
|
|
||||||
"apps/backend/app/services/coach_service.py",
|
|
||||||
"apps/backend/app/services/customer_service.py",
|
|
||||||
"apps/backend/app/services/fdw_queries.py",
|
|
||||||
"apps/backend/app/services/performance_service.py",
|
|
||||||
"apps/backend/app/services/task_manager.py",
|
|
||||||
"apps/backend/docs/API-REFERENCE.md",
|
|
||||||
"apps/etl/connectors/feiqiu/.env",
|
|
||||||
"apps/etl/connectors/feiqiu/docs/api-reference/endpoints/member_balance_changes.md",
|
|
||||||
"apps/etl/connectors/feiqiu/docs/api-reference/endpoints/member_stored_value_cards.md",
|
|
||||||
"apps/etl/connectors/feiqiu/docs/api-reference/summary/member_balance_changes.md",
|
|
||||||
"apps/etl/connectors/feiqiu/docs/database/DWS/main/BD_manual_dws_finance_recharge_summary.md",
|
|
||||||
"apps/etl/connectors/feiqiu/docs/etl_tasks/dws_tasks.md",
|
|
||||||
"apps/etl/connectors/feiqiu/tasks/dws/finance_recharge_task.py",
|
|
||||||
"apps/miniprogram/doc/useless/",
|
|
||||||
"apps/miniprogram/miniprogram/components/heart-icon/heart-icon.ts",
|
|
||||||
"apps/miniprogram/miniprogram/components/note-modal/note-modal.ts",
|
|
||||||
"apps/miniprogram/miniprogram/pages/board-coach/board-coach.ts",
|
|
||||||
"apps/miniprogram/miniprogram/pages/board-customer/board-customer.ts",
|
|
||||||
"apps/miniprogram/miniprogram/pages/chat-history/chat-history.ts",
|
|
||||||
"apps/miniprogram/miniprogram/pages/chat/chat.ts",
|
|
||||||
"apps/miniprogram/miniprogram/pages/coach-detail/coach-detail.ts",
|
|
||||||
"apps/miniprogram/miniprogram/pages/coach-detail/coach-detail.wxml",
|
|
||||||
"apps/miniprogram/miniprogram/pages/customer-detail/customer-detail.ts",
|
|
||||||
"apps/miniprogram/miniprogram/pages/customer-service-records/customer-service-records.ts",
|
|
||||||
"apps/miniprogram/miniprogram/pages/notes/notes.ts",
|
|
||||||
"apps/miniprogram/miniprogram/pages/performance-records/performance-records.ts",
|
|
||||||
"apps/miniprogram/miniprogram/pages/performance/performance.ts"
|
|
||||||
],
|
|
||||||
"change_fingerprint": "49c98831b2f62f14d40fd05f892a2963a578d02a",
|
|
||||||
"marked_at": "2026-03-20T01:42:24.863510+08:00",
|
|
||||||
"last_reminded_at": null
|
"last_reminded_at": null
|
||||||
}
|
}
|
||||||
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
|
|||||||
{
|
{
|
||||||
"prompt_id": "P20260320-014224",
|
"prompt_id": "P20260320-014807",
|
||||||
"at": "2026-03-20T01:42:24.863510+08:00"
|
"at": "2026-03-20T01:48:07.860062+08:00"
|
||||||
}
|
}
|
||||||
@@ -62,10 +62,13 @@ class FinanceRechargeTask(FinanceBaseTask):
|
|||||||
|
|
||||||
recharge_summary = self._extract_recharge_summary(site_id, start_date, end_date)
|
recharge_summary = self._extract_recharge_summary(site_id, start_date, end_date)
|
||||||
card_balances = self._extract_card_balances(site_id, end_date)
|
card_balances = self._extract_card_balances(site_id, end_date)
|
||||||
|
# CHANGE 2026-07-18 | task 4.1: 调用赠送卡新增充值拆分方法
|
||||||
|
gift_recharge_breakdown = self._extract_gift_recharge_breakdown(site_id, start_date, end_date)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'recharge_summary': recharge_summary,
|
'recharge_summary': recharge_summary,
|
||||||
'card_balances': card_balances,
|
'card_balances': card_balances,
|
||||||
|
'gift_recharge_breakdown': gift_recharge_breakdown,
|
||||||
'start_date': start_date,
|
'start_date': start_date,
|
||||||
'end_date': end_date,
|
'end_date': end_date,
|
||||||
'site_id': site_id
|
'site_id': site_id
|
||||||
|
|||||||
Reference in New Issue
Block a user