From aa17a14c4e9503fc3f8bcd4cd8a77a38b5ef7f8a Mon Sep 17 00:00:00 2001 From: wkc <978997012@qq.com> Date: Tue, 3 Mar 2026 08:59:26 +0800 Subject: [PATCH] feat(mock): initialize project structure and configuration --- .../__pycache__/settings.cpython-313.pyc | Bin 0 -> 1315 bytes .../config/responses/bank_statement.json | 106 ++++++++++++++++++ .../config/responses/parse_status.json | 41 +++++++ lsfx-mock-server/config/responses/token.json | 15 +++ lsfx-mock-server/config/responses/upload.json | 49 ++++++++ lsfx-mock-server/config/settings.py | 30 +++++ lsfx-mock-server/requirements.txt | 7 ++ 7 files changed, 248 insertions(+) create mode 100644 lsfx-mock-server/config/__pycache__/settings.cpython-313.pyc create mode 100644 lsfx-mock-server/config/responses/bank_statement.json create mode 100644 lsfx-mock-server/config/responses/parse_status.json create mode 100644 lsfx-mock-server/config/responses/token.json create mode 100644 lsfx-mock-server/config/responses/upload.json create mode 100644 lsfx-mock-server/config/settings.py create mode 100644 lsfx-mock-server/requirements.txt 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 0000000000000000000000000000000000000000..65b851489b86ee5ee32c84483ec050aa1c00a6ca GIT binary patch literal 1315 zcmZWp-D@LN6u;BlB-1u&nkG$~y0&S%q7fU`)q*S{n{CG3^dkwKC@KS&>||PoO=s$v z$!d!a*@s<&ve1`>eNfRCQ4n##eOmk<7V;7=?31)>-d0-h)pKtWW${9ObAIQXJLhw9 z8jX$-Jdumv+h30m@`oV96C4Pqmr=M!bfPO8WL*IzBjk~dk@WxsGGvx45j`+RbZRK8 zf&Lw!23;bneL^6(8_b4!f@KvRxl;2i-SU0g+4YdC<$d3Fom#^jxXT9}kkg+~xJL{E zicVleS0L~b1_!DKAZUb)uufk_4?PH~WFg7IFlvmUO_gjE#-(jcvT=wQQM5%Qi^7Ct z6OzRsCfTH9ahQ~BO0opRB})n>i=M`!Q>)lEabQZHfyC}?HqF&xbv@C-W(?u@_7BGo zTD{wMpZ@mq(+7{5Db$@jymj)+ugC2>C*K@xx#o?NukIdy@f}z5l?p56x3t6H>$wZL z3w&HC-q*JEV!2f1!Gd<>y{m^|v`8zxR@STb;^SA2(}_fhES+jt!pQupP^B(X8TIP}Q(_d?+!?G2J>Y7@ua$ z^J~6svYPLMeZA>h9%C>q62~9mdf}2`nsvJmIkQn~)-B@`7jF1qS)S4Gc0OI%!||+m z7TmPp{|Zx&g~!YP`^w_U<6UB7e%;3x`}jK?VelisA+f+HGoqiGM7>|31TN; zM!>89agT=?tGgy9tO^$JeBfAr&2d~&lcvXlMvxb3G5?bMiY)KMRrRmDaVk*`cp>XXaZQM~M!d?@py!TKmlo zO`$zL*DAD^J2c&$O!lQDYBP(E>CAm}&UDj@t*xUsI&=}$3(Jpb>VBX@m%4Kct_$8V&7%nT>aNUjQ78)xcYW~ um)?O_&>$Aq%OE@pD2nogy!wQ^a284_=i8s15q$i0kwlVTUb>~qH~a(kms4N> literal 0 HcmV?d00001 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