diff --git a/lsfx-mock-server/config/__pycache__/settings.cpython-313.pyc b/lsfx-mock-server/config/__pycache__/settings.cpython-313.pyc new file mode 100644 index 0000000..65b8514 Binary files /dev/null and b/lsfx-mock-server/config/__pycache__/settings.cpython-313.pyc differ diff --git a/lsfx-mock-server/config/responses/bank_statement.json b/lsfx-mock-server/config/responses/bank_statement.json new file mode 100644 index 0000000..27549c7 --- /dev/null +++ b/lsfx-mock-server/config/responses/bank_statement.json @@ -0,0 +1,106 @@ +{ + "success_response": { + "code": "200", + "data": { + "bankStatementList": [ + { + "accountId": 0, + "accountMaskNo": "101015251071645", + "accountingDate": "2024-02-01", + "accountingDateId": 20240201, + "archivingFlag": 0, + "attachments": 0, + "balanceAmount": 4814.82, + "bank": "ZJRCU", + "bankComments": "", + "bankStatementId": 12847662, + "bankTrxNumber": "1a10458dd5c3366d7272285812d434fc", + "batchId": 19135, + "cashType": "1", + "commentsNum": 0, + "crAmount": 0, + "cretNo": "230902199012261247", + "currency": "CNY", + "customerAccountMaskNo": "597671502", + "customerBank": "", + "customerId": -1, + "customerName": "小店", + "customerReference": "", + "downPaymentFlag": 0, + "drAmount": 245.8, + "exceptionType": "", + "groupId": 16238, + "internalFlag": 0, + "leId": 16308, + "leName": "张传伟", + "overrideBsId": 0, + "paymentMethod": "", + "sourceCatalogId": 0, + "split": 0, + "subBankstatementId": 0, + "toDoFlag": 0, + "transAmount": 245.8, + "transFlag": "P", + "transTypeId": 0, + "transformAmount": 0, + "transformCrAmount": 0, + "transformDrAmount": 0, + "transfromBalanceAmount": 0, + "trxBalance": 0, + "trxDate": "2024-02-01 10:33:44", + "userMemo": "财付通消费_小店" + }, + { + "accountId": 0, + "accountMaskNo": "101015251071645", + "accountingDate": "2024-02-02", + "accountingDateId": 20240202, + "archivingFlag": 0, + "attachments": 0, + "balanceAmount": 5000.00, + "bank": "ZJRCU", + "bankComments": "", + "bankStatementId": 12847663, + "bankTrxNumber": "2b20568ee6d4477e8383396923e545gd", + "batchId": 19135, + "cashType": "1", + "commentsNum": 0, + "crAmount": 185.18, + "cretNo": "230902199012261247", + "currency": "CNY", + "customerAccountMaskNo": "123456789", + "customerBank": "", + "customerId": -1, + "customerName": "支付宝", + "customerReference": "", + "downPaymentFlag": 0, + "drAmount": 0, + "exceptionType": "", + "groupId": 16238, + "internalFlag": 0, + "leId": 16308, + "leName": "张传伟", + "overrideBsId": 0, + "paymentMethod": "", + "sourceCatalogId": 0, + "split": 0, + "subBankstatementId": 0, + "toDoFlag": 0, + "transAmount": 185.18, + "transFlag": "R", + "transTypeId": 0, + "transformAmount": 0, + "transformCrAmount": 0, + "transformDrAmount": 0, + "transfromBalanceAmount": 0, + "trxBalance": 0, + "trxDate": "2024-02-02 14:22:18", + "userMemo": "支付宝转账_支付宝" + } + ], + "totalCount": 131 + }, + "status": "200", + "successResponse": true + } +} diff --git a/lsfx-mock-server/config/responses/parse_status.json b/lsfx-mock-server/config/responses/parse_status.json new file mode 100644 index 0000000..cecd238 --- /dev/null +++ b/lsfx-mock-server/config/responses/parse_status.json @@ -0,0 +1,41 @@ +{ + "success_response": { + "code": "200", + "data": { + "parsing": false, + "pendingList": [ + { + "accountNoList": [], + "bankName": "ZJRCU", + "dataTypeInfo": ["CSV", ","], + "downloadFileName": "230902199012261247_20260201_20260201_1772096608615.csv", + "enterpriseNameList": [], + "filePackageId": "cde6c7cf5cab48e8892f0c1c36b2aa7d", + "fileSize": 53101, + "fileUploadBy": 448, + "fileUploadByUserName": "admin@support.com", + "fileUploadTime": "2026-02-27 09:50:18", + "isSplit": 0, + "leId": 16210, + "logId": "{log_id}", + "logMeta": "{\"lostHeader\":[],\"balanceAmount\":true}", + "logType": "bankstatement", + "loginLeId": 16210, + "lostHeader": [], + "realBankName": "ZJRCU", + "rows": 0, + "source": "http", + "status": -5, + "templateName": "ZJRCU_T251114", + "totalRecords": 131, + "trxDateEndId": 20240228, + "trxDateStartId": 20240201, + "uploadFileName": "230902199012261247_20260201_20260201_1772096608615.csv", + "uploadStatusDesc": "data.wait.confirm.newaccount" + } + ] + }, + "status": "200", + "successResponse": true + } +} diff --git a/lsfx-mock-server/config/responses/token.json b/lsfx-mock-server/config/responses/token.json new file mode 100644 index 0000000..a655c67 --- /dev/null +++ b/lsfx-mock-server/config/responses/token.json @@ -0,0 +1,15 @@ +{ + "success_response": { + "code": "200", + "data": { + "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.mock_token_{project_id}", + "projectId": "{project_id}", + "projectNo": "{project_no}", + "entityName": "{entity_name}", + "analysisType": 0 + }, + "message": "create.token.success", + "status": "200", + "successResponse": true + } +} diff --git a/lsfx-mock-server/config/responses/upload.json b/lsfx-mock-server/config/responses/upload.json new file mode 100644 index 0000000..47820ac --- /dev/null +++ b/lsfx-mock-server/config/responses/upload.json @@ -0,0 +1,49 @@ +{ + "success_response": { + "code": "200", + "data": { + "accountsOfLog": { + "{log_id}": [ + { + "bank": "BSX", + "accountName": "测试账户", + "accountNo": "6222021234567890", + "currency": "CNY" + } + ] + }, + "uploadLogList": [ + { + "accountNoList": [], + "bankName": "BSX", + "dataTypeInfo": ["CSV", ","], + "downloadFileName": "测试流水.csv", + "enterpriseNameList": [], + "filePackageId": "14b13103010e4d32b5406c764cfe3644", + "fileSize": 46724, + "fileUploadBy": 448, + "fileUploadByUserName": "admin@support.com", + "fileUploadTime": "{upload_time}", + "leId": 10724, + "logId": "{log_id}", + "logMeta": "{\"lostHeader\":[],\"balanceAmount\":true}", + "logType": "bankstatement", + "loginLeId": 10724, + "realBankName": "BSX", + "rows": 0, + "source": "http", + "status": -5, + "templateName": "BSX_T240925", + "totalRecords": 280, + "trxDateEndId": 20240905, + "trxDateStartId": 20230914, + "uploadFileName": "测试流水.csv", + "uploadStatusDesc": "data.wait.confirm.newaccount" + } + ], + "uploadStatus": 1 + }, + "status": "200", + "successResponse": true + } +} diff --git a/lsfx-mock-server/config/settings.py b/lsfx-mock-server/config/settings.py new file mode 100644 index 0000000..7fb2d3b --- /dev/null +++ b/lsfx-mock-server/config/settings.py @@ -0,0 +1,30 @@ +from pydantic_settings import BaseSettings +from typing import Optional + + +class Settings(BaseSettings): + """全局配置类""" + + # 应用配置 + APP_NAME: str = "流水分析Mock服务" + APP_VERSION: str = "1.0.0" + DEBUG: bool = True + + # 服务器配置 + HOST: str = "0.0.0.0" + PORT: int = 8000 + + # 模拟配置 + PARSE_DELAY_SECONDS: int = 4 # 文件解析延迟秒数 + MAX_FILE_SIZE: int = 10485760 # 10MB + + # 测试数据配置 + INITIAL_PROJECT_ID: int = 1000 + INITIAL_LOG_ID: int = 10000 + + class Config: + env_file = ".env" + env_file_encoding = "utf-8" + + +settings = Settings() diff --git a/lsfx-mock-server/requirements.txt b/lsfx-mock-server/requirements.txt new file mode 100644 index 0000000..ca3203e --- /dev/null +++ b/lsfx-mock-server/requirements.txt @@ -0,0 +1,7 @@ +fastapi==0.104.1 +uvicorn[standard]==0.24.0 +pydantic==2.5.0 +python-multipart==0.0.6 +pytest>=7.0.0 +pytest-cov>=4.0.0 +httpx>=0.25.0