diff --git a/# dify_integration.py b/# dify_integration.py new file mode 100644 index 00000000..327ae5f5 --- /dev/null +++ b/# dify_integration.py @@ -0,0 +1,26 @@ +# dify_integration.py +from account_manager import AccountManager + +account_manager = AccountManager() + +def authenticate_user(username, password): + """用于Dify认证的API端点""" + account = account_manager.authenticate(username, password) + if account: + return { + "success": True, + "user_id": account['user_id'], + "account_type": account['account_type'] + } + return {"success": False, "message": "Invalid credentials"} + +def get_account_info(user_id): + """获取账户信息供智能体使用""" + account = account_manager.get_account(user_id) + if account: + return { + "balance": account['account_balance'], + "phone": account['phone'], + "transactions": account['transactions'] + } + return None \ No newline at end of file diff --git a/# generate_test_data.py b/# generate_test_data.py new file mode 100644 index 00000000..395490d9 --- /dev/null +++ b/# generate_test_data.py @@ -0,0 +1,37 @@ +# generate_test_data.py +import json +import random +import hashlib +from datetime import datetime, timedelta + +def generate_accounts(num=10): + accounts = [] + for i in range(1, num+1): + user_id = f"100{i:02d}" + accounts.append({ + "user_id": user_id, + "username": f"customer{i}", + "password": hashlib.sha256(f"Password123!{i}".encode()).hexdigest(), + "phone": f"13800138{random.randint(100,999)}", + "account_type": random.choice(["personal", "business"]), + "account_balance": round(random.uniform(1000, 1000000), 2), + "last_login": (datetime.utcnow() - timedelta(days=random.randint(0,30))).isoformat() + 'Z', + "transactions": generate_transactions() + }) + return accounts + +def generate_transactions(max_txns=5): + txns = [] + for i in range(random.randint(1, max_txns)): + txns.append({ + "id": f"txn{random.randint(1000,9999)}", + "date": (datetime.utcnow() - timedelta(days=random.randint(1,90))).strftime("%Y-%m-%d"), + "amount": round(random.uniform(10, 10000), 2), + "type": random.choice(["deposit", "withdrawal", "transfer"]) + }) + return txns + +if __name__ == "__main__": + accounts = generate_accounts() + with open('bank_users.json', 'w') as f: + json.dump(accounts, f, indent=2) \ No newline at end of file diff --git a/# test_asr.py b/# test_asr.py new file mode 100644 index 00000000..4fd28b10 --- /dev/null +++ b/# test_asr.py @@ -0,0 +1,39 @@ +# test_asr.py +import requests +import os + +def test_asr(): + """测试ASR功能""" + print("测试语音识别功能...") + + # 你可以录制一个英文语音文件来测试,或者使用现有的 + test_audio_file = "E:\guolei\Documents\bank-user\tts_output\tts_1756829756_5376c557.wav" # 替换为你的测试文件 + + if not os.path.exists(test_audio_file): + print("请先创建一个测试音频文件") + return + + try: + with open(test_audio_file, 'rb') as f: + files = {'audio': (test_audio_file, f, 'audio/wav')} + data = {'language': 'en'} + + response = requests.post( + "http://127.0.0.1:8080/asr/transcribe", + files=files, + data=data, + timeout=30 + ) + + print(f"状态码: {response.status_code}") + if response.status_code == 200: + result = response.json() + print(f"识别结果: {result}") + else: + print(f"错误: {response.text}") + + except Exception as e: + print(f"测试失败: {e}") + +if __name__ == "__main__": + test_asr() \ No newline at end of file diff --git a/account_manager.py b/account_manager.py new file mode 100644 index 00000000..a22bdfdb --- /dev/null +++ b/account_manager.py @@ -0,0 +1,46 @@ +# account_manager.py +import json +import hashlib +from datetime import datetime + +class AccountManager: + def __init__(self, json_file='accounts.json'): + self.json_file = json_file + self.accounts = self._load_accounts() + + def _load_accounts(self): + try: + with open(self.json_file, 'r') as f: + return json.load(f) + except FileNotFoundError: + return [] + + def _save_accounts(self): + with open(self.json_file, 'w') as f: + json.dump(self.accounts, f, indent=2) + + def hash_password(self, password): + return hashlib.sha256(password.encode()).hexdigest() + + def authenticate(self, username, password): + hashed_pw = self.hash_password(password) + for account in self.accounts: + if account['username'] == username and account['password'] == hashed_pw: + account['last_login'] = datetime.utcnow().isoformat() + 'Z' + self._save_accounts() + return account + return None + + def get_account(self, user_id): + for account in self.accounts: + if account['user_id'] == user_id: + return account + return None + + def update_account(self, user_id, updates): + for i, account in enumerate(self.accounts): + if account['user_id'] == user_id: + self.accounts[i].update(updates) + self._save_accounts() + return True + return False \ No newline at end of file diff --git a/accounts.json b/accounts.json new file mode 100644 index 00000000..8734d176 --- /dev/null +++ b/accounts.json @@ -0,0 +1,322 @@ +[ + { + "user_id": "10001", + "username": "customer1", + "password": "8af81c3b9d9f5d902561a779e6d37decb9fc5858e004e32a6eb514a92f2d0bfb", + "phone": "13800138107", + "account_type": "personal", + "account_balance": 234217.46, + "last_login": "2025-07-02T07:41:43.780175Z", + "transactions": [ + { + "id": "txn6124", + "date": "2025-05-09", + "amount": 9249.67, + "type": "transfer" + }, + { + "id": "txn6358", + "date": "2025-07-10", + "amount": 4263.38, + "type": "withdrawal" + }, + { + "id": "txn3689", + "date": "2025-04-29", + "amount": 8558.66, + "type": "withdrawal" + } + ] + }, + { + "user_id": "10002", + "username": "customer2", + "password": "1d3f3605f8b5373d88e5e92593f990e2d23c336250b8cdc420f0ca7cbfa8c20d", + "phone": "13800138721", + "account_type": "business", + "account_balance": 829808.13, + "last_login": "2025-07-09T07:41:43.780175Z", + "transactions": [ + { + "id": "txn6753", + "date": "2025-06-14", + "amount": 3309.07, + "type": "transfer" + }, + { + "id": "txn4797", + "date": "2025-04-21", + "amount": 652.15, + "type": "withdrawal" + }, + { + "id": "txn6183", + "date": "2025-04-24", + "amount": 6334.77, + "type": "withdrawal" + }, + { + "id": "txn5757", + "date": "2025-06-23", + "amount": 5702.16, + "type": "deposit" + } + ] + }, + { + "user_id": "10003", + "username": "customer3", + "password": "597c9ccb46ebe29a6f8eb7f55f90533bd5943a87d50926fb3850667ad19dc3c2", + "phone": "13800138729", + "account_type": "personal", + "account_balance": 937734.06, + "last_login": "2025-07-05T07:41:43.780175Z", + "transactions": [ + { + "id": "txn7990", + "date": "2025-06-08", + "amount": 7627.04, + "type": "transfer" + }, + { + "id": "txn4376", + "date": "2025-07-13", + "amount": 8529.0, + "type": "transfer" + }, + { + "id": "txn1179", + "date": "2025-05-17", + "amount": 3738.13, + "type": "withdrawal" + }, + { + "id": "txn2730", + "date": "2025-05-14", + "amount": 1663.73, + "type": "withdrawal" + }, + { + "id": "txn1066", + "date": "2025-06-15", + "amount": 1387.96, + "type": "withdrawal" + } + ] + }, + { + "user_id": "10004", + "username": "customer4", + "password": "9ff49c3319cfe44e32ce0e45f2ac03e844ca0018752743b2d6aa787a96bce7c2", + "phone": "13800138525", + "account_type": "personal", + "account_balance": 945917.47, + "last_login": "2025-07-09T07:41:43.780175Z", + "transactions": [ + { + "id": "txn7714", + "date": "2025-06-13", + "amount": 4575.7, + "type": "withdrawal" + }, + { + "id": "txn8948", + "date": "2025-07-09", + "amount": 5732.32, + "type": "withdrawal" + }, + { + "id": "txn4681", + "date": "2025-05-01", + "amount": 438.3, + "type": "transfer" + } + ] + }, + { + "user_id": "10005", + "username": "customer5", + "password": "a4dd171ed8d6cd1a9cf49b7e1a6a950aafd3dd2dfc367bd9732ee1373d0045f3", + "phone": "13800138315", + "account_type": "business", + "account_balance": 103551.38, + "last_login": "2025-06-24T07:41:43.780175Z", + "transactions": [ + { + "id": "txn3169", + "date": "2025-05-05", + "amount": 762.05, + "type": "deposit" + }, + { + "id": "txn8725", + "date": "2025-06-10", + "amount": 538.61, + "type": "deposit" + }, + { + "id": "txn2751", + "date": "2025-05-09", + "amount": 7424.85, + "type": "transfer" + }, + { + "id": "txn5671", + "date": "2025-05-26", + "amount": 7941.67, + "type": "withdrawal" + }, + { + "id": "txn4290", + "date": "2025-07-06", + "amount": 6917.5, + "type": "deposit" + } + ] + }, + { + "user_id": "10006", + "username": "customer6", + "password": "450a792bdbc9296a1573ff332fe8cc3d5f99468322452208435f6a95669bf4a8", + "phone": "13800138616", + "account_type": "business", + "account_balance": 648550.25, + "last_login": "2025-06-22T07:41:43.780175Z", + "transactions": [ + { + "id": "txn2637", + "date": "2025-07-03", + "amount": 6977.04, + "type": "transfer" + }, + { + "id": "txn4553", + "date": "2025-05-16", + "amount": 6347.8, + "type": "deposit" + } + ] + }, + { + "user_id": "10007", + "username": "customer7", + "password": "2aa88297d3536a340855b0422df832b43b0a450f7cefe23a097e896199805894", + "phone": "13800138469", + "account_type": "personal", + "account_balance": 40888.19, + "last_login": "2025-06-18T07:41:43.780175Z", + "transactions": [ + { + "id": "txn6706", + "date": "2025-05-24", + "amount": 5094.16, + "type": "transfer" + }, + { + "id": "txn2052", + "date": "2025-04-29", + "amount": 996.17, + "type": "withdrawal" + }, + { + "id": "txn9779", + "date": "2025-04-29", + "amount": 4584.1, + "type": "deposit" + }, + { + "id": "txn9492", + "date": "2025-06-19", + "amount": 3696.52, + "type": "transfer" + }, + { + "id": "txn7805", + "date": "2025-04-27", + "amount": 7653.58, + "type": "deposit" + } + ] + }, + { + "user_id": "10008", + "username": "customer8", + "password": "835ffb581a477770a5d0fea900c54af3d55ef6d3cc972860cd1e16f70854d748", + "phone": "13800138750", + "account_type": "personal", + "account_balance": 877665.97, + "last_login": "2025-07-06T07:41:43.780175Z", + "transactions": [ + { + "id": "txn3723", + "date": "2025-05-14", + "amount": 9481.56, + "type": "withdrawal" + }, + { + "id": "txn7582", + "date": "2025-07-07", + "amount": 39.02, + "type": "deposit" + }, + { + "id": "txn5261", + "date": "2025-05-25", + "amount": 7928.78, + "type": "transfer" + } + ] + }, + { + "user_id": "10009", + "username": "customer9", + "password": "5070d27306c2b2e94641b05ed5ebb7f1d8f3f9f873647db64f002a54517ba6fe", + "phone": "13800138914", + "account_type": "personal", + "account_balance": 140305.3, + "last_login": "2025-07-13T07:41:43.780175Z", + "transactions": [ + { + "id": "txn9467", + "date": "2025-05-21", + "amount": 9388.58, + "type": "transfer" + }, + { + "id": "txn3819", + "date": "2025-07-10", + "amount": 6530.43, + "type": "deposit" + }, + { + "id": "txn4359", + "date": "2025-06-18", + "amount": 2497.94, + "type": "withdrawal" + } + ] + }, + { + "user_id": "10010", + "username": "customer10", + "password": "7aad492fabb3d0becf84256b5755573e69ad0ff48d02d1d1a08a1f8380e0d43f", + "phone": "13800138335", + "account_type": "business", + "account_balance": 531803.65, + "last_login": "2025-06-28T07:41:43.780175Z", + "transactions": [ + { + "id": "txn4425", + "date": "2025-05-22", + "amount": 5138.09, + "type": "deposit" + }, + { + "id": "txn4427", + "date": "2025-06-12", + "amount": 555.06, + "type": "transfer" + } + ] + } +] \ No newline at end of file diff --git a/app.py b/app.py new file mode 100644 index 00000000..a7277fd4 --- /dev/null +++ b/app.py @@ -0,0 +1,48 @@ +from fastapi import FastAPI, UploadFile, File, Header, HTTPException +from fastapi.responses import StreamingResponse, JSONResponse +import io +from utils_audio import ensure_wav16k_mono +from asr import asr_recognize_bytes +from tts import tts_wav_bytes, tts_wav_base64 + +# 固定 API Key,直接在代码里写死 +_API_KEY = "super_secret_12345" + +def _auth(x_api_key: str = Header(default=None, alias="X-API-Key")): + if x_api_key != _API_KEY: + raise HTTPException(status_code=401, detail="Unauthorized") + +app = FastAPI(title="Bank Agent ASR/TTS", version="0.1.0") + +@app.post("/asr") +async def asr_endpoint( + file: UploadFile = File(...), + x_api_key: str = Header(default=None, alias="X-API-Key") +): + _auth(x_api_key) + raw = await file.read() + wav16k = ensure_wav16k_mono(raw) + text = asr_recognize_bytes(wav16k) + return JSONResponse({"text": text}) + +@app.post("/tts/wav") +async def tts_wav_endpoint( + text: str, + x_api_key: str = Header(default=None, alias="X-API-Key") +): + _auth(x_api_key) + wav = tts_wav_bytes(text) + return StreamingResponse(io.BytesIO(wav), media_type="audio/wav") + +@app.post("/tts/base64") +async def tts_b64_endpoint( + text: str, + x_api_key: str = Header(default=None, alias="X-API-Key") +): + _auth(x_api_key) + b64 = tts_wav_base64(text) + return JSONResponse({"audio_base64": b64, "mime": "audio/wav"}) + +@app.get("/healthz") +def healthz(): + return {"ok": True} diff --git a/asr.py b/asr.py new file mode 100644 index 00000000..b107f2c2 --- /dev/null +++ b/asr.py @@ -0,0 +1,5 @@ +# asr.py +from huaweicloud_sis import asr_short_sentence_wav16k + +def asr_recognize_bytes(wav16k_bytes: bytes) -> str: + return asr_short_sentence_wav16k(wav16k_bytes, lang="en_us") diff --git a/bank_users.json b/bank_users.json new file mode 100644 index 00000000..f1224c5d --- /dev/null +++ b/bank_users.json @@ -0,0 +1,3622 @@ +{ + "userData": [ + { + "userId": "10001", + "username": "mark", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13035968176", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 203060.88, + "accountOpened": "2018-08-10", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202338285", + "timestamp": "2023-01-07 00:00:00", + "amount": -6025.95, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202339552", + "timestamp": "2023-09-14 00:00:00", + "amount": 46045.46, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202341896", + "timestamp": "2023-05-20 00:00:00", + "amount": 11667.29, + "type": "purchase", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202300841", + "timestamp": "2023-07-21 00:00:00", + "amount": -25074.88, + "type": "salary", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202393785", + "timestamp": "2023-06-17 00:00:00", + "amount": -7316.6, + "type": "purchase", + "counterparty": "京东商城", + "remark": "购物" + } + ], + "fullName": "mark", + "accountNumber": "ACCT-0001", + "ssnLast4": "8176" + }, + { + "userId": "10002", + "username": "xiulan", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13366108583", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 547891.32, + "accountOpened": "2022-01-16", + "lastLogin": "2023-10-27T00:00:00Z", + "transactions": [], + "fullName": "xiulan", + "accountNumber": "ACCT-0002", + "ssnLast4": "8583" + }, + { + "userId": "10003", + "username": "gl", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13627358021", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 417162.23, + "accountOpened": "2021-08-21", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202370908", + "timestamp": "2023-07-26 00:00:00", + "amount": -18637.33, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202356579", + "timestamp": "2023-04-28 00:00:00", + "amount": 18145.83, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202371794", + "timestamp": "2023-05-01 00:00:00", + "amount": -21798.78, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202302864", + "timestamp": "2023-11-14 00:00:00", + "amount": 22411.31, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ], + "fullName": "gl", + "accountNumber": "ACCT-0003", + "ssnLast4": "8021" + }, + { + "userId": "10004", + "username": "dahai", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13417387115", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 747422.25, + "accountOpened": "2020-09-15", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392681", + "timestamp": "2023-07-26 00:00:00", + "amount": 9279.71, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "工资" + } + ], + "fullName": "dahai", + "accountNumber": "ACCT-0004", + "ssnLast4": "7115" + }, + { + "userId": "10005", + "username": "bob", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13482042498", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 29430.13, + "accountOpened": "2022-12-16", + "lastLogin": "2023-11-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202378627", + "timestamp": "2023-08-15 00:00:00", + "amount": -39023.72, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202379692", + "timestamp": "2023-03-20 00:00:00", + "amount": -30249.4, + "type": "purchase", + "counterparty": "", + "remark": "转账" + } + ], + "fullName": "bob", + "accountNumber": "ACCT-0005", + "ssnLast4": "2498" + }, + { + "userId": "10006", + "username": "eason", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13768016722", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 747206.69, + "accountOpened": "2018-12-20", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392122", + "timestamp": "2023-10-15 00:00:00", + "amount": -27796.72, + "type": "salary", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202398695", + "timestamp": "2023-08-01 00:00:00", + "amount": -20272.6, + "type": "salary", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202358765", + "timestamp": "2023-05-11 00:00:00", + "amount": -17440.09, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202397588", + "timestamp": "2023-10-28 00:00:00", + "amount": -3077.46, + "type": "purchase", + "counterparty": "支付宝", + "remark": "转账" + } + ], + "fullName": "eason", + "accountNumber": "ACCT-0006", + "ssnLast4": "6722" + }, + { + "userId": "10007", + "username": "jay", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13511109572", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 792096.21, + "accountOpened": "2023-05-11", + "lastLogin": "2023-11-05T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202383283", + "timestamp": "2023-09-07 00:00:00", + "amount": -44802.94, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202370587", + "timestamp": "2023-05-07 00:00:00", + "amount": -26370.81, + "type": "other", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202387703", + "timestamp": "2023-02-11 00:00:00", + "amount": 24481.52, + "type": "other", + "counterparty": "银行理财", + "remark": "" + } + ], + "fullName": "jay", + "accountNumber": "ACCT-0007", + "ssnLast4": "9572" + }, + { + "userId": "10008", + "username": "吴秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13570759177", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 538441.05, + "accountOpened": "2021-04-06", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [], + "fullName": "吴秀兰", + "accountNumber": "ACCT-0008", + "ssnLast4": "9177" + }, + { + "userId": "10009", + "username": "李秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13798845588", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 232357.45, + "accountOpened": "2017-04-08", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202329062", + "timestamp": "2023-07-11 00:00:00", + "amount": -18632.61, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + } + ], + "fullName": "李秀兰", + "accountNumber": "ACCT-0009", + "ssnLast4": "5588" + }, + { + "userId": "10010", + "username": "张洋", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13183229469", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 848282.25, + "accountOpened": "2016-06-20", + "lastLogin": "2023-10-20T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202361996", + "timestamp": "2023-01-09 00:00:00", + "amount": 9141.27, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202376283", + "timestamp": "2023-08-11 00:00:00", + "amount": 17055.2, + "type": "transfer", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202305204", + "timestamp": "2023-03-15 00:00:00", + "amount": -1530.28, + "type": "other", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202348165", + "timestamp": "2023-05-03 00:00:00", + "amount": -33443.37, + "type": "transfer", + "counterparty": "京东商城", + "remark": "投资" + } + ], + "fullName": "张洋", + "accountNumber": "ACCT-0010", + "ssnLast4": "9469" + }, + { + "userId": "10011", + "username": "杨芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13908611671", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 72434.47, + "accountOpened": "2022-11-05", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [], + "fullName": "杨芳", + "accountNumber": "ACCT-0011", + "ssnLast4": "1671" + }, + { + "userId": "10012", + "username": "陈勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13159211431", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 400961.41, + "accountOpened": "2017-09-06", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202312613", + "timestamp": "2023-02-16 00:00:00", + "amount": 39407.19, + "type": "purchase", + "counterparty": "", + "remark": "购物" + } + ], + "fullName": "陈勇", + "accountNumber": "ACCT-0012", + "ssnLast4": "1431" + }, + { + "userId": "10013", + "username": "吴勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13314788890", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 473593.99, + "accountOpened": "2021-12-04", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354950", + "timestamp": "2023-08-06 00:00:00", + "amount": 24382.94, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202322645", + "timestamp": "2023-08-04 00:00:00", + "amount": -14258.85, + "type": "purchase", + "counterparty": "支付宝", + "remark": "还款" + } + ], + "fullName": "吴勇", + "accountNumber": "ACCT-0013", + "ssnLast4": "8890" + }, + { + "userId": "10014", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13717797674", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 625910.78, + "accountOpened": "2020-09-23", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [], + "fullName": "刘娟", + "accountNumber": "ACCT-0014", + "ssnLast4": "7674" + }, + { + "userId": "10015", + "username": "陈秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13716779772", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 756293.25, + "accountOpened": "2023-02-23", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [], + "fullName": "陈秀英", + "accountNumber": "ACCT-0015", + "ssnLast4": "9772" + }, + { + "userId": "10016", + "username": "陈霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13588746806", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 213005.53, + "accountOpened": "2017-07-22", + "lastLogin": "2023-11-05T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392541", + "timestamp": "2023-04-13 00:00:00", + "amount": 31117.05, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202386472", + "timestamp": "2023-07-26 00:00:00", + "amount": 35165.82, + "type": "salary", + "counterparty": "微信支付", + "remark": "投资" + }, + { + "transactionId": "TXN202380339", + "timestamp": "2023-10-31 00:00:00", + "amount": 36782.05, + "type": "withdrawal", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202358390", + "timestamp": "2023-04-28 00:00:00", + "amount": 9966.13, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202397163", + "timestamp": "2023-04-29 00:00:00", + "amount": -1720.85, + "type": "purchase", + "counterparty": "银行理财", + "remark": "工资" + } + ], + "fullName": "陈霞", + "accountNumber": "ACCT-0016", + "ssnLast4": "6806" + }, + { + "userId": "10017", + "username": "吴杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13947060526", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 670389.71, + "accountOpened": "2022-09-26", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314767", + "timestamp": "2023-09-06 00:00:00", + "amount": -20497.09, + "type": "salary", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202316142", + "timestamp": "2023-03-08 00:00:00", + "amount": 24769.69, + "type": "salary", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202369594", + "timestamp": "2023-02-06 00:00:00", + "amount": -44840.39, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202399219", + "timestamp": "2023-07-12 00:00:00", + "amount": -27252.29, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202317206", + "timestamp": "2023-10-08 00:00:00", + "amount": -30268.75, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ], + "fullName": "吴杰", + "accountNumber": "ACCT-0017", + "ssnLast4": "0526" + }, + { + "userId": "10018", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13692444096", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 711974.23, + "accountOpened": "2018-11-13", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202306230", + "timestamp": "2023-08-03 00:00:00", + "amount": -19575.43, + "type": "transfer", + "counterparty": "", + "remark": "工资" + } + ], + "fullName": "赵芳", + "accountNumber": "ACCT-0018", + "ssnLast4": "4096" + }, + { + "userId": "10019", + "username": "黄霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13350600805", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 483671.59, + "accountOpened": "2018-04-02", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202381176", + "timestamp": "2023-05-04 00:00:00", + "amount": -9518.05, + "type": "other", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202373200", + "timestamp": "2023-08-13 00:00:00", + "amount": -34933.78, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202312130", + "timestamp": "2023-03-01 00:00:00", + "amount": 10396.32, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202322921", + "timestamp": "2023-09-26 00:00:00", + "amount": 32979.46, + "type": "other", + "counterparty": "美团外卖", + "remark": "投资" + } + ], + "fullName": "黄霞", + "accountNumber": "ACCT-0019", + "ssnLast4": "0805" + }, + { + "userId": "10020", + "username": "吴娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13947069250", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 750222.29, + "accountOpened": "2015-05-08", + "lastLogin": "2023-11-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202345292", + "timestamp": "2023-01-22 00:00:00", + "amount": 10255.68, + "type": "withdrawal", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202376735", + "timestamp": "2023-05-23 00:00:00", + "amount": -46810.43, + "type": "salary", + "counterparty": "银行理财", + "remark": "投资" + }, + { + "transactionId": "TXN202311722", + "timestamp": "2023-03-19 00:00:00", + "amount": -16698.97, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ], + "fullName": "吴娜", + "accountNumber": "ACCT-0020", + "ssnLast4": "9250" + }, + { + "userId": "10021", + "username": "张杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13187007100", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 700822.3, + "accountOpened": "2016-08-03", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202321309", + "timestamp": "2023-02-03 00:00:00", + "amount": -47870.83, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202367105", + "timestamp": "2023-08-07 00:00:00", + "amount": 17306.88, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202336066", + "timestamp": "2023-07-14 00:00:00", + "amount": -47849.22, + "type": "salary", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202336075", + "timestamp": "2023-01-14 00:00:00", + "amount": -40621.52, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ], + "fullName": "张杰", + "accountNumber": "ACCT-0021", + "ssnLast4": "7100" + }, + { + "userId": "10022", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13887520476", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 797368.93, + "accountOpened": "2017-07-23", + "lastLogin": "2023-10-29T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367023", + "timestamp": "2023-01-02 00:00:00", + "amount": 40398.39, + "type": "other", + "counterparty": "", + "remark": "" + }, + { + "transactionId": "TXN202316605", + "timestamp": "2023-05-07 00:00:00", + "amount": 44884.45, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202367378", + "timestamp": "2023-07-05 00:00:00", + "amount": 33071.57, + "type": "salary", + "counterparty": "淘宝网", + "remark": "转账" + } + ], + "fullName": "刘娟", + "accountNumber": "ACCT-0022", + "ssnLast4": "0476" + }, + { + "userId": "10023", + "username": "黄艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13313134080", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 209249.19, + "accountOpened": "2021-06-09", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314132", + "timestamp": "2023-05-28 00:00:00", + "amount": 7564.54, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202364283", + "timestamp": "2023-06-24 00:00:00", + "amount": -27256.35, + "type": "purchase", + "counterparty": "微信支付", + "remark": "还款" + } + ], + "fullName": "黄艳", + "accountNumber": "ACCT-0023", + "ssnLast4": "4080" + }, + { + "userId": "10024", + "username": "杨敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13387955874", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 729767.31, + "accountOpened": "2016-12-12", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202398807", + "timestamp": "2023-01-17 00:00:00", + "amount": -26252.59, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202398494", + "timestamp": "2023-01-16 00:00:00", + "amount": 27564.58, + "type": "salary", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202367826", + "timestamp": "2023-03-17 00:00:00", + "amount": 11777.85, + "type": "other", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202343329", + "timestamp": "2023-04-19 00:00:00", + "amount": -38759.19, + "type": "salary", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202397068", + "timestamp": "2023-01-02 00:00:00", + "amount": -33511.05, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + } + ], + "fullName": "杨敏", + "accountNumber": "ACCT-0024", + "ssnLast4": "5874" + }, + { + "userId": "10025", + "username": "刘秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13993823661", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 261160.39, + "accountOpened": "2023-05-09", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202303357", + "timestamp": "2023-08-29 00:00:00", + "amount": -14977.19, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202319833", + "timestamp": "2023-07-21 00:00:00", + "amount": -15076.15, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "还款" + } + ], + "fullName": "刘秀英", + "accountNumber": "ACCT-0025", + "ssnLast4": "3661" + }, + { + "userId": "10026", + "username": "吴娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13019671310", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 314563.32, + "accountOpened": "2019-11-01", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202302960", + "timestamp": "2023-01-26 00:00:00", + "amount": -9942.73, + "type": "salary", + "counterparty": "微信支付", + "remark": "转账" + } + ], + "fullName": "吴娟", + "accountNumber": "ACCT-0026", + "ssnLast4": "1310" + }, + { + "userId": "10027", + "username": "赵强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13453226631", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 211082.66, + "accountOpened": "2017-11-04", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367605", + "timestamp": "2023-01-15 00:00:00", + "amount": -31795.69, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ], + "fullName": "赵强", + "accountNumber": "ACCT-0027", + "ssnLast4": "6631" + }, + { + "userId": "10028", + "username": "黄强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13911883296", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 767683.3, + "accountOpened": "2020-09-12", + "lastLogin": "2023-11-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391083", + "timestamp": "2023-10-01 00:00:00", + "amount": 20175.6, + "type": "other", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202365558", + "timestamp": "2023-09-05 00:00:00", + "amount": 17889.02, + "type": "transfer", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202379723", + "timestamp": "2023-07-02 00:00:00", + "amount": -36515.6, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202365405", + "timestamp": "2023-04-19 00:00:00", + "amount": -7719.03, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202319116", + "timestamp": "2023-05-09 00:00:00", + "amount": -16528.2, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + } + ], + "fullName": "黄强", + "accountNumber": "ACCT-0028", + "ssnLast4": "3296" + }, + { + "userId": "10029", + "username": "赵娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13170518523", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 95860.38, + "accountOpened": "2015-03-26", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202310975", + "timestamp": "2023-04-16 00:00:00", + "amount": -3417.3, + "type": "salary", + "counterparty": "", + "remark": "投资" + } + ], + "fullName": "赵娟", + "accountNumber": "ACCT-0029", + "ssnLast4": "8523" + }, + { + "userId": "10030", + "username": "张敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13811944993", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 226932.77, + "accountOpened": "2021-08-05", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202353106", + "timestamp": "2023-01-05 00:00:00", + "amount": -47399.18, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202300169", + "timestamp": "2023-03-22 00:00:00", + "amount": -11643.96, + "type": "other", + "counterparty": "淘宝网", + "remark": "" + } + ], + "fullName": "张敏", + "accountNumber": "ACCT-0030", + "ssnLast4": "4993" + }, + { + "userId": "10031", + "username": "吴丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13971410276", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 553097.06, + "accountOpened": "2021-12-11", + "lastLogin": "2023-10-16T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202355499", + "timestamp": "2023-09-06 00:00:00", + "amount": 30333.73, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202352335", + "timestamp": "2023-02-17 00:00:00", + "amount": 42690.6, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + } + ], + "fullName": "吴丽", + "accountNumber": "ACCT-0031", + "ssnLast4": "0276" + }, + { + "userId": "10032", + "username": "赵平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13016316375", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 327054.13, + "accountOpened": "2017-08-07", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202365342", + "timestamp": "2023-01-10 00:00:00", + "amount": 29057.61, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ], + "fullName": "赵平", + "accountNumber": "ACCT-0032", + "ssnLast4": "6375" + }, + { + "userId": "10033", + "username": "赵丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13695316994", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 603210.38, + "accountOpened": "2023-04-08", + "lastLogin": "2023-10-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202342877", + "timestamp": "2023-01-04 00:00:00", + "amount": 27540.15, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + } + ], + "fullName": "赵丽", + "accountNumber": "ACCT-0033", + "ssnLast4": "6994" + }, + { + "userId": "10034", + "username": "李静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13134471815", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 953424.06, + "accountOpened": "2018-06-25", + "lastLogin": "2023-10-01T00:00:00Z", + "transactions": [], + "fullName": "李静", + "accountNumber": "ACCT-0034", + "ssnLast4": "1815" + }, + { + "userId": "10035", + "username": "王静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13954201379", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 356339.46, + "accountOpened": "2018-09-05", + "lastLogin": "2023-11-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202371223", + "timestamp": "2023-01-22 00:00:00", + "amount": 7124.95, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202306261", + "timestamp": "2023-10-13 00:00:00", + "amount": -12880.65, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "王静", + "accountNumber": "ACCT-0035", + "ssnLast4": "1379" + }, + { + "userId": "10036", + "username": "张伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13162390834", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 429885.14, + "accountOpened": "2015-12-31", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [], + "fullName": "张伟", + "accountNumber": "ACCT-0036", + "ssnLast4": "0834" + }, + { + "userId": "10037", + "username": "刘敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13913230822", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 973776.27, + "accountOpened": "2019-08-11", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202304334", + "timestamp": "2023-08-21 00:00:00", + "amount": -33413.28, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202325024", + "timestamp": "2023-06-04 00:00:00", + "amount": 9485.67, + "type": "other", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202325471", + "timestamp": "2023-08-03 00:00:00", + "amount": 15924.21, + "type": "purchase", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202351780", + "timestamp": "2023-02-07 00:00:00", + "amount": -2807.99, + "type": "salary", + "counterparty": "微信支付", + "remark": "转账" + }, + { + "transactionId": "TXN202376117", + "timestamp": "2023-04-14 00:00:00", + "amount": -5726.73, + "type": "salary", + "counterparty": "支付宝", + "remark": "工资" + } + ], + "fullName": "刘敏", + "accountNumber": "ACCT-0037", + "ssnLast4": "0822" + }, + { + "userId": "10038", + "username": "张秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13674830878", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 144798.67, + "accountOpened": "2022-09-19", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391051", + "timestamp": "2023-08-08 00:00:00", + "amount": 2216.54, + "type": "transfer", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202389942", + "timestamp": "2023-10-05 00:00:00", + "amount": 34783.99, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202327654", + "timestamp": "2023-01-27 00:00:00", + "amount": 2969.41, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ], + "fullName": "张秀兰", + "accountNumber": "ACCT-0038", + "ssnLast4": "0878" + }, + { + "userId": "10039", + "username": "王敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13439303952", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 906104.94, + "accountOpened": "2015-01-19", + "lastLogin": "2023-10-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202327797", + "timestamp": "2023-07-31 00:00:00", + "amount": 46903.99, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "" + }, + { + "transactionId": "TXN202353094", + "timestamp": "2023-06-28 00:00:00", + "amount": -48491.51, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "工资" + } + ], + "fullName": "王敏", + "accountNumber": "ACCT-0039", + "ssnLast4": "3952" + }, + { + "userId": "10040", + "username": "王杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13276937853", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 794690.95, + "accountOpened": "2022-08-03", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202326669", + "timestamp": "2023-01-07 00:00:00", + "amount": -28317.12, + "type": "transfer", + "counterparty": "", + "remark": "投资" + }, + { + "transactionId": "TXN202399377", + "timestamp": "2023-04-29 00:00:00", + "amount": -3273.38, + "type": "salary", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202311438", + "timestamp": "2023-01-14 00:00:00", + "amount": -28640.79, + "type": "other", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202302747", + "timestamp": "2023-09-18 00:00:00", + "amount": 24872.67, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "投资" + } + ], + "fullName": "王杰", + "accountNumber": "ACCT-0040", + "ssnLast4": "7853" + }, + { + "userId": "10041", + "username": "赵秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13963301580", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 851178.63, + "accountOpened": "2015-01-21", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354871", + "timestamp": "2023-03-25 00:00:00", + "amount": 33054.67, + "type": "purchase", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202353637", + "timestamp": "2023-05-14 00:00:00", + "amount": 17878.21, + "type": "other", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202376529", + "timestamp": "2023-08-09 00:00:00", + "amount": 43158.09, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202387007", + "timestamp": "2023-10-30 00:00:00", + "amount": -26298.32, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202393353", + "timestamp": "2023-03-14 00:00:00", + "amount": 18437.62, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + } + ], + "fullName": "赵秀英", + "accountNumber": "ACCT-0041", + "ssnLast4": "1580" + }, + { + "userId": "10042", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13219003328", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 452023.92, + "accountOpened": "2018-12-05", + "lastLogin": "2023-10-05T00:00:00Z", + "transactions": [], + "fullName": "周勇", + "accountNumber": "ACCT-0042", + "ssnLast4": "3328" + }, + { + "userId": "10043", + "username": "刘静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13930118390", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 635698.01, + "accountOpened": "2016-05-31", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [], + "fullName": "刘静", + "accountNumber": "ACCT-0043", + "ssnLast4": "8390" + }, + { + "userId": "10044", + "username": "李霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13489855133", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 365240.46, + "accountOpened": "2021-02-11", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [], + "fullName": "李霞", + "accountNumber": "ACCT-0044", + "ssnLast4": "5133" + }, + { + "userId": "10045", + "username": "王伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13206613727", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 978393.3, + "accountOpened": "2019-02-02", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202308616", + "timestamp": "2023-05-26 00:00:00", + "amount": -135.72, + "type": "salary", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202308083", + "timestamp": "2023-06-03 00:00:00", + "amount": 13147.98, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202365449", + "timestamp": "2023-07-08 00:00:00", + "amount": -25460.8, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + } + ], + "fullName": "王伟", + "accountNumber": "ACCT-0045", + "ssnLast4": "3727" + }, + { + "userId": "10046", + "username": "吴霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13614353766", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 283304.83, + "accountOpened": "2017-01-04", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202352659", + "timestamp": "2023-10-15 00:00:00", + "amount": 17980.77, + "type": "other", + "counterparty": "微信支付", + "remark": "投资" + } + ], + "fullName": "吴霞", + "accountNumber": "ACCT-0046", + "ssnLast4": "3766" + }, + { + "userId": "10047", + "username": "杨敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13758874601", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 981135.31, + "accountOpened": "2020-11-12", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354491", + "timestamp": "2023-11-01 00:00:00", + "amount": -21901.34, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202386116", + "timestamp": "2023-02-01 00:00:00", + "amount": -19235.53, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202320179", + "timestamp": "2023-07-05 00:00:00", + "amount": -11462.69, + "type": "other", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202347752", + "timestamp": "2023-10-08 00:00:00", + "amount": -21279.49, + "type": "other", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202301031", + "timestamp": "2023-06-27 00:00:00", + "amount": 41196.32, + "type": "other", + "counterparty": "银行理财", + "remark": "投资" + } + ], + "fullName": "杨敏", + "accountNumber": "ACCT-0047", + "ssnLast4": "4601" + }, + { + "userId": "10048", + "username": "吴艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13146332558", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 814297.56, + "accountOpened": "2019-08-22", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [], + "fullName": "吴艳", + "accountNumber": "ACCT-0048", + "ssnLast4": "2558" + }, + { + "userId": "10049", + "username": "李敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13958766324", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 88681.8, + "accountOpened": "2019-12-24", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202346091", + "timestamp": "2023-05-31 00:00:00", + "amount": -17025.35, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202364872", + "timestamp": "2023-02-25 00:00:00", + "amount": -29272.37, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202382833", + "timestamp": "2023-09-27 00:00:00", + "amount": -31621.61, + "type": "purchase", + "counterparty": "微信支付", + "remark": "投资" + }, + { + "transactionId": "TXN202317434", + "timestamp": "2023-03-24 00:00:00", + "amount": 24552.63, + "type": "salary", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202331436", + "timestamp": "2023-08-27 00:00:00", + "amount": -43282.23, + "type": "transfer", + "counterparty": "微信支付", + "remark": "转账" + } + ], + "fullName": "李敏", + "accountNumber": "ACCT-0049", + "ssnLast4": "6324" + }, + { + "userId": "10050", + "username": "黄静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13565048459", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 318286.84, + "accountOpened": "2017-09-29", + "lastLogin": "2023-11-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202374996", + "timestamp": "2023-05-16 00:00:00", + "amount": -24676.01, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202344435", + "timestamp": "2023-05-01 00:00:00", + "amount": 3942.27, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "黄静", + "accountNumber": "ACCT-0050", + "ssnLast4": "8459" + }, + { + "userId": "10051", + "username": "李娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13989694797", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 354458.85, + "accountOpened": "2018-01-25", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202374058", + "timestamp": "2023-10-26 00:00:00", + "amount": -35859.26, + "type": "other", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202360366", + "timestamp": "2023-01-26 00:00:00", + "amount": -19374.02, + "type": "salary", + "counterparty": "银行理财", + "remark": "投资" + }, + { + "transactionId": "TXN202319205", + "timestamp": "2023-10-11 00:00:00", + "amount": 13247.55, + "type": "purchase", + "counterparty": "微信支付", + "remark": "" + }, + { + "transactionId": "TXN202336783", + "timestamp": "2023-05-17 00:00:00", + "amount": -9710.57, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + } + ], + "fullName": "李娜", + "accountNumber": "ACCT-0051", + "ssnLast4": "4797" + }, + { + "userId": "10052", + "username": "周杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13080870956", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 359816.55, + "accountOpened": "2017-12-04", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202334710", + "timestamp": "2023-09-06 00:00:00", + "amount": -46536.13, + "type": "other", + "counterparty": "京东商城", + "remark": "购物" + }, + { + "transactionId": "TXN202360412", + "timestamp": "2023-03-17 00:00:00", + "amount": -15930.76, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202322924", + "timestamp": "2023-01-23 00:00:00", + "amount": -44120.99, + "type": "salary", + "counterparty": "", + "remark": "转账" + } + ], + "fullName": "周杰", + "accountNumber": "ACCT-0052", + "ssnLast4": "0956" + }, + { + "userId": "10053", + "username": "陈强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13411252856", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 782686.09, + "accountOpened": "2023-05-26", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202384617", + "timestamp": "2023-03-06 00:00:00", + "amount": -42492.41, + "type": "other", + "counterparty": "微信支付", + "remark": "" + }, + { + "transactionId": "TXN202360196", + "timestamp": "2023-08-06 00:00:00", + "amount": -10880.06, + "type": "salary", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202389564", + "timestamp": "2023-07-01 00:00:00", + "amount": -41335.94, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + } + ], + "fullName": "陈强", + "accountNumber": "ACCT-0053", + "ssnLast4": "2856" + }, + { + "userId": "10054", + "username": "周霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13519745772", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 62584.16, + "accountOpened": "2016-11-30", + "lastLogin": "2023-10-25T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202334952", + "timestamp": "2023-06-12 00:00:00", + "amount": -49386.74, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202333723", + "timestamp": "2023-02-24 00:00:00", + "amount": 4824.67, + "type": "salary", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202343932", + "timestamp": "2023-10-24 00:00:00", + "amount": 24581.5, + "type": "transfer", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202344138", + "timestamp": "2023-10-02 00:00:00", + "amount": 40639.93, + "type": "purchase", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202357653", + "timestamp": "2023-10-17 00:00:00", + "amount": -33555.89, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ], + "fullName": "周霞", + "accountNumber": "ACCT-0054", + "ssnLast4": "5772" + }, + { + "userId": "10055", + "username": "李秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13384934245", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 525071.93, + "accountOpened": "2019-01-17", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202377581", + "timestamp": "2023-08-31 00:00:00", + "amount": 15117.62, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202317584", + "timestamp": "2023-03-03 00:00:00", + "amount": 42065.17, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + } + ], + "fullName": "李秀英", + "accountNumber": "ACCT-0055", + "ssnLast4": "4245" + }, + { + "userId": "10056", + "username": "李勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13161883331", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 405135.89, + "accountOpened": "2020-03-29", + "lastLogin": "2023-11-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202349455", + "timestamp": "2023-05-07 00:00:00", + "amount": -10056.94, + "type": "purchase", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202370534", + "timestamp": "2023-03-05 00:00:00", + "amount": 24947.71, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "购物" + } + ], + "fullName": "李勇", + "accountNumber": "ACCT-0056", + "ssnLast4": "3331" + }, + { + "userId": "10057", + "username": "陈秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13325600467", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 904338.22, + "accountOpened": "2019-11-03", + "lastLogin": "2023-10-27T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202375858", + "timestamp": "2023-01-17 00:00:00", + "amount": -11545.09, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202391954", + "timestamp": "2023-11-09 00:00:00", + "amount": 17997.18, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ], + "fullName": "陈秀兰", + "accountNumber": "ACCT-0057", + "ssnLast4": "0467" + }, + { + "userId": "10058", + "username": "刘涛", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13765681989", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 957675.59, + "accountOpened": "2017-11-10", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202324069", + "timestamp": "2023-10-11 00:00:00", + "amount": -11697.36, + "type": "purchase", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202338714", + "timestamp": "2023-03-16 00:00:00", + "amount": -26075.5, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202327140", + "timestamp": "2023-05-23 00:00:00", + "amount": -35866.8, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + } + ], + "fullName": "刘涛", + "accountNumber": "ACCT-0058", + "ssnLast4": "1989" + }, + { + "userId": "10059", + "username": "刘霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13563512113", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 71725.16, + "accountOpened": "2019-09-16", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202320104", + "timestamp": "2023-11-06 00:00:00", + "amount": 18493.84, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202365932", + "timestamp": "2023-06-01 00:00:00", + "amount": -11287.6, + "type": "purchase", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202327196", + "timestamp": "2023-10-18 00:00:00", + "amount": -623.57, + "type": "other", + "counterparty": "", + "remark": "还款" + } + ], + "fullName": "刘霞", + "accountNumber": "ACCT-0059", + "ssnLast4": "2113" + }, + { + "userId": "10060", + "username": "赵平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13529565138", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 551791.23, + "accountOpened": "2022-09-09", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202310522", + "timestamp": "2023-08-08 00:00:00", + "amount": 21688.2, + "type": "purchase", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202338720", + "timestamp": "2023-05-07 00:00:00", + "amount": -20408.3, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202394928", + "timestamp": "2023-08-01 00:00:00", + "amount": -29222.13, + "type": "transfer", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202386634", + "timestamp": "2023-06-17 00:00:00", + "amount": -39891.81, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + } + ], + "fullName": "赵平", + "accountNumber": "ACCT-0060", + "ssnLast4": "5138" + }, + { + "userId": "10061", + "username": "赵超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13031376805", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 107270.89, + "accountOpened": "2017-02-06", + "lastLogin": "2023-10-28T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202315617", + "timestamp": "2023-04-04 00:00:00", + "amount": -43004.6, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202319597", + "timestamp": "2023-04-12 00:00:00", + "amount": 45088.24, + "type": "other", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202378521", + "timestamp": "2023-05-21 00:00:00", + "amount": -19028.22, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202350765", + "timestamp": "2023-11-08 00:00:00", + "amount": 39909.38, + "type": "salary", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202357736", + "timestamp": "2023-10-28 00:00:00", + "amount": -40617.74, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ], + "fullName": "赵超", + "accountNumber": "ACCT-0061", + "ssnLast4": "6805" + }, + { + "userId": "10062", + "username": "黄秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13114807523", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 651524.72, + "accountOpened": "2019-02-13", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202312260", + "timestamp": "2023-02-11 00:00:00", + "amount": -40597.24, + "type": "other", + "counterparty": "美团外卖", + "remark": "还款" + }, + { + "transactionId": "TXN202348608", + "timestamp": "2023-03-13 00:00:00", + "amount": 36472.25, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202375379", + "timestamp": "2023-09-03 00:00:00", + "amount": 35517.51, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202338341", + "timestamp": "2023-05-19 00:00:00", + "amount": 18575.41, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202361589", + "timestamp": "2023-08-01 00:00:00", + "amount": 4108.47, + "type": "salary", + "counterparty": "", + "remark": "工资" + } + ], + "fullName": "黄秀兰", + "accountNumber": "ACCT-0062", + "ssnLast4": "7523" + }, + { + "userId": "10063", + "username": "李丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13092772770", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 564175.67, + "accountOpened": "2016-12-15", + "lastLogin": "2023-11-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202303258", + "timestamp": "2023-01-29 00:00:00", + "amount": 14658.93, + "type": "purchase", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202369748", + "timestamp": "2023-05-19 00:00:00", + "amount": -25609.52, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "李丽", + "accountNumber": "ACCT-0063", + "ssnLast4": "2770" + }, + { + "userId": "10064", + "username": "陈秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13913771885", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 3725.95, + "accountOpened": "2019-08-14", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [], + "fullName": "陈秀英", + "accountNumber": "ACCT-0064", + "ssnLast4": "1885" + }, + { + "userId": "10065", + "username": "陈伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13917003215", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 805551.56, + "accountOpened": "2015-03-21", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202345667", + "timestamp": "2023-04-28 00:00:00", + "amount": 31725.66, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202348977", + "timestamp": "2023-07-05 00:00:00", + "amount": -35893.63, + "type": "salary", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202381254", + "timestamp": "2023-06-06 00:00:00", + "amount": -48324.44, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202300039", + "timestamp": "2023-09-15 00:00:00", + "amount": -27483.75, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202307743", + "timestamp": "2023-01-22 00:00:00", + "amount": 29144.6, + "type": "purchase", + "counterparty": "银行理财", + "remark": "转账" + } + ], + "fullName": "陈伟", + "accountNumber": "ACCT-0065", + "ssnLast4": "3215" + }, + { + "userId": "10066", + "username": "李秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13608533775", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 976950.87, + "accountOpened": "2020-11-21", + "lastLogin": "2023-11-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202368018", + "timestamp": "2023-03-21 00:00:00", + "amount": 26722.35, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202368375", + "timestamp": "2023-02-20 00:00:00", + "amount": -31869.6, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ], + "fullName": "李秀英", + "accountNumber": "ACCT-0066", + "ssnLast4": "3775" + }, + { + "userId": "10067", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13677259921", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 661806.38, + "accountOpened": "2018-03-11", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202371279", + "timestamp": "2023-01-22 00:00:00", + "amount": 48554.49, + "type": "salary", + "counterparty": "美团外卖", + "remark": "购物" + } + ], + "fullName": "陈超", + "accountNumber": "ACCT-0067", + "ssnLast4": "9921" + }, + { + "userId": "10068", + "username": "周涛", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13073117077", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 425850.48, + "accountOpened": "2015-03-01", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202396696", + "timestamp": "2023-03-27 00:00:00", + "amount": -8517.96, + "type": "other", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202301106", + "timestamp": "2023-01-28 00:00:00", + "amount": -41846.61, + "type": "other", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202328480", + "timestamp": "2023-04-08 00:00:00", + "amount": 8325.18, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "周涛", + "accountNumber": "ACCT-0068", + "ssnLast4": "7077" + }, + { + "userId": "10069", + "username": "张勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13729486798", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 66157.84, + "accountOpened": "2018-09-15", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202351034", + "timestamp": "2023-05-08 00:00:00", + "amount": -23237.28, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "工资" + }, + { + "transactionId": "TXN202301844", + "timestamp": "2023-04-04 00:00:00", + "amount": -39199.14, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202398720", + "timestamp": "2023-09-11 00:00:00", + "amount": -6284.07, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202385515", + "timestamp": "2023-03-27 00:00:00", + "amount": -20644.66, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ], + "fullName": "张勇", + "accountNumber": "ACCT-0069", + "ssnLast4": "6798" + }, + { + "userId": "10070", + "username": "黄平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13599645577", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 695340.32, + "accountOpened": "2018-05-14", + "lastLogin": "2023-10-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202372391", + "timestamp": "2023-09-23 00:00:00", + "amount": -27101.74, + "type": "salary", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202318030", + "timestamp": "2023-06-02 00:00:00", + "amount": -39513.99, + "type": "other", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202313706", + "timestamp": "2023-03-08 00:00:00", + "amount": 44611.27, + "type": "other", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202319538", + "timestamp": "2023-05-11 00:00:00", + "amount": -39628.51, + "type": "other", + "counterparty": "微信支付", + "remark": "" + } + ], + "fullName": "黄平", + "accountNumber": "ACCT-0070", + "ssnLast4": "5577" + }, + { + "userId": "10071", + "username": "赵霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13617062560", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 391531.04, + "accountOpened": "2022-01-13", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202370806", + "timestamp": "2023-06-21 00:00:00", + "amount": 19454.72, + "type": "purchase", + "counterparty": "银行理财", + "remark": "工资" + } + ], + "fullName": "赵霞", + "accountNumber": "ACCT-0071", + "ssnLast4": "2560" + }, + { + "userId": "10072", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13031859175", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 763300.2, + "accountOpened": "2022-04-07", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202381471", + "timestamp": "2023-05-04 00:00:00", + "amount": -41328.92, + "type": "other", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202331317", + "timestamp": "2023-09-09 00:00:00", + "amount": 9609.37, + "type": "purchase", + "counterparty": "", + "remark": "还款" + } + ], + "fullName": "赵芳", + "accountNumber": "ACCT-0072", + "ssnLast4": "9175" + }, + { + "userId": "10073", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13248956308", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 707441.57, + "accountOpened": "2022-07-20", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202346648", + "timestamp": "2023-05-12 00:00:00", + "amount": -34380.86, + "type": "withdrawal", + "counterparty": "", + "remark": "转账" + }, + { + "transactionId": "TXN202391200", + "timestamp": "2023-09-16 00:00:00", + "amount": 400.56, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202330223", + "timestamp": "2023-07-23 00:00:00", + "amount": 21188.21, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + } + ], + "fullName": "刘娟", + "accountNumber": "ACCT-0073", + "ssnLast4": "6308" + }, + { + "userId": "10074", + "username": "陈军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13950924391", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 976258.25, + "accountOpened": "2017-01-12", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202353271", + "timestamp": "2023-01-16 00:00:00", + "amount": 38633.72, + "type": "purchase", + "counterparty": "支付宝", + "remark": "" + }, + { + "transactionId": "TXN202367141", + "timestamp": "2023-08-14 00:00:00", + "amount": 42918.36, + "type": "other", + "counterparty": "京东商城", + "remark": "购物" + }, + { + "transactionId": "TXN202393404", + "timestamp": "2023-01-06 00:00:00", + "amount": 2696.01, + "type": "other", + "counterparty": "", + "remark": "转账" + } + ], + "fullName": "陈军", + "accountNumber": "ACCT-0074", + "ssnLast4": "4391" + }, + { + "userId": "10075", + "username": "黄艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13752729871", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 134338.29, + "accountOpened": "2018-02-01", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202385461", + "timestamp": "2023-04-25 00:00:00", + "amount": 47449.73, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202374896", + "timestamp": "2023-06-07 00:00:00", + "amount": -35100.11, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202363505", + "timestamp": "2023-07-11 00:00:00", + "amount": 36895.38, + "type": "transfer", + "counterparty": "支付宝", + "remark": "" + } + ], + "fullName": "黄艳", + "accountNumber": "ACCT-0075", + "ssnLast4": "9871" + }, + { + "userId": "10076", + "username": "李勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13460972880", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 868667.17, + "accountOpened": "2023-05-08", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367311", + "timestamp": "2023-05-29 00:00:00", + "amount": -47859.37, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202349240", + "timestamp": "2023-05-12 00:00:00", + "amount": -48610.26, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202319233", + "timestamp": "2023-07-27 00:00:00", + "amount": 38232.59, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ], + "fullName": "李勇", + "accountNumber": "ACCT-0076", + "ssnLast4": "2880" + }, + { + "userId": "10077", + "username": "周丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13322359258", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 584509.9, + "accountOpened": "2018-09-07", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202373335", + "timestamp": "2023-10-07 00:00:00", + "amount": 33185.61, + "type": "salary", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202388617", + "timestamp": "2023-11-02 00:00:00", + "amount": 35814.5, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202348680", + "timestamp": "2023-09-03 00:00:00", + "amount": -20933.76, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "周丽", + "accountNumber": "ACCT-0077", + "ssnLast4": "9258" + }, + { + "userId": "10078", + "username": "吴伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13761460371", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 500488.26, + "accountOpened": "2021-09-15", + "lastLogin": "2023-10-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202376676", + "timestamp": "2023-05-23 00:00:00", + "amount": -16838.9, + "type": "other", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202358651", + "timestamp": "2023-06-24 00:00:00", + "amount": 16426.18, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ], + "fullName": "吴伟", + "accountNumber": "ACCT-0078", + "ssnLast4": "0371" + }, + { + "userId": "10079", + "username": "赵磊", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13930191015", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 100989.74, + "accountOpened": "2015-11-08", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [], + "fullName": "赵磊", + "accountNumber": "ACCT-0079", + "ssnLast4": "1015" + }, + { + "userId": "10080", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13887638182", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 162398.51, + "accountOpened": "2023-05-26", + "lastLogin": "2023-10-28T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202373750", + "timestamp": "2023-09-13 00:00:00", + "amount": 26940.32, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ], + "fullName": "周勇", + "accountNumber": "ACCT-0080", + "ssnLast4": "8182" + }, + { + "userId": "10081", + "username": "黄霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13433402666", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 746324.86, + "accountOpened": "2016-09-19", + "lastLogin": "2023-10-26T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202382953", + "timestamp": "2023-03-21 00:00:00", + "amount": 15750.78, + "type": "other", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202388136", + "timestamp": "2023-03-16 00:00:00", + "amount": 32504.87, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202340916", + "timestamp": "2023-02-12 00:00:00", + "amount": -39824.77, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202382058", + "timestamp": "2023-07-04 00:00:00", + "amount": 17917.25, + "type": "other", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202375178", + "timestamp": "2023-04-26 00:00:00", + "amount": -26984.63, + "type": "transfer", + "counterparty": "银行理财", + "remark": "投资" + } + ], + "fullName": "黄霞", + "accountNumber": "ACCT-0081", + "ssnLast4": "2666" + }, + { + "userId": "10082", + "username": "周军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13977098797", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 784467.54, + "accountOpened": "2018-02-06", + "lastLogin": "2023-11-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202322822", + "timestamp": "2023-02-01 00:00:00", + "amount": 44158.4, + "type": "salary", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202367869", + "timestamp": "2023-01-24 00:00:00", + "amount": -21667.4, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202346328", + "timestamp": "2023-03-15 00:00:00", + "amount": 16069.46, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ], + "fullName": "周军", + "accountNumber": "ACCT-0082", + "ssnLast4": "8797" + }, + { + "userId": "10083", + "username": "王磊", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13818607115", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 56348.91, + "accountOpened": "2016-02-19", + "lastLogin": "2023-10-25T00:00:00Z", + "transactions": [], + "fullName": "王磊", + "accountNumber": "ACCT-0083", + "ssnLast4": "7115" + }, + { + "userId": "10084", + "username": "王艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13205475542", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 341898.02, + "accountOpened": "2017-06-05", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202300982", + "timestamp": "2023-09-18 00:00:00", + "amount": -40088.7, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "转账" + }, + { + "transactionId": "TXN202349421", + "timestamp": "2023-11-13 00:00:00", + "amount": 46415.23, + "type": "other", + "counterparty": "微信支付", + "remark": "" + } + ], + "fullName": "王艳", + "accountNumber": "ACCT-0084", + "ssnLast4": "5542" + }, + { + "userId": "10085", + "username": "杨娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13092802411", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 28175.83, + "accountOpened": "2018-02-20", + "lastLogin": "2023-11-11T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202335061", + "timestamp": "2023-11-12 00:00:00", + "amount": 19260.46, + "type": "purchase", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202375968", + "timestamp": "2023-04-22 00:00:00", + "amount": 37477.69, + "type": "purchase", + "counterparty": "", + "remark": "转账" + } + ], + "fullName": "杨娜", + "accountNumber": "ACCT-0085", + "ssnLast4": "2411" + }, + { + "userId": "10086", + "username": "吴勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13291999527", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 911278.15, + "accountOpened": "2022-11-03", + "lastLogin": "2023-10-14T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202351540", + "timestamp": "2023-01-05 00:00:00", + "amount": -17711.08, + "type": "other", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202389666", + "timestamp": "2023-01-20 00:00:00", + "amount": 44793.34, + "type": "purchase", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202331778", + "timestamp": "2023-09-05 00:00:00", + "amount": -38617.3, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ], + "fullName": "吴勇", + "accountNumber": "ACCT-0086", + "ssnLast4": "9527" + }, + { + "userId": "10087", + "username": "王娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13824622176", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 713293.13, + "accountOpened": "2016-06-15", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314670", + "timestamp": "2023-11-14 00:00:00", + "amount": -49772.49, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202335550", + "timestamp": "2023-10-06 00:00:00", + "amount": -21667.95, + "type": "purchase", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202362095", + "timestamp": "2023-05-10 00:00:00", + "amount": 18264.64, + "type": "transfer", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202390500", + "timestamp": "2023-08-04 00:00:00", + "amount": 28391.88, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202381822", + "timestamp": "2023-03-26 00:00:00", + "amount": 35420.77, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "还款" + } + ], + "fullName": "王娜", + "accountNumber": "ACCT-0087", + "ssnLast4": "2176" + }, + { + "userId": "10088", + "username": "黄勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13975935639", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 569616.04, + "accountOpened": "2016-03-17", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367658", + "timestamp": "2023-08-20 00:00:00", + "amount": 49707.69, + "type": "salary", + "counterparty": "淘宝网", + "remark": "" + } + ], + "fullName": "黄勇", + "accountNumber": "ACCT-0088", + "ssnLast4": "5639" + }, + { + "userId": "10089", + "username": "周娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13797217329", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 384593.79, + "accountOpened": "2017-10-01", + "lastLogin": "2023-10-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202355964", + "timestamp": "2023-06-23 00:00:00", + "amount": 37778.02, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202326137", + "timestamp": "2023-08-05 00:00:00", + "amount": -44839.86, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ], + "fullName": "周娟", + "accountNumber": "ACCT-0089", + "ssnLast4": "7329" + }, + { + "userId": "10090", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13218874994", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 485131.55, + "accountOpened": "2023-01-31", + "lastLogin": "2023-10-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202308992", + "timestamp": "2023-10-25 00:00:00", + "amount": 5508.43, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202323707", + "timestamp": "2023-04-01 00:00:00", + "amount": -1803.73, + "type": "salary", + "counterparty": "银行理财", + "remark": "购物" + } + ], + "fullName": "陈超", + "accountNumber": "ACCT-0090", + "ssnLast4": "4994" + }, + { + "userId": "10091", + "username": "杨娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13890343367", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 737929.35, + "accountOpened": "2018-08-20", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202335782", + "timestamp": "2023-09-22 00:00:00", + "amount": 22269.84, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202353960", + "timestamp": "2023-06-03 00:00:00", + "amount": 37207.28, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "还款" + }, + { + "transactionId": "TXN202308299", + "timestamp": "2023-04-17 00:00:00", + "amount": 25849.85, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202320571", + "timestamp": "2023-05-04 00:00:00", + "amount": -31307.77, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202345485", + "timestamp": "2023-07-15 00:00:00", + "amount": -11203.47, + "type": "salary", + "counterparty": "银行理财", + "remark": "还款" + } + ], + "fullName": "杨娜", + "accountNumber": "ACCT-0091", + "ssnLast4": "3367" + }, + { + "userId": "10092", + "username": "刘勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13875149892", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 966808.94, + "accountOpened": "2020-07-27", + "lastLogin": "2023-10-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202333557", + "timestamp": "2023-01-20 00:00:00", + "amount": -31917.89, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202328997", + "timestamp": "2023-10-21 00:00:00", + "amount": -6220.46, + "type": "other", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202309293", + "timestamp": "2023-06-18 00:00:00", + "amount": -7307.65, + "type": "other", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202347391", + "timestamp": "2023-02-11 00:00:00", + "amount": -3945.01, + "type": "other", + "counterparty": "支付宝", + "remark": "购物" + } + ], + "fullName": "刘勇", + "accountNumber": "ACCT-0092", + "ssnLast4": "9892" + }, + { + "userId": "10093", + "username": "吴伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13667460570", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 95600.91, + "accountOpened": "2016-02-26", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202369258", + "timestamp": "2023-04-27 00:00:00", + "amount": -40056.11, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202341890", + "timestamp": "2023-04-01 00:00:00", + "amount": -507.92, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202350867", + "timestamp": "2023-08-08 00:00:00", + "amount": 47687.85, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202300750", + "timestamp": "2023-03-25 00:00:00", + "amount": 329.71, + "type": "salary", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202331610", + "timestamp": "2023-08-09 00:00:00", + "amount": 34075.17, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "吴伟", + "accountNumber": "ACCT-0093", + "ssnLast4": "0570" + }, + { + "userId": "10094", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13292114325", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 977484.63, + "accountOpened": "2016-08-14", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202375858", + "timestamp": "2023-04-29 00:00:00", + "amount": -31988.28, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202374363", + "timestamp": "2023-05-20 00:00:00", + "amount": -36236.56, + "type": "other", + "counterparty": "", + "remark": "" + } + ], + "fullName": "周勇", + "accountNumber": "ACCT-0094", + "ssnLast4": "4325" + }, + { + "userId": "10095", + "username": "杨秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13399217488", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 249771.66, + "accountOpened": "2021-05-12", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391820", + "timestamp": "2023-09-10 00:00:00", + "amount": 40112.65, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202382023", + "timestamp": "2023-04-27 00:00:00", + "amount": 10962.41, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + } + ], + "fullName": "杨秀兰", + "accountNumber": "ACCT-0095", + "ssnLast4": "7488" + }, + { + "userId": "10096", + "username": "赵艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13082492960", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 746563.33, + "accountOpened": "2016-07-30", + "lastLogin": "2023-10-26T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202380238", + "timestamp": "2023-07-14 00:00:00", + "amount": 3478.23, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202329166", + "timestamp": "2023-04-06 00:00:00", + "amount": -8033.21, + "type": "purchase", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202384929", + "timestamp": "2023-05-17 00:00:00", + "amount": -28497.87, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202309513", + "timestamp": "2023-09-21 00:00:00", + "amount": -46360.27, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202395797", + "timestamp": "2023-01-10 00:00:00", + "amount": 30008.86, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "" + } + ], + "fullName": "赵艳", + "accountNumber": "ACCT-0096", + "ssnLast4": "2960" + }, + { + "userId": "10097", + "username": "赵超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13143370961", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 759843.23, + "accountOpened": "2022-04-08", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202363361", + "timestamp": "2023-08-05 00:00:00", + "amount": -36688.63, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202345292", + "timestamp": "2023-08-23 00:00:00", + "amount": 11982.61, + "type": "other", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202376527", + "timestamp": "2023-07-29 00:00:00", + "amount": 22778.99, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + } + ], + "fullName": "赵超", + "accountNumber": "ACCT-0097", + "ssnLast4": "0961" + }, + { + "userId": "10098", + "username": "李强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13241088836", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 563062.06, + "accountOpened": "2023-05-05", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202398142", + "timestamp": "2023-03-20 00:00:00", + "amount": 4593.91, + "type": "purchase", + "counterparty": "银行理财", + "remark": "购物" + } + ], + "fullName": "李强", + "accountNumber": "ACCT-0098", + "ssnLast4": "8836" + }, + { + "userId": "10099", + "username": "黄超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13099928154", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 337408.64, + "accountOpened": "2019-01-18", + "lastLogin": "2023-10-16T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202344312", + "timestamp": "2023-04-28 00:00:00", + "amount": -46568.31, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202335044", + "timestamp": "2023-08-01 00:00:00", + "amount": -41103.9, + "type": "other", + "counterparty": "", + "remark": "转账" + } + ], + "fullName": "黄超", + "accountNumber": "ACCT-0099", + "ssnLast4": "8154" + }, + { + "userId": "10100", + "username": "张军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13679282402", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 336334.6, + "accountOpened": "2022-08-30", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202319888", + "timestamp": "2023-08-01 00:00:00", + "amount": 6855.89, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202398557", + "timestamp": "2023-06-19 00:00:00", + "amount": 3474.1, + "type": "salary", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202303579", + "timestamp": "2023-09-15 00:00:00", + "amount": 23361.64, + "type": "salary", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202318826", + "timestamp": "2023-05-20 00:00:00", + "amount": 24748.97, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202398589", + "timestamp": "2023-03-06 00:00:00", + "amount": -30800.25, + "type": "purchase", + "counterparty": "微信支付", + "remark": "转账" + } + ], + "fullName": "张军", + "accountNumber": "ACCT-0100", + "ssnLast4": "2402" + } + ] +} \ No newline at end of file diff --git a/bank_users_en.json b/bank_users_en.json new file mode 100644 index 00000000..42e076b8 --- /dev/null +++ b/bank_users_en.json @@ -0,0 +1,3322 @@ +{ + "userData": [ + { + "userId": "10001", + "username": "陈伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13035968176", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 203060.88, + "accountOpened": "2018-08-10", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202338285", + "timestamp": "2023-01-07 00:00:00", + "amount": -6025.95, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202339552", + "timestamp": "2023-09-14 00:00:00", + "amount": 46045.46, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202341896", + "timestamp": "2023-05-20 00:00:00", + "amount": 11667.29, + "type": "purchase", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202300841", + "timestamp": "2023-07-21 00:00:00", + "amount": -25074.88, + "type": "salary", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202393785", + "timestamp": "2023-06-17 00:00:00", + "amount": -7316.6, + "type": "purchase", + "counterparty": "京东商城", + "remark": "购物" + } + ] + }, + { + "userId": "10002", + "username": "周秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13366108583", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 547891.32, + "accountOpened": "2022-01-16", + "lastLogin": "2023-10-27T00:00:00Z", + "transactions": [] + }, + { + "userId": "10003", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13627358021", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 417162.23, + "accountOpened": "2021-08-21", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202370908", + "timestamp": "2023-07-26 00:00:00", + "amount": -18637.33, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202356579", + "timestamp": "2023-04-28 00:00:00", + "amount": 18145.83, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202371794", + "timestamp": "2023-05-01 00:00:00", + "amount": -21798.78, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202302864", + "timestamp": "2023-11-14 00:00:00", + "amount": 22411.31, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10004", + "username": "张秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13417387115", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 747422.25, + "accountOpened": "2020-09-15", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392681", + "timestamp": "2023-07-26 00:00:00", + "amount": 9279.71, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "工资" + } + ] + }, + { + "userId": "10005", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13482042498", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 29430.13, + "accountOpened": "2022-12-16", + "lastLogin": "2023-11-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202378627", + "timestamp": "2023-08-15 00:00:00", + "amount": -39023.72, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202379692", + "timestamp": "2023-03-20 00:00:00", + "amount": -30249.4, + "type": "purchase", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10006", + "username": "陈伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13768016722", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 747206.69, + "accountOpened": "2018-12-20", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392122", + "timestamp": "2023-10-15 00:00:00", + "amount": -27796.72, + "type": "salary", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202398695", + "timestamp": "2023-08-01 00:00:00", + "amount": -20272.6, + "type": "salary", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202358765", + "timestamp": "2023-05-11 00:00:00", + "amount": -17440.09, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202397588", + "timestamp": "2023-10-28 00:00:00", + "amount": -3077.46, + "type": "purchase", + "counterparty": "支付宝", + "remark": "转账" + } + ] + }, + { + "userId": "10007", + "username": "赵娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13511109572", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 792096.21, + "accountOpened": "2023-05-11", + "lastLogin": "2023-11-05T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202383283", + "timestamp": "2023-09-07 00:00:00", + "amount": -44802.94, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202370587", + "timestamp": "2023-05-07 00:00:00", + "amount": -26370.81, + "type": "other", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202387703", + "timestamp": "2023-02-11 00:00:00", + "amount": 24481.52, + "type": "other", + "counterparty": "银行理财", + "remark": "" + } + ] + }, + { + "userId": "10008", + "username": "吴秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13570759177", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 538441.05, + "accountOpened": "2021-04-06", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [] + }, + { + "userId": "10009", + "username": "李秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13798845588", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 232357.45, + "accountOpened": "2017-04-08", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202329062", + "timestamp": "2023-07-11 00:00:00", + "amount": -18632.61, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + } + ] + }, + { + "userId": "10010", + "username": "张洋", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13183229469", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 848282.25, + "accountOpened": "2016-06-20", + "lastLogin": "2023-10-20T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202361996", + "timestamp": "2023-01-09 00:00:00", + "amount": 9141.27, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202376283", + "timestamp": "2023-08-11 00:00:00", + "amount": 17055.2, + "type": "transfer", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202305204", + "timestamp": "2023-03-15 00:00:00", + "amount": -1530.28, + "type": "other", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202348165", + "timestamp": "2023-05-03 00:00:00", + "amount": -33443.37, + "type": "transfer", + "counterparty": "京东商城", + "remark": "投资" + } + ] + }, + { + "userId": "10011", + "username": "杨芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13908611671", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 72434.47, + "accountOpened": "2022-11-05", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [] + }, + { + "userId": "10012", + "username": "陈勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13159211431", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 400961.41, + "accountOpened": "2017-09-06", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202312613", + "timestamp": "2023-02-16 00:00:00", + "amount": 39407.19, + "type": "purchase", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10013", + "username": "吴勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13314788890", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 473593.99, + "accountOpened": "2021-12-04", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354950", + "timestamp": "2023-08-06 00:00:00", + "amount": 24382.94, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202322645", + "timestamp": "2023-08-04 00:00:00", + "amount": -14258.85, + "type": "purchase", + "counterparty": "支付宝", + "remark": "还款" + } + ] + }, + { + "userId": "10014", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13717797674", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 625910.78, + "accountOpened": "2020-09-23", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [] + }, + { + "userId": "10015", + "username": "陈秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13716779772", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 756293.25, + "accountOpened": "2023-02-23", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [] + }, + { + "userId": "10016", + "username": "陈霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13588746806", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 213005.53, + "accountOpened": "2017-07-22", + "lastLogin": "2023-11-05T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392541", + "timestamp": "2023-04-13 00:00:00", + "amount": 31117.05, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202386472", + "timestamp": "2023-07-26 00:00:00", + "amount": 35165.82, + "type": "salary", + "counterparty": "微信支付", + "remark": "投资" + }, + { + "transactionId": "TXN202380339", + "timestamp": "2023-10-31 00:00:00", + "amount": 36782.05, + "type": "withdrawal", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202358390", + "timestamp": "2023-04-28 00:00:00", + "amount": 9966.13, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202397163", + "timestamp": "2023-04-29 00:00:00", + "amount": -1720.85, + "type": "purchase", + "counterparty": "银行理财", + "remark": "工资" + } + ] + }, + { + "userId": "10017", + "username": "吴杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13947060526", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 670389.71, + "accountOpened": "2022-09-26", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314767", + "timestamp": "2023-09-06 00:00:00", + "amount": -20497.09, + "type": "salary", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202316142", + "timestamp": "2023-03-08 00:00:00", + "amount": 24769.69, + "type": "salary", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202369594", + "timestamp": "2023-02-06 00:00:00", + "amount": -44840.39, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202399219", + "timestamp": "2023-07-12 00:00:00", + "amount": -27252.29, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202317206", + "timestamp": "2023-10-08 00:00:00", + "amount": -30268.75, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10018", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13692444096", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 711974.23, + "accountOpened": "2018-11-13", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202306230", + "timestamp": "2023-08-03 00:00:00", + "amount": -19575.43, + "type": "transfer", + "counterparty": "", + "remark": "工资" + } + ] + }, + { + "userId": "10019", + "username": "黄霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13350600805", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 483671.59, + "accountOpened": "2018-04-02", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202381176", + "timestamp": "2023-05-04 00:00:00", + "amount": -9518.05, + "type": "other", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202373200", + "timestamp": "2023-08-13 00:00:00", + "amount": -34933.78, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202312130", + "timestamp": "2023-03-01 00:00:00", + "amount": 10396.32, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202322921", + "timestamp": "2023-09-26 00:00:00", + "amount": 32979.46, + "type": "other", + "counterparty": "美团外卖", + "remark": "投资" + } + ] + }, + { + "userId": "10020", + "username": "吴娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13947069250", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 750222.29, + "accountOpened": "2015-05-08", + "lastLogin": "2023-11-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202345292", + "timestamp": "2023-01-22 00:00:00", + "amount": 10255.68, + "type": "withdrawal", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202376735", + "timestamp": "2023-05-23 00:00:00", + "amount": -46810.43, + "type": "salary", + "counterparty": "银行理财", + "remark": "投资" + }, + { + "transactionId": "TXN202311722", + "timestamp": "2023-03-19 00:00:00", + "amount": -16698.97, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ] + }, + { + "userId": "10021", + "username": "张杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13187007100", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 700822.3, + "accountOpened": "2016-08-03", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202321309", + "timestamp": "2023-02-03 00:00:00", + "amount": -47870.83, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202367105", + "timestamp": "2023-08-07 00:00:00", + "amount": 17306.88, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202336066", + "timestamp": "2023-07-14 00:00:00", + "amount": -47849.22, + "type": "salary", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202336075", + "timestamp": "2023-01-14 00:00:00", + "amount": -40621.52, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10022", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13887520476", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 797368.93, + "accountOpened": "2017-07-23", + "lastLogin": "2023-10-29T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367023", + "timestamp": "2023-01-02 00:00:00", + "amount": 40398.39, + "type": "other", + "counterparty": "", + "remark": "" + }, + { + "transactionId": "TXN202316605", + "timestamp": "2023-05-07 00:00:00", + "amount": 44884.45, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202367378", + "timestamp": "2023-07-05 00:00:00", + "amount": 33071.57, + "type": "salary", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10023", + "username": "黄艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13313134080", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 209249.19, + "accountOpened": "2021-06-09", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314132", + "timestamp": "2023-05-28 00:00:00", + "amount": 7564.54, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202364283", + "timestamp": "2023-06-24 00:00:00", + "amount": -27256.35, + "type": "purchase", + "counterparty": "微信支付", + "remark": "还款" + } + ] + }, + { + "userId": "10024", + "username": "杨敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13387955874", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 729767.31, + "accountOpened": "2016-12-12", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202398807", + "timestamp": "2023-01-17 00:00:00", + "amount": -26252.59, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202398494", + "timestamp": "2023-01-16 00:00:00", + "amount": 27564.58, + "type": "salary", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202367826", + "timestamp": "2023-03-17 00:00:00", + "amount": 11777.85, + "type": "other", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202343329", + "timestamp": "2023-04-19 00:00:00", + "amount": -38759.19, + "type": "salary", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202397068", + "timestamp": "2023-01-02 00:00:00", + "amount": -33511.05, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + } + ] + }, + { + "userId": "10025", + "username": "刘秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13993823661", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 261160.39, + "accountOpened": "2023-05-09", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202303357", + "timestamp": "2023-08-29 00:00:00", + "amount": -14977.19, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202319833", + "timestamp": "2023-07-21 00:00:00", + "amount": -15076.15, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "还款" + } + ] + }, + { + "userId": "10026", + "username": "吴娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13019671310", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 314563.32, + "accountOpened": "2019-11-01", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202302960", + "timestamp": "2023-01-26 00:00:00", + "amount": -9942.73, + "type": "salary", + "counterparty": "微信支付", + "remark": "转账" + } + ] + }, + { + "userId": "10027", + "username": "赵强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13453226631", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 211082.66, + "accountOpened": "2017-11-04", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367605", + "timestamp": "2023-01-15 00:00:00", + "amount": -31795.69, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10028", + "username": "黄强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13911883296", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 767683.3, + "accountOpened": "2020-09-12", + "lastLogin": "2023-11-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391083", + "timestamp": "2023-10-01 00:00:00", + "amount": 20175.6, + "type": "other", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202365558", + "timestamp": "2023-09-05 00:00:00", + "amount": 17889.02, + "type": "transfer", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202379723", + "timestamp": "2023-07-02 00:00:00", + "amount": -36515.6, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202365405", + "timestamp": "2023-04-19 00:00:00", + "amount": -7719.03, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202319116", + "timestamp": "2023-05-09 00:00:00", + "amount": -16528.2, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + } + ] + }, + { + "userId": "10029", + "username": "赵娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13170518523", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 95860.38, + "accountOpened": "2015-03-26", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202310975", + "timestamp": "2023-04-16 00:00:00", + "amount": -3417.3, + "type": "salary", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10030", + "username": "张敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13811944993", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 226932.77, + "accountOpened": "2021-08-05", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202353106", + "timestamp": "2023-01-05 00:00:00", + "amount": -47399.18, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202300169", + "timestamp": "2023-03-22 00:00:00", + "amount": -11643.96, + "type": "other", + "counterparty": "淘宝网", + "remark": "" + } + ] + }, + { + "userId": "10031", + "username": "吴丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13971410276", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 553097.06, + "accountOpened": "2021-12-11", + "lastLogin": "2023-10-16T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202355499", + "timestamp": "2023-09-06 00:00:00", + "amount": 30333.73, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202352335", + "timestamp": "2023-02-17 00:00:00", + "amount": 42690.6, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + } + ] + }, + { + "userId": "10032", + "username": "赵平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13016316375", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 327054.13, + "accountOpened": "2017-08-07", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202365342", + "timestamp": "2023-01-10 00:00:00", + "amount": 29057.61, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10033", + "username": "赵丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13695316994", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 603210.38, + "accountOpened": "2023-04-08", + "lastLogin": "2023-10-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202342877", + "timestamp": "2023-01-04 00:00:00", + "amount": 27540.15, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + } + ] + }, + { + "userId": "10034", + "username": "李静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13134471815", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 953424.06, + "accountOpened": "2018-06-25", + "lastLogin": "2023-10-01T00:00:00Z", + "transactions": [] + }, + { + "userId": "10035", + "username": "王静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13954201379", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 356339.46, + "accountOpened": "2018-09-05", + "lastLogin": "2023-11-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202371223", + "timestamp": "2023-01-22 00:00:00", + "amount": 7124.95, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202306261", + "timestamp": "2023-10-13 00:00:00", + "amount": -12880.65, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10036", + "username": "张伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13162390834", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 429885.14, + "accountOpened": "2015-12-31", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [] + }, + { + "userId": "10037", + "username": "刘敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13913230822", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 973776.27, + "accountOpened": "2019-08-11", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202304334", + "timestamp": "2023-08-21 00:00:00", + "amount": -33413.28, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202325024", + "timestamp": "2023-06-04 00:00:00", + "amount": 9485.67, + "type": "other", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202325471", + "timestamp": "2023-08-03 00:00:00", + "amount": 15924.21, + "type": "purchase", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202351780", + "timestamp": "2023-02-07 00:00:00", + "amount": -2807.99, + "type": "salary", + "counterparty": "微信支付", + "remark": "转账" + }, + { + "transactionId": "TXN202376117", + "timestamp": "2023-04-14 00:00:00", + "amount": -5726.73, + "type": "salary", + "counterparty": "支付宝", + "remark": "工资" + } + ] + }, + { + "userId": "10038", + "username": "张秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13674830878", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 144798.67, + "accountOpened": "2022-09-19", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391051", + "timestamp": "2023-08-08 00:00:00", + "amount": 2216.54, + "type": "transfer", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202389942", + "timestamp": "2023-10-05 00:00:00", + "amount": 34783.99, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202327654", + "timestamp": "2023-01-27 00:00:00", + "amount": 2969.41, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10039", + "username": "王敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13439303952", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 906104.94, + "accountOpened": "2015-01-19", + "lastLogin": "2023-10-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202327797", + "timestamp": "2023-07-31 00:00:00", + "amount": 46903.99, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "" + }, + { + "transactionId": "TXN202353094", + "timestamp": "2023-06-28 00:00:00", + "amount": -48491.51, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "工资" + } + ] + }, + { + "userId": "10040", + "username": "王杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13276937853", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 794690.95, + "accountOpened": "2022-08-03", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202326669", + "timestamp": "2023-01-07 00:00:00", + "amount": -28317.12, + "type": "transfer", + "counterparty": "", + "remark": "投资" + }, + { + "transactionId": "TXN202399377", + "timestamp": "2023-04-29 00:00:00", + "amount": -3273.38, + "type": "salary", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202311438", + "timestamp": "2023-01-14 00:00:00", + "amount": -28640.79, + "type": "other", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202302747", + "timestamp": "2023-09-18 00:00:00", + "amount": 24872.67, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "投资" + } + ] + }, + { + "userId": "10041", + "username": "赵秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13963301580", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 851178.63, + "accountOpened": "2015-01-21", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354871", + "timestamp": "2023-03-25 00:00:00", + "amount": 33054.67, + "type": "purchase", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202353637", + "timestamp": "2023-05-14 00:00:00", + "amount": 17878.21, + "type": "other", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202376529", + "timestamp": "2023-08-09 00:00:00", + "amount": 43158.09, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202387007", + "timestamp": "2023-10-30 00:00:00", + "amount": -26298.32, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202393353", + "timestamp": "2023-03-14 00:00:00", + "amount": 18437.62, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10042", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13219003328", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 452023.92, + "accountOpened": "2018-12-05", + "lastLogin": "2023-10-05T00:00:00Z", + "transactions": [] + }, + { + "userId": "10043", + "username": "刘静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13930118390", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 635698.01, + "accountOpened": "2016-05-31", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [] + }, + { + "userId": "10044", + "username": "李霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13489855133", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 365240.46, + "accountOpened": "2021-02-11", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [] + }, + { + "userId": "10045", + "username": "王伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13206613727", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 978393.3, + "accountOpened": "2019-02-02", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202308616", + "timestamp": "2023-05-26 00:00:00", + "amount": -135.72, + "type": "salary", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202308083", + "timestamp": "2023-06-03 00:00:00", + "amount": 13147.98, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202365449", + "timestamp": "2023-07-08 00:00:00", + "amount": -25460.8, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + } + ] + }, + { + "userId": "10046", + "username": "吴霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13614353766", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 283304.83, + "accountOpened": "2017-01-04", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202352659", + "timestamp": "2023-10-15 00:00:00", + "amount": 17980.77, + "type": "other", + "counterparty": "微信支付", + "remark": "投资" + } + ] + }, + { + "userId": "10047", + "username": "杨敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13758874601", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 981135.31, + "accountOpened": "2020-11-12", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354491", + "timestamp": "2023-11-01 00:00:00", + "amount": -21901.34, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202386116", + "timestamp": "2023-02-01 00:00:00", + "amount": -19235.53, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202320179", + "timestamp": "2023-07-05 00:00:00", + "amount": -11462.69, + "type": "other", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202347752", + "timestamp": "2023-10-08 00:00:00", + "amount": -21279.49, + "type": "other", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202301031", + "timestamp": "2023-06-27 00:00:00", + "amount": 41196.32, + "type": "other", + "counterparty": "银行理财", + "remark": "投资" + } + ] + }, + { + "userId": "10048", + "username": "吴艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13146332558", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 814297.56, + "accountOpened": "2019-08-22", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [] + }, + { + "userId": "10049", + "username": "李敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13958766324", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 88681.8, + "accountOpened": "2019-12-24", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202346091", + "timestamp": "2023-05-31 00:00:00", + "amount": -17025.35, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202364872", + "timestamp": "2023-02-25 00:00:00", + "amount": -29272.37, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202382833", + "timestamp": "2023-09-27 00:00:00", + "amount": -31621.61, + "type": "purchase", + "counterparty": "微信支付", + "remark": "投资" + }, + { + "transactionId": "TXN202317434", + "timestamp": "2023-03-24 00:00:00", + "amount": 24552.63, + "type": "salary", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202331436", + "timestamp": "2023-08-27 00:00:00", + "amount": -43282.23, + "type": "transfer", + "counterparty": "微信支付", + "remark": "转账" + } + ] + }, + { + "userId": "10050", + "username": "黄静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13565048459", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 318286.84, + "accountOpened": "2017-09-29", + "lastLogin": "2023-11-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202374996", + "timestamp": "2023-05-16 00:00:00", + "amount": -24676.01, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202344435", + "timestamp": "2023-05-01 00:00:00", + "amount": 3942.27, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10051", + "username": "李娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13989694797", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 354458.85, + "accountOpened": "2018-01-25", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202374058", + "timestamp": "2023-10-26 00:00:00", + "amount": -35859.26, + "type": "other", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202360366", + "timestamp": "2023-01-26 00:00:00", + "amount": -19374.02, + "type": "salary", + "counterparty": "银行理财", + "remark": "投资" + }, + { + "transactionId": "TXN202319205", + "timestamp": "2023-10-11 00:00:00", + "amount": 13247.55, + "type": "purchase", + "counterparty": "微信支付", + "remark": "" + }, + { + "transactionId": "TXN202336783", + "timestamp": "2023-05-17 00:00:00", + "amount": -9710.57, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + } + ] + }, + { + "userId": "10052", + "username": "周杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13080870956", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 359816.55, + "accountOpened": "2017-12-04", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202334710", + "timestamp": "2023-09-06 00:00:00", + "amount": -46536.13, + "type": "other", + "counterparty": "京东商城", + "remark": "购物" + }, + { + "transactionId": "TXN202360412", + "timestamp": "2023-03-17 00:00:00", + "amount": -15930.76, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202322924", + "timestamp": "2023-01-23 00:00:00", + "amount": -44120.99, + "type": "salary", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10053", + "username": "陈强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13411252856", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 782686.09, + "accountOpened": "2023-05-26", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202384617", + "timestamp": "2023-03-06 00:00:00", + "amount": -42492.41, + "type": "other", + "counterparty": "微信支付", + "remark": "" + }, + { + "transactionId": "TXN202360196", + "timestamp": "2023-08-06 00:00:00", + "amount": -10880.06, + "type": "salary", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202389564", + "timestamp": "2023-07-01 00:00:00", + "amount": -41335.94, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + } + ] + }, + { + "userId": "10054", + "username": "周霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13519745772", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 62584.16, + "accountOpened": "2016-11-30", + "lastLogin": "2023-10-25T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202334952", + "timestamp": "2023-06-12 00:00:00", + "amount": -49386.74, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202333723", + "timestamp": "2023-02-24 00:00:00", + "amount": 4824.67, + "type": "salary", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202343932", + "timestamp": "2023-10-24 00:00:00", + "amount": 24581.5, + "type": "transfer", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202344138", + "timestamp": "2023-10-02 00:00:00", + "amount": 40639.93, + "type": "purchase", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202357653", + "timestamp": "2023-10-17 00:00:00", + "amount": -33555.89, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ] + }, + { + "userId": "10055", + "username": "李秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13384934245", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 525071.93, + "accountOpened": "2019-01-17", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202377581", + "timestamp": "2023-08-31 00:00:00", + "amount": 15117.62, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202317584", + "timestamp": "2023-03-03 00:00:00", + "amount": 42065.17, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + } + ] + }, + { + "userId": "10056", + "username": "李勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13161883331", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 405135.89, + "accountOpened": "2020-03-29", + "lastLogin": "2023-11-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202349455", + "timestamp": "2023-05-07 00:00:00", + "amount": -10056.94, + "type": "purchase", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202370534", + "timestamp": "2023-03-05 00:00:00", + "amount": 24947.71, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10057", + "username": "陈秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13325600467", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 904338.22, + "accountOpened": "2019-11-03", + "lastLogin": "2023-10-27T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202375858", + "timestamp": "2023-01-17 00:00:00", + "amount": -11545.09, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202391954", + "timestamp": "2023-11-09 00:00:00", + "amount": 17997.18, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ] + }, + { + "userId": "10058", + "username": "刘涛", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13765681989", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 957675.59, + "accountOpened": "2017-11-10", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202324069", + "timestamp": "2023-10-11 00:00:00", + "amount": -11697.36, + "type": "purchase", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202338714", + "timestamp": "2023-03-16 00:00:00", + "amount": -26075.5, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202327140", + "timestamp": "2023-05-23 00:00:00", + "amount": -35866.8, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + } + ] + }, + { + "userId": "10059", + "username": "刘霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13563512113", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 71725.16, + "accountOpened": "2019-09-16", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202320104", + "timestamp": "2023-11-06 00:00:00", + "amount": 18493.84, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202365932", + "timestamp": "2023-06-01 00:00:00", + "amount": -11287.6, + "type": "purchase", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202327196", + "timestamp": "2023-10-18 00:00:00", + "amount": -623.57, + "type": "other", + "counterparty": "", + "remark": "还款" + } + ] + }, + { + "userId": "10060", + "username": "赵平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13529565138", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 551791.23, + "accountOpened": "2022-09-09", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202310522", + "timestamp": "2023-08-08 00:00:00", + "amount": 21688.2, + "type": "purchase", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202338720", + "timestamp": "2023-05-07 00:00:00", + "amount": -20408.3, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202394928", + "timestamp": "2023-08-01 00:00:00", + "amount": -29222.13, + "type": "transfer", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202386634", + "timestamp": "2023-06-17 00:00:00", + "amount": -39891.81, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10061", + "username": "赵超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13031376805", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 107270.89, + "accountOpened": "2017-02-06", + "lastLogin": "2023-10-28T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202315617", + "timestamp": "2023-04-04 00:00:00", + "amount": -43004.6, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202319597", + "timestamp": "2023-04-12 00:00:00", + "amount": 45088.24, + "type": "other", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202378521", + "timestamp": "2023-05-21 00:00:00", + "amount": -19028.22, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202350765", + "timestamp": "2023-11-08 00:00:00", + "amount": 39909.38, + "type": "salary", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202357736", + "timestamp": "2023-10-28 00:00:00", + "amount": -40617.74, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10062", + "username": "黄秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13114807523", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 651524.72, + "accountOpened": "2019-02-13", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202312260", + "timestamp": "2023-02-11 00:00:00", + "amount": -40597.24, + "type": "other", + "counterparty": "美团外卖", + "remark": "还款" + }, + { + "transactionId": "TXN202348608", + "timestamp": "2023-03-13 00:00:00", + "amount": 36472.25, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202375379", + "timestamp": "2023-09-03 00:00:00", + "amount": 35517.51, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202338341", + "timestamp": "2023-05-19 00:00:00", + "amount": 18575.41, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202361589", + "timestamp": "2023-08-01 00:00:00", + "amount": 4108.47, + "type": "salary", + "counterparty": "", + "remark": "工资" + } + ] + }, + { + "userId": "10063", + "username": "李丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13092772770", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 564175.67, + "accountOpened": "2016-12-15", + "lastLogin": "2023-11-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202303258", + "timestamp": "2023-01-29 00:00:00", + "amount": 14658.93, + "type": "purchase", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202369748", + "timestamp": "2023-05-19 00:00:00", + "amount": -25609.52, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10064", + "username": "陈秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13913771885", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 3725.95, + "accountOpened": "2019-08-14", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [] + }, + { + "userId": "10065", + "username": "陈伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13917003215", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 805551.56, + "accountOpened": "2015-03-21", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202345667", + "timestamp": "2023-04-28 00:00:00", + "amount": 31725.66, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202348977", + "timestamp": "2023-07-05 00:00:00", + "amount": -35893.63, + "type": "salary", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202381254", + "timestamp": "2023-06-06 00:00:00", + "amount": -48324.44, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202300039", + "timestamp": "2023-09-15 00:00:00", + "amount": -27483.75, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202307743", + "timestamp": "2023-01-22 00:00:00", + "amount": 29144.6, + "type": "purchase", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10066", + "username": "李秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13608533775", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 976950.87, + "accountOpened": "2020-11-21", + "lastLogin": "2023-11-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202368018", + "timestamp": "2023-03-21 00:00:00", + "amount": 26722.35, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202368375", + "timestamp": "2023-02-20 00:00:00", + "amount": -31869.6, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10067", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13677259921", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 661806.38, + "accountOpened": "2018-03-11", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202371279", + "timestamp": "2023-01-22 00:00:00", + "amount": 48554.49, + "type": "salary", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10068", + "username": "周涛", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13073117077", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 425850.48, + "accountOpened": "2015-03-01", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202396696", + "timestamp": "2023-03-27 00:00:00", + "amount": -8517.96, + "type": "other", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202301106", + "timestamp": "2023-01-28 00:00:00", + "amount": -41846.61, + "type": "other", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202328480", + "timestamp": "2023-04-08 00:00:00", + "amount": 8325.18, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10069", + "username": "张勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13729486798", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 66157.84, + "accountOpened": "2018-09-15", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202351034", + "timestamp": "2023-05-08 00:00:00", + "amount": -23237.28, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "工资" + }, + { + "transactionId": "TXN202301844", + "timestamp": "2023-04-04 00:00:00", + "amount": -39199.14, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202398720", + "timestamp": "2023-09-11 00:00:00", + "amount": -6284.07, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202385515", + "timestamp": "2023-03-27 00:00:00", + "amount": -20644.66, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10070", + "username": "黄平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13599645577", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 695340.32, + "accountOpened": "2018-05-14", + "lastLogin": "2023-10-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202372391", + "timestamp": "2023-09-23 00:00:00", + "amount": -27101.74, + "type": "salary", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202318030", + "timestamp": "2023-06-02 00:00:00", + "amount": -39513.99, + "type": "other", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202313706", + "timestamp": "2023-03-08 00:00:00", + "amount": 44611.27, + "type": "other", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202319538", + "timestamp": "2023-05-11 00:00:00", + "amount": -39628.51, + "type": "other", + "counterparty": "微信支付", + "remark": "" + } + ] + }, + { + "userId": "10071", + "username": "赵霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13617062560", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 391531.04, + "accountOpened": "2022-01-13", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202370806", + "timestamp": "2023-06-21 00:00:00", + "amount": 19454.72, + "type": "purchase", + "counterparty": "银行理财", + "remark": "工资" + } + ] + }, + { + "userId": "10072", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13031859175", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 763300.2, + "accountOpened": "2022-04-07", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202381471", + "timestamp": "2023-05-04 00:00:00", + "amount": -41328.92, + "type": "other", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202331317", + "timestamp": "2023-09-09 00:00:00", + "amount": 9609.37, + "type": "purchase", + "counterparty": "", + "remark": "还款" + } + ] + }, + { + "userId": "10073", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13248956308", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 707441.57, + "accountOpened": "2022-07-20", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202346648", + "timestamp": "2023-05-12 00:00:00", + "amount": -34380.86, + "type": "withdrawal", + "counterparty": "", + "remark": "转账" + }, + { + "transactionId": "TXN202391200", + "timestamp": "2023-09-16 00:00:00", + "amount": 400.56, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202330223", + "timestamp": "2023-07-23 00:00:00", + "amount": 21188.21, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + } + ] + }, + { + "userId": "10074", + "username": "陈军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13950924391", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 976258.25, + "accountOpened": "2017-01-12", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202353271", + "timestamp": "2023-01-16 00:00:00", + "amount": 38633.72, + "type": "purchase", + "counterparty": "支付宝", + "remark": "" + }, + { + "transactionId": "TXN202367141", + "timestamp": "2023-08-14 00:00:00", + "amount": 42918.36, + "type": "other", + "counterparty": "京东商城", + "remark": "购物" + }, + { + "transactionId": "TXN202393404", + "timestamp": "2023-01-06 00:00:00", + "amount": 2696.01, + "type": "other", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10075", + "username": "黄艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13752729871", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 134338.29, + "accountOpened": "2018-02-01", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202385461", + "timestamp": "2023-04-25 00:00:00", + "amount": 47449.73, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202374896", + "timestamp": "2023-06-07 00:00:00", + "amount": -35100.11, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202363505", + "timestamp": "2023-07-11 00:00:00", + "amount": 36895.38, + "type": "transfer", + "counterparty": "支付宝", + "remark": "" + } + ] + }, + { + "userId": "10076", + "username": "李勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13460972880", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 868667.17, + "accountOpened": "2023-05-08", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367311", + "timestamp": "2023-05-29 00:00:00", + "amount": -47859.37, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202349240", + "timestamp": "2023-05-12 00:00:00", + "amount": -48610.26, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202319233", + "timestamp": "2023-07-27 00:00:00", + "amount": 38232.59, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10077", + "username": "周丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13322359258", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 584509.9, + "accountOpened": "2018-09-07", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202373335", + "timestamp": "2023-10-07 00:00:00", + "amount": 33185.61, + "type": "salary", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202388617", + "timestamp": "2023-11-02 00:00:00", + "amount": 35814.5, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202348680", + "timestamp": "2023-09-03 00:00:00", + "amount": -20933.76, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10078", + "username": "吴伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13761460371", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 500488.26, + "accountOpened": "2021-09-15", + "lastLogin": "2023-10-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202376676", + "timestamp": "2023-05-23 00:00:00", + "amount": -16838.9, + "type": "other", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202358651", + "timestamp": "2023-06-24 00:00:00", + "amount": 16426.18, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10079", + "username": "赵磊", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13930191015", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 100989.74, + "accountOpened": "2015-11-08", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [] + }, + { + "userId": "10080", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13887638182", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 162398.51, + "accountOpened": "2023-05-26", + "lastLogin": "2023-10-28T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202373750", + "timestamp": "2023-09-13 00:00:00", + "amount": 26940.32, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ] + }, + { + "userId": "10081", + "username": "黄霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13433402666", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 746324.86, + "accountOpened": "2016-09-19", + "lastLogin": "2023-10-26T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202382953", + "timestamp": "2023-03-21 00:00:00", + "amount": 15750.78, + "type": "other", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202388136", + "timestamp": "2023-03-16 00:00:00", + "amount": 32504.87, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202340916", + "timestamp": "2023-02-12 00:00:00", + "amount": -39824.77, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202382058", + "timestamp": "2023-07-04 00:00:00", + "amount": 17917.25, + "type": "other", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202375178", + "timestamp": "2023-04-26 00:00:00", + "amount": -26984.63, + "type": "transfer", + "counterparty": "银行理财", + "remark": "投资" + } + ] + }, + { + "userId": "10082", + "username": "周军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13977098797", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 784467.54, + "accountOpened": "2018-02-06", + "lastLogin": "2023-11-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202322822", + "timestamp": "2023-02-01 00:00:00", + "amount": 44158.4, + "type": "salary", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202367869", + "timestamp": "2023-01-24 00:00:00", + "amount": -21667.4, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202346328", + "timestamp": "2023-03-15 00:00:00", + "amount": 16069.46, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10083", + "username": "王磊", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13818607115", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 56348.91, + "accountOpened": "2016-02-19", + "lastLogin": "2023-10-25T00:00:00Z", + "transactions": [] + }, + { + "userId": "10084", + "username": "王艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13205475542", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 341898.02, + "accountOpened": "2017-06-05", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202300982", + "timestamp": "2023-09-18 00:00:00", + "amount": -40088.7, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "转账" + }, + { + "transactionId": "TXN202349421", + "timestamp": "2023-11-13 00:00:00", + "amount": 46415.23, + "type": "other", + "counterparty": "微信支付", + "remark": "" + } + ] + }, + { + "userId": "10085", + "username": "杨娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13092802411", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 28175.83, + "accountOpened": "2018-02-20", + "lastLogin": "2023-11-11T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202335061", + "timestamp": "2023-11-12 00:00:00", + "amount": 19260.46, + "type": "purchase", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202375968", + "timestamp": "2023-04-22 00:00:00", + "amount": 37477.69, + "type": "purchase", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10086", + "username": "吴勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13291999527", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 911278.15, + "accountOpened": "2022-11-03", + "lastLogin": "2023-10-14T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202351540", + "timestamp": "2023-01-05 00:00:00", + "amount": -17711.08, + "type": "other", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202389666", + "timestamp": "2023-01-20 00:00:00", + "amount": 44793.34, + "type": "purchase", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202331778", + "timestamp": "2023-09-05 00:00:00", + "amount": -38617.3, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ] + }, + { + "userId": "10087", + "username": "王娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13824622176", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 713293.13, + "accountOpened": "2016-06-15", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314670", + "timestamp": "2023-11-14 00:00:00", + "amount": -49772.49, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202335550", + "timestamp": "2023-10-06 00:00:00", + "amount": -21667.95, + "type": "purchase", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202362095", + "timestamp": "2023-05-10 00:00:00", + "amount": 18264.64, + "type": "transfer", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202390500", + "timestamp": "2023-08-04 00:00:00", + "amount": 28391.88, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202381822", + "timestamp": "2023-03-26 00:00:00", + "amount": 35420.77, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "还款" + } + ] + }, + { + "userId": "10088", + "username": "黄勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13975935639", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 569616.04, + "accountOpened": "2016-03-17", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367658", + "timestamp": "2023-08-20 00:00:00", + "amount": 49707.69, + "type": "salary", + "counterparty": "淘宝网", + "remark": "" + } + ] + }, + { + "userId": "10089", + "username": "周娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13797217329", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 384593.79, + "accountOpened": "2017-10-01", + "lastLogin": "2023-10-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202355964", + "timestamp": "2023-06-23 00:00:00", + "amount": 37778.02, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202326137", + "timestamp": "2023-08-05 00:00:00", + "amount": -44839.86, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ] + }, + { + "userId": "10090", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13218874994", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 485131.55, + "accountOpened": "2023-01-31", + "lastLogin": "2023-10-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202308992", + "timestamp": "2023-10-25 00:00:00", + "amount": 5508.43, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202323707", + "timestamp": "2023-04-01 00:00:00", + "amount": -1803.73, + "type": "salary", + "counterparty": "银行理财", + "remark": "购物" + } + ] + }, + { + "userId": "10091", + "username": "杨娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13890343367", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 737929.35, + "accountOpened": "2018-08-20", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202335782", + "timestamp": "2023-09-22 00:00:00", + "amount": 22269.84, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202353960", + "timestamp": "2023-06-03 00:00:00", + "amount": 37207.28, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "还款" + }, + { + "transactionId": "TXN202308299", + "timestamp": "2023-04-17 00:00:00", + "amount": 25849.85, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202320571", + "timestamp": "2023-05-04 00:00:00", + "amount": -31307.77, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202345485", + "timestamp": "2023-07-15 00:00:00", + "amount": -11203.47, + "type": "salary", + "counterparty": "银行理财", + "remark": "还款" + } + ] + }, + { + "userId": "10092", + "username": "刘勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13875149892", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 966808.94, + "accountOpened": "2020-07-27", + "lastLogin": "2023-10-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202333557", + "timestamp": "2023-01-20 00:00:00", + "amount": -31917.89, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202328997", + "timestamp": "2023-10-21 00:00:00", + "amount": -6220.46, + "type": "other", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202309293", + "timestamp": "2023-06-18 00:00:00", + "amount": -7307.65, + "type": "other", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202347391", + "timestamp": "2023-02-11 00:00:00", + "amount": -3945.01, + "type": "other", + "counterparty": "支付宝", + "remark": "购物" + } + ] + }, + { + "userId": "10093", + "username": "吴伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13667460570", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 95600.91, + "accountOpened": "2016-02-26", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202369258", + "timestamp": "2023-04-27 00:00:00", + "amount": -40056.11, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202341890", + "timestamp": "2023-04-01 00:00:00", + "amount": -507.92, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202350867", + "timestamp": "2023-08-08 00:00:00", + "amount": 47687.85, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202300750", + "timestamp": "2023-03-25 00:00:00", + "amount": 329.71, + "type": "salary", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202331610", + "timestamp": "2023-08-09 00:00:00", + "amount": 34075.17, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10094", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13292114325", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 977484.63, + "accountOpened": "2016-08-14", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202375858", + "timestamp": "2023-04-29 00:00:00", + "amount": -31988.28, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202374363", + "timestamp": "2023-05-20 00:00:00", + "amount": -36236.56, + "type": "other", + "counterparty": "", + "remark": "" + } + ] + }, + { + "userId": "10095", + "username": "杨秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13399217488", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 249771.66, + "accountOpened": "2021-05-12", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391820", + "timestamp": "2023-09-10 00:00:00", + "amount": 40112.65, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202382023", + "timestamp": "2023-04-27 00:00:00", + "amount": 10962.41, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + } + ] + }, + { + "userId": "10096", + "username": "赵艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13082492960", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 746563.33, + "accountOpened": "2016-07-30", + "lastLogin": "2023-10-26T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202380238", + "timestamp": "2023-07-14 00:00:00", + "amount": 3478.23, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202329166", + "timestamp": "2023-04-06 00:00:00", + "amount": -8033.21, + "type": "purchase", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202384929", + "timestamp": "2023-05-17 00:00:00", + "amount": -28497.87, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202309513", + "timestamp": "2023-09-21 00:00:00", + "amount": -46360.27, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202395797", + "timestamp": "2023-01-10 00:00:00", + "amount": 30008.86, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "" + } + ] + }, + { + "userId": "10097", + "username": "赵超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13143370961", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 759843.23, + "accountOpened": "2022-04-08", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202363361", + "timestamp": "2023-08-05 00:00:00", + "amount": -36688.63, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202345292", + "timestamp": "2023-08-23 00:00:00", + "amount": 11982.61, + "type": "other", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202376527", + "timestamp": "2023-07-29 00:00:00", + "amount": 22778.99, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10098", + "username": "李强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13241088836", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 563062.06, + "accountOpened": "2023-05-05", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202398142", + "timestamp": "2023-03-20 00:00:00", + "amount": 4593.91, + "type": "purchase", + "counterparty": "银行理财", + "remark": "购物" + } + ] + }, + { + "userId": "10099", + "username": "黄超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13099928154", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 337408.64, + "accountOpened": "2019-01-18", + "lastLogin": "2023-10-16T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202344312", + "timestamp": "2023-04-28 00:00:00", + "amount": -46568.31, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202335044", + "timestamp": "2023-08-01 00:00:00", + "amount": -41103.9, + "type": "other", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10100", + "username": "张军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13679282402", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 336334.6, + "accountOpened": "2022-08-30", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202319888", + "timestamp": "2023-08-01 00:00:00", + "amount": 6855.89, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202398557", + "timestamp": "2023-06-19 00:00:00", + "amount": 3474.1, + "type": "salary", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202303579", + "timestamp": "2023-09-15 00:00:00", + "amount": 23361.64, + "type": "salary", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202318826", + "timestamp": "2023-05-20 00:00:00", + "amount": 24748.97, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202398589", + "timestamp": "2023-03-06 00:00:00", + "amount": -30800.25, + "type": "purchase", + "counterparty": "微信支付", + "remark": "转账" + } + ] + } + ] +} \ No newline at end of file diff --git a/huaweicloud_sis.py b/huaweicloud_sis.py new file mode 100644 index 00000000..cb8fd9d5 --- /dev/null +++ b/huaweicloud_sis.py @@ -0,0 +1,102 @@ +# huaweicloud_sis.py +import os, hmac, hashlib, base64, json, datetime, requests +from typing import Tuple + +AK = os.getenv("HUAWEI_AK") +SK = os.getenv("HUAWEI_SK") +PROJECT_ID = os.getenv("HUAWEI_PROJECT_ID") +REGION = os.getenv("HUAWEI_REGION", "cn-north-4") +SIS_ENDPOINT = os.getenv("HUAWEI_SIS_ENDPOINT", f"https://sis-ext.{REGION}.myhuaweicloud.com").rstrip("/") + +if not (AK and SK and PROJECT_ID): + raise RuntimeError("请先设置 HUAWEI_AK / HUAWEI_SK / HUAWEI_PROJECT_ID(必填),HUAWEI_REGION 可选,HUAWEI_SIS_ENDPOINT 可选") + +def _utc_iso() -> str: + # 形如:20250829T080102Z + return datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%SZ") + +def _canonical_request(method: str, path: str, query: str, headers: dict, body: bytes) -> Tuple[str, str]: + # 规范化 header:host + x-sdk-date 必须;其余按需增加 + # 注意:Host 必须与实际域名一致 + host = SIS_ENDPOINT.replace("https://", "").replace("http://", "") + x_sdk_date = headers.get("X-Sdk-Date") or _utc_iso() + headers["Host"] = host + headers["X-Sdk-Date"] = x_sdk_date + + # 参与签名的头(小写、按字典序) + signed_header_keys = ["host", "x-sdk-date"] + canonical_headers = f"host:{host}\n" + f"x-sdk-date:{x_sdk_date}\n" + signed_headers = ";".join(signed_header_keys) + + # body sha256 + payload_hash = hashlib.sha256(body or b"").hexdigest() + + # path & query 已经是规范形式(path 形如 /v1/{project_id}/tts) + canonical = "\n".join([ + method.upper(), + path, + query or "", + canonical_headers, + signed_headers, + payload_hash + ]) + return canonical, signed_headers + +def _sign(method: str, path: str, query: str, body: bytes, extra_headers: dict = None) -> dict: + """返回带 Authorization 的 headers;采用华为云 APIG V2 简化签名""" + headers = {"Content-Type": "application/json"} + if extra_headers: + headers.update(extra_headers) + canonical, signed_headers = _canonical_request(method, path, query, headers, body) + string_to_sign = canonical.encode("utf-8") + signature = hmac.new(SK.encode("utf-8"), string_to_sign, hashlib.sha256).hexdigest() + auth = f"HMAC-SHA256 Credential={AK}, SignedHeaders={signed_headers}, Signature={signature}" + headers["Authorization"] = auth + return headers + +def _request_json(method: str, url: str, path: str, body: dict, timeout: int = 60) -> dict: + body_bytes = json.dumps(body, ensure_ascii=False).encode("utf-8") + headers = _sign(method, path, "", body_bytes) + resp = requests.request(method, url, headers=headers, data=body_bytes, timeout=timeout) + if resp.status_code >= 300: + raise RuntimeError(f"SIS HTTP {resp.status_code}: {resp.text}") + return resp.json() + +# ===================== 一句话识别(短音频,<=1min,<=10MB) ===================== +def asr_short_sentence_wav16k(wav_bytes: bytes, lang="en_us") -> str: + # 参考属性:英文 16k + prop = "english_16k" if lang.lower().startswith("en") else "chinese_16k_general" + b64 = base64.b64encode(wav_bytes).decode("utf-8") + path = f"/v1/{PROJECT_ID}/short-audio" + url = f"{SIS_ENDPOINT}{path}" + body = { + "config": { + "audio_format": "wav", + "property": prop, + "add_punc": "yes" + }, + "data": b64 + } + data = _request_json("POST", url, path, body, timeout=90) + # 返回结构通常为 {"result":{"text":"..."}} + return (data.get("result") or {}).get("text", "") + +# ===================== 文本转语音(TTS) ===================== +def tts_text_to_wav(text: str, lang="en_us") -> bytes: + prop = "english_common" if lang.lower().startswith("en") else "chinese_xiaoyan_common" + path = f"/v1/{PROJECT_ID}/tts" + url = f"{SIS_ENDPOINT}{path}" + body = { + "text": text, + "config": { + "audio_format": "wav", + "sample_rate": "16000", + "property": prop + } + } + data = _request_json("POST", url, path, body, timeout=90) + # 返回结构通常为 {"result":{"data":"base64", "format":"wav"}} + b64 = (data.get("result") or {}).get("data", "") + if not b64: + raise RuntimeError(f"TTS返回空:{data}") + return base64.b64decode(b64) diff --git a/recommend.py b/recommend.py new file mode 100644 index 00000000..5383a005 --- /dev/null +++ b/recommend.py @@ -0,0 +1,62 @@ +from flask import Flask, request, jsonify +import json + +app = Flask(__name__) + +# 加载用户画像数据 +with open('user_profiles.json', 'r', encoding='utf-8') as f: + user_profiles = json.load(f)["users"] + +# 产品推荐规则(可拓展) +def recommend_products(profile): + risk = profile["riskLevel"] + income = profile["incomeLevel"] + experience = profile["investmentExperience"] + + # 规则引擎示例(可根据实际需求调整) + if risk == "high": + return [ + "Tech Growth Fund", + "Crypto Index ETF", + "AI Startups Portfolio" + ] + elif risk == "medium": + if experience in ["advanced", "moderate"]: + return [ + "Global Equity Fund", + "Balanced Income Fund", + "Emerging Market ETF" + ] + else: + return [ + "Balanced Income Fund", + "Index Bond Fund" + ] + else: # risk = low + return [ + "Government Bond Fund", + "Fixed Income ETF", + "Capital Protection Plan" + ] + +@app.route('/api/recommend', methods=['POST']) +def recommend(): + data = request.get_json() + user_id = data.get("userId") + + user = next((u for u in user_profiles if u["userId"] == user_id), None) + if not user: + return jsonify({"error": "User not found"}), 404 + + products = recommend_products(user) + summary = f"Hello {user['username']}, based on your profile (Risk: {user['riskLevel']}, Income: {user['incomeLevel']}), we recommend: {', '.join(products)}." + + return jsonify({ + "userId": user["userId"], + "username": user["username"], + "recommendedProducts": products, + "summary": summary + }) + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=5000, debug=True) diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 00000000..409e6181 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +fastapi==0.111.0 +uvicorn[standard]==0.30.0 +requests==2.32.3 +soundfile==0.12.1 +numpy==1.26.4 +python-multipart==0.0.9 \ No newline at end of file diff --git a/summer-ospp/bankagent/Readme.md b/summer-ospp/bankagent/Readme.md new file mode 100644 index 00000000..4d8307f6 --- /dev/null +++ b/summer-ospp/bankagent/Readme.md @@ -0,0 +1,4 @@ +1. 应用MindSporeNLP和生成式套件的ASR + lm +TTS功能 +2. 搭建了多个业务智能体,包括认证,查询,投资顾问,投诉等;完成多个智能体交互和意图识别功能 +3. 搭建后端服务层:大数据引擎用于用户画像;风控引擎用于规则和安全 +image diff --git a/summer-ospp/bankagent/arsr_tts/app.py b/summer-ospp/bankagent/arsr_tts/app.py new file mode 100644 index 00000000..a7277fd4 --- /dev/null +++ b/summer-ospp/bankagent/arsr_tts/app.py @@ -0,0 +1,48 @@ +from fastapi import FastAPI, UploadFile, File, Header, HTTPException +from fastapi.responses import StreamingResponse, JSONResponse +import io +from utils_audio import ensure_wav16k_mono +from asr import asr_recognize_bytes +from tts import tts_wav_bytes, tts_wav_base64 + +# 固定 API Key,直接在代码里写死 +_API_KEY = "super_secret_12345" + +def _auth(x_api_key: str = Header(default=None, alias="X-API-Key")): + if x_api_key != _API_KEY: + raise HTTPException(status_code=401, detail="Unauthorized") + +app = FastAPI(title="Bank Agent ASR/TTS", version="0.1.0") + +@app.post("/asr") +async def asr_endpoint( + file: UploadFile = File(...), + x_api_key: str = Header(default=None, alias="X-API-Key") +): + _auth(x_api_key) + raw = await file.read() + wav16k = ensure_wav16k_mono(raw) + text = asr_recognize_bytes(wav16k) + return JSONResponse({"text": text}) + +@app.post("/tts/wav") +async def tts_wav_endpoint( + text: str, + x_api_key: str = Header(default=None, alias="X-API-Key") +): + _auth(x_api_key) + wav = tts_wav_bytes(text) + return StreamingResponse(io.BytesIO(wav), media_type="audio/wav") + +@app.post("/tts/base64") +async def tts_b64_endpoint( + text: str, + x_api_key: str = Header(default=None, alias="X-API-Key") +): + _auth(x_api_key) + b64 = tts_wav_base64(text) + return JSONResponse({"audio_base64": b64, "mime": "audio/wav"}) + +@app.get("/healthz") +def healthz(): + return {"ok": True} diff --git a/summer-ospp/bankagent/arsr_tts/asr.py b/summer-ospp/bankagent/arsr_tts/asr.py new file mode 100644 index 00000000..59467289 --- /dev/null +++ b/summer-ospp/bankagent/arsr_tts/asr.py @@ -0,0 +1,180 @@ +# asr_system.py +import os +import numpy as np +import librosa +import mindspore as ms +import mindspore.nn as nn +import mindspore.ops as ops +from mindspore import Tensor, context +from mindspore.dataset import GeneratorDataset +from mindspore.train import Model, LossMonitor +from mindspore.common.initializer import XavierUniform + +# ====================== +# 1. 数据预处理模块 +# ====================== +class LJSpeechDataset: + """LJSpeech数据集加载与特征提取""" + def __init__(self, data_path, sr=16000, n_mfcc=40): + self.wav_files = sorted([os.path.join(data_path, f) for f in os.listdir(data_path) if f.endswith('.wav')]) + self.transcripts = self._load_transcripts() + self.sr = sr + self.n_mfcc = n_mfcc + self.char2idx = {'a': 0, 'b': 1, ...} # 实际使用时需要完整字符集 + self.idx2char = {v: k for k, v in self.char2idx.items()} + + def _load_transcripts(self): + """加载文本转录""" + transcripts = [] + for wav_file in self.wav_files: + txt_file = wav_file.replace('.wav', '.txt') + with open(txt_file, 'r') as f: + transcripts.append(f.read().strip()) + return transcripts + + def __getitem__(self, index): + """提取MFCC特征和文本标签""" + # 音频处理 + wav, _ = librosa.load(self.wav_files[index], sr=self.sr) + mfcc = librosa.feature.mfcc(y=wav, sr=self.sr, n_mfcc=self.n_mfcc) + + # 文本处理 + text = self.transcripts[index] + token_ids = [self.char2idx[c] for c in text if c in self.char2idx] + + return mfcc.T, np.array(token_ids, dtype=np.int32) + + def __len__(self): + return len(self.wav_files) + +# ====================== +# 2. 模型架构 (Transformer-based) +# ====================== +class TransformerASR(nn.Cell): + """基于Transformer的ASR模型""" + def __init__(self, vocab_size, d_model=256, nhead=8, num_layers=6): + super().__init__() + self.d_model = d_model + + # 音频特征编码 + self.src_embed = nn.Dense(40, d_model) + self.pos_encoder = PositionalEncoding(d_model) + + # Transformer主干 + encoder_layer = nn.TransformerEncoderLayer(d_model, nhead, dim_feedforward=1024) + self.transformer_encoder = nn.TransformerEncoder(encoder_layer, num_layers) + + # 文本解码 + self.tgt_embed = nn.Embedding(vocab_size, d_model) + decoder_layer = nn.TransformerDecoderLayer(d_model, nhead, dim_feedforward=1024) + self.transformer_decoder = nn.TransformerDecoder(decoder_layer, num_layers) + + # 输出层 + self.fc_out = nn.Dense(d_model, vocab_size, weight_init=XavierUniform()) + + def construct(self, src, tgt): + # src: [batch, src_len, 40] + # tgt: [batch, tgt_len] + + # 编码器处理音频特征 + src = self.src_embed(src) * np.sqrt(self.d_model) + src = self.pos_encoder(src) + memory = self.transformer_encoder(src) + + # 解码器生成文本 + tgt = self.tgt_embed(tgt) * np.sqrt(self.d_model) + tgt = self.pos_encoder(tgt) + output = self.transformer_decoder(tgt, memory) + + return self.fc_out(output) + +class PositionalEncoding(nn.Cell): + """Transformer位置编码""" + def __init__(self, d_model, max_len=5000): + super().__init__() + pe = np.zeros((max_len, d_model)) + position = np.arange(0, max_len, dtype=np.float32).reshape(-1, 1) + div_term = np.exp(np.arange(0, d_model, 2) * (-np.log(10000.0) / d_model)) + pe[:, 0::2] = np.sin(position * div_term) + pe[:, 1::2] = np.cos(position * div_term) + self.pe = Tensor(pe, ms.float32) + + def construct(self, x): + return x + self.pe[:x.shape[1]] + +# ====================== +# 3. 训练流程 +# ====================== +def train_asr(): + # 环境设置 + context.set_context(mode=context.GRAPH_MODE, device_target="GPU") + + # 数据准备 + dataset = LJSpeechDataset("data/LJSpeech-1.1") + train_data = GeneratorDataset(dataset, ["features", "labels"]) + train_data = train_data.batch(32) + + # 模型初始化 + model = TransformerASR(vocab_size=len(dataset.char2idx)) + loss_fn = nn.CrossEntropyLoss() + optimizer = nn.Adam(model.trainable_params(), learning_rate=0.0001) + + # 定义训练网络 + net = nn.WithLossCell(model, loss_fn) + train_net = nn.TrainOneStepCell(net, optimizer) + + # 训练模型 + model = Model(train_net) + model.train(epoch=10, + train_dataset=train_data, + callbacks=[LossMonitor()]) + + # 保存模型 + ms.save_checkpoint(model, "asr_model.ckpt") + +# ====================== +# 4. 推理部署 +# ====================== +class ASRPredictor: + """ASR预测接口""" + def __init__(self, ckpt_path, char2idx): + self.model = TransformerASR(vocab_size=len(char2idx)) + ms.load_checkpoint(ckpt_path, self.model) + self.model.set_train(False) + self.char2idx = char2idx + self.idx2char = {v: k for k, v in char2idx.items()} + + def predict(self, wav_path): + # 特征提取 + mfcc = self._extract_features(wav_path) + src = Tensor(mfcc[np.newaxis, ...], ms.float32) + + # 自回归解码 + tgt = Tensor([[self.char2idx['']]], ms.int32) # 开始符 + output_ids = [] + + for _ in range(100): # 最大生成长度 + outputs = self.model(src, tgt) + next_id = int(outputs[0, -1].argmax()) + if next_id == self.char2idx['']: # 结束符 + break + output_ids.append(next_id) + tgt = ops.concat((tgt, Tensor([[next_id]], ms.int32)), axis=1) + + return ''.join([self.idx2char[i] for i in output_ids]) + + def _extract_features(self, wav_path): + wav, _ = librosa.load(wav_path, sr=16000) + return librosa.feature.mfcc(y=wav, sr=16000, n_mfcc=40).T + +# ====================== +# 5. 主程序入口 +# ====================== +if __name__ == "__main__": + # 训练模型 + train_asr() + + # 测试推理 + predictor = ASRPredictor("asr_model.ckpt", char2idx={'a':0, 'b':1, ...}) + result = predictor.predict("test.wav") + print("识别结果:", result) diff --git a/summer-ospp/bankagent/arsr_tts/env.example b/summer-ospp/bankagent/arsr_tts/env.example new file mode 100644 index 00000000..6a417e25 --- /dev/null +++ b/summer-ospp/bankagent/arsr_tts/env.example @@ -0,0 +1,11 @@ +# 必填 +export HUAWEI_AK="HPUAT6HFEYS1ZK55LT60" +export HUAWEI_SK="6CYfD5a0x5bbkUxPm3tM2o9NCgTJ0CYPdWrITIHa" +export HUAWEI_PROJECT_ID="01f29acd906249abb46328f2cab3d2f5" # 形如 3e77...bcc +export HUAWEI_REGION="cn-north-4" + +# 可选:覆盖默认 endpoint;公网用 sis-ext,若后续走VPCEP就换成私网域名 +export HUAWEI_SIS_ENDPOINT="https://sis-ext.cn-north-4.myhuaweicloud.com" + +# 本服务 API Key(防止被未授权调用) +export BANK_ASR_TTS_API_KEY="super_secret_12345" diff --git a/summer-ospp/bankagent/arsr_tts/huaweicloud_sis.py b/summer-ospp/bankagent/arsr_tts/huaweicloud_sis.py new file mode 100644 index 00000000..cb8fd9d5 --- /dev/null +++ b/summer-ospp/bankagent/arsr_tts/huaweicloud_sis.py @@ -0,0 +1,102 @@ +# huaweicloud_sis.py +import os, hmac, hashlib, base64, json, datetime, requests +from typing import Tuple + +AK = os.getenv("HUAWEI_AK") +SK = os.getenv("HUAWEI_SK") +PROJECT_ID = os.getenv("HUAWEI_PROJECT_ID") +REGION = os.getenv("HUAWEI_REGION", "cn-north-4") +SIS_ENDPOINT = os.getenv("HUAWEI_SIS_ENDPOINT", f"https://sis-ext.{REGION}.myhuaweicloud.com").rstrip("/") + +if not (AK and SK and PROJECT_ID): + raise RuntimeError("请先设置 HUAWEI_AK / HUAWEI_SK / HUAWEI_PROJECT_ID(必填),HUAWEI_REGION 可选,HUAWEI_SIS_ENDPOINT 可选") + +def _utc_iso() -> str: + # 形如:20250829T080102Z + return datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%SZ") + +def _canonical_request(method: str, path: str, query: str, headers: dict, body: bytes) -> Tuple[str, str]: + # 规范化 header:host + x-sdk-date 必须;其余按需增加 + # 注意:Host 必须与实际域名一致 + host = SIS_ENDPOINT.replace("https://", "").replace("http://", "") + x_sdk_date = headers.get("X-Sdk-Date") or _utc_iso() + headers["Host"] = host + headers["X-Sdk-Date"] = x_sdk_date + + # 参与签名的头(小写、按字典序) + signed_header_keys = ["host", "x-sdk-date"] + canonical_headers = f"host:{host}\n" + f"x-sdk-date:{x_sdk_date}\n" + signed_headers = ";".join(signed_header_keys) + + # body sha256 + payload_hash = hashlib.sha256(body or b"").hexdigest() + + # path & query 已经是规范形式(path 形如 /v1/{project_id}/tts) + canonical = "\n".join([ + method.upper(), + path, + query or "", + canonical_headers, + signed_headers, + payload_hash + ]) + return canonical, signed_headers + +def _sign(method: str, path: str, query: str, body: bytes, extra_headers: dict = None) -> dict: + """返回带 Authorization 的 headers;采用华为云 APIG V2 简化签名""" + headers = {"Content-Type": "application/json"} + if extra_headers: + headers.update(extra_headers) + canonical, signed_headers = _canonical_request(method, path, query, headers, body) + string_to_sign = canonical.encode("utf-8") + signature = hmac.new(SK.encode("utf-8"), string_to_sign, hashlib.sha256).hexdigest() + auth = f"HMAC-SHA256 Credential={AK}, SignedHeaders={signed_headers}, Signature={signature}" + headers["Authorization"] = auth + return headers + +def _request_json(method: str, url: str, path: str, body: dict, timeout: int = 60) -> dict: + body_bytes = json.dumps(body, ensure_ascii=False).encode("utf-8") + headers = _sign(method, path, "", body_bytes) + resp = requests.request(method, url, headers=headers, data=body_bytes, timeout=timeout) + if resp.status_code >= 300: + raise RuntimeError(f"SIS HTTP {resp.status_code}: {resp.text}") + return resp.json() + +# ===================== 一句话识别(短音频,<=1min,<=10MB) ===================== +def asr_short_sentence_wav16k(wav_bytes: bytes, lang="en_us") -> str: + # 参考属性:英文 16k + prop = "english_16k" if lang.lower().startswith("en") else "chinese_16k_general" + b64 = base64.b64encode(wav_bytes).decode("utf-8") + path = f"/v1/{PROJECT_ID}/short-audio" + url = f"{SIS_ENDPOINT}{path}" + body = { + "config": { + "audio_format": "wav", + "property": prop, + "add_punc": "yes" + }, + "data": b64 + } + data = _request_json("POST", url, path, body, timeout=90) + # 返回结构通常为 {"result":{"text":"..."}} + return (data.get("result") or {}).get("text", "") + +# ===================== 文本转语音(TTS) ===================== +def tts_text_to_wav(text: str, lang="en_us") -> bytes: + prop = "english_common" if lang.lower().startswith("en") else "chinese_xiaoyan_common" + path = f"/v1/{PROJECT_ID}/tts" + url = f"{SIS_ENDPOINT}{path}" + body = { + "text": text, + "config": { + "audio_format": "wav", + "sample_rate": "16000", + "property": prop + } + } + data = _request_json("POST", url, path, body, timeout=90) + # 返回结构通常为 {"result":{"data":"base64", "format":"wav"}} + b64 = (data.get("result") or {}).get("data", "") + if not b64: + raise RuntimeError(f"TTS返回空:{data}") + return base64.b64decode(b64) diff --git a/summer-ospp/bankagent/arsr_tts/luyin.py b/summer-ospp/bankagent/arsr_tts/luyin.py new file mode 100644 index 00000000..43dce716 --- /dev/null +++ b/summer-ospp/bankagent/arsr_tts/luyin.py @@ -0,0 +1,12 @@ +import sounddevice as sd +import soundfile as sf + +fs = 16000 # 采样率 +seconds = 3 # 录音时长 + +print("开始录音...") +audio = sd.rec(int(seconds * fs), samplerate=fs, channels=1, dtype='int16') +sd.wait() +print("录音完成,保存为 sample.wav") + +sf.write("sample.wav", audio, fs) diff --git a/summer-ospp/bankagent/arsr_tts/requirements.txt b/summer-ospp/bankagent/arsr_tts/requirements.txt new file mode 100644 index 00000000..409e6181 --- /dev/null +++ b/summer-ospp/bankagent/arsr_tts/requirements.txt @@ -0,0 +1,6 @@ +fastapi==0.111.0 +uvicorn[standard]==0.30.0 +requests==2.32.3 +soundfile==0.12.1 +numpy==1.26.4 +python-multipart==0.0.9 \ No newline at end of file diff --git a/summer-ospp/bankagent/arsr_tts/tts.py b/summer-ospp/bankagent/arsr_tts/tts.py new file mode 100644 index 00000000..0bea0e6b --- /dev/null +++ b/summer-ospp/bankagent/arsr_tts/tts.py @@ -0,0 +1,9 @@ +# tts.py +import base64 +from huaweicloud_sis import tts_text_to_wav + +def tts_wav_bytes(text: str) -> bytes: + return tts_text_to_wav(text, lang="en_us") + +def tts_wav_base64(text: str) -> str: + return base64.b64encode(tts_wav_bytes(text)).decode("utf-8") diff --git a/summer-ospp/bankagent/arsr_tts/utils_audio.py b/summer-ospp/bankagent/arsr_tts/utils_audio.py new file mode 100644 index 00000000..100dfe53 --- /dev/null +++ b/summer-ospp/bankagent/arsr_tts/utils_audio.py @@ -0,0 +1,57 @@ +# utils_audio.py —— 无需 soundfile;优先使用 ffmpeg,失败则纯 Python WAV 兜底 +import io, os, shutil, subprocess, numpy as np, wave + +def _has_ffmpeg(): + return shutil.which("ffmpeg") is not None + +def _resample_linear(x: np.ndarray, src_sr: int, dst_sr: int) -> np.ndarray: + if src_sr == dst_sr: + return x.astype(np.float32) + t_old = np.linspace(0, len(x)/src_sr, num=len(x), endpoint=False) + t_new = np.linspace(0, len(x)/src_sr, num=int(len(x)*dst_sr/src_sr), endpoint=False) + y = np.interp(t_new, t_old, x).astype(np.float32) + return y + +def _wav_bytes_to_np(raw_bytes: bytes): + # 兜底方案,仅支持 PCM WAV + bio = io.BytesIO(raw_bytes) + with wave.open(bio, 'rb') as wf: + n_channels = wf.getnchannels() + sampwidth = wf.getsampwidth() + framerate = wf.getframerate() + n_frames = wf.getnframes() + pcm = wf.readframes(n_frames) + if sampwidth == 2: + dtype = np.int16 + data = np.frombuffer(pcm, dtype=dtype).astype(np.float32) / 32768.0 + else: + data = np.frombuffer(pcm, dtype=np.uint8).astype(np.float32) + data = (data - 128.0) / 128.0 + if n_channels > 1: + data = data.reshape(-1, n_channels).mean(axis=1) + return data, int(framerate) + +def ensure_wav16k_mono(raw_bytes: bytes) -> bytes: + """将任意输入音频转成 16kHz/mono 的 WAV(bytes)""" + if _has_ffmpeg(): + try: + p = subprocess.run( + ["ffmpeg", "-hide_banner", "-loglevel", "error", + "-i", "pipe:0", "-f", "wav", "-ar", "16000", "-ac", "1", "pipe:1"], + input=raw_bytes, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True + ) + return p.stdout + except subprocess.CalledProcessError: + pass + + # 没有 ffmpeg,兜底:只能处理 WAV + data, sr = _wav_bytes_to_np(raw_bytes) + data = _resample_linear(data, sr, 16000) + bio = io.BytesIO() + with wave.open(bio, 'wb') as wf: + wf.setnchannels(1) + wf.setsampwidth(2) # 16-bit PCM + wf.setframerate(16000) + pcm = np.clip(data * 32767.0, -32768, 32767).astype(np.int16).tobytes() + wf.writeframes(pcm) + return bio.getvalue() diff --git a/summer-ospp/bankagent/bank-user/# dify_integration.py b/summer-ospp/bankagent/bank-user/# dify_integration.py new file mode 100644 index 00000000..327ae5f5 --- /dev/null +++ b/summer-ospp/bankagent/bank-user/# dify_integration.py @@ -0,0 +1,26 @@ +# dify_integration.py +from account_manager import AccountManager + +account_manager = AccountManager() + +def authenticate_user(username, password): + """用于Dify认证的API端点""" + account = account_manager.authenticate(username, password) + if account: + return { + "success": True, + "user_id": account['user_id'], + "account_type": account['account_type'] + } + return {"success": False, "message": "Invalid credentials"} + +def get_account_info(user_id): + """获取账户信息供智能体使用""" + account = account_manager.get_account(user_id) + if account: + return { + "balance": account['account_balance'], + "phone": account['phone'], + "transactions": account['transactions'] + } + return None \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/# generate_test_data.py b/summer-ospp/bankagent/bank-user/# generate_test_data.py new file mode 100644 index 00000000..395490d9 --- /dev/null +++ b/summer-ospp/bankagent/bank-user/# generate_test_data.py @@ -0,0 +1,37 @@ +# generate_test_data.py +import json +import random +import hashlib +from datetime import datetime, timedelta + +def generate_accounts(num=10): + accounts = [] + for i in range(1, num+1): + user_id = f"100{i:02d}" + accounts.append({ + "user_id": user_id, + "username": f"customer{i}", + "password": hashlib.sha256(f"Password123!{i}".encode()).hexdigest(), + "phone": f"13800138{random.randint(100,999)}", + "account_type": random.choice(["personal", "business"]), + "account_balance": round(random.uniform(1000, 1000000), 2), + "last_login": (datetime.utcnow() - timedelta(days=random.randint(0,30))).isoformat() + 'Z', + "transactions": generate_transactions() + }) + return accounts + +def generate_transactions(max_txns=5): + txns = [] + for i in range(random.randint(1, max_txns)): + txns.append({ + "id": f"txn{random.randint(1000,9999)}", + "date": (datetime.utcnow() - timedelta(days=random.randint(1,90))).strftime("%Y-%m-%d"), + "amount": round(random.uniform(10, 10000), 2), + "type": random.choice(["deposit", "withdrawal", "transfer"]) + }) + return txns + +if __name__ == "__main__": + accounts = generate_accounts() + with open('bank_users.json', 'w') as f: + json.dump(accounts, f, indent=2) \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/# test_asr.py b/summer-ospp/bankagent/bank-user/# test_asr.py new file mode 100644 index 00000000..4fd28b10 --- /dev/null +++ b/summer-ospp/bankagent/bank-user/# test_asr.py @@ -0,0 +1,39 @@ +# test_asr.py +import requests +import os + +def test_asr(): + """测试ASR功能""" + print("测试语音识别功能...") + + # 你可以录制一个英文语音文件来测试,或者使用现有的 + test_audio_file = "E:\guolei\Documents\bank-user\tts_output\tts_1756829756_5376c557.wav" # 替换为你的测试文件 + + if not os.path.exists(test_audio_file): + print("请先创建一个测试音频文件") + return + + try: + with open(test_audio_file, 'rb') as f: + files = {'audio': (test_audio_file, f, 'audio/wav')} + data = {'language': 'en'} + + response = requests.post( + "http://127.0.0.1:8080/asr/transcribe", + files=files, + data=data, + timeout=30 + ) + + print(f"状态码: {response.status_code}") + if response.status_code == 200: + result = response.json() + print(f"识别结果: {result}") + else: + print(f"错误: {response.text}") + + except Exception as e: + print(f"测试失败: {e}") + +if __name__ == "__main__": + test_asr() \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/__pycache__/account_manager.cpython-39.pyc b/summer-ospp/bankagent/bank-user/__pycache__/account_manager.cpython-39.pyc new file mode 100644 index 00000000..686ff3ff Binary files /dev/null and b/summer-ospp/bankagent/bank-user/__pycache__/account_manager.cpython-39.pyc differ diff --git a/summer-ospp/bankagent/bank-user/account_manager.py b/summer-ospp/bankagent/bank-user/account_manager.py new file mode 100644 index 00000000..a22bdfdb --- /dev/null +++ b/summer-ospp/bankagent/bank-user/account_manager.py @@ -0,0 +1,46 @@ +# account_manager.py +import json +import hashlib +from datetime import datetime + +class AccountManager: + def __init__(self, json_file='accounts.json'): + self.json_file = json_file + self.accounts = self._load_accounts() + + def _load_accounts(self): + try: + with open(self.json_file, 'r') as f: + return json.load(f) + except FileNotFoundError: + return [] + + def _save_accounts(self): + with open(self.json_file, 'w') as f: + json.dump(self.accounts, f, indent=2) + + def hash_password(self, password): + return hashlib.sha256(password.encode()).hexdigest() + + def authenticate(self, username, password): + hashed_pw = self.hash_password(password) + for account in self.accounts: + if account['username'] == username and account['password'] == hashed_pw: + account['last_login'] = datetime.utcnow().isoformat() + 'Z' + self._save_accounts() + return account + return None + + def get_account(self, user_id): + for account in self.accounts: + if account['user_id'] == user_id: + return account + return None + + def update_account(self, user_id, updates): + for i, account in enumerate(self.accounts): + if account['user_id'] == user_id: + self.accounts[i].update(updates) + self._save_accounts() + return True + return False \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/accounts.json b/summer-ospp/bankagent/bank-user/accounts.json new file mode 100644 index 00000000..8734d176 --- /dev/null +++ b/summer-ospp/bankagent/bank-user/accounts.json @@ -0,0 +1,322 @@ +[ + { + "user_id": "10001", + "username": "customer1", + "password": "8af81c3b9d9f5d902561a779e6d37decb9fc5858e004e32a6eb514a92f2d0bfb", + "phone": "13800138107", + "account_type": "personal", + "account_balance": 234217.46, + "last_login": "2025-07-02T07:41:43.780175Z", + "transactions": [ + { + "id": "txn6124", + "date": "2025-05-09", + "amount": 9249.67, + "type": "transfer" + }, + { + "id": "txn6358", + "date": "2025-07-10", + "amount": 4263.38, + "type": "withdrawal" + }, + { + "id": "txn3689", + "date": "2025-04-29", + "amount": 8558.66, + "type": "withdrawal" + } + ] + }, + { + "user_id": "10002", + "username": "customer2", + "password": "1d3f3605f8b5373d88e5e92593f990e2d23c336250b8cdc420f0ca7cbfa8c20d", + "phone": "13800138721", + "account_type": "business", + "account_balance": 829808.13, + "last_login": "2025-07-09T07:41:43.780175Z", + "transactions": [ + { + "id": "txn6753", + "date": "2025-06-14", + "amount": 3309.07, + "type": "transfer" + }, + { + "id": "txn4797", + "date": "2025-04-21", + "amount": 652.15, + "type": "withdrawal" + }, + { + "id": "txn6183", + "date": "2025-04-24", + "amount": 6334.77, + "type": "withdrawal" + }, + { + "id": "txn5757", + "date": "2025-06-23", + "amount": 5702.16, + "type": "deposit" + } + ] + }, + { + "user_id": "10003", + "username": "customer3", + "password": "597c9ccb46ebe29a6f8eb7f55f90533bd5943a87d50926fb3850667ad19dc3c2", + "phone": "13800138729", + "account_type": "personal", + "account_balance": 937734.06, + "last_login": "2025-07-05T07:41:43.780175Z", + "transactions": [ + { + "id": "txn7990", + "date": "2025-06-08", + "amount": 7627.04, + "type": "transfer" + }, + { + "id": "txn4376", + "date": "2025-07-13", + "amount": 8529.0, + "type": "transfer" + }, + { + "id": "txn1179", + "date": "2025-05-17", + "amount": 3738.13, + "type": "withdrawal" + }, + { + "id": "txn2730", + "date": "2025-05-14", + "amount": 1663.73, + "type": "withdrawal" + }, + { + "id": "txn1066", + "date": "2025-06-15", + "amount": 1387.96, + "type": "withdrawal" + } + ] + }, + { + "user_id": "10004", + "username": "customer4", + "password": "9ff49c3319cfe44e32ce0e45f2ac03e844ca0018752743b2d6aa787a96bce7c2", + "phone": "13800138525", + "account_type": "personal", + "account_balance": 945917.47, + "last_login": "2025-07-09T07:41:43.780175Z", + "transactions": [ + { + "id": "txn7714", + "date": "2025-06-13", + "amount": 4575.7, + "type": "withdrawal" + }, + { + "id": "txn8948", + "date": "2025-07-09", + "amount": 5732.32, + "type": "withdrawal" + }, + { + "id": "txn4681", + "date": "2025-05-01", + "amount": 438.3, + "type": "transfer" + } + ] + }, + { + "user_id": "10005", + "username": "customer5", + "password": "a4dd171ed8d6cd1a9cf49b7e1a6a950aafd3dd2dfc367bd9732ee1373d0045f3", + "phone": "13800138315", + "account_type": "business", + "account_balance": 103551.38, + "last_login": "2025-06-24T07:41:43.780175Z", + "transactions": [ + { + "id": "txn3169", + "date": "2025-05-05", + "amount": 762.05, + "type": "deposit" + }, + { + "id": "txn8725", + "date": "2025-06-10", + "amount": 538.61, + "type": "deposit" + }, + { + "id": "txn2751", + "date": "2025-05-09", + "amount": 7424.85, + "type": "transfer" + }, + { + "id": "txn5671", + "date": "2025-05-26", + "amount": 7941.67, + "type": "withdrawal" + }, + { + "id": "txn4290", + "date": "2025-07-06", + "amount": 6917.5, + "type": "deposit" + } + ] + }, + { + "user_id": "10006", + "username": "customer6", + "password": "450a792bdbc9296a1573ff332fe8cc3d5f99468322452208435f6a95669bf4a8", + "phone": "13800138616", + "account_type": "business", + "account_balance": 648550.25, + "last_login": "2025-06-22T07:41:43.780175Z", + "transactions": [ + { + "id": "txn2637", + "date": "2025-07-03", + "amount": 6977.04, + "type": "transfer" + }, + { + "id": "txn4553", + "date": "2025-05-16", + "amount": 6347.8, + "type": "deposit" + } + ] + }, + { + "user_id": "10007", + "username": "customer7", + "password": "2aa88297d3536a340855b0422df832b43b0a450f7cefe23a097e896199805894", + "phone": "13800138469", + "account_type": "personal", + "account_balance": 40888.19, + "last_login": "2025-06-18T07:41:43.780175Z", + "transactions": [ + { + "id": "txn6706", + "date": "2025-05-24", + "amount": 5094.16, + "type": "transfer" + }, + { + "id": "txn2052", + "date": "2025-04-29", + "amount": 996.17, + "type": "withdrawal" + }, + { + "id": "txn9779", + "date": "2025-04-29", + "amount": 4584.1, + "type": "deposit" + }, + { + "id": "txn9492", + "date": "2025-06-19", + "amount": 3696.52, + "type": "transfer" + }, + { + "id": "txn7805", + "date": "2025-04-27", + "amount": 7653.58, + "type": "deposit" + } + ] + }, + { + "user_id": "10008", + "username": "customer8", + "password": "835ffb581a477770a5d0fea900c54af3d55ef6d3cc972860cd1e16f70854d748", + "phone": "13800138750", + "account_type": "personal", + "account_balance": 877665.97, + "last_login": "2025-07-06T07:41:43.780175Z", + "transactions": [ + { + "id": "txn3723", + "date": "2025-05-14", + "amount": 9481.56, + "type": "withdrawal" + }, + { + "id": "txn7582", + "date": "2025-07-07", + "amount": 39.02, + "type": "deposit" + }, + { + "id": "txn5261", + "date": "2025-05-25", + "amount": 7928.78, + "type": "transfer" + } + ] + }, + { + "user_id": "10009", + "username": "customer9", + "password": "5070d27306c2b2e94641b05ed5ebb7f1d8f3f9f873647db64f002a54517ba6fe", + "phone": "13800138914", + "account_type": "personal", + "account_balance": 140305.3, + "last_login": "2025-07-13T07:41:43.780175Z", + "transactions": [ + { + "id": "txn9467", + "date": "2025-05-21", + "amount": 9388.58, + "type": "transfer" + }, + { + "id": "txn3819", + "date": "2025-07-10", + "amount": 6530.43, + "type": "deposit" + }, + { + "id": "txn4359", + "date": "2025-06-18", + "amount": 2497.94, + "type": "withdrawal" + } + ] + }, + { + "user_id": "10010", + "username": "customer10", + "password": "7aad492fabb3d0becf84256b5755573e69ad0ff48d02d1d1a08a1f8380e0d43f", + "phone": "13800138335", + "account_type": "business", + "account_balance": 531803.65, + "last_login": "2025-06-28T07:41:43.780175Z", + "transactions": [ + { + "id": "txn4425", + "date": "2025-05-22", + "amount": 5138.09, + "type": "deposit" + }, + { + "id": "txn4427", + "date": "2025-06-12", + "amount": 555.06, + "type": "transfer" + } + ] + } +] \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/app.py b/summer-ospp/bankagent/bank-user/app.py new file mode 100644 index 00000000..f20c40ca --- /dev/null +++ b/summer-ospp/bankagent/bank-user/app.py @@ -0,0 +1,329 @@ +from flask import Flask, request, jsonify +import json +import hashlib +import os, time, threading + +app = Flask(__name__) + +# ======= 数据加载 ======= +with open('bank_users.json', 'r', encoding='utf-8') as f: + users = json.load(f)["userData"] + +# 可选:画像文件,用于投资推荐(若没有该文件,请先生成或按需调整) +try: + with open('user_profiles.json', 'r', encoding='utf-8') as f: + user_profiles = {u["userId"]: u for u in json.load(f)["users"]} +except Exception: + user_profiles = {} # 没有画像文件时置空,也能跑,只是推荐逻辑将退化为保守方案 + +# ======= 投诉数据文件(最小持久化) ======= +TICKETS_FILE = 'tickets.json' +_tickets_lock = threading.Lock() + +def _load_tickets(): + if not os.path.exists(TICKETS_FILE): + return {"tickets": []} + with open(TICKETS_FILE, 'r', encoding='utf-8') as f: + return json.load(f) + +def _save_tickets(data): + with _tickets_lock: + with open(TICKETS_FILE, 'w', encoding='utf-8') as f: + json.dump(data, f, ensure_ascii=False, indent=2) + +def _gen_ticket_id(): + # TKT-YYYYMMDD-abcdef(毫秒简化) + return f"TKT-{time.strftime('%Y%m%d')}-{int(time.time()*1000)%1000000:06d}" + +def _now_iso(): + return time.strftime('%Y-%m-%dT%H:%M:%SZ', time.gmtime()) + + +# ======= 工具函数 ======= +def md5_hash(text: str) -> str: + return hashlib.md5(text.encode('utf-8')).hexdigest() + +def find_user_by_phone_password(phone: str, password_plain: str): + """根据手机号+明文密码返回用户对象,不存在返回 None""" + if not phone or not password_plain: + return None + hashed = md5_hash(password_plain) + for u in users: + if u.get('phoneNumber') == phone and u.get('password') == hashed: + return u + return None + +def find_user_by_id(user_id: str): + for u in users: + if u.get('userId') == user_id: + return u + return None + +def recommend_by_profile(profile: dict): + """ + 基于画像给出示例推荐清单。 + 你可按业务需求替换成更精细的规则或模型打分。 + """ + risk = (profile.get("riskLevel") or "low").lower() + exp = (profile.get("investmentExperience") or "none").lower() + income = (profile.get("incomeLevel") or "low").lower() + + # 简单规则示例 + if risk == "high": + products = [ + "Tech Growth Fund", + "Crypto Index ETF", + "AI Startups Portfolio" + ] + elif risk == "medium": + if exp in ["advanced", "moderate"]: + products = [ + "Global Equity Fund", + "Balanced Income Fund", + "Emerging Market ETF" + ] + else: + products = [ + "Balanced Income Fund", + "Index Bond Fund" + ] + else: # low + products = [ + "Government Bond Fund", + "Fixed Income ETF", + "Capital Protection Plan" + ] + + # 可按收入微调(演示) + if income == "high" and "Capital Protection Plan" in products: + products.remove("Capital Protection Plan") + products.append("Investment-Grade Corporate Bond Fund") + + return products + + +# ======= 接口实现 ======= + +# 🔐 用户认证 +@app.route('/api/authenticate', methods=['POST']) +def authenticate_user(): + data = request.get_json(silent=True) or {} + phone_number = data.get("phoneNumber") + password = data.get("password") + if not phone_number or not password: + return jsonify({"status": "fail", "message": "Missing phoneNumber or password"}), 400 + + user = find_user_by_phone_password(phone_number, password) + if user: + summary_text = ( + f"{user['username']}, you have successfully logged in. " + f"Your account type is {user['accountType']}, and your level is {user['accountLevel']}." + ) + return jsonify({ + "userId": user['userId'], + "username": user['username'], + "accountLevel": user['accountLevel'], + "accountType": user['accountType'], + "status": "active", + "text": summary_text + }) + return jsonify({"status": "fail", "message": "Authentication failed"}), 401 + + +# 💰 余额查询 +@app.route('/api/balance', methods=['POST']) +def balance_query(): + data = request.get_json(silent=True) or {} + phone_number = data.get("phoneNumber") + password = data.get("password") + if not phone_number or not password: + return jsonify({"error": "Missing phoneNumber or password"}), 400 + + user = find_user_by_phone_password(phone_number, password) + if user: + return jsonify({ + "username": user['username'], + "accountBalance": user['accountBalance'], + "accountLevel": user['accountLevel'], + "text": f"{user['username']}, your current account balance is {user['accountBalance']:,.2f} RMB." + }) + return jsonify({"error": "Unauthorized or user not found"}), 401 + + +# 📄 交易记录查询 +@app.route('/api/transactions', methods=['POST']) +def transaction_query(): + data = request.get_json(silent=True) or {} + phone_number = data.get("phoneNumber") + password = data.get("password") + if not phone_number or not password: + return jsonify({"error": "Missing phoneNumber or password"}), 400 + + user = find_user_by_phone_password(phone_number, password) + if user: + transactions = user.get('transactions', []) + summary = [] + for tx in transactions[:3]: # 仅摘要前三条 + ts = tx.get('timestamp', 'N/A') + ttype = tx.get('type', 'N/A') + amt = tx.get('amount', 0.0) + summary.append(f"{ts}: {ttype} of {amt:,.2f} RMB") + summary_text = ( + f"{user['username']}, here are your recent transactions: " + "; ".join(summary) + "." + if summary else f"{user['username']}, no recent transactions were found." + ) + return jsonify({ + "username": user['username'], + "transactions": transactions, + "text": summary_text + }) + return jsonify({"error": "Unauthorized"}), 401 + + +# 🧠 投资产品推荐 +# 入参优先级:userId > (phoneNumber + password) +# 返回字段:username, recommendedProducts[], summary(并镜像到 text,便于 Dify 映射为主输出) +@app.route('/api/recommend', methods=['POST']) +def recommend_products(): + data = request.get_json(silent=True) or {} + print("[/api/recommend] body:", data) + + # 1) 优先使用 userId + user_id = data.get("userId") + user = None + if user_id: + user = find_user_by_id(user_id) + print(f" lookup by userId={user_id} -> {bool(user)}") + + # 2) 若无 userId,则允许用 phoneNumber + password 先认证 + if not user and ("phoneNumber" in data and "password" in data): + phone = data.get("phoneNumber") + password = data.get("password") + user = find_user_by_phone_password(phone, password) + print(f" lookup by phone={phone} -> {bool(user)}") + + if not user: + return jsonify({"error": "User not found or unauthorized. Please provide valid userId or phoneNumber/password."}), 401 + + # 3) 画像获取 + profile = user_profiles.get(user["userId"], { + "userId": user["userId"], + "username": user["username"], + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "none" + }) + products = recommend_by_profile(profile) + + summary = ( + f"Hello {user['username']}, based on your profile (Risk: {profile.get('riskLevel', 'low')}, " + f"Income: {profile.get('incomeLevel', 'low')}), we recommend: {', '.join(products)}." + ) + + return jsonify({ + "username": user["username"], + "recommendedProducts": products, + "summary": summary, + "text": summary + }) + + +# ===================== 投诉接口 ===================== + +def _ensure_user_by_payload(data): + """ + 支持两种方式关联用户: + 1) 直接传 userId + 2) 传 phoneNumber + password(明文),后端校验 + (如你已实现 Bearer token,可在此处优先校验 Authorization 头) + """ + # 1) userId + user_id = data.get("userId") + if user_id: + u = find_user_by_id(user_id) + if u: + return u + + # 2) phoneNumber + password + phone = data.get("phoneNumber") + pwd = data.get("password") + if phone and pwd: + u = find_user_by_phone_password(phone, pwd) + if u: + return u + + return None + + +# 创建投诉单 +@app.route('/api/tickets', methods=['POST']) +def create_ticket(): + body = request.get_json(silent=True) or {} + print("[/api/tickets] body:", body) + + # 关联用户 + user = _ensure_user_by_payload(body) + if not user: + return jsonify({"error": "Unauthorized or user not found"}), 401 + + category = (body.get("category") or "other").lower() + content = body.get("content") or "" + if not content.strip(): + return jsonify({"error": "content is required"}), 400 + + data = _load_tickets() + ticket_id = _gen_ticket_id() + now = _now_iso() + ticket = { + "ticketId": ticket_id, + "userId": user["userId"], + "username": user["username"], + "category": category, + "content": content, + "status": "open", # open -> processing -> resolved/closed + "createdAt": now, + "updatedAt": now + } + data["tickets"].append(ticket) + _save_tickets(data) + + text = f"Ticket {ticket_id} has been created and is now open. We'll keep you updated." + return jsonify({ + "ticketId": ticket_id, + "status": "open", + "text": text + }) + + +# 查询投诉单状态 +@app.route('/api/tickets/', methods=['GET']) +def get_ticket_status(ticket_id): + data = _load_tickets() + t = next((x for x in data["tickets"] if x["ticketId"] == ticket_id), None) + if not t: + return jsonify({"error": "ticket not found"}), 404 + text = f"Ticket {t['ticketId']} is currently {t['status']}." + return jsonify({ + "ticketId": t["ticketId"], + "status": t["status"], + "text": text + }) + + +# 按用户列出工单(可用于“查看我的投诉”) +@app.route('/api/tickets/user/', methods=['GET']) +def list_user_tickets(user_id): + data = _load_tickets() + items = [x for x in data["tickets"] if x["userId"] == user_id] + text = f"You have {len(items)} tickets in total." + return jsonify({ + "userId": user_id, + "count": len(items), + "tickets": items, + "text": text + }) + + +if __name__ == '__main__': + # 生产环境请改为 WSGI/反向代理,这里仅用于本地调试 + app.run(debug=True, host='0.0.0.0', port=5000) diff --git a/summer-ospp/bankagent/bank-user/bank_users.json b/summer-ospp/bankagent/bank-user/bank_users.json new file mode 100644 index 00000000..f1224c5d --- /dev/null +++ b/summer-ospp/bankagent/bank-user/bank_users.json @@ -0,0 +1,3622 @@ +{ + "userData": [ + { + "userId": "10001", + "username": "mark", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13035968176", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 203060.88, + "accountOpened": "2018-08-10", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202338285", + "timestamp": "2023-01-07 00:00:00", + "amount": -6025.95, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202339552", + "timestamp": "2023-09-14 00:00:00", + "amount": 46045.46, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202341896", + "timestamp": "2023-05-20 00:00:00", + "amount": 11667.29, + "type": "purchase", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202300841", + "timestamp": "2023-07-21 00:00:00", + "amount": -25074.88, + "type": "salary", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202393785", + "timestamp": "2023-06-17 00:00:00", + "amount": -7316.6, + "type": "purchase", + "counterparty": "京东商城", + "remark": "购物" + } + ], + "fullName": "mark", + "accountNumber": "ACCT-0001", + "ssnLast4": "8176" + }, + { + "userId": "10002", + "username": "xiulan", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13366108583", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 547891.32, + "accountOpened": "2022-01-16", + "lastLogin": "2023-10-27T00:00:00Z", + "transactions": [], + "fullName": "xiulan", + "accountNumber": "ACCT-0002", + "ssnLast4": "8583" + }, + { + "userId": "10003", + "username": "gl", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13627358021", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 417162.23, + "accountOpened": "2021-08-21", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202370908", + "timestamp": "2023-07-26 00:00:00", + "amount": -18637.33, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202356579", + "timestamp": "2023-04-28 00:00:00", + "amount": 18145.83, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202371794", + "timestamp": "2023-05-01 00:00:00", + "amount": -21798.78, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202302864", + "timestamp": "2023-11-14 00:00:00", + "amount": 22411.31, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ], + "fullName": "gl", + "accountNumber": "ACCT-0003", + "ssnLast4": "8021" + }, + { + "userId": "10004", + "username": "dahai", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13417387115", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 747422.25, + "accountOpened": "2020-09-15", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392681", + "timestamp": "2023-07-26 00:00:00", + "amount": 9279.71, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "工资" + } + ], + "fullName": "dahai", + "accountNumber": "ACCT-0004", + "ssnLast4": "7115" + }, + { + "userId": "10005", + "username": "bob", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13482042498", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 29430.13, + "accountOpened": "2022-12-16", + "lastLogin": "2023-11-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202378627", + "timestamp": "2023-08-15 00:00:00", + "amount": -39023.72, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202379692", + "timestamp": "2023-03-20 00:00:00", + "amount": -30249.4, + "type": "purchase", + "counterparty": "", + "remark": "转账" + } + ], + "fullName": "bob", + "accountNumber": "ACCT-0005", + "ssnLast4": "2498" + }, + { + "userId": "10006", + "username": "eason", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13768016722", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 747206.69, + "accountOpened": "2018-12-20", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392122", + "timestamp": "2023-10-15 00:00:00", + "amount": -27796.72, + "type": "salary", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202398695", + "timestamp": "2023-08-01 00:00:00", + "amount": -20272.6, + "type": "salary", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202358765", + "timestamp": "2023-05-11 00:00:00", + "amount": -17440.09, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202397588", + "timestamp": "2023-10-28 00:00:00", + "amount": -3077.46, + "type": "purchase", + "counterparty": "支付宝", + "remark": "转账" + } + ], + "fullName": "eason", + "accountNumber": "ACCT-0006", + "ssnLast4": "6722" + }, + { + "userId": "10007", + "username": "jay", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13511109572", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 792096.21, + "accountOpened": "2023-05-11", + "lastLogin": "2023-11-05T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202383283", + "timestamp": "2023-09-07 00:00:00", + "amount": -44802.94, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202370587", + "timestamp": "2023-05-07 00:00:00", + "amount": -26370.81, + "type": "other", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202387703", + "timestamp": "2023-02-11 00:00:00", + "amount": 24481.52, + "type": "other", + "counterparty": "银行理财", + "remark": "" + } + ], + "fullName": "jay", + "accountNumber": "ACCT-0007", + "ssnLast4": "9572" + }, + { + "userId": "10008", + "username": "吴秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13570759177", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 538441.05, + "accountOpened": "2021-04-06", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [], + "fullName": "吴秀兰", + "accountNumber": "ACCT-0008", + "ssnLast4": "9177" + }, + { + "userId": "10009", + "username": "李秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13798845588", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 232357.45, + "accountOpened": "2017-04-08", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202329062", + "timestamp": "2023-07-11 00:00:00", + "amount": -18632.61, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + } + ], + "fullName": "李秀兰", + "accountNumber": "ACCT-0009", + "ssnLast4": "5588" + }, + { + "userId": "10010", + "username": "张洋", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13183229469", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 848282.25, + "accountOpened": "2016-06-20", + "lastLogin": "2023-10-20T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202361996", + "timestamp": "2023-01-09 00:00:00", + "amount": 9141.27, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202376283", + "timestamp": "2023-08-11 00:00:00", + "amount": 17055.2, + "type": "transfer", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202305204", + "timestamp": "2023-03-15 00:00:00", + "amount": -1530.28, + "type": "other", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202348165", + "timestamp": "2023-05-03 00:00:00", + "amount": -33443.37, + "type": "transfer", + "counterparty": "京东商城", + "remark": "投资" + } + ], + "fullName": "张洋", + "accountNumber": "ACCT-0010", + "ssnLast4": "9469" + }, + { + "userId": "10011", + "username": "杨芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13908611671", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 72434.47, + "accountOpened": "2022-11-05", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [], + "fullName": "杨芳", + "accountNumber": "ACCT-0011", + "ssnLast4": "1671" + }, + { + "userId": "10012", + "username": "陈勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13159211431", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 400961.41, + "accountOpened": "2017-09-06", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202312613", + "timestamp": "2023-02-16 00:00:00", + "amount": 39407.19, + "type": "purchase", + "counterparty": "", + "remark": "购物" + } + ], + "fullName": "陈勇", + "accountNumber": "ACCT-0012", + "ssnLast4": "1431" + }, + { + "userId": "10013", + "username": "吴勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13314788890", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 473593.99, + "accountOpened": "2021-12-04", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354950", + "timestamp": "2023-08-06 00:00:00", + "amount": 24382.94, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202322645", + "timestamp": "2023-08-04 00:00:00", + "amount": -14258.85, + "type": "purchase", + "counterparty": "支付宝", + "remark": "还款" + } + ], + "fullName": "吴勇", + "accountNumber": "ACCT-0013", + "ssnLast4": "8890" + }, + { + "userId": "10014", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13717797674", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 625910.78, + "accountOpened": "2020-09-23", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [], + "fullName": "刘娟", + "accountNumber": "ACCT-0014", + "ssnLast4": "7674" + }, + { + "userId": "10015", + "username": "陈秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13716779772", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 756293.25, + "accountOpened": "2023-02-23", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [], + "fullName": "陈秀英", + "accountNumber": "ACCT-0015", + "ssnLast4": "9772" + }, + { + "userId": "10016", + "username": "陈霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13588746806", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 213005.53, + "accountOpened": "2017-07-22", + "lastLogin": "2023-11-05T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392541", + "timestamp": "2023-04-13 00:00:00", + "amount": 31117.05, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202386472", + "timestamp": "2023-07-26 00:00:00", + "amount": 35165.82, + "type": "salary", + "counterparty": "微信支付", + "remark": "投资" + }, + { + "transactionId": "TXN202380339", + "timestamp": "2023-10-31 00:00:00", + "amount": 36782.05, + "type": "withdrawal", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202358390", + "timestamp": "2023-04-28 00:00:00", + "amount": 9966.13, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202397163", + "timestamp": "2023-04-29 00:00:00", + "amount": -1720.85, + "type": "purchase", + "counterparty": "银行理财", + "remark": "工资" + } + ], + "fullName": "陈霞", + "accountNumber": "ACCT-0016", + "ssnLast4": "6806" + }, + { + "userId": "10017", + "username": "吴杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13947060526", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 670389.71, + "accountOpened": "2022-09-26", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314767", + "timestamp": "2023-09-06 00:00:00", + "amount": -20497.09, + "type": "salary", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202316142", + "timestamp": "2023-03-08 00:00:00", + "amount": 24769.69, + "type": "salary", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202369594", + "timestamp": "2023-02-06 00:00:00", + "amount": -44840.39, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202399219", + "timestamp": "2023-07-12 00:00:00", + "amount": -27252.29, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202317206", + "timestamp": "2023-10-08 00:00:00", + "amount": -30268.75, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ], + "fullName": "吴杰", + "accountNumber": "ACCT-0017", + "ssnLast4": "0526" + }, + { + "userId": "10018", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13692444096", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 711974.23, + "accountOpened": "2018-11-13", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202306230", + "timestamp": "2023-08-03 00:00:00", + "amount": -19575.43, + "type": "transfer", + "counterparty": "", + "remark": "工资" + } + ], + "fullName": "赵芳", + "accountNumber": "ACCT-0018", + "ssnLast4": "4096" + }, + { + "userId": "10019", + "username": "黄霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13350600805", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 483671.59, + "accountOpened": "2018-04-02", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202381176", + "timestamp": "2023-05-04 00:00:00", + "amount": -9518.05, + "type": "other", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202373200", + "timestamp": "2023-08-13 00:00:00", + "amount": -34933.78, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202312130", + "timestamp": "2023-03-01 00:00:00", + "amount": 10396.32, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202322921", + "timestamp": "2023-09-26 00:00:00", + "amount": 32979.46, + "type": "other", + "counterparty": "美团外卖", + "remark": "投资" + } + ], + "fullName": "黄霞", + "accountNumber": "ACCT-0019", + "ssnLast4": "0805" + }, + { + "userId": "10020", + "username": "吴娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13947069250", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 750222.29, + "accountOpened": "2015-05-08", + "lastLogin": "2023-11-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202345292", + "timestamp": "2023-01-22 00:00:00", + "amount": 10255.68, + "type": "withdrawal", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202376735", + "timestamp": "2023-05-23 00:00:00", + "amount": -46810.43, + "type": "salary", + "counterparty": "银行理财", + "remark": "投资" + }, + { + "transactionId": "TXN202311722", + "timestamp": "2023-03-19 00:00:00", + "amount": -16698.97, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ], + "fullName": "吴娜", + "accountNumber": "ACCT-0020", + "ssnLast4": "9250" + }, + { + "userId": "10021", + "username": "张杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13187007100", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 700822.3, + "accountOpened": "2016-08-03", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202321309", + "timestamp": "2023-02-03 00:00:00", + "amount": -47870.83, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202367105", + "timestamp": "2023-08-07 00:00:00", + "amount": 17306.88, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202336066", + "timestamp": "2023-07-14 00:00:00", + "amount": -47849.22, + "type": "salary", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202336075", + "timestamp": "2023-01-14 00:00:00", + "amount": -40621.52, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ], + "fullName": "张杰", + "accountNumber": "ACCT-0021", + "ssnLast4": "7100" + }, + { + "userId": "10022", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13887520476", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 797368.93, + "accountOpened": "2017-07-23", + "lastLogin": "2023-10-29T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367023", + "timestamp": "2023-01-02 00:00:00", + "amount": 40398.39, + "type": "other", + "counterparty": "", + "remark": "" + }, + { + "transactionId": "TXN202316605", + "timestamp": "2023-05-07 00:00:00", + "amount": 44884.45, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202367378", + "timestamp": "2023-07-05 00:00:00", + "amount": 33071.57, + "type": "salary", + "counterparty": "淘宝网", + "remark": "转账" + } + ], + "fullName": "刘娟", + "accountNumber": "ACCT-0022", + "ssnLast4": "0476" + }, + { + "userId": "10023", + "username": "黄艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13313134080", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 209249.19, + "accountOpened": "2021-06-09", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314132", + "timestamp": "2023-05-28 00:00:00", + "amount": 7564.54, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202364283", + "timestamp": "2023-06-24 00:00:00", + "amount": -27256.35, + "type": "purchase", + "counterparty": "微信支付", + "remark": "还款" + } + ], + "fullName": "黄艳", + "accountNumber": "ACCT-0023", + "ssnLast4": "4080" + }, + { + "userId": "10024", + "username": "杨敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13387955874", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 729767.31, + "accountOpened": "2016-12-12", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202398807", + "timestamp": "2023-01-17 00:00:00", + "amount": -26252.59, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202398494", + "timestamp": "2023-01-16 00:00:00", + "amount": 27564.58, + "type": "salary", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202367826", + "timestamp": "2023-03-17 00:00:00", + "amount": 11777.85, + "type": "other", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202343329", + "timestamp": "2023-04-19 00:00:00", + "amount": -38759.19, + "type": "salary", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202397068", + "timestamp": "2023-01-02 00:00:00", + "amount": -33511.05, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + } + ], + "fullName": "杨敏", + "accountNumber": "ACCT-0024", + "ssnLast4": "5874" + }, + { + "userId": "10025", + "username": "刘秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13993823661", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 261160.39, + "accountOpened": "2023-05-09", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202303357", + "timestamp": "2023-08-29 00:00:00", + "amount": -14977.19, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202319833", + "timestamp": "2023-07-21 00:00:00", + "amount": -15076.15, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "还款" + } + ], + "fullName": "刘秀英", + "accountNumber": "ACCT-0025", + "ssnLast4": "3661" + }, + { + "userId": "10026", + "username": "吴娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13019671310", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 314563.32, + "accountOpened": "2019-11-01", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202302960", + "timestamp": "2023-01-26 00:00:00", + "amount": -9942.73, + "type": "salary", + "counterparty": "微信支付", + "remark": "转账" + } + ], + "fullName": "吴娟", + "accountNumber": "ACCT-0026", + "ssnLast4": "1310" + }, + { + "userId": "10027", + "username": "赵强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13453226631", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 211082.66, + "accountOpened": "2017-11-04", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367605", + "timestamp": "2023-01-15 00:00:00", + "amount": -31795.69, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ], + "fullName": "赵强", + "accountNumber": "ACCT-0027", + "ssnLast4": "6631" + }, + { + "userId": "10028", + "username": "黄强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13911883296", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 767683.3, + "accountOpened": "2020-09-12", + "lastLogin": "2023-11-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391083", + "timestamp": "2023-10-01 00:00:00", + "amount": 20175.6, + "type": "other", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202365558", + "timestamp": "2023-09-05 00:00:00", + "amount": 17889.02, + "type": "transfer", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202379723", + "timestamp": "2023-07-02 00:00:00", + "amount": -36515.6, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202365405", + "timestamp": "2023-04-19 00:00:00", + "amount": -7719.03, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202319116", + "timestamp": "2023-05-09 00:00:00", + "amount": -16528.2, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + } + ], + "fullName": "黄强", + "accountNumber": "ACCT-0028", + "ssnLast4": "3296" + }, + { + "userId": "10029", + "username": "赵娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13170518523", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 95860.38, + "accountOpened": "2015-03-26", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202310975", + "timestamp": "2023-04-16 00:00:00", + "amount": -3417.3, + "type": "salary", + "counterparty": "", + "remark": "投资" + } + ], + "fullName": "赵娟", + "accountNumber": "ACCT-0029", + "ssnLast4": "8523" + }, + { + "userId": "10030", + "username": "张敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13811944993", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 226932.77, + "accountOpened": "2021-08-05", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202353106", + "timestamp": "2023-01-05 00:00:00", + "amount": -47399.18, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202300169", + "timestamp": "2023-03-22 00:00:00", + "amount": -11643.96, + "type": "other", + "counterparty": "淘宝网", + "remark": "" + } + ], + "fullName": "张敏", + "accountNumber": "ACCT-0030", + "ssnLast4": "4993" + }, + { + "userId": "10031", + "username": "吴丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13971410276", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 553097.06, + "accountOpened": "2021-12-11", + "lastLogin": "2023-10-16T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202355499", + "timestamp": "2023-09-06 00:00:00", + "amount": 30333.73, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202352335", + "timestamp": "2023-02-17 00:00:00", + "amount": 42690.6, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + } + ], + "fullName": "吴丽", + "accountNumber": "ACCT-0031", + "ssnLast4": "0276" + }, + { + "userId": "10032", + "username": "赵平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13016316375", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 327054.13, + "accountOpened": "2017-08-07", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202365342", + "timestamp": "2023-01-10 00:00:00", + "amount": 29057.61, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ], + "fullName": "赵平", + "accountNumber": "ACCT-0032", + "ssnLast4": "6375" + }, + { + "userId": "10033", + "username": "赵丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13695316994", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 603210.38, + "accountOpened": "2023-04-08", + "lastLogin": "2023-10-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202342877", + "timestamp": "2023-01-04 00:00:00", + "amount": 27540.15, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + } + ], + "fullName": "赵丽", + "accountNumber": "ACCT-0033", + "ssnLast4": "6994" + }, + { + "userId": "10034", + "username": "李静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13134471815", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 953424.06, + "accountOpened": "2018-06-25", + "lastLogin": "2023-10-01T00:00:00Z", + "transactions": [], + "fullName": "李静", + "accountNumber": "ACCT-0034", + "ssnLast4": "1815" + }, + { + "userId": "10035", + "username": "王静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13954201379", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 356339.46, + "accountOpened": "2018-09-05", + "lastLogin": "2023-11-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202371223", + "timestamp": "2023-01-22 00:00:00", + "amount": 7124.95, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202306261", + "timestamp": "2023-10-13 00:00:00", + "amount": -12880.65, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "王静", + "accountNumber": "ACCT-0035", + "ssnLast4": "1379" + }, + { + "userId": "10036", + "username": "张伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13162390834", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 429885.14, + "accountOpened": "2015-12-31", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [], + "fullName": "张伟", + "accountNumber": "ACCT-0036", + "ssnLast4": "0834" + }, + { + "userId": "10037", + "username": "刘敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13913230822", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 973776.27, + "accountOpened": "2019-08-11", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202304334", + "timestamp": "2023-08-21 00:00:00", + "amount": -33413.28, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202325024", + "timestamp": "2023-06-04 00:00:00", + "amount": 9485.67, + "type": "other", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202325471", + "timestamp": "2023-08-03 00:00:00", + "amount": 15924.21, + "type": "purchase", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202351780", + "timestamp": "2023-02-07 00:00:00", + "amount": -2807.99, + "type": "salary", + "counterparty": "微信支付", + "remark": "转账" + }, + { + "transactionId": "TXN202376117", + "timestamp": "2023-04-14 00:00:00", + "amount": -5726.73, + "type": "salary", + "counterparty": "支付宝", + "remark": "工资" + } + ], + "fullName": "刘敏", + "accountNumber": "ACCT-0037", + "ssnLast4": "0822" + }, + { + "userId": "10038", + "username": "张秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13674830878", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 144798.67, + "accountOpened": "2022-09-19", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391051", + "timestamp": "2023-08-08 00:00:00", + "amount": 2216.54, + "type": "transfer", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202389942", + "timestamp": "2023-10-05 00:00:00", + "amount": 34783.99, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202327654", + "timestamp": "2023-01-27 00:00:00", + "amount": 2969.41, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ], + "fullName": "张秀兰", + "accountNumber": "ACCT-0038", + "ssnLast4": "0878" + }, + { + "userId": "10039", + "username": "王敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13439303952", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 906104.94, + "accountOpened": "2015-01-19", + "lastLogin": "2023-10-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202327797", + "timestamp": "2023-07-31 00:00:00", + "amount": 46903.99, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "" + }, + { + "transactionId": "TXN202353094", + "timestamp": "2023-06-28 00:00:00", + "amount": -48491.51, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "工资" + } + ], + "fullName": "王敏", + "accountNumber": "ACCT-0039", + "ssnLast4": "3952" + }, + { + "userId": "10040", + "username": "王杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13276937853", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 794690.95, + "accountOpened": "2022-08-03", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202326669", + "timestamp": "2023-01-07 00:00:00", + "amount": -28317.12, + "type": "transfer", + "counterparty": "", + "remark": "投资" + }, + { + "transactionId": "TXN202399377", + "timestamp": "2023-04-29 00:00:00", + "amount": -3273.38, + "type": "salary", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202311438", + "timestamp": "2023-01-14 00:00:00", + "amount": -28640.79, + "type": "other", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202302747", + "timestamp": "2023-09-18 00:00:00", + "amount": 24872.67, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "投资" + } + ], + "fullName": "王杰", + "accountNumber": "ACCT-0040", + "ssnLast4": "7853" + }, + { + "userId": "10041", + "username": "赵秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13963301580", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 851178.63, + "accountOpened": "2015-01-21", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354871", + "timestamp": "2023-03-25 00:00:00", + "amount": 33054.67, + "type": "purchase", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202353637", + "timestamp": "2023-05-14 00:00:00", + "amount": 17878.21, + "type": "other", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202376529", + "timestamp": "2023-08-09 00:00:00", + "amount": 43158.09, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202387007", + "timestamp": "2023-10-30 00:00:00", + "amount": -26298.32, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202393353", + "timestamp": "2023-03-14 00:00:00", + "amount": 18437.62, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + } + ], + "fullName": "赵秀英", + "accountNumber": "ACCT-0041", + "ssnLast4": "1580" + }, + { + "userId": "10042", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13219003328", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 452023.92, + "accountOpened": "2018-12-05", + "lastLogin": "2023-10-05T00:00:00Z", + "transactions": [], + "fullName": "周勇", + "accountNumber": "ACCT-0042", + "ssnLast4": "3328" + }, + { + "userId": "10043", + "username": "刘静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13930118390", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 635698.01, + "accountOpened": "2016-05-31", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [], + "fullName": "刘静", + "accountNumber": "ACCT-0043", + "ssnLast4": "8390" + }, + { + "userId": "10044", + "username": "李霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13489855133", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 365240.46, + "accountOpened": "2021-02-11", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [], + "fullName": "李霞", + "accountNumber": "ACCT-0044", + "ssnLast4": "5133" + }, + { + "userId": "10045", + "username": "王伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13206613727", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 978393.3, + "accountOpened": "2019-02-02", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202308616", + "timestamp": "2023-05-26 00:00:00", + "amount": -135.72, + "type": "salary", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202308083", + "timestamp": "2023-06-03 00:00:00", + "amount": 13147.98, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202365449", + "timestamp": "2023-07-08 00:00:00", + "amount": -25460.8, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + } + ], + "fullName": "王伟", + "accountNumber": "ACCT-0045", + "ssnLast4": "3727" + }, + { + "userId": "10046", + "username": "吴霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13614353766", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 283304.83, + "accountOpened": "2017-01-04", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202352659", + "timestamp": "2023-10-15 00:00:00", + "amount": 17980.77, + "type": "other", + "counterparty": "微信支付", + "remark": "投资" + } + ], + "fullName": "吴霞", + "accountNumber": "ACCT-0046", + "ssnLast4": "3766" + }, + { + "userId": "10047", + "username": "杨敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13758874601", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 981135.31, + "accountOpened": "2020-11-12", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354491", + "timestamp": "2023-11-01 00:00:00", + "amount": -21901.34, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202386116", + "timestamp": "2023-02-01 00:00:00", + "amount": -19235.53, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202320179", + "timestamp": "2023-07-05 00:00:00", + "amount": -11462.69, + "type": "other", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202347752", + "timestamp": "2023-10-08 00:00:00", + "amount": -21279.49, + "type": "other", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202301031", + "timestamp": "2023-06-27 00:00:00", + "amount": 41196.32, + "type": "other", + "counterparty": "银行理财", + "remark": "投资" + } + ], + "fullName": "杨敏", + "accountNumber": "ACCT-0047", + "ssnLast4": "4601" + }, + { + "userId": "10048", + "username": "吴艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13146332558", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 814297.56, + "accountOpened": "2019-08-22", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [], + "fullName": "吴艳", + "accountNumber": "ACCT-0048", + "ssnLast4": "2558" + }, + { + "userId": "10049", + "username": "李敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13958766324", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 88681.8, + "accountOpened": "2019-12-24", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202346091", + "timestamp": "2023-05-31 00:00:00", + "amount": -17025.35, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202364872", + "timestamp": "2023-02-25 00:00:00", + "amount": -29272.37, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202382833", + "timestamp": "2023-09-27 00:00:00", + "amount": -31621.61, + "type": "purchase", + "counterparty": "微信支付", + "remark": "投资" + }, + { + "transactionId": "TXN202317434", + "timestamp": "2023-03-24 00:00:00", + "amount": 24552.63, + "type": "salary", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202331436", + "timestamp": "2023-08-27 00:00:00", + "amount": -43282.23, + "type": "transfer", + "counterparty": "微信支付", + "remark": "转账" + } + ], + "fullName": "李敏", + "accountNumber": "ACCT-0049", + "ssnLast4": "6324" + }, + { + "userId": "10050", + "username": "黄静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13565048459", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 318286.84, + "accountOpened": "2017-09-29", + "lastLogin": "2023-11-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202374996", + "timestamp": "2023-05-16 00:00:00", + "amount": -24676.01, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202344435", + "timestamp": "2023-05-01 00:00:00", + "amount": 3942.27, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "黄静", + "accountNumber": "ACCT-0050", + "ssnLast4": "8459" + }, + { + "userId": "10051", + "username": "李娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13989694797", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 354458.85, + "accountOpened": "2018-01-25", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202374058", + "timestamp": "2023-10-26 00:00:00", + "amount": -35859.26, + "type": "other", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202360366", + "timestamp": "2023-01-26 00:00:00", + "amount": -19374.02, + "type": "salary", + "counterparty": "银行理财", + "remark": "投资" + }, + { + "transactionId": "TXN202319205", + "timestamp": "2023-10-11 00:00:00", + "amount": 13247.55, + "type": "purchase", + "counterparty": "微信支付", + "remark": "" + }, + { + "transactionId": "TXN202336783", + "timestamp": "2023-05-17 00:00:00", + "amount": -9710.57, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + } + ], + "fullName": "李娜", + "accountNumber": "ACCT-0051", + "ssnLast4": "4797" + }, + { + "userId": "10052", + "username": "周杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13080870956", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 359816.55, + "accountOpened": "2017-12-04", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202334710", + "timestamp": "2023-09-06 00:00:00", + "amount": -46536.13, + "type": "other", + "counterparty": "京东商城", + "remark": "购物" + }, + { + "transactionId": "TXN202360412", + "timestamp": "2023-03-17 00:00:00", + "amount": -15930.76, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202322924", + "timestamp": "2023-01-23 00:00:00", + "amount": -44120.99, + "type": "salary", + "counterparty": "", + "remark": "转账" + } + ], + "fullName": "周杰", + "accountNumber": "ACCT-0052", + "ssnLast4": "0956" + }, + { + "userId": "10053", + "username": "陈强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13411252856", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 782686.09, + "accountOpened": "2023-05-26", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202384617", + "timestamp": "2023-03-06 00:00:00", + "amount": -42492.41, + "type": "other", + "counterparty": "微信支付", + "remark": "" + }, + { + "transactionId": "TXN202360196", + "timestamp": "2023-08-06 00:00:00", + "amount": -10880.06, + "type": "salary", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202389564", + "timestamp": "2023-07-01 00:00:00", + "amount": -41335.94, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + } + ], + "fullName": "陈强", + "accountNumber": "ACCT-0053", + "ssnLast4": "2856" + }, + { + "userId": "10054", + "username": "周霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13519745772", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 62584.16, + "accountOpened": "2016-11-30", + "lastLogin": "2023-10-25T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202334952", + "timestamp": "2023-06-12 00:00:00", + "amount": -49386.74, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202333723", + "timestamp": "2023-02-24 00:00:00", + "amount": 4824.67, + "type": "salary", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202343932", + "timestamp": "2023-10-24 00:00:00", + "amount": 24581.5, + "type": "transfer", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202344138", + "timestamp": "2023-10-02 00:00:00", + "amount": 40639.93, + "type": "purchase", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202357653", + "timestamp": "2023-10-17 00:00:00", + "amount": -33555.89, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ], + "fullName": "周霞", + "accountNumber": "ACCT-0054", + "ssnLast4": "5772" + }, + { + "userId": "10055", + "username": "李秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13384934245", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 525071.93, + "accountOpened": "2019-01-17", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202377581", + "timestamp": "2023-08-31 00:00:00", + "amount": 15117.62, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202317584", + "timestamp": "2023-03-03 00:00:00", + "amount": 42065.17, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + } + ], + "fullName": "李秀英", + "accountNumber": "ACCT-0055", + "ssnLast4": "4245" + }, + { + "userId": "10056", + "username": "李勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13161883331", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 405135.89, + "accountOpened": "2020-03-29", + "lastLogin": "2023-11-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202349455", + "timestamp": "2023-05-07 00:00:00", + "amount": -10056.94, + "type": "purchase", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202370534", + "timestamp": "2023-03-05 00:00:00", + "amount": 24947.71, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "购物" + } + ], + "fullName": "李勇", + "accountNumber": "ACCT-0056", + "ssnLast4": "3331" + }, + { + "userId": "10057", + "username": "陈秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13325600467", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 904338.22, + "accountOpened": "2019-11-03", + "lastLogin": "2023-10-27T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202375858", + "timestamp": "2023-01-17 00:00:00", + "amount": -11545.09, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202391954", + "timestamp": "2023-11-09 00:00:00", + "amount": 17997.18, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ], + "fullName": "陈秀兰", + "accountNumber": "ACCT-0057", + "ssnLast4": "0467" + }, + { + "userId": "10058", + "username": "刘涛", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13765681989", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 957675.59, + "accountOpened": "2017-11-10", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202324069", + "timestamp": "2023-10-11 00:00:00", + "amount": -11697.36, + "type": "purchase", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202338714", + "timestamp": "2023-03-16 00:00:00", + "amount": -26075.5, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202327140", + "timestamp": "2023-05-23 00:00:00", + "amount": -35866.8, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + } + ], + "fullName": "刘涛", + "accountNumber": "ACCT-0058", + "ssnLast4": "1989" + }, + { + "userId": "10059", + "username": "刘霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13563512113", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 71725.16, + "accountOpened": "2019-09-16", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202320104", + "timestamp": "2023-11-06 00:00:00", + "amount": 18493.84, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202365932", + "timestamp": "2023-06-01 00:00:00", + "amount": -11287.6, + "type": "purchase", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202327196", + "timestamp": "2023-10-18 00:00:00", + "amount": -623.57, + "type": "other", + "counterparty": "", + "remark": "还款" + } + ], + "fullName": "刘霞", + "accountNumber": "ACCT-0059", + "ssnLast4": "2113" + }, + { + "userId": "10060", + "username": "赵平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13529565138", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 551791.23, + "accountOpened": "2022-09-09", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202310522", + "timestamp": "2023-08-08 00:00:00", + "amount": 21688.2, + "type": "purchase", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202338720", + "timestamp": "2023-05-07 00:00:00", + "amount": -20408.3, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202394928", + "timestamp": "2023-08-01 00:00:00", + "amount": -29222.13, + "type": "transfer", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202386634", + "timestamp": "2023-06-17 00:00:00", + "amount": -39891.81, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + } + ], + "fullName": "赵平", + "accountNumber": "ACCT-0060", + "ssnLast4": "5138" + }, + { + "userId": "10061", + "username": "赵超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13031376805", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 107270.89, + "accountOpened": "2017-02-06", + "lastLogin": "2023-10-28T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202315617", + "timestamp": "2023-04-04 00:00:00", + "amount": -43004.6, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202319597", + "timestamp": "2023-04-12 00:00:00", + "amount": 45088.24, + "type": "other", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202378521", + "timestamp": "2023-05-21 00:00:00", + "amount": -19028.22, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202350765", + "timestamp": "2023-11-08 00:00:00", + "amount": 39909.38, + "type": "salary", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202357736", + "timestamp": "2023-10-28 00:00:00", + "amount": -40617.74, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ], + "fullName": "赵超", + "accountNumber": "ACCT-0061", + "ssnLast4": "6805" + }, + { + "userId": "10062", + "username": "黄秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13114807523", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 651524.72, + "accountOpened": "2019-02-13", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202312260", + "timestamp": "2023-02-11 00:00:00", + "amount": -40597.24, + "type": "other", + "counterparty": "美团外卖", + "remark": "还款" + }, + { + "transactionId": "TXN202348608", + "timestamp": "2023-03-13 00:00:00", + "amount": 36472.25, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202375379", + "timestamp": "2023-09-03 00:00:00", + "amount": 35517.51, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202338341", + "timestamp": "2023-05-19 00:00:00", + "amount": 18575.41, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202361589", + "timestamp": "2023-08-01 00:00:00", + "amount": 4108.47, + "type": "salary", + "counterparty": "", + "remark": "工资" + } + ], + "fullName": "黄秀兰", + "accountNumber": "ACCT-0062", + "ssnLast4": "7523" + }, + { + "userId": "10063", + "username": "李丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13092772770", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 564175.67, + "accountOpened": "2016-12-15", + "lastLogin": "2023-11-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202303258", + "timestamp": "2023-01-29 00:00:00", + "amount": 14658.93, + "type": "purchase", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202369748", + "timestamp": "2023-05-19 00:00:00", + "amount": -25609.52, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "李丽", + "accountNumber": "ACCT-0063", + "ssnLast4": "2770" + }, + { + "userId": "10064", + "username": "陈秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13913771885", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 3725.95, + "accountOpened": "2019-08-14", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [], + "fullName": "陈秀英", + "accountNumber": "ACCT-0064", + "ssnLast4": "1885" + }, + { + "userId": "10065", + "username": "陈伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13917003215", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 805551.56, + "accountOpened": "2015-03-21", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202345667", + "timestamp": "2023-04-28 00:00:00", + "amount": 31725.66, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202348977", + "timestamp": "2023-07-05 00:00:00", + "amount": -35893.63, + "type": "salary", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202381254", + "timestamp": "2023-06-06 00:00:00", + "amount": -48324.44, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202300039", + "timestamp": "2023-09-15 00:00:00", + "amount": -27483.75, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202307743", + "timestamp": "2023-01-22 00:00:00", + "amount": 29144.6, + "type": "purchase", + "counterparty": "银行理财", + "remark": "转账" + } + ], + "fullName": "陈伟", + "accountNumber": "ACCT-0065", + "ssnLast4": "3215" + }, + { + "userId": "10066", + "username": "李秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13608533775", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 976950.87, + "accountOpened": "2020-11-21", + "lastLogin": "2023-11-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202368018", + "timestamp": "2023-03-21 00:00:00", + "amount": 26722.35, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202368375", + "timestamp": "2023-02-20 00:00:00", + "amount": -31869.6, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ], + "fullName": "李秀英", + "accountNumber": "ACCT-0066", + "ssnLast4": "3775" + }, + { + "userId": "10067", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13677259921", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 661806.38, + "accountOpened": "2018-03-11", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202371279", + "timestamp": "2023-01-22 00:00:00", + "amount": 48554.49, + "type": "salary", + "counterparty": "美团外卖", + "remark": "购物" + } + ], + "fullName": "陈超", + "accountNumber": "ACCT-0067", + "ssnLast4": "9921" + }, + { + "userId": "10068", + "username": "周涛", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13073117077", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 425850.48, + "accountOpened": "2015-03-01", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202396696", + "timestamp": "2023-03-27 00:00:00", + "amount": -8517.96, + "type": "other", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202301106", + "timestamp": "2023-01-28 00:00:00", + "amount": -41846.61, + "type": "other", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202328480", + "timestamp": "2023-04-08 00:00:00", + "amount": 8325.18, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "周涛", + "accountNumber": "ACCT-0068", + "ssnLast4": "7077" + }, + { + "userId": "10069", + "username": "张勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13729486798", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 66157.84, + "accountOpened": "2018-09-15", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202351034", + "timestamp": "2023-05-08 00:00:00", + "amount": -23237.28, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "工资" + }, + { + "transactionId": "TXN202301844", + "timestamp": "2023-04-04 00:00:00", + "amount": -39199.14, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202398720", + "timestamp": "2023-09-11 00:00:00", + "amount": -6284.07, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202385515", + "timestamp": "2023-03-27 00:00:00", + "amount": -20644.66, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ], + "fullName": "张勇", + "accountNumber": "ACCT-0069", + "ssnLast4": "6798" + }, + { + "userId": "10070", + "username": "黄平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13599645577", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 695340.32, + "accountOpened": "2018-05-14", + "lastLogin": "2023-10-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202372391", + "timestamp": "2023-09-23 00:00:00", + "amount": -27101.74, + "type": "salary", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202318030", + "timestamp": "2023-06-02 00:00:00", + "amount": -39513.99, + "type": "other", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202313706", + "timestamp": "2023-03-08 00:00:00", + "amount": 44611.27, + "type": "other", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202319538", + "timestamp": "2023-05-11 00:00:00", + "amount": -39628.51, + "type": "other", + "counterparty": "微信支付", + "remark": "" + } + ], + "fullName": "黄平", + "accountNumber": "ACCT-0070", + "ssnLast4": "5577" + }, + { + "userId": "10071", + "username": "赵霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13617062560", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 391531.04, + "accountOpened": "2022-01-13", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202370806", + "timestamp": "2023-06-21 00:00:00", + "amount": 19454.72, + "type": "purchase", + "counterparty": "银行理财", + "remark": "工资" + } + ], + "fullName": "赵霞", + "accountNumber": "ACCT-0071", + "ssnLast4": "2560" + }, + { + "userId": "10072", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13031859175", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 763300.2, + "accountOpened": "2022-04-07", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202381471", + "timestamp": "2023-05-04 00:00:00", + "amount": -41328.92, + "type": "other", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202331317", + "timestamp": "2023-09-09 00:00:00", + "amount": 9609.37, + "type": "purchase", + "counterparty": "", + "remark": "还款" + } + ], + "fullName": "赵芳", + "accountNumber": "ACCT-0072", + "ssnLast4": "9175" + }, + { + "userId": "10073", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13248956308", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 707441.57, + "accountOpened": "2022-07-20", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202346648", + "timestamp": "2023-05-12 00:00:00", + "amount": -34380.86, + "type": "withdrawal", + "counterparty": "", + "remark": "转账" + }, + { + "transactionId": "TXN202391200", + "timestamp": "2023-09-16 00:00:00", + "amount": 400.56, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202330223", + "timestamp": "2023-07-23 00:00:00", + "amount": 21188.21, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + } + ], + "fullName": "刘娟", + "accountNumber": "ACCT-0073", + "ssnLast4": "6308" + }, + { + "userId": "10074", + "username": "陈军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13950924391", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 976258.25, + "accountOpened": "2017-01-12", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202353271", + "timestamp": "2023-01-16 00:00:00", + "amount": 38633.72, + "type": "purchase", + "counterparty": "支付宝", + "remark": "" + }, + { + "transactionId": "TXN202367141", + "timestamp": "2023-08-14 00:00:00", + "amount": 42918.36, + "type": "other", + "counterparty": "京东商城", + "remark": "购物" + }, + { + "transactionId": "TXN202393404", + "timestamp": "2023-01-06 00:00:00", + "amount": 2696.01, + "type": "other", + "counterparty": "", + "remark": "转账" + } + ], + "fullName": "陈军", + "accountNumber": "ACCT-0074", + "ssnLast4": "4391" + }, + { + "userId": "10075", + "username": "黄艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13752729871", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 134338.29, + "accountOpened": "2018-02-01", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202385461", + "timestamp": "2023-04-25 00:00:00", + "amount": 47449.73, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202374896", + "timestamp": "2023-06-07 00:00:00", + "amount": -35100.11, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202363505", + "timestamp": "2023-07-11 00:00:00", + "amount": 36895.38, + "type": "transfer", + "counterparty": "支付宝", + "remark": "" + } + ], + "fullName": "黄艳", + "accountNumber": "ACCT-0075", + "ssnLast4": "9871" + }, + { + "userId": "10076", + "username": "李勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13460972880", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 868667.17, + "accountOpened": "2023-05-08", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367311", + "timestamp": "2023-05-29 00:00:00", + "amount": -47859.37, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202349240", + "timestamp": "2023-05-12 00:00:00", + "amount": -48610.26, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202319233", + "timestamp": "2023-07-27 00:00:00", + "amount": 38232.59, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ], + "fullName": "李勇", + "accountNumber": "ACCT-0076", + "ssnLast4": "2880" + }, + { + "userId": "10077", + "username": "周丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13322359258", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 584509.9, + "accountOpened": "2018-09-07", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202373335", + "timestamp": "2023-10-07 00:00:00", + "amount": 33185.61, + "type": "salary", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202388617", + "timestamp": "2023-11-02 00:00:00", + "amount": 35814.5, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202348680", + "timestamp": "2023-09-03 00:00:00", + "amount": -20933.76, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "周丽", + "accountNumber": "ACCT-0077", + "ssnLast4": "9258" + }, + { + "userId": "10078", + "username": "吴伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13761460371", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 500488.26, + "accountOpened": "2021-09-15", + "lastLogin": "2023-10-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202376676", + "timestamp": "2023-05-23 00:00:00", + "amount": -16838.9, + "type": "other", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202358651", + "timestamp": "2023-06-24 00:00:00", + "amount": 16426.18, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ], + "fullName": "吴伟", + "accountNumber": "ACCT-0078", + "ssnLast4": "0371" + }, + { + "userId": "10079", + "username": "赵磊", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13930191015", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 100989.74, + "accountOpened": "2015-11-08", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [], + "fullName": "赵磊", + "accountNumber": "ACCT-0079", + "ssnLast4": "1015" + }, + { + "userId": "10080", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13887638182", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 162398.51, + "accountOpened": "2023-05-26", + "lastLogin": "2023-10-28T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202373750", + "timestamp": "2023-09-13 00:00:00", + "amount": 26940.32, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ], + "fullName": "周勇", + "accountNumber": "ACCT-0080", + "ssnLast4": "8182" + }, + { + "userId": "10081", + "username": "黄霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13433402666", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 746324.86, + "accountOpened": "2016-09-19", + "lastLogin": "2023-10-26T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202382953", + "timestamp": "2023-03-21 00:00:00", + "amount": 15750.78, + "type": "other", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202388136", + "timestamp": "2023-03-16 00:00:00", + "amount": 32504.87, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202340916", + "timestamp": "2023-02-12 00:00:00", + "amount": -39824.77, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202382058", + "timestamp": "2023-07-04 00:00:00", + "amount": 17917.25, + "type": "other", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202375178", + "timestamp": "2023-04-26 00:00:00", + "amount": -26984.63, + "type": "transfer", + "counterparty": "银行理财", + "remark": "投资" + } + ], + "fullName": "黄霞", + "accountNumber": "ACCT-0081", + "ssnLast4": "2666" + }, + { + "userId": "10082", + "username": "周军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13977098797", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 784467.54, + "accountOpened": "2018-02-06", + "lastLogin": "2023-11-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202322822", + "timestamp": "2023-02-01 00:00:00", + "amount": 44158.4, + "type": "salary", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202367869", + "timestamp": "2023-01-24 00:00:00", + "amount": -21667.4, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202346328", + "timestamp": "2023-03-15 00:00:00", + "amount": 16069.46, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ], + "fullName": "周军", + "accountNumber": "ACCT-0082", + "ssnLast4": "8797" + }, + { + "userId": "10083", + "username": "王磊", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13818607115", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 56348.91, + "accountOpened": "2016-02-19", + "lastLogin": "2023-10-25T00:00:00Z", + "transactions": [], + "fullName": "王磊", + "accountNumber": "ACCT-0083", + "ssnLast4": "7115" + }, + { + "userId": "10084", + "username": "王艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13205475542", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 341898.02, + "accountOpened": "2017-06-05", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202300982", + "timestamp": "2023-09-18 00:00:00", + "amount": -40088.7, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "转账" + }, + { + "transactionId": "TXN202349421", + "timestamp": "2023-11-13 00:00:00", + "amount": 46415.23, + "type": "other", + "counterparty": "微信支付", + "remark": "" + } + ], + "fullName": "王艳", + "accountNumber": "ACCT-0084", + "ssnLast4": "5542" + }, + { + "userId": "10085", + "username": "杨娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13092802411", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 28175.83, + "accountOpened": "2018-02-20", + "lastLogin": "2023-11-11T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202335061", + "timestamp": "2023-11-12 00:00:00", + "amount": 19260.46, + "type": "purchase", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202375968", + "timestamp": "2023-04-22 00:00:00", + "amount": 37477.69, + "type": "purchase", + "counterparty": "", + "remark": "转账" + } + ], + "fullName": "杨娜", + "accountNumber": "ACCT-0085", + "ssnLast4": "2411" + }, + { + "userId": "10086", + "username": "吴勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13291999527", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 911278.15, + "accountOpened": "2022-11-03", + "lastLogin": "2023-10-14T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202351540", + "timestamp": "2023-01-05 00:00:00", + "amount": -17711.08, + "type": "other", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202389666", + "timestamp": "2023-01-20 00:00:00", + "amount": 44793.34, + "type": "purchase", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202331778", + "timestamp": "2023-09-05 00:00:00", + "amount": -38617.3, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ], + "fullName": "吴勇", + "accountNumber": "ACCT-0086", + "ssnLast4": "9527" + }, + { + "userId": "10087", + "username": "王娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13824622176", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 713293.13, + "accountOpened": "2016-06-15", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314670", + "timestamp": "2023-11-14 00:00:00", + "amount": -49772.49, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202335550", + "timestamp": "2023-10-06 00:00:00", + "amount": -21667.95, + "type": "purchase", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202362095", + "timestamp": "2023-05-10 00:00:00", + "amount": 18264.64, + "type": "transfer", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202390500", + "timestamp": "2023-08-04 00:00:00", + "amount": 28391.88, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202381822", + "timestamp": "2023-03-26 00:00:00", + "amount": 35420.77, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "还款" + } + ], + "fullName": "王娜", + "accountNumber": "ACCT-0087", + "ssnLast4": "2176" + }, + { + "userId": "10088", + "username": "黄勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13975935639", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 569616.04, + "accountOpened": "2016-03-17", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367658", + "timestamp": "2023-08-20 00:00:00", + "amount": 49707.69, + "type": "salary", + "counterparty": "淘宝网", + "remark": "" + } + ], + "fullName": "黄勇", + "accountNumber": "ACCT-0088", + "ssnLast4": "5639" + }, + { + "userId": "10089", + "username": "周娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13797217329", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 384593.79, + "accountOpened": "2017-10-01", + "lastLogin": "2023-10-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202355964", + "timestamp": "2023-06-23 00:00:00", + "amount": 37778.02, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202326137", + "timestamp": "2023-08-05 00:00:00", + "amount": -44839.86, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ], + "fullName": "周娟", + "accountNumber": "ACCT-0089", + "ssnLast4": "7329" + }, + { + "userId": "10090", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13218874994", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 485131.55, + "accountOpened": "2023-01-31", + "lastLogin": "2023-10-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202308992", + "timestamp": "2023-10-25 00:00:00", + "amount": 5508.43, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202323707", + "timestamp": "2023-04-01 00:00:00", + "amount": -1803.73, + "type": "salary", + "counterparty": "银行理财", + "remark": "购物" + } + ], + "fullName": "陈超", + "accountNumber": "ACCT-0090", + "ssnLast4": "4994" + }, + { + "userId": "10091", + "username": "杨娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13890343367", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 737929.35, + "accountOpened": "2018-08-20", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202335782", + "timestamp": "2023-09-22 00:00:00", + "amount": 22269.84, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202353960", + "timestamp": "2023-06-03 00:00:00", + "amount": 37207.28, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "还款" + }, + { + "transactionId": "TXN202308299", + "timestamp": "2023-04-17 00:00:00", + "amount": 25849.85, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202320571", + "timestamp": "2023-05-04 00:00:00", + "amount": -31307.77, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202345485", + "timestamp": "2023-07-15 00:00:00", + "amount": -11203.47, + "type": "salary", + "counterparty": "银行理财", + "remark": "还款" + } + ], + "fullName": "杨娜", + "accountNumber": "ACCT-0091", + "ssnLast4": "3367" + }, + { + "userId": "10092", + "username": "刘勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13875149892", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 966808.94, + "accountOpened": "2020-07-27", + "lastLogin": "2023-10-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202333557", + "timestamp": "2023-01-20 00:00:00", + "amount": -31917.89, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202328997", + "timestamp": "2023-10-21 00:00:00", + "amount": -6220.46, + "type": "other", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202309293", + "timestamp": "2023-06-18 00:00:00", + "amount": -7307.65, + "type": "other", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202347391", + "timestamp": "2023-02-11 00:00:00", + "amount": -3945.01, + "type": "other", + "counterparty": "支付宝", + "remark": "购物" + } + ], + "fullName": "刘勇", + "accountNumber": "ACCT-0092", + "ssnLast4": "9892" + }, + { + "userId": "10093", + "username": "吴伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13667460570", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 95600.91, + "accountOpened": "2016-02-26", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202369258", + "timestamp": "2023-04-27 00:00:00", + "amount": -40056.11, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202341890", + "timestamp": "2023-04-01 00:00:00", + "amount": -507.92, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202350867", + "timestamp": "2023-08-08 00:00:00", + "amount": 47687.85, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202300750", + "timestamp": "2023-03-25 00:00:00", + "amount": 329.71, + "type": "salary", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202331610", + "timestamp": "2023-08-09 00:00:00", + "amount": 34075.17, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + } + ], + "fullName": "吴伟", + "accountNumber": "ACCT-0093", + "ssnLast4": "0570" + }, + { + "userId": "10094", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13292114325", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 977484.63, + "accountOpened": "2016-08-14", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202375858", + "timestamp": "2023-04-29 00:00:00", + "amount": -31988.28, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202374363", + "timestamp": "2023-05-20 00:00:00", + "amount": -36236.56, + "type": "other", + "counterparty": "", + "remark": "" + } + ], + "fullName": "周勇", + "accountNumber": "ACCT-0094", + "ssnLast4": "4325" + }, + { + "userId": "10095", + "username": "杨秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13399217488", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 249771.66, + "accountOpened": "2021-05-12", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391820", + "timestamp": "2023-09-10 00:00:00", + "amount": 40112.65, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202382023", + "timestamp": "2023-04-27 00:00:00", + "amount": 10962.41, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + } + ], + "fullName": "杨秀兰", + "accountNumber": "ACCT-0095", + "ssnLast4": "7488" + }, + { + "userId": "10096", + "username": "赵艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13082492960", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 746563.33, + "accountOpened": "2016-07-30", + "lastLogin": "2023-10-26T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202380238", + "timestamp": "2023-07-14 00:00:00", + "amount": 3478.23, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202329166", + "timestamp": "2023-04-06 00:00:00", + "amount": -8033.21, + "type": "purchase", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202384929", + "timestamp": "2023-05-17 00:00:00", + "amount": -28497.87, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202309513", + "timestamp": "2023-09-21 00:00:00", + "amount": -46360.27, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202395797", + "timestamp": "2023-01-10 00:00:00", + "amount": 30008.86, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "" + } + ], + "fullName": "赵艳", + "accountNumber": "ACCT-0096", + "ssnLast4": "2960" + }, + { + "userId": "10097", + "username": "赵超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13143370961", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 759843.23, + "accountOpened": "2022-04-08", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202363361", + "timestamp": "2023-08-05 00:00:00", + "amount": -36688.63, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202345292", + "timestamp": "2023-08-23 00:00:00", + "amount": 11982.61, + "type": "other", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202376527", + "timestamp": "2023-07-29 00:00:00", + "amount": 22778.99, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + } + ], + "fullName": "赵超", + "accountNumber": "ACCT-0097", + "ssnLast4": "0961" + }, + { + "userId": "10098", + "username": "李强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13241088836", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 563062.06, + "accountOpened": "2023-05-05", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202398142", + "timestamp": "2023-03-20 00:00:00", + "amount": 4593.91, + "type": "purchase", + "counterparty": "银行理财", + "remark": "购物" + } + ], + "fullName": "李强", + "accountNumber": "ACCT-0098", + "ssnLast4": "8836" + }, + { + "userId": "10099", + "username": "黄超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13099928154", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 337408.64, + "accountOpened": "2019-01-18", + "lastLogin": "2023-10-16T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202344312", + "timestamp": "2023-04-28 00:00:00", + "amount": -46568.31, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202335044", + "timestamp": "2023-08-01 00:00:00", + "amount": -41103.9, + "type": "other", + "counterparty": "", + "remark": "转账" + } + ], + "fullName": "黄超", + "accountNumber": "ACCT-0099", + "ssnLast4": "8154" + }, + { + "userId": "10100", + "username": "张军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13679282402", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 336334.6, + "accountOpened": "2022-08-30", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202319888", + "timestamp": "2023-08-01 00:00:00", + "amount": 6855.89, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202398557", + "timestamp": "2023-06-19 00:00:00", + "amount": 3474.1, + "type": "salary", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202303579", + "timestamp": "2023-09-15 00:00:00", + "amount": 23361.64, + "type": "salary", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202318826", + "timestamp": "2023-05-20 00:00:00", + "amount": 24748.97, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202398589", + "timestamp": "2023-03-06 00:00:00", + "amount": -30800.25, + "type": "purchase", + "counterparty": "微信支付", + "remark": "转账" + } + ], + "fullName": "张军", + "accountNumber": "ACCT-0100", + "ssnLast4": "2402" + } + ] +} \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/bank_users1.json b/summer-ospp/bankagent/bank-user/bank_users1.json new file mode 100644 index 00000000..f67822c1 --- /dev/null +++ b/summer-ospp/bankagent/bank-user/bank_users1.json @@ -0,0 +1,3322 @@ +{ + "userData": [ + { + "userId": "10001", + "username": "mark", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13035968176", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 203060.88, + "accountOpened": "2018-08-10", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202338285", + "timestamp": "2023-01-07 00:00:00", + "amount": -6025.95, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202339552", + "timestamp": "2023-09-14 00:00:00", + "amount": 46045.46, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202341896", + "timestamp": "2023-05-20 00:00:00", + "amount": 11667.29, + "type": "purchase", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202300841", + "timestamp": "2023-07-21 00:00:00", + "amount": -25074.88, + "type": "salary", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202393785", + "timestamp": "2023-06-17 00:00:00", + "amount": -7316.6, + "type": "purchase", + "counterparty": "京东商城", + "remark": "购物" + } + ] + }, + { + "userId": "10002", + "username": "xiulan", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13366108583", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 547891.32, + "accountOpened": "2022-01-16", + "lastLogin": "2023-10-27T00:00:00Z", + "transactions": [] + }, + { + "userId": "10003", + "username": "gl", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13627358021", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 417162.23, + "accountOpened": "2021-08-21", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202370908", + "timestamp": "2023-07-26 00:00:00", + "amount": -18637.33, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202356579", + "timestamp": "2023-04-28 00:00:00", + "amount": 18145.83, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202371794", + "timestamp": "2023-05-01 00:00:00", + "amount": -21798.78, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202302864", + "timestamp": "2023-11-14 00:00:00", + "amount": 22411.31, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10004", + "username": "dahai", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13417387115", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 747422.25, + "accountOpened": "2020-09-15", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392681", + "timestamp": "2023-07-26 00:00:00", + "amount": 9279.71, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "工资" + } + ] + }, + { + "userId": "10005", + "username": "bob", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13482042498", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 29430.13, + "accountOpened": "2022-12-16", + "lastLogin": "2023-11-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202378627", + "timestamp": "2023-08-15 00:00:00", + "amount": -39023.72, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202379692", + "timestamp": "2023-03-20 00:00:00", + "amount": -30249.4, + "type": "purchase", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10006", + "username": "eason", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13768016722", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 747206.69, + "accountOpened": "2018-12-20", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392122", + "timestamp": "2023-10-15 00:00:00", + "amount": -27796.72, + "type": "salary", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202398695", + "timestamp": "2023-08-01 00:00:00", + "amount": -20272.6, + "type": "salary", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202358765", + "timestamp": "2023-05-11 00:00:00", + "amount": -17440.09, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202397588", + "timestamp": "2023-10-28 00:00:00", + "amount": -3077.46, + "type": "purchase", + "counterparty": "支付宝", + "remark": "转账" + } + ] + }, + { + "userId": "10007", + "username": "jay", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13511109572", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 792096.21, + "accountOpened": "2023-05-11", + "lastLogin": "2023-11-05T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202383283", + "timestamp": "2023-09-07 00:00:00", + "amount": -44802.94, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202370587", + "timestamp": "2023-05-07 00:00:00", + "amount": -26370.81, + "type": "other", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202387703", + "timestamp": "2023-02-11 00:00:00", + "amount": 24481.52, + "type": "other", + "counterparty": "银行理财", + "remark": "" + } + ] + }, + { + "userId": "10008", + "username": "吴秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13570759177", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 538441.05, + "accountOpened": "2021-04-06", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [] + }, + { + "userId": "10009", + "username": "李秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13798845588", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 232357.45, + "accountOpened": "2017-04-08", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202329062", + "timestamp": "2023-07-11 00:00:00", + "amount": -18632.61, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + } + ] + }, + { + "userId": "10010", + "username": "张洋", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13183229469", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 848282.25, + "accountOpened": "2016-06-20", + "lastLogin": "2023-10-20T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202361996", + "timestamp": "2023-01-09 00:00:00", + "amount": 9141.27, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202376283", + "timestamp": "2023-08-11 00:00:00", + "amount": 17055.2, + "type": "transfer", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202305204", + "timestamp": "2023-03-15 00:00:00", + "amount": -1530.28, + "type": "other", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202348165", + "timestamp": "2023-05-03 00:00:00", + "amount": -33443.37, + "type": "transfer", + "counterparty": "京东商城", + "remark": "投资" + } + ] + }, + { + "userId": "10011", + "username": "杨芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13908611671", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 72434.47, + "accountOpened": "2022-11-05", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [] + }, + { + "userId": "10012", + "username": "陈勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13159211431", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 400961.41, + "accountOpened": "2017-09-06", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202312613", + "timestamp": "2023-02-16 00:00:00", + "amount": 39407.19, + "type": "purchase", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10013", + "username": "吴勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13314788890", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 473593.99, + "accountOpened": "2021-12-04", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354950", + "timestamp": "2023-08-06 00:00:00", + "amount": 24382.94, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202322645", + "timestamp": "2023-08-04 00:00:00", + "amount": -14258.85, + "type": "purchase", + "counterparty": "支付宝", + "remark": "还款" + } + ] + }, + { + "userId": "10014", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13717797674", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 625910.78, + "accountOpened": "2020-09-23", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [] + }, + { + "userId": "10015", + "username": "陈秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13716779772", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 756293.25, + "accountOpened": "2023-02-23", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [] + }, + { + "userId": "10016", + "username": "陈霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13588746806", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 213005.53, + "accountOpened": "2017-07-22", + "lastLogin": "2023-11-05T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392541", + "timestamp": "2023-04-13 00:00:00", + "amount": 31117.05, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202386472", + "timestamp": "2023-07-26 00:00:00", + "amount": 35165.82, + "type": "salary", + "counterparty": "微信支付", + "remark": "投资" + }, + { + "transactionId": "TXN202380339", + "timestamp": "2023-10-31 00:00:00", + "amount": 36782.05, + "type": "withdrawal", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202358390", + "timestamp": "2023-04-28 00:00:00", + "amount": 9966.13, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202397163", + "timestamp": "2023-04-29 00:00:00", + "amount": -1720.85, + "type": "purchase", + "counterparty": "银行理财", + "remark": "工资" + } + ] + }, + { + "userId": "10017", + "username": "吴杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13947060526", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 670389.71, + "accountOpened": "2022-09-26", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314767", + "timestamp": "2023-09-06 00:00:00", + "amount": -20497.09, + "type": "salary", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202316142", + "timestamp": "2023-03-08 00:00:00", + "amount": 24769.69, + "type": "salary", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202369594", + "timestamp": "2023-02-06 00:00:00", + "amount": -44840.39, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202399219", + "timestamp": "2023-07-12 00:00:00", + "amount": -27252.29, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202317206", + "timestamp": "2023-10-08 00:00:00", + "amount": -30268.75, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10018", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13692444096", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 711974.23, + "accountOpened": "2018-11-13", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202306230", + "timestamp": "2023-08-03 00:00:00", + "amount": -19575.43, + "type": "transfer", + "counterparty": "", + "remark": "工资" + } + ] + }, + { + "userId": "10019", + "username": "黄霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13350600805", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 483671.59, + "accountOpened": "2018-04-02", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202381176", + "timestamp": "2023-05-04 00:00:00", + "amount": -9518.05, + "type": "other", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202373200", + "timestamp": "2023-08-13 00:00:00", + "amount": -34933.78, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202312130", + "timestamp": "2023-03-01 00:00:00", + "amount": 10396.32, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202322921", + "timestamp": "2023-09-26 00:00:00", + "amount": 32979.46, + "type": "other", + "counterparty": "美团外卖", + "remark": "投资" + } + ] + }, + { + "userId": "10020", + "username": "吴娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13947069250", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 750222.29, + "accountOpened": "2015-05-08", + "lastLogin": "2023-11-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202345292", + "timestamp": "2023-01-22 00:00:00", + "amount": 10255.68, + "type": "withdrawal", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202376735", + "timestamp": "2023-05-23 00:00:00", + "amount": -46810.43, + "type": "salary", + "counterparty": "银行理财", + "remark": "投资" + }, + { + "transactionId": "TXN202311722", + "timestamp": "2023-03-19 00:00:00", + "amount": -16698.97, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ] + }, + { + "userId": "10021", + "username": "张杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13187007100", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 700822.3, + "accountOpened": "2016-08-03", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202321309", + "timestamp": "2023-02-03 00:00:00", + "amount": -47870.83, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202367105", + "timestamp": "2023-08-07 00:00:00", + "amount": 17306.88, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202336066", + "timestamp": "2023-07-14 00:00:00", + "amount": -47849.22, + "type": "salary", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202336075", + "timestamp": "2023-01-14 00:00:00", + "amount": -40621.52, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10022", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13887520476", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 797368.93, + "accountOpened": "2017-07-23", + "lastLogin": "2023-10-29T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367023", + "timestamp": "2023-01-02 00:00:00", + "amount": 40398.39, + "type": "other", + "counterparty": "", + "remark": "" + }, + { + "transactionId": "TXN202316605", + "timestamp": "2023-05-07 00:00:00", + "amount": 44884.45, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202367378", + "timestamp": "2023-07-05 00:00:00", + "amount": 33071.57, + "type": "salary", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10023", + "username": "黄艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13313134080", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 209249.19, + "accountOpened": "2021-06-09", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314132", + "timestamp": "2023-05-28 00:00:00", + "amount": 7564.54, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202364283", + "timestamp": "2023-06-24 00:00:00", + "amount": -27256.35, + "type": "purchase", + "counterparty": "微信支付", + "remark": "还款" + } + ] + }, + { + "userId": "10024", + "username": "杨敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13387955874", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 729767.31, + "accountOpened": "2016-12-12", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202398807", + "timestamp": "2023-01-17 00:00:00", + "amount": -26252.59, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202398494", + "timestamp": "2023-01-16 00:00:00", + "amount": 27564.58, + "type": "salary", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202367826", + "timestamp": "2023-03-17 00:00:00", + "amount": 11777.85, + "type": "other", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202343329", + "timestamp": "2023-04-19 00:00:00", + "amount": -38759.19, + "type": "salary", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202397068", + "timestamp": "2023-01-02 00:00:00", + "amount": -33511.05, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + } + ] + }, + { + "userId": "10025", + "username": "刘秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13993823661", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 261160.39, + "accountOpened": "2023-05-09", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202303357", + "timestamp": "2023-08-29 00:00:00", + "amount": -14977.19, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202319833", + "timestamp": "2023-07-21 00:00:00", + "amount": -15076.15, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "还款" + } + ] + }, + { + "userId": "10026", + "username": "吴娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13019671310", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 314563.32, + "accountOpened": "2019-11-01", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202302960", + "timestamp": "2023-01-26 00:00:00", + "amount": -9942.73, + "type": "salary", + "counterparty": "微信支付", + "remark": "转账" + } + ] + }, + { + "userId": "10027", + "username": "赵强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13453226631", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 211082.66, + "accountOpened": "2017-11-04", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367605", + "timestamp": "2023-01-15 00:00:00", + "amount": -31795.69, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10028", + "username": "黄强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13911883296", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 767683.3, + "accountOpened": "2020-09-12", + "lastLogin": "2023-11-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391083", + "timestamp": "2023-10-01 00:00:00", + "amount": 20175.6, + "type": "other", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202365558", + "timestamp": "2023-09-05 00:00:00", + "amount": 17889.02, + "type": "transfer", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202379723", + "timestamp": "2023-07-02 00:00:00", + "amount": -36515.6, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202365405", + "timestamp": "2023-04-19 00:00:00", + "amount": -7719.03, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202319116", + "timestamp": "2023-05-09 00:00:00", + "amount": -16528.2, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + } + ] + }, + { + "userId": "10029", + "username": "赵娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13170518523", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 95860.38, + "accountOpened": "2015-03-26", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202310975", + "timestamp": "2023-04-16 00:00:00", + "amount": -3417.3, + "type": "salary", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10030", + "username": "张敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13811944993", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 226932.77, + "accountOpened": "2021-08-05", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202353106", + "timestamp": "2023-01-05 00:00:00", + "amount": -47399.18, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202300169", + "timestamp": "2023-03-22 00:00:00", + "amount": -11643.96, + "type": "other", + "counterparty": "淘宝网", + "remark": "" + } + ] + }, + { + "userId": "10031", + "username": "吴丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13971410276", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 553097.06, + "accountOpened": "2021-12-11", + "lastLogin": "2023-10-16T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202355499", + "timestamp": "2023-09-06 00:00:00", + "amount": 30333.73, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202352335", + "timestamp": "2023-02-17 00:00:00", + "amount": 42690.6, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + } + ] + }, + { + "userId": "10032", + "username": "赵平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13016316375", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 327054.13, + "accountOpened": "2017-08-07", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202365342", + "timestamp": "2023-01-10 00:00:00", + "amount": 29057.61, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10033", + "username": "赵丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13695316994", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 603210.38, + "accountOpened": "2023-04-08", + "lastLogin": "2023-10-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202342877", + "timestamp": "2023-01-04 00:00:00", + "amount": 27540.15, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + } + ] + }, + { + "userId": "10034", + "username": "李静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13134471815", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 953424.06, + "accountOpened": "2018-06-25", + "lastLogin": "2023-10-01T00:00:00Z", + "transactions": [] + }, + { + "userId": "10035", + "username": "王静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13954201379", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 356339.46, + "accountOpened": "2018-09-05", + "lastLogin": "2023-11-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202371223", + "timestamp": "2023-01-22 00:00:00", + "amount": 7124.95, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202306261", + "timestamp": "2023-10-13 00:00:00", + "amount": -12880.65, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10036", + "username": "张伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13162390834", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 429885.14, + "accountOpened": "2015-12-31", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [] + }, + { + "userId": "10037", + "username": "刘敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13913230822", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 973776.27, + "accountOpened": "2019-08-11", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202304334", + "timestamp": "2023-08-21 00:00:00", + "amount": -33413.28, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202325024", + "timestamp": "2023-06-04 00:00:00", + "amount": 9485.67, + "type": "other", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202325471", + "timestamp": "2023-08-03 00:00:00", + "amount": 15924.21, + "type": "purchase", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202351780", + "timestamp": "2023-02-07 00:00:00", + "amount": -2807.99, + "type": "salary", + "counterparty": "微信支付", + "remark": "转账" + }, + { + "transactionId": "TXN202376117", + "timestamp": "2023-04-14 00:00:00", + "amount": -5726.73, + "type": "salary", + "counterparty": "支付宝", + "remark": "工资" + } + ] + }, + { + "userId": "10038", + "username": "张秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13674830878", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 144798.67, + "accountOpened": "2022-09-19", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391051", + "timestamp": "2023-08-08 00:00:00", + "amount": 2216.54, + "type": "transfer", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202389942", + "timestamp": "2023-10-05 00:00:00", + "amount": 34783.99, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202327654", + "timestamp": "2023-01-27 00:00:00", + "amount": 2969.41, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10039", + "username": "王敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13439303952", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 906104.94, + "accountOpened": "2015-01-19", + "lastLogin": "2023-10-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202327797", + "timestamp": "2023-07-31 00:00:00", + "amount": 46903.99, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "" + }, + { + "transactionId": "TXN202353094", + "timestamp": "2023-06-28 00:00:00", + "amount": -48491.51, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "工资" + } + ] + }, + { + "userId": "10040", + "username": "王杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13276937853", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 794690.95, + "accountOpened": "2022-08-03", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202326669", + "timestamp": "2023-01-07 00:00:00", + "amount": -28317.12, + "type": "transfer", + "counterparty": "", + "remark": "投资" + }, + { + "transactionId": "TXN202399377", + "timestamp": "2023-04-29 00:00:00", + "amount": -3273.38, + "type": "salary", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202311438", + "timestamp": "2023-01-14 00:00:00", + "amount": -28640.79, + "type": "other", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202302747", + "timestamp": "2023-09-18 00:00:00", + "amount": 24872.67, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "投资" + } + ] + }, + { + "userId": "10041", + "username": "赵秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13963301580", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 851178.63, + "accountOpened": "2015-01-21", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354871", + "timestamp": "2023-03-25 00:00:00", + "amount": 33054.67, + "type": "purchase", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202353637", + "timestamp": "2023-05-14 00:00:00", + "amount": 17878.21, + "type": "other", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202376529", + "timestamp": "2023-08-09 00:00:00", + "amount": 43158.09, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202387007", + "timestamp": "2023-10-30 00:00:00", + "amount": -26298.32, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202393353", + "timestamp": "2023-03-14 00:00:00", + "amount": 18437.62, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10042", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13219003328", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 452023.92, + "accountOpened": "2018-12-05", + "lastLogin": "2023-10-05T00:00:00Z", + "transactions": [] + }, + { + "userId": "10043", + "username": "刘静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13930118390", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 635698.01, + "accountOpened": "2016-05-31", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [] + }, + { + "userId": "10044", + "username": "李霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13489855133", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 365240.46, + "accountOpened": "2021-02-11", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [] + }, + { + "userId": "10045", + "username": "王伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13206613727", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 978393.3, + "accountOpened": "2019-02-02", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202308616", + "timestamp": "2023-05-26 00:00:00", + "amount": -135.72, + "type": "salary", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202308083", + "timestamp": "2023-06-03 00:00:00", + "amount": 13147.98, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202365449", + "timestamp": "2023-07-08 00:00:00", + "amount": -25460.8, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + } + ] + }, + { + "userId": "10046", + "username": "吴霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13614353766", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 283304.83, + "accountOpened": "2017-01-04", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202352659", + "timestamp": "2023-10-15 00:00:00", + "amount": 17980.77, + "type": "other", + "counterparty": "微信支付", + "remark": "投资" + } + ] + }, + { + "userId": "10047", + "username": "杨敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13758874601", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 981135.31, + "accountOpened": "2020-11-12", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354491", + "timestamp": "2023-11-01 00:00:00", + "amount": -21901.34, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202386116", + "timestamp": "2023-02-01 00:00:00", + "amount": -19235.53, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202320179", + "timestamp": "2023-07-05 00:00:00", + "amount": -11462.69, + "type": "other", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202347752", + "timestamp": "2023-10-08 00:00:00", + "amount": -21279.49, + "type": "other", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202301031", + "timestamp": "2023-06-27 00:00:00", + "amount": 41196.32, + "type": "other", + "counterparty": "银行理财", + "remark": "投资" + } + ] + }, + { + "userId": "10048", + "username": "吴艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13146332558", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 814297.56, + "accountOpened": "2019-08-22", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [] + }, + { + "userId": "10049", + "username": "李敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13958766324", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 88681.8, + "accountOpened": "2019-12-24", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202346091", + "timestamp": "2023-05-31 00:00:00", + "amount": -17025.35, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202364872", + "timestamp": "2023-02-25 00:00:00", + "amount": -29272.37, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202382833", + "timestamp": "2023-09-27 00:00:00", + "amount": -31621.61, + "type": "purchase", + "counterparty": "微信支付", + "remark": "投资" + }, + { + "transactionId": "TXN202317434", + "timestamp": "2023-03-24 00:00:00", + "amount": 24552.63, + "type": "salary", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202331436", + "timestamp": "2023-08-27 00:00:00", + "amount": -43282.23, + "type": "transfer", + "counterparty": "微信支付", + "remark": "转账" + } + ] + }, + { + "userId": "10050", + "username": "黄静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13565048459", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 318286.84, + "accountOpened": "2017-09-29", + "lastLogin": "2023-11-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202374996", + "timestamp": "2023-05-16 00:00:00", + "amount": -24676.01, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202344435", + "timestamp": "2023-05-01 00:00:00", + "amount": 3942.27, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10051", + "username": "李娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13989694797", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 354458.85, + "accountOpened": "2018-01-25", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202374058", + "timestamp": "2023-10-26 00:00:00", + "amount": -35859.26, + "type": "other", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202360366", + "timestamp": "2023-01-26 00:00:00", + "amount": -19374.02, + "type": "salary", + "counterparty": "银行理财", + "remark": "投资" + }, + { + "transactionId": "TXN202319205", + "timestamp": "2023-10-11 00:00:00", + "amount": 13247.55, + "type": "purchase", + "counterparty": "微信支付", + "remark": "" + }, + { + "transactionId": "TXN202336783", + "timestamp": "2023-05-17 00:00:00", + "amount": -9710.57, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + } + ] + }, + { + "userId": "10052", + "username": "周杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13080870956", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 359816.55, + "accountOpened": "2017-12-04", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202334710", + "timestamp": "2023-09-06 00:00:00", + "amount": -46536.13, + "type": "other", + "counterparty": "京东商城", + "remark": "购物" + }, + { + "transactionId": "TXN202360412", + "timestamp": "2023-03-17 00:00:00", + "amount": -15930.76, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202322924", + "timestamp": "2023-01-23 00:00:00", + "amount": -44120.99, + "type": "salary", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10053", + "username": "陈强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13411252856", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 782686.09, + "accountOpened": "2023-05-26", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202384617", + "timestamp": "2023-03-06 00:00:00", + "amount": -42492.41, + "type": "other", + "counterparty": "微信支付", + "remark": "" + }, + { + "transactionId": "TXN202360196", + "timestamp": "2023-08-06 00:00:00", + "amount": -10880.06, + "type": "salary", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202389564", + "timestamp": "2023-07-01 00:00:00", + "amount": -41335.94, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + } + ] + }, + { + "userId": "10054", + "username": "周霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13519745772", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 62584.16, + "accountOpened": "2016-11-30", + "lastLogin": "2023-10-25T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202334952", + "timestamp": "2023-06-12 00:00:00", + "amount": -49386.74, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202333723", + "timestamp": "2023-02-24 00:00:00", + "amount": 4824.67, + "type": "salary", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202343932", + "timestamp": "2023-10-24 00:00:00", + "amount": 24581.5, + "type": "transfer", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202344138", + "timestamp": "2023-10-02 00:00:00", + "amount": 40639.93, + "type": "purchase", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202357653", + "timestamp": "2023-10-17 00:00:00", + "amount": -33555.89, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ] + }, + { + "userId": "10055", + "username": "李秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13384934245", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 525071.93, + "accountOpened": "2019-01-17", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202377581", + "timestamp": "2023-08-31 00:00:00", + "amount": 15117.62, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202317584", + "timestamp": "2023-03-03 00:00:00", + "amount": 42065.17, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + } + ] + }, + { + "userId": "10056", + "username": "李勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13161883331", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 405135.89, + "accountOpened": "2020-03-29", + "lastLogin": "2023-11-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202349455", + "timestamp": "2023-05-07 00:00:00", + "amount": -10056.94, + "type": "purchase", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202370534", + "timestamp": "2023-03-05 00:00:00", + "amount": 24947.71, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10057", + "username": "陈秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13325600467", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 904338.22, + "accountOpened": "2019-11-03", + "lastLogin": "2023-10-27T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202375858", + "timestamp": "2023-01-17 00:00:00", + "amount": -11545.09, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202391954", + "timestamp": "2023-11-09 00:00:00", + "amount": 17997.18, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ] + }, + { + "userId": "10058", + "username": "刘涛", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13765681989", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 957675.59, + "accountOpened": "2017-11-10", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202324069", + "timestamp": "2023-10-11 00:00:00", + "amount": -11697.36, + "type": "purchase", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202338714", + "timestamp": "2023-03-16 00:00:00", + "amount": -26075.5, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202327140", + "timestamp": "2023-05-23 00:00:00", + "amount": -35866.8, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + } + ] + }, + { + "userId": "10059", + "username": "刘霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13563512113", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 71725.16, + "accountOpened": "2019-09-16", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202320104", + "timestamp": "2023-11-06 00:00:00", + "amount": 18493.84, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202365932", + "timestamp": "2023-06-01 00:00:00", + "amount": -11287.6, + "type": "purchase", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202327196", + "timestamp": "2023-10-18 00:00:00", + "amount": -623.57, + "type": "other", + "counterparty": "", + "remark": "还款" + } + ] + }, + { + "userId": "10060", + "username": "赵平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13529565138", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 551791.23, + "accountOpened": "2022-09-09", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202310522", + "timestamp": "2023-08-08 00:00:00", + "amount": 21688.2, + "type": "purchase", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202338720", + "timestamp": "2023-05-07 00:00:00", + "amount": -20408.3, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202394928", + "timestamp": "2023-08-01 00:00:00", + "amount": -29222.13, + "type": "transfer", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202386634", + "timestamp": "2023-06-17 00:00:00", + "amount": -39891.81, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10061", + "username": "赵超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13031376805", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 107270.89, + "accountOpened": "2017-02-06", + "lastLogin": "2023-10-28T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202315617", + "timestamp": "2023-04-04 00:00:00", + "amount": -43004.6, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202319597", + "timestamp": "2023-04-12 00:00:00", + "amount": 45088.24, + "type": "other", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202378521", + "timestamp": "2023-05-21 00:00:00", + "amount": -19028.22, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202350765", + "timestamp": "2023-11-08 00:00:00", + "amount": 39909.38, + "type": "salary", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202357736", + "timestamp": "2023-10-28 00:00:00", + "amount": -40617.74, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10062", + "username": "黄秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13114807523", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 651524.72, + "accountOpened": "2019-02-13", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202312260", + "timestamp": "2023-02-11 00:00:00", + "amount": -40597.24, + "type": "other", + "counterparty": "美团外卖", + "remark": "还款" + }, + { + "transactionId": "TXN202348608", + "timestamp": "2023-03-13 00:00:00", + "amount": 36472.25, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202375379", + "timestamp": "2023-09-03 00:00:00", + "amount": 35517.51, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202338341", + "timestamp": "2023-05-19 00:00:00", + "amount": 18575.41, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202361589", + "timestamp": "2023-08-01 00:00:00", + "amount": 4108.47, + "type": "salary", + "counterparty": "", + "remark": "工资" + } + ] + }, + { + "userId": "10063", + "username": "李丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13092772770", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 564175.67, + "accountOpened": "2016-12-15", + "lastLogin": "2023-11-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202303258", + "timestamp": "2023-01-29 00:00:00", + "amount": 14658.93, + "type": "purchase", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202369748", + "timestamp": "2023-05-19 00:00:00", + "amount": -25609.52, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10064", + "username": "陈秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13913771885", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 3725.95, + "accountOpened": "2019-08-14", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [] + }, + { + "userId": "10065", + "username": "陈伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13917003215", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 805551.56, + "accountOpened": "2015-03-21", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202345667", + "timestamp": "2023-04-28 00:00:00", + "amount": 31725.66, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202348977", + "timestamp": "2023-07-05 00:00:00", + "amount": -35893.63, + "type": "salary", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202381254", + "timestamp": "2023-06-06 00:00:00", + "amount": -48324.44, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202300039", + "timestamp": "2023-09-15 00:00:00", + "amount": -27483.75, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202307743", + "timestamp": "2023-01-22 00:00:00", + "amount": 29144.6, + "type": "purchase", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10066", + "username": "李秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13608533775", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 976950.87, + "accountOpened": "2020-11-21", + "lastLogin": "2023-11-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202368018", + "timestamp": "2023-03-21 00:00:00", + "amount": 26722.35, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202368375", + "timestamp": "2023-02-20 00:00:00", + "amount": -31869.6, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10067", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13677259921", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 661806.38, + "accountOpened": "2018-03-11", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202371279", + "timestamp": "2023-01-22 00:00:00", + "amount": 48554.49, + "type": "salary", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10068", + "username": "周涛", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13073117077", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 425850.48, + "accountOpened": "2015-03-01", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202396696", + "timestamp": "2023-03-27 00:00:00", + "amount": -8517.96, + "type": "other", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202301106", + "timestamp": "2023-01-28 00:00:00", + "amount": -41846.61, + "type": "other", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202328480", + "timestamp": "2023-04-08 00:00:00", + "amount": 8325.18, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10069", + "username": "张勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13729486798", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 66157.84, + "accountOpened": "2018-09-15", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202351034", + "timestamp": "2023-05-08 00:00:00", + "amount": -23237.28, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "工资" + }, + { + "transactionId": "TXN202301844", + "timestamp": "2023-04-04 00:00:00", + "amount": -39199.14, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202398720", + "timestamp": "2023-09-11 00:00:00", + "amount": -6284.07, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202385515", + "timestamp": "2023-03-27 00:00:00", + "amount": -20644.66, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10070", + "username": "黄平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13599645577", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 695340.32, + "accountOpened": "2018-05-14", + "lastLogin": "2023-10-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202372391", + "timestamp": "2023-09-23 00:00:00", + "amount": -27101.74, + "type": "salary", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202318030", + "timestamp": "2023-06-02 00:00:00", + "amount": -39513.99, + "type": "other", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202313706", + "timestamp": "2023-03-08 00:00:00", + "amount": 44611.27, + "type": "other", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202319538", + "timestamp": "2023-05-11 00:00:00", + "amount": -39628.51, + "type": "other", + "counterparty": "微信支付", + "remark": "" + } + ] + }, + { + "userId": "10071", + "username": "赵霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13617062560", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 391531.04, + "accountOpened": "2022-01-13", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202370806", + "timestamp": "2023-06-21 00:00:00", + "amount": 19454.72, + "type": "purchase", + "counterparty": "银行理财", + "remark": "工资" + } + ] + }, + { + "userId": "10072", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13031859175", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 763300.2, + "accountOpened": "2022-04-07", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202381471", + "timestamp": "2023-05-04 00:00:00", + "amount": -41328.92, + "type": "other", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202331317", + "timestamp": "2023-09-09 00:00:00", + "amount": 9609.37, + "type": "purchase", + "counterparty": "", + "remark": "还款" + } + ] + }, + { + "userId": "10073", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13248956308", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 707441.57, + "accountOpened": "2022-07-20", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202346648", + "timestamp": "2023-05-12 00:00:00", + "amount": -34380.86, + "type": "withdrawal", + "counterparty": "", + "remark": "转账" + }, + { + "transactionId": "TXN202391200", + "timestamp": "2023-09-16 00:00:00", + "amount": 400.56, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202330223", + "timestamp": "2023-07-23 00:00:00", + "amount": 21188.21, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + } + ] + }, + { + "userId": "10074", + "username": "陈军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13950924391", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 976258.25, + "accountOpened": "2017-01-12", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202353271", + "timestamp": "2023-01-16 00:00:00", + "amount": 38633.72, + "type": "purchase", + "counterparty": "支付宝", + "remark": "" + }, + { + "transactionId": "TXN202367141", + "timestamp": "2023-08-14 00:00:00", + "amount": 42918.36, + "type": "other", + "counterparty": "京东商城", + "remark": "购物" + }, + { + "transactionId": "TXN202393404", + "timestamp": "2023-01-06 00:00:00", + "amount": 2696.01, + "type": "other", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10075", + "username": "黄艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13752729871", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 134338.29, + "accountOpened": "2018-02-01", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202385461", + "timestamp": "2023-04-25 00:00:00", + "amount": 47449.73, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202374896", + "timestamp": "2023-06-07 00:00:00", + "amount": -35100.11, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202363505", + "timestamp": "2023-07-11 00:00:00", + "amount": 36895.38, + "type": "transfer", + "counterparty": "支付宝", + "remark": "" + } + ] + }, + { + "userId": "10076", + "username": "李勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13460972880", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 868667.17, + "accountOpened": "2023-05-08", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367311", + "timestamp": "2023-05-29 00:00:00", + "amount": -47859.37, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202349240", + "timestamp": "2023-05-12 00:00:00", + "amount": -48610.26, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202319233", + "timestamp": "2023-07-27 00:00:00", + "amount": 38232.59, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10077", + "username": "周丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13322359258", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 584509.9, + "accountOpened": "2018-09-07", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202373335", + "timestamp": "2023-10-07 00:00:00", + "amount": 33185.61, + "type": "salary", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202388617", + "timestamp": "2023-11-02 00:00:00", + "amount": 35814.5, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202348680", + "timestamp": "2023-09-03 00:00:00", + "amount": -20933.76, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10078", + "username": "吴伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13761460371", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 500488.26, + "accountOpened": "2021-09-15", + "lastLogin": "2023-10-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202376676", + "timestamp": "2023-05-23 00:00:00", + "amount": -16838.9, + "type": "other", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202358651", + "timestamp": "2023-06-24 00:00:00", + "amount": 16426.18, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10079", + "username": "赵磊", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13930191015", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 100989.74, + "accountOpened": "2015-11-08", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [] + }, + { + "userId": "10080", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13887638182", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 162398.51, + "accountOpened": "2023-05-26", + "lastLogin": "2023-10-28T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202373750", + "timestamp": "2023-09-13 00:00:00", + "amount": 26940.32, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ] + }, + { + "userId": "10081", + "username": "黄霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13433402666", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 746324.86, + "accountOpened": "2016-09-19", + "lastLogin": "2023-10-26T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202382953", + "timestamp": "2023-03-21 00:00:00", + "amount": 15750.78, + "type": "other", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202388136", + "timestamp": "2023-03-16 00:00:00", + "amount": 32504.87, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202340916", + "timestamp": "2023-02-12 00:00:00", + "amount": -39824.77, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202382058", + "timestamp": "2023-07-04 00:00:00", + "amount": 17917.25, + "type": "other", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202375178", + "timestamp": "2023-04-26 00:00:00", + "amount": -26984.63, + "type": "transfer", + "counterparty": "银行理财", + "remark": "投资" + } + ] + }, + { + "userId": "10082", + "username": "周军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13977098797", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 784467.54, + "accountOpened": "2018-02-06", + "lastLogin": "2023-11-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202322822", + "timestamp": "2023-02-01 00:00:00", + "amount": 44158.4, + "type": "salary", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202367869", + "timestamp": "2023-01-24 00:00:00", + "amount": -21667.4, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202346328", + "timestamp": "2023-03-15 00:00:00", + "amount": 16069.46, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10083", + "username": "王磊", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13818607115", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 56348.91, + "accountOpened": "2016-02-19", + "lastLogin": "2023-10-25T00:00:00Z", + "transactions": [] + }, + { + "userId": "10084", + "username": "王艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13205475542", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 341898.02, + "accountOpened": "2017-06-05", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202300982", + "timestamp": "2023-09-18 00:00:00", + "amount": -40088.7, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "转账" + }, + { + "transactionId": "TXN202349421", + "timestamp": "2023-11-13 00:00:00", + "amount": 46415.23, + "type": "other", + "counterparty": "微信支付", + "remark": "" + } + ] + }, + { + "userId": "10085", + "username": "杨娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13092802411", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 28175.83, + "accountOpened": "2018-02-20", + "lastLogin": "2023-11-11T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202335061", + "timestamp": "2023-11-12 00:00:00", + "amount": 19260.46, + "type": "purchase", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202375968", + "timestamp": "2023-04-22 00:00:00", + "amount": 37477.69, + "type": "purchase", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10086", + "username": "吴勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13291999527", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 911278.15, + "accountOpened": "2022-11-03", + "lastLogin": "2023-10-14T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202351540", + "timestamp": "2023-01-05 00:00:00", + "amount": -17711.08, + "type": "other", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202389666", + "timestamp": "2023-01-20 00:00:00", + "amount": 44793.34, + "type": "purchase", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202331778", + "timestamp": "2023-09-05 00:00:00", + "amount": -38617.3, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ] + }, + { + "userId": "10087", + "username": "王娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13824622176", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 713293.13, + "accountOpened": "2016-06-15", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314670", + "timestamp": "2023-11-14 00:00:00", + "amount": -49772.49, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202335550", + "timestamp": "2023-10-06 00:00:00", + "amount": -21667.95, + "type": "purchase", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202362095", + "timestamp": "2023-05-10 00:00:00", + "amount": 18264.64, + "type": "transfer", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202390500", + "timestamp": "2023-08-04 00:00:00", + "amount": 28391.88, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202381822", + "timestamp": "2023-03-26 00:00:00", + "amount": 35420.77, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "还款" + } + ] + }, + { + "userId": "10088", + "username": "黄勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13975935639", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 569616.04, + "accountOpened": "2016-03-17", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367658", + "timestamp": "2023-08-20 00:00:00", + "amount": 49707.69, + "type": "salary", + "counterparty": "淘宝网", + "remark": "" + } + ] + }, + { + "userId": "10089", + "username": "周娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13797217329", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 384593.79, + "accountOpened": "2017-10-01", + "lastLogin": "2023-10-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202355964", + "timestamp": "2023-06-23 00:00:00", + "amount": 37778.02, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202326137", + "timestamp": "2023-08-05 00:00:00", + "amount": -44839.86, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ] + }, + { + "userId": "10090", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13218874994", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 485131.55, + "accountOpened": "2023-01-31", + "lastLogin": "2023-10-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202308992", + "timestamp": "2023-10-25 00:00:00", + "amount": 5508.43, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202323707", + "timestamp": "2023-04-01 00:00:00", + "amount": -1803.73, + "type": "salary", + "counterparty": "银行理财", + "remark": "购物" + } + ] + }, + { + "userId": "10091", + "username": "杨娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13890343367", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 737929.35, + "accountOpened": "2018-08-20", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202335782", + "timestamp": "2023-09-22 00:00:00", + "amount": 22269.84, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202353960", + "timestamp": "2023-06-03 00:00:00", + "amount": 37207.28, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "还款" + }, + { + "transactionId": "TXN202308299", + "timestamp": "2023-04-17 00:00:00", + "amount": 25849.85, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202320571", + "timestamp": "2023-05-04 00:00:00", + "amount": -31307.77, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202345485", + "timestamp": "2023-07-15 00:00:00", + "amount": -11203.47, + "type": "salary", + "counterparty": "银行理财", + "remark": "还款" + } + ] + }, + { + "userId": "10092", + "username": "刘勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13875149892", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 966808.94, + "accountOpened": "2020-07-27", + "lastLogin": "2023-10-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202333557", + "timestamp": "2023-01-20 00:00:00", + "amount": -31917.89, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202328997", + "timestamp": "2023-10-21 00:00:00", + "amount": -6220.46, + "type": "other", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202309293", + "timestamp": "2023-06-18 00:00:00", + "amount": -7307.65, + "type": "other", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202347391", + "timestamp": "2023-02-11 00:00:00", + "amount": -3945.01, + "type": "other", + "counterparty": "支付宝", + "remark": "购物" + } + ] + }, + { + "userId": "10093", + "username": "吴伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13667460570", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 95600.91, + "accountOpened": "2016-02-26", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202369258", + "timestamp": "2023-04-27 00:00:00", + "amount": -40056.11, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202341890", + "timestamp": "2023-04-01 00:00:00", + "amount": -507.92, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202350867", + "timestamp": "2023-08-08 00:00:00", + "amount": 47687.85, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202300750", + "timestamp": "2023-03-25 00:00:00", + "amount": 329.71, + "type": "salary", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202331610", + "timestamp": "2023-08-09 00:00:00", + "amount": 34075.17, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10094", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13292114325", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 977484.63, + "accountOpened": "2016-08-14", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202375858", + "timestamp": "2023-04-29 00:00:00", + "amount": -31988.28, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202374363", + "timestamp": "2023-05-20 00:00:00", + "amount": -36236.56, + "type": "other", + "counterparty": "", + "remark": "" + } + ] + }, + { + "userId": "10095", + "username": "杨秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13399217488", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 249771.66, + "accountOpened": "2021-05-12", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391820", + "timestamp": "2023-09-10 00:00:00", + "amount": 40112.65, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202382023", + "timestamp": "2023-04-27 00:00:00", + "amount": 10962.41, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + } + ] + }, + { + "userId": "10096", + "username": "赵艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13082492960", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 746563.33, + "accountOpened": "2016-07-30", + "lastLogin": "2023-10-26T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202380238", + "timestamp": "2023-07-14 00:00:00", + "amount": 3478.23, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202329166", + "timestamp": "2023-04-06 00:00:00", + "amount": -8033.21, + "type": "purchase", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202384929", + "timestamp": "2023-05-17 00:00:00", + "amount": -28497.87, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202309513", + "timestamp": "2023-09-21 00:00:00", + "amount": -46360.27, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202395797", + "timestamp": "2023-01-10 00:00:00", + "amount": 30008.86, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "" + } + ] + }, + { + "userId": "10097", + "username": "赵超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13143370961", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 759843.23, + "accountOpened": "2022-04-08", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202363361", + "timestamp": "2023-08-05 00:00:00", + "amount": -36688.63, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202345292", + "timestamp": "2023-08-23 00:00:00", + "amount": 11982.61, + "type": "other", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202376527", + "timestamp": "2023-07-29 00:00:00", + "amount": 22778.99, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10098", + "username": "李强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13241088836", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 563062.06, + "accountOpened": "2023-05-05", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202398142", + "timestamp": "2023-03-20 00:00:00", + "amount": 4593.91, + "type": "purchase", + "counterparty": "银行理财", + "remark": "购物" + } + ] + }, + { + "userId": "10099", + "username": "黄超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13099928154", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 337408.64, + "accountOpened": "2019-01-18", + "lastLogin": "2023-10-16T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202344312", + "timestamp": "2023-04-28 00:00:00", + "amount": -46568.31, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202335044", + "timestamp": "2023-08-01 00:00:00", + "amount": -41103.9, + "type": "other", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10100", + "username": "张军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13679282402", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 336334.6, + "accountOpened": "2022-08-30", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202319888", + "timestamp": "2023-08-01 00:00:00", + "amount": 6855.89, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202398557", + "timestamp": "2023-06-19 00:00:00", + "amount": 3474.1, + "type": "salary", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202303579", + "timestamp": "2023-09-15 00:00:00", + "amount": 23361.64, + "type": "salary", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202318826", + "timestamp": "2023-05-20 00:00:00", + "amount": 24748.97, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202398589", + "timestamp": "2023-03-06 00:00:00", + "amount": -30800.25, + "type": "purchase", + "counterparty": "微信支付", + "remark": "转账" + } + ] + } + ] +} \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/bank_users_en.json b/summer-ospp/bankagent/bank-user/bank_users_en.json new file mode 100644 index 00000000..42e076b8 --- /dev/null +++ b/summer-ospp/bankagent/bank-user/bank_users_en.json @@ -0,0 +1,3322 @@ +{ + "userData": [ + { + "userId": "10001", + "username": "陈伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13035968176", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 203060.88, + "accountOpened": "2018-08-10", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202338285", + "timestamp": "2023-01-07 00:00:00", + "amount": -6025.95, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202339552", + "timestamp": "2023-09-14 00:00:00", + "amount": 46045.46, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202341896", + "timestamp": "2023-05-20 00:00:00", + "amount": 11667.29, + "type": "purchase", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202300841", + "timestamp": "2023-07-21 00:00:00", + "amount": -25074.88, + "type": "salary", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202393785", + "timestamp": "2023-06-17 00:00:00", + "amount": -7316.6, + "type": "purchase", + "counterparty": "京东商城", + "remark": "购物" + } + ] + }, + { + "userId": "10002", + "username": "周秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13366108583", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 547891.32, + "accountOpened": "2022-01-16", + "lastLogin": "2023-10-27T00:00:00Z", + "transactions": [] + }, + { + "userId": "10003", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13627358021", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 417162.23, + "accountOpened": "2021-08-21", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202370908", + "timestamp": "2023-07-26 00:00:00", + "amount": -18637.33, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202356579", + "timestamp": "2023-04-28 00:00:00", + "amount": 18145.83, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202371794", + "timestamp": "2023-05-01 00:00:00", + "amount": -21798.78, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202302864", + "timestamp": "2023-11-14 00:00:00", + "amount": 22411.31, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10004", + "username": "张秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13417387115", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 747422.25, + "accountOpened": "2020-09-15", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392681", + "timestamp": "2023-07-26 00:00:00", + "amount": 9279.71, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "工资" + } + ] + }, + { + "userId": "10005", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13482042498", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 29430.13, + "accountOpened": "2022-12-16", + "lastLogin": "2023-11-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202378627", + "timestamp": "2023-08-15 00:00:00", + "amount": -39023.72, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202379692", + "timestamp": "2023-03-20 00:00:00", + "amount": -30249.4, + "type": "purchase", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10006", + "username": "陈伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13768016722", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 747206.69, + "accountOpened": "2018-12-20", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392122", + "timestamp": "2023-10-15 00:00:00", + "amount": -27796.72, + "type": "salary", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202398695", + "timestamp": "2023-08-01 00:00:00", + "amount": -20272.6, + "type": "salary", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202358765", + "timestamp": "2023-05-11 00:00:00", + "amount": -17440.09, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202397588", + "timestamp": "2023-10-28 00:00:00", + "amount": -3077.46, + "type": "purchase", + "counterparty": "支付宝", + "remark": "转账" + } + ] + }, + { + "userId": "10007", + "username": "赵娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13511109572", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 792096.21, + "accountOpened": "2023-05-11", + "lastLogin": "2023-11-05T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202383283", + "timestamp": "2023-09-07 00:00:00", + "amount": -44802.94, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202370587", + "timestamp": "2023-05-07 00:00:00", + "amount": -26370.81, + "type": "other", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202387703", + "timestamp": "2023-02-11 00:00:00", + "amount": 24481.52, + "type": "other", + "counterparty": "银行理财", + "remark": "" + } + ] + }, + { + "userId": "10008", + "username": "吴秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13570759177", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 538441.05, + "accountOpened": "2021-04-06", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [] + }, + { + "userId": "10009", + "username": "李秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13798845588", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 232357.45, + "accountOpened": "2017-04-08", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202329062", + "timestamp": "2023-07-11 00:00:00", + "amount": -18632.61, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + } + ] + }, + { + "userId": "10010", + "username": "张洋", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13183229469", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 848282.25, + "accountOpened": "2016-06-20", + "lastLogin": "2023-10-20T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202361996", + "timestamp": "2023-01-09 00:00:00", + "amount": 9141.27, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202376283", + "timestamp": "2023-08-11 00:00:00", + "amount": 17055.2, + "type": "transfer", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202305204", + "timestamp": "2023-03-15 00:00:00", + "amount": -1530.28, + "type": "other", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202348165", + "timestamp": "2023-05-03 00:00:00", + "amount": -33443.37, + "type": "transfer", + "counterparty": "京东商城", + "remark": "投资" + } + ] + }, + { + "userId": "10011", + "username": "杨芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13908611671", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 72434.47, + "accountOpened": "2022-11-05", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [] + }, + { + "userId": "10012", + "username": "陈勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13159211431", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 400961.41, + "accountOpened": "2017-09-06", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202312613", + "timestamp": "2023-02-16 00:00:00", + "amount": 39407.19, + "type": "purchase", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10013", + "username": "吴勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13314788890", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 473593.99, + "accountOpened": "2021-12-04", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354950", + "timestamp": "2023-08-06 00:00:00", + "amount": 24382.94, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202322645", + "timestamp": "2023-08-04 00:00:00", + "amount": -14258.85, + "type": "purchase", + "counterparty": "支付宝", + "remark": "还款" + } + ] + }, + { + "userId": "10014", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13717797674", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 625910.78, + "accountOpened": "2020-09-23", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [] + }, + { + "userId": "10015", + "username": "陈秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13716779772", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 756293.25, + "accountOpened": "2023-02-23", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [] + }, + { + "userId": "10016", + "username": "陈霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13588746806", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 213005.53, + "accountOpened": "2017-07-22", + "lastLogin": "2023-11-05T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202392541", + "timestamp": "2023-04-13 00:00:00", + "amount": 31117.05, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202386472", + "timestamp": "2023-07-26 00:00:00", + "amount": 35165.82, + "type": "salary", + "counterparty": "微信支付", + "remark": "投资" + }, + { + "transactionId": "TXN202380339", + "timestamp": "2023-10-31 00:00:00", + "amount": 36782.05, + "type": "withdrawal", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202358390", + "timestamp": "2023-04-28 00:00:00", + "amount": 9966.13, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202397163", + "timestamp": "2023-04-29 00:00:00", + "amount": -1720.85, + "type": "purchase", + "counterparty": "银行理财", + "remark": "工资" + } + ] + }, + { + "userId": "10017", + "username": "吴杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13947060526", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 670389.71, + "accountOpened": "2022-09-26", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314767", + "timestamp": "2023-09-06 00:00:00", + "amount": -20497.09, + "type": "salary", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202316142", + "timestamp": "2023-03-08 00:00:00", + "amount": 24769.69, + "type": "salary", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202369594", + "timestamp": "2023-02-06 00:00:00", + "amount": -44840.39, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202399219", + "timestamp": "2023-07-12 00:00:00", + "amount": -27252.29, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202317206", + "timestamp": "2023-10-08 00:00:00", + "amount": -30268.75, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10018", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13692444096", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 711974.23, + "accountOpened": "2018-11-13", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202306230", + "timestamp": "2023-08-03 00:00:00", + "amount": -19575.43, + "type": "transfer", + "counterparty": "", + "remark": "工资" + } + ] + }, + { + "userId": "10019", + "username": "黄霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13350600805", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 483671.59, + "accountOpened": "2018-04-02", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202381176", + "timestamp": "2023-05-04 00:00:00", + "amount": -9518.05, + "type": "other", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202373200", + "timestamp": "2023-08-13 00:00:00", + "amount": -34933.78, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202312130", + "timestamp": "2023-03-01 00:00:00", + "amount": 10396.32, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202322921", + "timestamp": "2023-09-26 00:00:00", + "amount": 32979.46, + "type": "other", + "counterparty": "美团外卖", + "remark": "投资" + } + ] + }, + { + "userId": "10020", + "username": "吴娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13947069250", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 750222.29, + "accountOpened": "2015-05-08", + "lastLogin": "2023-11-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202345292", + "timestamp": "2023-01-22 00:00:00", + "amount": 10255.68, + "type": "withdrawal", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202376735", + "timestamp": "2023-05-23 00:00:00", + "amount": -46810.43, + "type": "salary", + "counterparty": "银行理财", + "remark": "投资" + }, + { + "transactionId": "TXN202311722", + "timestamp": "2023-03-19 00:00:00", + "amount": -16698.97, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ] + }, + { + "userId": "10021", + "username": "张杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13187007100", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 700822.3, + "accountOpened": "2016-08-03", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202321309", + "timestamp": "2023-02-03 00:00:00", + "amount": -47870.83, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202367105", + "timestamp": "2023-08-07 00:00:00", + "amount": 17306.88, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202336066", + "timestamp": "2023-07-14 00:00:00", + "amount": -47849.22, + "type": "salary", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202336075", + "timestamp": "2023-01-14 00:00:00", + "amount": -40621.52, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10022", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13887520476", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 797368.93, + "accountOpened": "2017-07-23", + "lastLogin": "2023-10-29T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367023", + "timestamp": "2023-01-02 00:00:00", + "amount": 40398.39, + "type": "other", + "counterparty": "", + "remark": "" + }, + { + "transactionId": "TXN202316605", + "timestamp": "2023-05-07 00:00:00", + "amount": 44884.45, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202367378", + "timestamp": "2023-07-05 00:00:00", + "amount": 33071.57, + "type": "salary", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10023", + "username": "黄艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13313134080", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 209249.19, + "accountOpened": "2021-06-09", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314132", + "timestamp": "2023-05-28 00:00:00", + "amount": 7564.54, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202364283", + "timestamp": "2023-06-24 00:00:00", + "amount": -27256.35, + "type": "purchase", + "counterparty": "微信支付", + "remark": "还款" + } + ] + }, + { + "userId": "10024", + "username": "杨敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13387955874", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 729767.31, + "accountOpened": "2016-12-12", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202398807", + "timestamp": "2023-01-17 00:00:00", + "amount": -26252.59, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202398494", + "timestamp": "2023-01-16 00:00:00", + "amount": 27564.58, + "type": "salary", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202367826", + "timestamp": "2023-03-17 00:00:00", + "amount": 11777.85, + "type": "other", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202343329", + "timestamp": "2023-04-19 00:00:00", + "amount": -38759.19, + "type": "salary", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202397068", + "timestamp": "2023-01-02 00:00:00", + "amount": -33511.05, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + } + ] + }, + { + "userId": "10025", + "username": "刘秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13993823661", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 261160.39, + "accountOpened": "2023-05-09", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202303357", + "timestamp": "2023-08-29 00:00:00", + "amount": -14977.19, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202319833", + "timestamp": "2023-07-21 00:00:00", + "amount": -15076.15, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "还款" + } + ] + }, + { + "userId": "10026", + "username": "吴娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13019671310", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 314563.32, + "accountOpened": "2019-11-01", + "lastLogin": "2023-11-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202302960", + "timestamp": "2023-01-26 00:00:00", + "amount": -9942.73, + "type": "salary", + "counterparty": "微信支付", + "remark": "转账" + } + ] + }, + { + "userId": "10027", + "username": "赵强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13453226631", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 211082.66, + "accountOpened": "2017-11-04", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367605", + "timestamp": "2023-01-15 00:00:00", + "amount": -31795.69, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10028", + "username": "黄强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13911883296", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 767683.3, + "accountOpened": "2020-09-12", + "lastLogin": "2023-11-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391083", + "timestamp": "2023-10-01 00:00:00", + "amount": 20175.6, + "type": "other", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202365558", + "timestamp": "2023-09-05 00:00:00", + "amount": 17889.02, + "type": "transfer", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202379723", + "timestamp": "2023-07-02 00:00:00", + "amount": -36515.6, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202365405", + "timestamp": "2023-04-19 00:00:00", + "amount": -7719.03, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202319116", + "timestamp": "2023-05-09 00:00:00", + "amount": -16528.2, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + } + ] + }, + { + "userId": "10029", + "username": "赵娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13170518523", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 95860.38, + "accountOpened": "2015-03-26", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202310975", + "timestamp": "2023-04-16 00:00:00", + "amount": -3417.3, + "type": "salary", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10030", + "username": "张敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13811944993", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 226932.77, + "accountOpened": "2021-08-05", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202353106", + "timestamp": "2023-01-05 00:00:00", + "amount": -47399.18, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202300169", + "timestamp": "2023-03-22 00:00:00", + "amount": -11643.96, + "type": "other", + "counterparty": "淘宝网", + "remark": "" + } + ] + }, + { + "userId": "10031", + "username": "吴丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13971410276", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 553097.06, + "accountOpened": "2021-12-11", + "lastLogin": "2023-10-16T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202355499", + "timestamp": "2023-09-06 00:00:00", + "amount": 30333.73, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202352335", + "timestamp": "2023-02-17 00:00:00", + "amount": 42690.6, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + } + ] + }, + { + "userId": "10032", + "username": "赵平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13016316375", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 327054.13, + "accountOpened": "2017-08-07", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202365342", + "timestamp": "2023-01-10 00:00:00", + "amount": 29057.61, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10033", + "username": "赵丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13695316994", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 603210.38, + "accountOpened": "2023-04-08", + "lastLogin": "2023-10-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202342877", + "timestamp": "2023-01-04 00:00:00", + "amount": 27540.15, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + } + ] + }, + { + "userId": "10034", + "username": "李静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13134471815", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 953424.06, + "accountOpened": "2018-06-25", + "lastLogin": "2023-10-01T00:00:00Z", + "transactions": [] + }, + { + "userId": "10035", + "username": "王静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13954201379", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 356339.46, + "accountOpened": "2018-09-05", + "lastLogin": "2023-11-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202371223", + "timestamp": "2023-01-22 00:00:00", + "amount": 7124.95, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202306261", + "timestamp": "2023-10-13 00:00:00", + "amount": -12880.65, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10036", + "username": "张伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13162390834", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 429885.14, + "accountOpened": "2015-12-31", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [] + }, + { + "userId": "10037", + "username": "刘敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13913230822", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 973776.27, + "accountOpened": "2019-08-11", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202304334", + "timestamp": "2023-08-21 00:00:00", + "amount": -33413.28, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202325024", + "timestamp": "2023-06-04 00:00:00", + "amount": 9485.67, + "type": "other", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202325471", + "timestamp": "2023-08-03 00:00:00", + "amount": 15924.21, + "type": "purchase", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202351780", + "timestamp": "2023-02-07 00:00:00", + "amount": -2807.99, + "type": "salary", + "counterparty": "微信支付", + "remark": "转账" + }, + { + "transactionId": "TXN202376117", + "timestamp": "2023-04-14 00:00:00", + "amount": -5726.73, + "type": "salary", + "counterparty": "支付宝", + "remark": "工资" + } + ] + }, + { + "userId": "10038", + "username": "张秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13674830878", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 144798.67, + "accountOpened": "2022-09-19", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391051", + "timestamp": "2023-08-08 00:00:00", + "amount": 2216.54, + "type": "transfer", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202389942", + "timestamp": "2023-10-05 00:00:00", + "amount": 34783.99, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202327654", + "timestamp": "2023-01-27 00:00:00", + "amount": 2969.41, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10039", + "username": "王敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13439303952", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 906104.94, + "accountOpened": "2015-01-19", + "lastLogin": "2023-10-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202327797", + "timestamp": "2023-07-31 00:00:00", + "amount": 46903.99, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "" + }, + { + "transactionId": "TXN202353094", + "timestamp": "2023-06-28 00:00:00", + "amount": -48491.51, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "工资" + } + ] + }, + { + "userId": "10040", + "username": "王杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13276937853", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 794690.95, + "accountOpened": "2022-08-03", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202326669", + "timestamp": "2023-01-07 00:00:00", + "amount": -28317.12, + "type": "transfer", + "counterparty": "", + "remark": "投资" + }, + { + "transactionId": "TXN202399377", + "timestamp": "2023-04-29 00:00:00", + "amount": -3273.38, + "type": "salary", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202311438", + "timestamp": "2023-01-14 00:00:00", + "amount": -28640.79, + "type": "other", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202302747", + "timestamp": "2023-09-18 00:00:00", + "amount": 24872.67, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "投资" + } + ] + }, + { + "userId": "10041", + "username": "赵秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13963301580", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 851178.63, + "accountOpened": "2015-01-21", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354871", + "timestamp": "2023-03-25 00:00:00", + "amount": 33054.67, + "type": "purchase", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202353637", + "timestamp": "2023-05-14 00:00:00", + "amount": 17878.21, + "type": "other", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202376529", + "timestamp": "2023-08-09 00:00:00", + "amount": 43158.09, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202387007", + "timestamp": "2023-10-30 00:00:00", + "amount": -26298.32, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202393353", + "timestamp": "2023-03-14 00:00:00", + "amount": 18437.62, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10042", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13219003328", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 452023.92, + "accountOpened": "2018-12-05", + "lastLogin": "2023-10-05T00:00:00Z", + "transactions": [] + }, + { + "userId": "10043", + "username": "刘静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13930118390", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 635698.01, + "accountOpened": "2016-05-31", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [] + }, + { + "userId": "10044", + "username": "李霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13489855133", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 365240.46, + "accountOpened": "2021-02-11", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [] + }, + { + "userId": "10045", + "username": "王伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13206613727", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 978393.3, + "accountOpened": "2019-02-02", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202308616", + "timestamp": "2023-05-26 00:00:00", + "amount": -135.72, + "type": "salary", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202308083", + "timestamp": "2023-06-03 00:00:00", + "amount": 13147.98, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202365449", + "timestamp": "2023-07-08 00:00:00", + "amount": -25460.8, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + } + ] + }, + { + "userId": "10046", + "username": "吴霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13614353766", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 283304.83, + "accountOpened": "2017-01-04", + "lastLogin": "2023-10-15T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202352659", + "timestamp": "2023-10-15 00:00:00", + "amount": 17980.77, + "type": "other", + "counterparty": "微信支付", + "remark": "投资" + } + ] + }, + { + "userId": "10047", + "username": "杨敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13758874601", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 981135.31, + "accountOpened": "2020-11-12", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202354491", + "timestamp": "2023-11-01 00:00:00", + "amount": -21901.34, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202386116", + "timestamp": "2023-02-01 00:00:00", + "amount": -19235.53, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202320179", + "timestamp": "2023-07-05 00:00:00", + "amount": -11462.69, + "type": "other", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202347752", + "timestamp": "2023-10-08 00:00:00", + "amount": -21279.49, + "type": "other", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202301031", + "timestamp": "2023-06-27 00:00:00", + "amount": 41196.32, + "type": "other", + "counterparty": "银行理财", + "remark": "投资" + } + ] + }, + { + "userId": "10048", + "username": "吴艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13146332558", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 814297.56, + "accountOpened": "2019-08-22", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [] + }, + { + "userId": "10049", + "username": "李敏", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13958766324", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 88681.8, + "accountOpened": "2019-12-24", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202346091", + "timestamp": "2023-05-31 00:00:00", + "amount": -17025.35, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202364872", + "timestamp": "2023-02-25 00:00:00", + "amount": -29272.37, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202382833", + "timestamp": "2023-09-27 00:00:00", + "amount": -31621.61, + "type": "purchase", + "counterparty": "微信支付", + "remark": "投资" + }, + { + "transactionId": "TXN202317434", + "timestamp": "2023-03-24 00:00:00", + "amount": 24552.63, + "type": "salary", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202331436", + "timestamp": "2023-08-27 00:00:00", + "amount": -43282.23, + "type": "transfer", + "counterparty": "微信支付", + "remark": "转账" + } + ] + }, + { + "userId": "10050", + "username": "黄静", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13565048459", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 318286.84, + "accountOpened": "2017-09-29", + "lastLogin": "2023-11-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202374996", + "timestamp": "2023-05-16 00:00:00", + "amount": -24676.01, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202344435", + "timestamp": "2023-05-01 00:00:00", + "amount": 3942.27, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10051", + "username": "李娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13989694797", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 354458.85, + "accountOpened": "2018-01-25", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202374058", + "timestamp": "2023-10-26 00:00:00", + "amount": -35859.26, + "type": "other", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202360366", + "timestamp": "2023-01-26 00:00:00", + "amount": -19374.02, + "type": "salary", + "counterparty": "银行理财", + "remark": "投资" + }, + { + "transactionId": "TXN202319205", + "timestamp": "2023-10-11 00:00:00", + "amount": 13247.55, + "type": "purchase", + "counterparty": "微信支付", + "remark": "" + }, + { + "transactionId": "TXN202336783", + "timestamp": "2023-05-17 00:00:00", + "amount": -9710.57, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + } + ] + }, + { + "userId": "10052", + "username": "周杰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13080870956", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 359816.55, + "accountOpened": "2017-12-04", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202334710", + "timestamp": "2023-09-06 00:00:00", + "amount": -46536.13, + "type": "other", + "counterparty": "京东商城", + "remark": "购物" + }, + { + "transactionId": "TXN202360412", + "timestamp": "2023-03-17 00:00:00", + "amount": -15930.76, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202322924", + "timestamp": "2023-01-23 00:00:00", + "amount": -44120.99, + "type": "salary", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10053", + "username": "陈强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13411252856", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 782686.09, + "accountOpened": "2023-05-26", + "lastLogin": "2023-10-18T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202384617", + "timestamp": "2023-03-06 00:00:00", + "amount": -42492.41, + "type": "other", + "counterparty": "微信支付", + "remark": "" + }, + { + "transactionId": "TXN202360196", + "timestamp": "2023-08-06 00:00:00", + "amount": -10880.06, + "type": "salary", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202389564", + "timestamp": "2023-07-01 00:00:00", + "amount": -41335.94, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + } + ] + }, + { + "userId": "10054", + "username": "周霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13519745772", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 62584.16, + "accountOpened": "2016-11-30", + "lastLogin": "2023-10-25T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202334952", + "timestamp": "2023-06-12 00:00:00", + "amount": -49386.74, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202333723", + "timestamp": "2023-02-24 00:00:00", + "amount": 4824.67, + "type": "salary", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202343932", + "timestamp": "2023-10-24 00:00:00", + "amount": 24581.5, + "type": "transfer", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202344138", + "timestamp": "2023-10-02 00:00:00", + "amount": 40639.93, + "type": "purchase", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202357653", + "timestamp": "2023-10-17 00:00:00", + "amount": -33555.89, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ] + }, + { + "userId": "10055", + "username": "李秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13384934245", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 525071.93, + "accountOpened": "2019-01-17", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202377581", + "timestamp": "2023-08-31 00:00:00", + "amount": 15117.62, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202317584", + "timestamp": "2023-03-03 00:00:00", + "amount": 42065.17, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + } + ] + }, + { + "userId": "10056", + "username": "李勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13161883331", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 405135.89, + "accountOpened": "2020-03-29", + "lastLogin": "2023-11-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202349455", + "timestamp": "2023-05-07 00:00:00", + "amount": -10056.94, + "type": "purchase", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202370534", + "timestamp": "2023-03-05 00:00:00", + "amount": 24947.71, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10057", + "username": "陈秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13325600467", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 904338.22, + "accountOpened": "2019-11-03", + "lastLogin": "2023-10-27T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202375858", + "timestamp": "2023-01-17 00:00:00", + "amount": -11545.09, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202391954", + "timestamp": "2023-11-09 00:00:00", + "amount": 17997.18, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ] + }, + { + "userId": "10058", + "username": "刘涛", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13765681989", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 957675.59, + "accountOpened": "2017-11-10", + "lastLogin": "2023-10-30T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202324069", + "timestamp": "2023-10-11 00:00:00", + "amount": -11697.36, + "type": "purchase", + "counterparty": "京东商城", + "remark": "投资" + }, + { + "transactionId": "TXN202338714", + "timestamp": "2023-03-16 00:00:00", + "amount": -26075.5, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202327140", + "timestamp": "2023-05-23 00:00:00", + "amount": -35866.8, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "还款" + } + ] + }, + { + "userId": "10059", + "username": "刘霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13563512113", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 71725.16, + "accountOpened": "2019-09-16", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202320104", + "timestamp": "2023-11-06 00:00:00", + "amount": 18493.84, + "type": "withdrawal", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202365932", + "timestamp": "2023-06-01 00:00:00", + "amount": -11287.6, + "type": "purchase", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202327196", + "timestamp": "2023-10-18 00:00:00", + "amount": -623.57, + "type": "other", + "counterparty": "", + "remark": "还款" + } + ] + }, + { + "userId": "10060", + "username": "赵平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13529565138", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 551791.23, + "accountOpened": "2022-09-09", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202310522", + "timestamp": "2023-08-08 00:00:00", + "amount": 21688.2, + "type": "purchase", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202338720", + "timestamp": "2023-05-07 00:00:00", + "amount": -20408.3, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202394928", + "timestamp": "2023-08-01 00:00:00", + "amount": -29222.13, + "type": "transfer", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202386634", + "timestamp": "2023-06-17 00:00:00", + "amount": -39891.81, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10061", + "username": "赵超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13031376805", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 107270.89, + "accountOpened": "2017-02-06", + "lastLogin": "2023-10-28T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202315617", + "timestamp": "2023-04-04 00:00:00", + "amount": -43004.6, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202319597", + "timestamp": "2023-04-12 00:00:00", + "amount": 45088.24, + "type": "other", + "counterparty": "", + "remark": "工资" + }, + { + "transactionId": "TXN202378521", + "timestamp": "2023-05-21 00:00:00", + "amount": -19028.22, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202350765", + "timestamp": "2023-11-08 00:00:00", + "amount": 39909.38, + "type": "salary", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202357736", + "timestamp": "2023-10-28 00:00:00", + "amount": -40617.74, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10062", + "username": "黄秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13114807523", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 651524.72, + "accountOpened": "2019-02-13", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202312260", + "timestamp": "2023-02-11 00:00:00", + "amount": -40597.24, + "type": "other", + "counterparty": "美团外卖", + "remark": "还款" + }, + { + "transactionId": "TXN202348608", + "timestamp": "2023-03-13 00:00:00", + "amount": 36472.25, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202375379", + "timestamp": "2023-09-03 00:00:00", + "amount": 35517.51, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202338341", + "timestamp": "2023-05-19 00:00:00", + "amount": 18575.41, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202361589", + "timestamp": "2023-08-01 00:00:00", + "amount": 4108.47, + "type": "salary", + "counterparty": "", + "remark": "工资" + } + ] + }, + { + "userId": "10063", + "username": "李丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13092772770", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 564175.67, + "accountOpened": "2016-12-15", + "lastLogin": "2023-11-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202303258", + "timestamp": "2023-01-29 00:00:00", + "amount": 14658.93, + "type": "purchase", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202369748", + "timestamp": "2023-05-19 00:00:00", + "amount": -25609.52, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10064", + "username": "陈秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13913771885", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 3725.95, + "accountOpened": "2019-08-14", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [] + }, + { + "userId": "10065", + "username": "陈伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13917003215", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 805551.56, + "accountOpened": "2015-03-21", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202345667", + "timestamp": "2023-04-28 00:00:00", + "amount": 31725.66, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202348977", + "timestamp": "2023-07-05 00:00:00", + "amount": -35893.63, + "type": "salary", + "counterparty": "京东商城", + "remark": "" + }, + { + "transactionId": "TXN202381254", + "timestamp": "2023-06-06 00:00:00", + "amount": -48324.44, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202300039", + "timestamp": "2023-09-15 00:00:00", + "amount": -27483.75, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "投资" + }, + { + "transactionId": "TXN202307743", + "timestamp": "2023-01-22 00:00:00", + "amount": 29144.6, + "type": "purchase", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10066", + "username": "李秀英", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13608533775", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 976950.87, + "accountOpened": "2020-11-21", + "lastLogin": "2023-11-02T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202368018", + "timestamp": "2023-03-21 00:00:00", + "amount": 26722.35, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202368375", + "timestamp": "2023-02-20 00:00:00", + "amount": -31869.6, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10067", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13677259921", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 661806.38, + "accountOpened": "2018-03-11", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202371279", + "timestamp": "2023-01-22 00:00:00", + "amount": 48554.49, + "type": "salary", + "counterparty": "美团外卖", + "remark": "购物" + } + ] + }, + { + "userId": "10068", + "username": "周涛", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13073117077", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 425850.48, + "accountOpened": "2015-03-01", + "lastLogin": "2023-10-13T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202396696", + "timestamp": "2023-03-27 00:00:00", + "amount": -8517.96, + "type": "other", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202301106", + "timestamp": "2023-01-28 00:00:00", + "amount": -41846.61, + "type": "other", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202328480", + "timestamp": "2023-04-08 00:00:00", + "amount": 8325.18, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10069", + "username": "张勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13729486798", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 66157.84, + "accountOpened": "2018-09-15", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202351034", + "timestamp": "2023-05-08 00:00:00", + "amount": -23237.28, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "工资" + }, + { + "transactionId": "TXN202301844", + "timestamp": "2023-04-04 00:00:00", + "amount": -39199.14, + "type": "other", + "counterparty": "银行理财", + "remark": "购物" + }, + { + "transactionId": "TXN202398720", + "timestamp": "2023-09-11 00:00:00", + "amount": -6284.07, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202385515", + "timestamp": "2023-03-27 00:00:00", + "amount": -20644.66, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10070", + "username": "黄平", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13599645577", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 695340.32, + "accountOpened": "2018-05-14", + "lastLogin": "2023-10-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202372391", + "timestamp": "2023-09-23 00:00:00", + "amount": -27101.74, + "type": "salary", + "counterparty": "淘宝网", + "remark": "还款" + }, + { + "transactionId": "TXN202318030", + "timestamp": "2023-06-02 00:00:00", + "amount": -39513.99, + "type": "other", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202313706", + "timestamp": "2023-03-08 00:00:00", + "amount": 44611.27, + "type": "other", + "counterparty": "支付宝", + "remark": "购物" + }, + { + "transactionId": "TXN202319538", + "timestamp": "2023-05-11 00:00:00", + "amount": -39628.51, + "type": "other", + "counterparty": "微信支付", + "remark": "" + } + ] + }, + { + "userId": "10071", + "username": "赵霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13617062560", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 391531.04, + "accountOpened": "2022-01-13", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202370806", + "timestamp": "2023-06-21 00:00:00", + "amount": 19454.72, + "type": "purchase", + "counterparty": "银行理财", + "remark": "工资" + } + ] + }, + { + "userId": "10072", + "username": "赵芳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13031859175", + "accountType": "personal", + "accountLevel": "gold", + "accountBalance": 763300.2, + "accountOpened": "2022-04-07", + "lastLogin": "2023-11-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202381471", + "timestamp": "2023-05-04 00:00:00", + "amount": -41328.92, + "type": "other", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202331317", + "timestamp": "2023-09-09 00:00:00", + "amount": 9609.37, + "type": "purchase", + "counterparty": "", + "remark": "还款" + } + ] + }, + { + "userId": "10073", + "username": "刘娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13248956308", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 707441.57, + "accountOpened": "2022-07-20", + "lastLogin": "2023-11-01T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202346648", + "timestamp": "2023-05-12 00:00:00", + "amount": -34380.86, + "type": "withdrawal", + "counterparty": "", + "remark": "转账" + }, + { + "transactionId": "TXN202391200", + "timestamp": "2023-09-16 00:00:00", + "amount": 400.56, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202330223", + "timestamp": "2023-07-23 00:00:00", + "amount": 21188.21, + "type": "salary", + "counterparty": "淘宝网", + "remark": "投资" + } + ] + }, + { + "userId": "10074", + "username": "陈军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13950924391", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 976258.25, + "accountOpened": "2017-01-12", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202353271", + "timestamp": "2023-01-16 00:00:00", + "amount": 38633.72, + "type": "purchase", + "counterparty": "支付宝", + "remark": "" + }, + { + "transactionId": "TXN202367141", + "timestamp": "2023-08-14 00:00:00", + "amount": 42918.36, + "type": "other", + "counterparty": "京东商城", + "remark": "购物" + }, + { + "transactionId": "TXN202393404", + "timestamp": "2023-01-06 00:00:00", + "amount": 2696.01, + "type": "other", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10075", + "username": "黄艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13752729871", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 134338.29, + "accountOpened": "2018-02-01", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202385461", + "timestamp": "2023-04-25 00:00:00", + "amount": 47449.73, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "工资" + }, + { + "transactionId": "TXN202374896", + "timestamp": "2023-06-07 00:00:00", + "amount": -35100.11, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202363505", + "timestamp": "2023-07-11 00:00:00", + "amount": 36895.38, + "type": "transfer", + "counterparty": "支付宝", + "remark": "" + } + ] + }, + { + "userId": "10076", + "username": "李勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13460972880", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 868667.17, + "accountOpened": "2023-05-08", + "lastLogin": "2023-10-23T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367311", + "timestamp": "2023-05-29 00:00:00", + "amount": -47859.37, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202349240", + "timestamp": "2023-05-12 00:00:00", + "amount": -48610.26, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202319233", + "timestamp": "2023-07-27 00:00:00", + "amount": 38232.59, + "type": "purchase", + "counterparty": "", + "remark": "投资" + } + ] + }, + { + "userId": "10077", + "username": "周丽", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13322359258", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 584509.9, + "accountOpened": "2018-09-07", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202373335", + "timestamp": "2023-10-07 00:00:00", + "amount": 33185.61, + "type": "salary", + "counterparty": "京东商城", + "remark": "工资" + }, + { + "transactionId": "TXN202388617", + "timestamp": "2023-11-02 00:00:00", + "amount": 35814.5, + "type": "transfer", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202348680", + "timestamp": "2023-09-03 00:00:00", + "amount": -20933.76, + "type": "salary", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10078", + "username": "吴伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13761460371", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 500488.26, + "accountOpened": "2021-09-15", + "lastLogin": "2023-10-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202376676", + "timestamp": "2023-05-23 00:00:00", + "amount": -16838.9, + "type": "other", + "counterparty": "支付宝", + "remark": "转账" + }, + { + "transactionId": "TXN202358651", + "timestamp": "2023-06-24 00:00:00", + "amount": 16426.18, + "type": "other", + "counterparty": "", + "remark": "购物" + } + ] + }, + { + "userId": "10079", + "username": "赵磊", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13930191015", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 100989.74, + "accountOpened": "2015-11-08", + "lastLogin": "2023-10-24T00:00:00Z", + "transactions": [] + }, + { + "userId": "10080", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13887638182", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 162398.51, + "accountOpened": "2023-05-26", + "lastLogin": "2023-10-28T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202373750", + "timestamp": "2023-09-13 00:00:00", + "amount": 26940.32, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ] + }, + { + "userId": "10081", + "username": "黄霞", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13433402666", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 746324.86, + "accountOpened": "2016-09-19", + "lastLogin": "2023-10-26T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202382953", + "timestamp": "2023-03-21 00:00:00", + "amount": 15750.78, + "type": "other", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202388136", + "timestamp": "2023-03-16 00:00:00", + "amount": 32504.87, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202340916", + "timestamp": "2023-02-12 00:00:00", + "amount": -39824.77, + "type": "other", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202382058", + "timestamp": "2023-07-04 00:00:00", + "amount": 17917.25, + "type": "other", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202375178", + "timestamp": "2023-04-26 00:00:00", + "amount": -26984.63, + "type": "transfer", + "counterparty": "银行理财", + "remark": "投资" + } + ] + }, + { + "userId": "10082", + "username": "周军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13977098797", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 784467.54, + "accountOpened": "2018-02-06", + "lastLogin": "2023-11-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202322822", + "timestamp": "2023-02-01 00:00:00", + "amount": 44158.4, + "type": "salary", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202367869", + "timestamp": "2023-01-24 00:00:00", + "amount": -21667.4, + "type": "salary", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202346328", + "timestamp": "2023-03-15 00:00:00", + "amount": 16069.46, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + } + ] + }, + { + "userId": "10083", + "username": "王磊", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13818607115", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 56348.91, + "accountOpened": "2016-02-19", + "lastLogin": "2023-10-25T00:00:00Z", + "transactions": [] + }, + { + "userId": "10084", + "username": "王艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13205475542", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 341898.02, + "accountOpened": "2017-06-05", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202300982", + "timestamp": "2023-09-18 00:00:00", + "amount": -40088.7, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "转账" + }, + { + "transactionId": "TXN202349421", + "timestamp": "2023-11-13 00:00:00", + "amount": 46415.23, + "type": "other", + "counterparty": "微信支付", + "remark": "" + } + ] + }, + { + "userId": "10085", + "username": "杨娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13092802411", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 28175.83, + "accountOpened": "2018-02-20", + "lastLogin": "2023-11-11T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202335061", + "timestamp": "2023-11-12 00:00:00", + "amount": 19260.46, + "type": "purchase", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202375968", + "timestamp": "2023-04-22 00:00:00", + "amount": 37477.69, + "type": "purchase", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10086", + "username": "吴勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13291999527", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 911278.15, + "accountOpened": "2022-11-03", + "lastLogin": "2023-10-14T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202351540", + "timestamp": "2023-01-05 00:00:00", + "amount": -17711.08, + "type": "other", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202389666", + "timestamp": "2023-01-20 00:00:00", + "amount": 44793.34, + "type": "purchase", + "counterparty": "京东商城", + "remark": "还款" + }, + { + "transactionId": "TXN202331778", + "timestamp": "2023-09-05 00:00:00", + "amount": -38617.3, + "type": "other", + "counterparty": "京东商城", + "remark": "转账" + } + ] + }, + { + "userId": "10087", + "username": "王娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13824622176", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 713293.13, + "accountOpened": "2016-06-15", + "lastLogin": "2023-10-31T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202314670", + "timestamp": "2023-11-14 00:00:00", + "amount": -49772.49, + "type": "other", + "counterparty": "银行理财", + "remark": "还款" + }, + { + "transactionId": "TXN202335550", + "timestamp": "2023-10-06 00:00:00", + "amount": -21667.95, + "type": "purchase", + "counterparty": "京东商城", + "remark": "转账" + }, + { + "transactionId": "TXN202362095", + "timestamp": "2023-05-10 00:00:00", + "amount": 18264.64, + "type": "transfer", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202390500", + "timestamp": "2023-08-04 00:00:00", + "amount": 28391.88, + "type": "withdrawal", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202381822", + "timestamp": "2023-03-26 00:00:00", + "amount": 35420.77, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "还款" + } + ] + }, + { + "userId": "10088", + "username": "黄勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13975935639", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 569616.04, + "accountOpened": "2016-03-17", + "lastLogin": "2023-10-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202367658", + "timestamp": "2023-08-20 00:00:00", + "amount": 49707.69, + "type": "salary", + "counterparty": "淘宝网", + "remark": "" + } + ] + }, + { + "userId": "10089", + "username": "周娟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13797217329", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 384593.79, + "accountOpened": "2017-10-01", + "lastLogin": "2023-10-08T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202355964", + "timestamp": "2023-06-23 00:00:00", + "amount": 37778.02, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202326137", + "timestamp": "2023-08-05 00:00:00", + "amount": -44839.86, + "type": "other", + "counterparty": "淘宝网", + "remark": "工资" + } + ] + }, + { + "userId": "10090", + "username": "陈超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13218874994", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 485131.55, + "accountOpened": "2023-01-31", + "lastLogin": "2023-10-06T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202308992", + "timestamp": "2023-10-25 00:00:00", + "amount": 5508.43, + "type": "other", + "counterparty": "", + "remark": "还款" + }, + { + "transactionId": "TXN202323707", + "timestamp": "2023-04-01 00:00:00", + "amount": -1803.73, + "type": "salary", + "counterparty": "银行理财", + "remark": "购物" + } + ] + }, + { + "userId": "10091", + "username": "杨娜", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13890343367", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 737929.35, + "accountOpened": "2018-08-20", + "lastLogin": "2023-11-09T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202335782", + "timestamp": "2023-09-22 00:00:00", + "amount": 22269.84, + "type": "purchase", + "counterparty": "美团外卖", + "remark": "工资" + }, + { + "transactionId": "TXN202353960", + "timestamp": "2023-06-03 00:00:00", + "amount": 37207.28, + "type": "transfer", + "counterparty": "美团外卖", + "remark": "还款" + }, + { + "transactionId": "TXN202308299", + "timestamp": "2023-04-17 00:00:00", + "amount": 25849.85, + "type": "other", + "counterparty": "淘宝网", + "remark": "转账" + }, + { + "transactionId": "TXN202320571", + "timestamp": "2023-05-04 00:00:00", + "amount": -31307.77, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202345485", + "timestamp": "2023-07-15 00:00:00", + "amount": -11203.47, + "type": "salary", + "counterparty": "银行理财", + "remark": "还款" + } + ] + }, + { + "userId": "10092", + "username": "刘勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13875149892", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 966808.94, + "accountOpened": "2020-07-27", + "lastLogin": "2023-10-10T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202333557", + "timestamp": "2023-01-20 00:00:00", + "amount": -31917.89, + "type": "other", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202328997", + "timestamp": "2023-10-21 00:00:00", + "amount": -6220.46, + "type": "other", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202309293", + "timestamp": "2023-06-18 00:00:00", + "amount": -7307.65, + "type": "other", + "counterparty": "", + "remark": "购物" + }, + { + "transactionId": "TXN202347391", + "timestamp": "2023-02-11 00:00:00", + "amount": -3945.01, + "type": "other", + "counterparty": "支付宝", + "remark": "购物" + } + ] + }, + { + "userId": "10093", + "username": "吴伟", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13667460570", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 95600.91, + "accountOpened": "2016-02-26", + "lastLogin": "2023-11-04T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202369258", + "timestamp": "2023-04-27 00:00:00", + "amount": -40056.11, + "type": "other", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202341890", + "timestamp": "2023-04-01 00:00:00", + "amount": -507.92, + "type": "other", + "counterparty": "美团外卖", + "remark": "购物" + }, + { + "transactionId": "TXN202350867", + "timestamp": "2023-08-08 00:00:00", + "amount": 47687.85, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202300750", + "timestamp": "2023-03-25 00:00:00", + "amount": 329.71, + "type": "salary", + "counterparty": "微信支付", + "remark": "购物" + }, + { + "transactionId": "TXN202331610", + "timestamp": "2023-08-09 00:00:00", + "amount": 34075.17, + "type": "transfer", + "counterparty": "微信支付", + "remark": "工资" + } + ] + }, + { + "userId": "10094", + "username": "周勇", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13292114325", + "accountType": "personal", + "accountLevel": "silver", + "accountBalance": 977484.63, + "accountOpened": "2016-08-14", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202375858", + "timestamp": "2023-04-29 00:00:00", + "amount": -31988.28, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "投资" + }, + { + "transactionId": "TXN202374363", + "timestamp": "2023-05-20 00:00:00", + "amount": -36236.56, + "type": "other", + "counterparty": "", + "remark": "" + } + ] + }, + { + "userId": "10095", + "username": "杨秀兰", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13399217488", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 249771.66, + "accountOpened": "2021-05-12", + "lastLogin": "2023-11-07T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202391820", + "timestamp": "2023-09-10 00:00:00", + "amount": 40112.65, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "转账" + }, + { + "transactionId": "TXN202382023", + "timestamp": "2023-04-27 00:00:00", + "amount": 10962.41, + "type": "salary", + "counterparty": "支付宝", + "remark": "购物" + } + ] + }, + { + "userId": "10096", + "username": "赵艳", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13082492960", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 746563.33, + "accountOpened": "2016-07-30", + "lastLogin": "2023-10-26T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202380238", + "timestamp": "2023-07-14 00:00:00", + "amount": 3478.23, + "type": "purchase", + "counterparty": "淘宝网", + "remark": "购物" + }, + { + "transactionId": "TXN202329166", + "timestamp": "2023-04-06 00:00:00", + "amount": -8033.21, + "type": "purchase", + "counterparty": "支付宝", + "remark": "投资" + }, + { + "transactionId": "TXN202384929", + "timestamp": "2023-05-17 00:00:00", + "amount": -28497.87, + "type": "other", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202309513", + "timestamp": "2023-09-21 00:00:00", + "amount": -46360.27, + "type": "withdrawal", + "counterparty": "美团外卖", + "remark": "" + }, + { + "transactionId": "TXN202395797", + "timestamp": "2023-01-10 00:00:00", + "amount": 30008.86, + "type": "withdrawal", + "counterparty": "京东商城", + "remark": "" + } + ] + }, + { + "userId": "10097", + "username": "赵超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13143370961", + "accountType": "corporate", + "accountLevel": "platinum", + "accountBalance": 759843.23, + "accountOpened": "2022-04-08", + "lastLogin": "2023-10-22T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202363361", + "timestamp": "2023-08-05 00:00:00", + "amount": -36688.63, + "type": "other", + "counterparty": "银行理财", + "remark": "" + }, + { + "transactionId": "TXN202345292", + "timestamp": "2023-08-23 00:00:00", + "amount": 11982.61, + "type": "other", + "counterparty": "微信支付", + "remark": "工资" + }, + { + "transactionId": "TXN202376527", + "timestamp": "2023-07-29 00:00:00", + "amount": 22778.99, + "type": "withdrawal", + "counterparty": "淘宝网", + "remark": "转账" + } + ] + }, + { + "userId": "10098", + "username": "李强", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13241088836", + "accountType": "corporate", + "accountLevel": "gold", + "accountBalance": 563062.06, + "accountOpened": "2023-05-05", + "lastLogin": "2023-10-03T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202398142", + "timestamp": "2023-03-20 00:00:00", + "amount": 4593.91, + "type": "purchase", + "counterparty": "银行理财", + "remark": "购物" + } + ] + }, + { + "userId": "10099", + "username": "黄超", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13099928154", + "accountType": "corporate", + "accountLevel": "silver", + "accountBalance": 337408.64, + "accountOpened": "2019-01-18", + "lastLogin": "2023-10-16T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202344312", + "timestamp": "2023-04-28 00:00:00", + "amount": -46568.31, + "type": "transfer", + "counterparty": "淘宝网", + "remark": "" + }, + { + "transactionId": "TXN202335044", + "timestamp": "2023-08-01 00:00:00", + "amount": -41103.9, + "type": "other", + "counterparty": "", + "remark": "转账" + } + ] + }, + { + "userId": "10100", + "username": "张军", + "password": "5f4dcc3b5aa765d61d8327deb882cf99", + "phoneNumber": "13679282402", + "accountType": "personal", + "accountLevel": "platinum", + "accountBalance": 336334.6, + "accountOpened": "2022-08-30", + "lastLogin": "2023-10-12T00:00:00Z", + "transactions": [ + { + "transactionId": "TXN202319888", + "timestamp": "2023-08-01 00:00:00", + "amount": 6855.89, + "type": "transfer", + "counterparty": "支付宝", + "remark": "工资" + }, + { + "transactionId": "TXN202398557", + "timestamp": "2023-06-19 00:00:00", + "amount": 3474.1, + "type": "salary", + "counterparty": "微信支付", + "remark": "还款" + }, + { + "transactionId": "TXN202303579", + "timestamp": "2023-09-15 00:00:00", + "amount": 23361.64, + "type": "salary", + "counterparty": "支付宝", + "remark": "还款" + }, + { + "transactionId": "TXN202318826", + "timestamp": "2023-05-20 00:00:00", + "amount": 24748.97, + "type": "withdrawal", + "counterparty": "银行理财", + "remark": "转账" + }, + { + "transactionId": "TXN202398589", + "timestamp": "2023-03-06 00:00:00", + "amount": -30800.25, + "type": "purchase", + "counterparty": "微信支付", + "remark": "转账" + } + ] + } + ] +} \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/import requests.py b/summer-ospp/bankagent/bank-user/import requests.py new file mode 100644 index 00000000..4a5e7c34 --- /dev/null +++ b/summer-ospp/bankagent/bank-user/import requests.py @@ -0,0 +1,44 @@ +import requests +from requests.exceptions import RequestException + +# 测试 URL +TEST_URL = "https://sis-ext.cn-north-4.myhuaweicloud.com/v1" # 华为云 North4 API 根地址 + +# 代理列表示例 +# 格式: {"type": "http" or "socks5", "address": "127.0.0.1:端口"} +proxies_to_test = [ + {"type": "http", "address": "8.156.67.245:3128"}, + {"type": "socks5", "address": "127.0.0.1:1080"}, +] + +def test_proxy(proxy): + proxy_type = proxy["type"] + proxy_address = proxy["address"] + + if proxy_type == "http": + proxies = { + "http": f"http://{proxy_address}", + "https": f"http://{proxy_address}", + } + elif proxy_type == "socks5": + proxies = { + "http": f"socks5h://{proxy_address}", + "https": f"socks5h://{proxy_address}", + } + else: + print(f"[!] 未知代理类型: {proxy_type}") + return + + try: + resp = requests.get(TEST_URL, proxies=proxies, timeout=10) + if resp.status_code == 401 or resp.status_code == 403: + # 未认证,但能到达服务器 + print(f"[✅] {proxy_type.upper()} {proxy_address} 可以访问华为云 North4(未认证)") + else: + print(f"[✅] {proxy_type.upper()} {proxy_address} 可以访问,HTTP状态码: {resp.status_code}") + except RequestException as e: + print(f"[❌] {proxy_type.upper()} {proxy_address} 无法访问: {e}") + +if __name__ == "__main__": + for proxy in proxies_to_test: + test_proxy(proxy) diff --git a/summer-ospp/bankagent/bank-user/recommend.py b/summer-ospp/bankagent/bank-user/recommend.py new file mode 100644 index 00000000..5383a005 --- /dev/null +++ b/summer-ospp/bankagent/bank-user/recommend.py @@ -0,0 +1,62 @@ +from flask import Flask, request, jsonify +import json + +app = Flask(__name__) + +# 加载用户画像数据 +with open('user_profiles.json', 'r', encoding='utf-8') as f: + user_profiles = json.load(f)["users"] + +# 产品推荐规则(可拓展) +def recommend_products(profile): + risk = profile["riskLevel"] + income = profile["incomeLevel"] + experience = profile["investmentExperience"] + + # 规则引擎示例(可根据实际需求调整) + if risk == "high": + return [ + "Tech Growth Fund", + "Crypto Index ETF", + "AI Startups Portfolio" + ] + elif risk == "medium": + if experience in ["advanced", "moderate"]: + return [ + "Global Equity Fund", + "Balanced Income Fund", + "Emerging Market ETF" + ] + else: + return [ + "Balanced Income Fund", + "Index Bond Fund" + ] + else: # risk = low + return [ + "Government Bond Fund", + "Fixed Income ETF", + "Capital Protection Plan" + ] + +@app.route('/api/recommend', methods=['POST']) +def recommend(): + data = request.get_json() + user_id = data.get("userId") + + user = next((u for u in user_profiles if u["userId"] == user_id), None) + if not user: + return jsonify({"error": "User not found"}), 404 + + products = recommend_products(user) + summary = f"Hello {user['username']}, based on your profile (Risk: {user['riskLevel']}, Income: {user['incomeLevel']}), we recommend: {', '.join(products)}." + + return jsonify({ + "userId": user["userId"], + "username": user["username"], + "recommendedProducts": products, + "summary": summary + }) + +if __name__ == '__main__': + app.run(host='0.0.0.0', port=5000, debug=True) diff --git a/summer-ospp/bankagent/bank-user/test_encoding.py b/summer-ospp/bankagent/bank-user/test_encoding.py new file mode 100644 index 00000000..c24c8773 --- /dev/null +++ b/summer-ospp/bankagent/bank-user/test_encoding.py @@ -0,0 +1,168 @@ +# edge_tts_server_fixed.py +from flask import Flask, request, jsonify, send_file +from flask_cors import CORS +import edge_tts +import uuid +import time +import asyncio +import logging +from pathlib import Path + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +app = Flask(__name__) +CORS(app) + +output_dir = Path("tts_output") +output_dir.mkdir(exist_ok=True) + +class EdgeTTSWrapper: + """Edge-TTS 包装类,避免命名冲突""" + + async def generate_speech_async(self, text, voice="zh-CN-XiaoxiaoNeural", output_path=None): + """异步生成语音""" + try: + communicate = edge_tts.Communicate(text, voice) + if output_path: + await communicate.save(output_path) + return True + else: + return await communicate.get_audio_data() + except Exception as e: + logger.error(f"Edge TTS错误: {e}") + return None + + def generate_speech(self, text, voice="zh-CN-XiaoxiaoNeural", output_path=None): + """同步生成语音""" + try: + # 创建新的事件循环 + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + result = loop.run_until_complete( + self.generate_speech_async(text, voice, output_path) + ) + loop.close() + return result + except Exception as e: + logger.error(f"Edge TTS运行错误: {e}") + return None + +# 创建实例 +tts_service = EdgeTTSWrapper() + +@app.route('/tts/generate', methods=['POST', 'OPTIONS']) +def generate_tts(): + if request.method == 'OPTIONS': + return '', 200 + + try: + data = request.get_json() + logger.info(f"收到请求: {data}") + + if not data or 'text' not in data: + return jsonify({'status': 'error', 'message': '缺少文本参数'}), 400 + + text = data['text'].strip() + if not text: + return jsonify({'status': 'error', 'message': '文本内容不能为空'}), 400 + + voice = data.get('voice', 'zh-CN-XiaoxiaoNeural') + filename = f"tts_{int(time.time())}_{uuid.uuid4().hex[:8]}.mp3" + output_path = output_dir / filename + + logger.info(f"开始生成语音: {text[:50]}...") + + # 生成语音 + success = tts_service.generate_speech(text, voice, str(output_path)) + + if success and output_path.exists(): + file_size = output_path.stat().st_size + logger.info(f"语音生成成功: {filename} ({file_size} bytes)") + + audio_url = f"http://172.16.22.115:8080/tts/download/{filename}" + + return jsonify({ + 'status': 'success', + 'message': '语音生成成功', + 'audio_url': audio_url, + 'filename': filename, + 'text': text, + 'voice': voice, + 'file_size': file_size + }) + else: + logger.error("语音生成失败") + return jsonify({'status': 'error', 'message': '语音生成失败'}), 500 + + except Exception as e: + logger.error(f"处理请求时出错: {e}") + return jsonify({'status': 'error', 'message': str(e)}), 500 + +@app.route('/tts/download/', methods=['GET']) +def download_audio(filename): + try: + # 安全检查 + if '..' in filename or '/' in filename: + return jsonify({'status': 'error', 'message': '无效文件名'}), 400 + + file_path = output_dir / filename + + if not file_path.exists(): + return jsonify({'status': 'error', 'message': '文件不存在'}), 404 + + return send_file( + file_path, + as_attachment=True, + download_name=filename, + mimetype='audio/mpeg' + ) + + except Exception as e: + logger.error(f"下载失败: {e}") + return jsonify({'status': 'error', 'message': '下载失败'}), 500 + +@app.route('/tts/health', methods=['GET']) +def health_check(): + """健康检查端点""" + return jsonify({ + 'status': 'healthy', + 'service': 'Edge TTS Server', + 'timestamp': time.time() + }) + +@app.route('/tts/voices', methods=['GET']) +def list_voices(): + """获取支持的语音列表""" + voices = [ + {"name": "晓晓(女声)", "value": "zh-CN-XiaoxiaoNeural"}, + {"name": "云扬(男声)", "value": "zh-CN-YunyangNeural"}, + {"name": "晓辰(女声)", "value": "zh-CN-XiaochenNeural"}, + {"name": "晓悠(女声)", "value": "zh-CN-XiaoyouNeural"}, + {"name": "云希(男声)", "value": "zh-CN-YunxiNeural"}, + {"name": "英语女声", "value": "en-US-AriaNeural"}, + {"name": "英语男声", "value": "en-US-GuyNeural"} + ] + return jsonify({'status': 'success', 'voices': voices}) + +if __name__ == '__main__': + print("启动修复版 Edge TTS 服务器...") + print("服务器地址: http://172.16.22.115:8080") + print("可用端点:") + print(" POST /tts/generate - 生成语音") + print(" GET /tts/download/ - 下载语音") + print(" GET /tts/health - 健康检查") + print(" GET /tts/voices - 获取语音列表") + + # 确保输出目录存在 + output_dir.mkdir(exist_ok=True) + + # 测试Edge-TTS是否正常工作 + try: + import edge_tts + print("✓ Edge-TTS 导入成功") + except ImportError: + print("✗ 请安装: pip install edge-tts") + exit(1) + + app.run(host='0.0.0.0', port=8080, debug=True) \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/tickets.json b/summer-ospp/bankagent/bank-user/tickets.json new file mode 100644 index 00000000..07ebffcf --- /dev/null +++ b/summer-ospp/bankagent/bank-user/tickets.json @@ -0,0 +1,24 @@ +{ + "tickets": [ + { + "ticketId": "TKT-20250821-753860", + "userId": "10001", + "username": "mark", + "category": "charge_dispute", + "content": "My credit card was charged twice for the same purchase yesterday.", + "status": "open", + "createdAt": "2025-08-21T08:42:33Z", + "updatedAt": "2025-08-21T08:42:33Z" + }, + { + "ticketId": "TKT-20250925-995754", + "userId": "10001", + "username": "mark", + "category": "charge_dispute", + "content": "Hello, my name is Mark, my phone number is 13035968176, and my password is password.Can you recommend some financial products for me?", + "status": "open", + "createdAt": "2025-09-25T15:59:55Z", + "updatedAt": "2025-09-25T15:59:55Z" + } + ] +} \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756829743_72ba418a.wav b/summer-ospp/bankagent/bank-user/tts_output/tts_1756829743_72ba418a.wav new file mode 100644 index 00000000..59aaa11e Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756829743_72ba418a.wav differ diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756829756_5376c557.wav b/summer-ospp/bankagent/bank-user/tts_output/tts_1756829756_5376c557.wav new file mode 100644 index 00000000..15093f9e Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756829756_5376c557.wav differ diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756830130_8a85d874.mp3 b/summer-ospp/bankagent/bank-user/tts_output/tts_1756830130_8a85d874.mp3 new file mode 100644 index 00000000..e69de29b diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756830146_28f86ac2.mp3 b/summer-ospp/bankagent/bank-user/tts_output/tts_1756830146_28f86ac2.mp3 new file mode 100644 index 00000000..e69de29b diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756830211_9c7b6118.mp3 b/summer-ospp/bankagent/bank-user/tts_output/tts_1756830211_9c7b6118.mp3 new file mode 100644 index 00000000..e69de29b diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756830216_77067789.mp3 b/summer-ospp/bankagent/bank-user/tts_output/tts_1756830216_77067789.mp3 new file mode 100644 index 00000000..e69de29b diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756830434_a85104c0.mp3 b/summer-ospp/bankagent/bank-user/tts_output/tts_1756830434_a85104c0.mp3 new file mode 100644 index 00000000..e69de29b diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756830781_692ca7c4.mp3 b/summer-ospp/bankagent/bank-user/tts_output/tts_1756830781_692ca7c4.mp3 new file mode 100644 index 00000000..e69de29b diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756831088_c77b1acf.wav b/summer-ospp/bankagent/bank-user/tts_output/tts_1756831088_c77b1acf.wav new file mode 100644 index 00000000..b681f154 Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756831088_c77b1acf.wav differ diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756831319_a496db20.wav b/summer-ospp/bankagent/bank-user/tts_output/tts_1756831319_a496db20.wav new file mode 100644 index 00000000..d7382811 Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756831319_a496db20.wav differ diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756831349_df01d2a2.wav b/summer-ospp/bankagent/bank-user/tts_output/tts_1756831349_df01d2a2.wav new file mode 100644 index 00000000..d7382811 Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756831349_df01d2a2.wav differ diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756831449_f5b6ca4b.wav b/summer-ospp/bankagent/bank-user/tts_output/tts_1756831449_f5b6ca4b.wav new file mode 100644 index 00000000..466b0b52 Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756831449_f5b6ca4b.wav differ diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756831884_2f6a4f0f.wav b/summer-ospp/bankagent/bank-user/tts_output/tts_1756831884_2f6a4f0f.wav new file mode 100644 index 00000000..466b0b52 Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756831884_2f6a4f0f.wav differ diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756888938_65eee48d.mp3 b/summer-ospp/bankagent/bank-user/tts_output/tts_1756888938_65eee48d.mp3 new file mode 100644 index 00000000..d049affd Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756888938_65eee48d.mp3 differ diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756889153_cbe6ad36.mp3 b/summer-ospp/bankagent/bank-user/tts_output/tts_1756889153_cbe6ad36.mp3 new file mode 100644 index 00000000..7d483d76 Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756889153_cbe6ad36.mp3 differ diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756889166_3b9cdc32.mp3 b/summer-ospp/bankagent/bank-user/tts_output/tts_1756889166_3b9cdc32.mp3 new file mode 100644 index 00000000..7d483d76 Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756889166_3b9cdc32.mp3 differ diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756891460_c497af3c.mp3 b/summer-ospp/bankagent/bank-user/tts_output/tts_1756891460_c497af3c.mp3 new file mode 100644 index 00000000..91088482 Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756891460_c497af3c.mp3 differ diff --git a/summer-ospp/bankagent/bank-user/tts_output/tts_1756899931_6c5d2a09.mp3 b/summer-ospp/bankagent/bank-user/tts_output/tts_1756899931_6c5d2a09.mp3 new file mode 100644 index 00000000..f6c225f9 Binary files /dev/null and b/summer-ospp/bankagent/bank-user/tts_output/tts_1756899931_6c5d2a09.mp3 differ diff --git a/summer-ospp/bankagent/bank-user/tts_server.py b/summer-ospp/bankagent/bank-user/tts_server.py new file mode 100644 index 00000000..4be0ea4e --- /dev/null +++ b/summer-ospp/bankagent/bank-user/tts_server.py @@ -0,0 +1,250 @@ +# tts_asr_server.py +from flask import Flask, request, jsonify, send_file +from flask_cors import CORS +import edge_tts +import whisper +import torch +import uuid +import time +import asyncio +import logging +import os +from pathlib import Path +import tempfile + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +app = Flask(__name__) +CORS(app) + +# 创建输出目录 +output_dir = Path("audio_output") +output_dir.mkdir(exist_ok=True) + +# Edge-TTS 语音映射 +VOICE_MAPPING = { + 'xiaoxiao': 'zh-CN-XiaoxiaoNeural', + 'yunyang': 'zh-CN-YunyangNeural', + 'aria': 'en-US-AriaNeural', + 'guy': 'en-US-GuyNeural', + 'jenny': 'en-US-JennyNeural' +} + +# 初始化 Whisper ASR 模型 +def load_whisper_model(): + """加载Whisper语音识别模型""" + try: + logger.info("正在加载Whisper模型...") + # 使用中等模型,平衡精度和速度 + model = whisper.load_model("medium") + logger.info("Whisper模型加载成功") + return model + except Exception as e: + logger.error(f"加载Whisper模型失败: {e}") + return None + +# 全局变量 +whisper_model = load_whisper_model() + +class AudioService: + """音频服务类,包含TTS和ASR功能""" + + def get_voice_name(self, voice_input): + """获取完整的语音名称""" + if not voice_input: + return 'en-US-AriaNeural' + + voice_lower = voice_input.lower() + if voice_lower in VOICE_MAPPING: + return VOICE_MAPPING[voice_lower] + + if 'zh-CN-' in voice_input or 'en-US-' in voice_input: + return voice_input + + return 'en-US-AriaNeural' + + # TTS 功能 + async def generate_speech_async(self, text, voice, output_path): + """异步生成语音""" + try: + full_voice_name = self.get_voice_name(voice) + communicate = edge_tts.Communicate(text, full_voice_name) + await communicate.save(output_path) + return True + except Exception as e: + logger.error(f"TTS生成失败: {e}") + return False + + def generate_speech(self, text, voice="aria", output_path=None): + """同步生成语音""" + try: + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + result = loop.run_until_complete( + self.generate_speech_async(text, voice, output_path) + ) + loop.close() + return result + except Exception as e: + logger.error(f"TTS运行错误: {e}") + return False + + # ASR 功能 + def transcribe_audio(self, audio_file_path, language="en"): + """语音识别转文字""" + try: + if not whisper_model: + return None, "Whisper模型未加载" + + # 设置语言参数 + if language.lower() in ['en', 'english']: + lang = "en" + else: + lang = None # 自动检测语言 + + # 进行语音识别 + result = whisper_model.transcribe( + audio_file_path, + language=lang, + fp16=torch.cuda.is_available(), # 使用GPU加速(如果可用) + verbose=False + ) + + text = result["text"].strip() + language_detected = result["language"] + + logger.info(f"ASR识别结果: {text} (语言: {language_detected})") + return text, language_detected + + except Exception as e: + logger.error(f"ASR识别失败: {e}") + return None, str(e) + +# 创建服务实例 +audio_service = AudioService() + +@app.route('/tts/generate', methods=['POST']) +def generate_tts(): + """TTS生成接口(直接返回音频)""" + try: + data = request.get_json() + text = data.get('text', '') + voice = data.get('voice', 'standard_female') + + if not text: + return jsonify({"error": "Text parameter is required"}), 400 + + # 调用TTS服务 + filepath, filename = speech_service.text_to_speech(text, voice) + + # ⭐ 关键修改:直接返回音频文件,而不是JSON + return send_file( + filepath, + mimetype='audio/mpeg', + as_attachment=False, # 不下载,直接播放 + download_name=filename + ) + + except Exception as e: + logging.error(f"[TTS ERROR] {str(e)}") + return jsonify({"error": str(e)}), 500 + + + +# ASR 路由 +@app.route('/asr/transcribe', methods=['POST', 'OPTIONS']) +def transcribe_audio(): + if request.method == 'OPTIONS': + return '', 200 + + try: + # 检查是否有文件上传 + if 'audio' not in request.files: + return jsonify({'status': 'error', 'message': 'No audio file provided'}), 400 + + audio_file = request.files['audio'] + if audio_file.filename == '': + return jsonify({'status': 'error', 'message': 'No file selected'}), 400 + + # 获取语言参数 + language = request.form.get('language', 'en') + + # 保存上传的音频文件 + filename = f"asr_{int(time.time())}_{uuid.uuid4().hex[:8]}_{audio_file.filename}" + input_path = output_dir / filename + audio_file.save(input_path) + + logger.info(f"开始语音识别: {filename}") + + # 进行语音识别 + text, detected_language = audio_service.transcribe_audio(str(input_path), language) + + if text: + return jsonify({ + 'status': 'success', + 'message': 'Transcription successful', + 'text': text, + 'detected_language': detected_language, + 'filename': filename, + 'confidence': 'high' # Whisper精度很高 + }) + else: + return jsonify({'status': 'error', 'message': 'Transcription failed'}), 500 + + except Exception as e: + logger.error(f"ASR error: {e}") + return jsonify({'status': 'error', 'message': str(e)}), 500 + +# 文件下载路由 +@app.route('/audio/download/', methods=['GET']) +def download_audio(filename): + try: + file_path = output_dir / filename + if file_path.exists(): + return send_file(file_path, as_attachment=True) + return jsonify({'status': 'error', 'message': 'File not found'}), 404 + except Exception as e: + return jsonify({'status': 'error', 'message': str(e)}), 500 + +# 健康检查 +@app.route('/health', methods=['GET']) +def health_check(): + return jsonify({ + 'status': 'healthy', + 'service': 'TTS + ASR Server', + 'tts_available': True, + 'asr_available': whisper_model is not None, + 'supported_voices': list(VOICE_MAPPING.keys()), + 'supported_languages': ['en', 'auto'] + }) + +# 获取支持的语音列表 +@app.route('/voices', methods=['GET']) +def list_voices(): + voices = [ + {"name": "Aria (English Female)", "value": "aria"}, + {"name": "Guy (English Male)", "value": "guy"}, + {"name": "Jenny (English Female)", "value": "jenny"}, + {"name": "Xiaoxiao (Chinese Female)", "value": "xiaoxiao"}, + {"name": "Yunyang (Chinese Male)", "value": "yunyang"} + ] + return jsonify({'status': 'success', 'voices': voices}) + +if __name__ == '__main__': + print("启动 TTS + ASR 服务器...") + print("功能:") + print(" TTS: POST /tts/generate") + print(" ASR: POST /asr/transcribe") + print(" 下载: GET /audio/download/") + print(" 健康检查: GET /health") + print(" 语音列表: GET /voices") + + # 检查模型加载情况 + if whisper_model: + print("✓ Whisper ASR 模型加载成功") + else: + print("⚠ Whisper ASR 模型加载失败,ASR功能不可用") + + output_dir.mkdir(exist_ok=True) + app.run(host='0.0.0.0', port=8080, debug=True) \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/txt2word.py b/summer-ospp/bankagent/bank-user/txt2word.py new file mode 100644 index 00000000..7a05d953 --- /dev/null +++ b/summer-ospp/bankagent/bank-user/txt2word.py @@ -0,0 +1,53 @@ +import os +import time +from docx import Document +from threading import Thread + +def process_file(txt_path, word_path): + try: + print(f"开始处理文件: {txt_path}") + start_time = time.time() + + # 读取文件(超时设置) + with open(txt_path, 'r', encoding='utf-8', errors='ignore') as f: + content = f.read() + print(f"读取完成,长度: {len(content)} 字符") + + # 创建 Word 文档 + doc = Document() + for line in content.split('\n'): + doc.add_paragraph(line) + + doc.save(word_path) + print(f"保存成功: {word_path} (耗时: {time.time() - start_time:.2f}s)") + + except Exception as e: + print(f"处理失败: {e}") + +def txt_to_word(source_folder): + if not os.path.exists(source_folder): + print(f"文件夹不存在: {source_folder}") + return + + for i in range(10, 11): # 只处理 10.txt(测试用) + txt_filename = f"{i}.txt" + word_filename = f"{i}.docx" + txt_path = os.path.join(source_folder, txt_filename) + word_path = os.path.join(source_folder, word_filename) + + if not os.path.exists(txt_path): + print(f"文件不存在: {txt_filename}") + continue + + # 启动线程(避免主程序卡死) + t = Thread(target=process_file, args=(txt_path, word_path)) + t.start() + t.join(timeout=30) # 设置 30 秒超时 + + if t.is_alive(): + print(f"处理超时: {txt_filename}") + +if __name__ == "__main__": + folder_path = "E:/guolei/Documents/translate" # 替换为你的路径 + txt_to_word(folder_path) + print("处理结束") \ No newline at end of file diff --git a/summer-ospp/bankagent/bank-user/user_profiles.json b/summer-ospp/bankagent/bank-user/user_profiles.json new file mode 100644 index 00000000..091d7a6e --- /dev/null +++ b/summer-ospp/bankagent/bank-user/user_profiles.json @@ -0,0 +1,804 @@ +{ + "users": [ + { + "userId": "10001", + "username": "mark", + "age": 57, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10002", + "username": "xiulan", + "age": 56, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10003", + "username": "gl", + "age": 60, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10004", + "username": "dahai", + "age": 46, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10005", + "username": "bob", + "age": 25, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10006", + "username": "eason", + "age": 28, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10007", + "username": "jay", + "age": 29, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10008", + "username": "吴秀兰", + "age": 59, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10009", + "username": "李秀兰", + "age": 37, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10010", + "username": "张洋", + "age": 56, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10011", + "username": "杨芳", + "age": 26, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10012", + "username": "陈勇", + "age": 44, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "beginner" + }, + { + "userId": "10013", + "username": "吴勇", + "age": 42, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10014", + "username": "刘娟", + "age": 57, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10015", + "username": "陈秀英", + "age": 34, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10016", + "username": "陈霞", + "age": 46, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10017", + "username": "吴杰", + "age": 29, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10018", + "username": "赵芳", + "age": 40, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10019", + "username": "黄霞", + "age": 47, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10020", + "username": "吴娜", + "age": 45, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10021", + "username": "张杰", + "age": 36, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "beginner" + }, + { + "userId": "10022", + "username": "刘娟", + "age": 28, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10023", + "username": "黄艳", + "age": 50, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10024", + "username": "杨敏", + "age": 51, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10025", + "username": "刘秀英", + "age": 32, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10026", + "username": "吴娟", + "age": 30, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "beginner" + }, + { + "userId": "10027", + "username": "赵强", + "age": 45, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10028", + "username": "黄强", + "age": 40, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10029", + "username": "赵娟", + "age": 50, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10030", + "username": "张敏", + "age": 39, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10031", + "username": "吴丽", + "age": 45, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10032", + "username": "赵平", + "age": 29, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "beginner" + }, + { + "userId": "10033", + "username": "赵丽", + "age": 26, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10034", + "username": "李静", + "age": 46, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10035", + "username": "王静", + "age": 56, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10036", + "username": "张伟", + "age": 30, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10037", + "username": "刘敏", + "age": 28, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10038", + "username": "张秀兰", + "age": 46, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "beginner" + }, + { + "userId": "10039", + "username": "王敏", + "age": 38, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10040", + "username": "王杰", + "age": 27, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10041", + "username": "赵秀英", + "age": 29, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10042", + "username": "周勇", + "age": 26, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10043", + "username": "刘静", + "age": 28, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10044", + "username": "李霞", + "age": 60, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10045", + "username": "王伟", + "age": 34, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10046", + "username": "吴霞", + "age": 27, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10047", + "username": "杨敏", + "age": 53, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10048", + "username": "吴艳", + "age": 29, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10049", + "username": "李敏", + "age": 25, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10050", + "username": "黄静", + "age": 60, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10051", + "username": "李娜", + "age": 39, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "beginner" + }, + { + "userId": "10052", + "username": "周杰", + "age": 25, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10053", + "username": "陈强", + "age": 48, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "beginner" + }, + { + "userId": "10054", + "username": "周霞", + "age": 60, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10055", + "username": "李秀英", + "age": 45, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10056", + "username": "李勇", + "age": 38, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "beginner" + }, + { + "userId": "10057", + "username": "陈秀兰", + "age": 50, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10058", + "username": "刘涛", + "age": 29, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10059", + "username": "刘霞", + "age": 37, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10060", + "username": "赵平", + "age": 28, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10061", + "username": "赵超", + "age": 48, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10062", + "username": "黄秀兰", + "age": 46, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10063", + "username": "李丽", + "age": 59, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10064", + "username": "陈秀英", + "age": 26, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10065", + "username": "陈伟", + "age": 50, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10066", + "username": "李秀英", + "age": 60, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10067", + "username": "陈超", + "age": 42, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10068", + "username": "周涛", + "age": 49, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10069", + "username": "张勇", + "age": 60, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10070", + "username": "黄平", + "age": 28, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10071", + "username": "赵霞", + "age": 52, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "beginner" + }, + { + "userId": "10072", + "username": "赵芳", + "age": 52, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10073", + "username": "刘娟", + "age": 48, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10074", + "username": "陈军", + "age": 56, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10075", + "username": "黄艳", + "age": 55, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10076", + "username": "李勇", + "age": 57, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10077", + "username": "周丽", + "age": 48, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10078", + "username": "吴伟", + "age": 34, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10079", + "username": "赵磊", + "age": 34, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "beginner" + }, + { + "userId": "10080", + "username": "周勇", + "age": 54, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10081", + "username": "黄霞", + "age": 48, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10082", + "username": "周军", + "age": 54, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10083", + "username": "王磊", + "age": 32, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10084", + "username": "王艳", + "age": 29, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10085", + "username": "杨娜", + "age": 39, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10086", + "username": "吴勇", + "age": 58, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10087", + "username": "王娜", + "age": 53, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10088", + "username": "黄勇", + "age": 30, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10089", + "username": "周娟", + "age": 52, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10090", + "username": "陈超", + "age": 48, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10091", + "username": "杨娜", + "age": 38, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10092", + "username": "刘勇", + "age": 60, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10093", + "username": "吴伟", + "age": 43, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10094", + "username": "周勇", + "age": 48, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10095", + "username": "杨秀兰", + "age": 45, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10096", + "username": "赵艳", + "age": 28, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10097", + "username": "赵超", + "age": 31, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10098", + "username": "李强", + "age": 47, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10099", + "username": "黄超", + "age": 53, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10100", + "username": "张军", + "age": 43, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "advanced" + } + ] +} \ No newline at end of file diff --git a/summer-ospp/bankagent/tencent_tts/__pycache__/speech_client.cpython-39.pyc b/summer-ospp/bankagent/tencent_tts/__pycache__/speech_client.cpython-39.pyc new file mode 100644 index 00000000..5dd2aeb9 Binary files /dev/null and b/summer-ospp/bankagent/tencent_tts/__pycache__/speech_client.cpython-39.pyc differ diff --git a/summer-ospp/bankagent/tencent_tts/app.py b/summer-ospp/bankagent/tencent_tts/app.py new file mode 100644 index 00000000..c8850d6c --- /dev/null +++ b/summer-ospp/bankagent/tencent_tts/app.py @@ -0,0 +1,271 @@ +from flask import Flask, request, jsonify, send_file +from flask_cors import CORS +import os +import uuid +import time +import base64 +import logging +from datetime import datetime +from tencentcloud.common import credential +from tencentcloud.common.profile.client_profile import ClientProfile +from tencentcloud.tts.v20190823 import tts_client, models as tts_models +from tencentcloud.asr.v20190614 import asr_client, models as asr_models +from dotenv import load_dotenv + +# ======================== +# 初始化配置 +# ======================== +load_dotenv() +app = Flask(__name__) +CORS(app) +logging.basicConfig(level=logging.INFO) + +# 音频存储目录 +AUDIO_DIR = "audio_storage" +os.makedirs(AUDIO_DIR, exist_ok=True) + +# 音色映射表(英文专用) +VOICE_MAP = { + "standard_female": 1001, # 标准女声 + "standard_male": 1002, # 标准男声 + "news_female": 1015, # 新闻女声 + "news_male": 1016 # 新闻男声 +} + + +# ======================== +# 核心服务类 +# ======================== +class SpeechService: + def __init__(self): + self.tts_client = self._init_tts_client() + self.asr_client = self._init_asr_client() + + def _init_tts_client(self): + """初始化腾讯云TTS客户端""" + cred = credential.Credential( + os.getenv('TENCENT_SECRET_ID'), + os.getenv('TENCENT_SECRET_KEY') + ) + cp = ClientProfile() + cp.httpProfile.endpoint = "tts.tencentcloudapi.com" + return tts_client.TtsClient(cred, "ap-shanghai", cp) + + def _init_asr_client(self): + """初始化腾讯云ASR客户端""" + cred = credential.Credential( + os.getenv('TENCENT_SECRET_ID'), + os.getenv('TENCENT_SECRET_KEY') + ) + cp = ClientProfile() + cp.httpProfile.endpoint = "asr.tencentcloudapi.com" + return asr_client.AsrClient(cred, "ap-shanghai", cp) + + def text_to_speech(self, text, voice_type="standard_female"): + """ + 文本转语音(完整修复版) + :param text: 要合成的文本 + :param voice_type: 音色类型 + :return: (文件路径, 文件名) + """ + try: + if not text or not isinstance(text, str): + raise ValueError("Text must be a non-empty string") + + req = tts_models.TextToVoiceRequest() + req.Text = text + req.VoiceType = VOICE_MAP.get(voice_type, 1001) # 默认标准女声 + req.PrimaryLanguage = 2 # 2=English + + # === 关键修复:添加所有必需参数 === + req.SessionId = f"dify_{uuid.uuid4().hex[:16]}" # 唯一会话ID + req.ModelType = 1 # 1=基础模型 + req.SampleRate = 16000 # 16kHz采样率 + # ================================ + + resp = self.tts_client.TextToVoice(req) + audio_data = base64.b64decode(resp.Audio) + + # 生成唯一文件名 + timestamp = int(time.time()) + random_str = uuid.uuid4().hex[:8] + filename = f"tts_{timestamp}_{random_str}.mp3" + filepath = os.path.join(AUDIO_DIR, filename) + + # 保存音频文件 + with open(filepath, "wb") as f: + f.write(audio_data) + + return filepath, filename + + except Exception as e: + logging.error(f"[TTS ERROR] {str(e)}", exc_info=True) + raise + + def speech_to_text(self, audio_path): + """ + 语音转文本(支持WAV/MP3) + :param audio_path: 音频文件路径 + :return: 识别文本 + """ + try: + # 读取并编码音频 + with open(audio_path, "rb") as f: + audio_data = base64.b64encode(f.read()).decode('utf-8') + + # 调用ASR接口 + req = asr_models.SentenceRecognitionRequest() + req.EngSerViceType = "16k_zh" # 中文普通话 + req.SourceType = 1 # 1=本地音频 + req.VoiceFormat = "wav" if audio_path.endswith(".wav") else "mp3" + req.UsrAudioKey = os.path.basename(audio_path) + req.Data = audio_data + req.DataLen = len(audio_data) + + resp = self.asr_client.SentenceRecognition(req) + return resp.Result + + except Exception as e: + logging.error(f"[ASR ERROR] {str(e)}", exc_info=True) + raise + + +# ======================== +# Flask路由 +# ======================== +speech_service = SpeechService() + + +@app.route('/health', methods=['GET']) +def health_check(): + """健康检查接口""" + return jsonify({ + "status": "running", + "timestamp": datetime.now().isoformat(), + "services": ["TTS", "ASR"] + }) + + +@app.route('/tts/generate', methods=['POST']) +def generate_tts(): + """ + TTS生成接口(Dify调用入口) + 请求格式: + { + "text": "Hello world", + "voice": "standard_female" + } + """ + try: + # 参数验证 + data = request.get_json() + if not data: + return jsonify({"error": "JSON body is required"}), 400 + + text = data.get('text') + if not text or not isinstance(text, str): + return jsonify({"error": "Valid 'text' parameter is required"}), 400 + + voice = data.get('voice', 'standard_female') + if voice not in VOICE_MAP: + return jsonify({"error": f"Invalid voice type. Allowed: {list(VOICE_MAP.keys())}"}), 400 + + # 调用TTS服务 + _, filename = speech_service.text_to_speech(text, voice) + + # 构造响应 + return jsonify({ + "status": "success", + "audio_url": f"{request.host_url}audio/{filename}", + "text": text, + "voice": voice, + "timestamp": datetime.now().isoformat() + }) + + except Exception as e: + logging.error(f"[API ERROR] {str(e)}") + return jsonify({ + "status": "error", + "message": str(e), + "solution": "Check server logs for details" + }), 500 + + +@app.route('/asr/recognize', methods=['POST']) +def recognize_speech(): + """ + ASR识别接口(Dify调用入口) + 请求格式:form-data上传音频文件 + """ + try: + if 'file' not in request.files: + return jsonify({"error": "Audio file is required"}), 400 + + audio_file = request.files['file'] + if audio_file.filename == '': + return jsonify({"error": "Empty file"}), 400 + + # 保存临时文件 + temp_filename = f"asr_temp_{uuid.uuid4().hex[:8]}.wav" + temp_path = os.path.join(AUDIO_DIR, temp_filename) + audio_file.save(temp_path) + + # 调用ASR + text = speech_service.speech_to_text(temp_path) + + # 清理临时文件 + os.remove(temp_path) + + return jsonify({ + "status": "success", + "text": text, + "language": "zh-CN", + "timestamp": datetime.now().isoformat() + }) + + except Exception as e: + return jsonify({"error": str(e)}), 500 + + +@app.route('/audio/', methods=['GET']) +def get_audio(filename): + """音频文件下载接口""" + try: + # 安全验证(防止路径遍历) + if not (filename.startswith("tts_") or filename.startswith("asr_")) or not filename.endswith((".mp3", ".wav")): + return jsonify({"error": "Invalid filename format"}), 400 + + filepath = os.path.join(AUDIO_DIR, filename) + if not os.path.exists(filepath): + return jsonify({"error": "File not found"}), 404 + + return send_file(filepath, mimetype='audio/mpeg') + + except Exception as e: + logging.error(f"[AUDIO DOWNLOAD ERROR] {str(e)}") + return jsonify({"error": "Internal server error"}), 500 + + +# ======================== +# 启动服务 +# ======================== +if __name__ == '__main__': + # 检查环境变量 + if not os.getenv('TENCENT_SECRET_ID') or not os.getenv('TENCENT_SECRET_KEY'): + logging.error("Missing Tencent Cloud credentials in .env file") + exit(1) + + # 启动前清理旧文件 + for f in os.listdir(AUDIO_DIR): + if f.startswith("tts_") or f.startswith("asr_"): + filepath = os.path.join(AUDIO_DIR, f) + if os.path.getmtime(filepath) < time.time() - 86400: # 24小时 + os.remove(filepath) + + # 运行服务 + app.run( + host='0.0.0.0', + port=5000, + debug=False, # 生产环境设为False + threaded=True + ) \ No newline at end of file diff --git a/summer-ospp/bankagent/tencent_tts/asr.py b/summer-ospp/bankagent/tencent_tts/asr.py new file mode 100644 index 00000000..b107f2c2 --- /dev/null +++ b/summer-ospp/bankagent/tencent_tts/asr.py @@ -0,0 +1,5 @@ +# asr.py +from huaweicloud_sis import asr_short_sentence_wav16k + +def asr_recognize_bytes(wav16k_bytes: bytes) -> str: + return asr_short_sentence_wav16k(wav16k_bytes, lang="en_us") diff --git a/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758089607_18a71d18.mp3 b/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758089607_18a71d18.mp3 new file mode 100644 index 00000000..8eb0312d Binary files /dev/null and b/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758089607_18a71d18.mp3 differ diff --git a/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758089809_b39f5610.mp3 b/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758089809_b39f5610.mp3 new file mode 100644 index 00000000..8eb0312d Binary files /dev/null and b/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758089809_b39f5610.mp3 differ diff --git a/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758090393_8063f5ca.mp3 b/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758090393_8063f5ca.mp3 new file mode 100644 index 00000000..8eb0312d Binary files /dev/null and b/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758090393_8063f5ca.mp3 differ diff --git a/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758091141_285f061d.mp3 b/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758091141_285f061d.mp3 new file mode 100644 index 00000000..af9e7f6e Binary files /dev/null and b/summer-ospp/bankagent/tencent_tts/audio_storage/tts_1758091141_285f061d.mp3 differ diff --git a/summer-ospp/bankagent/tencent_tts/english_output.mp3 b/summer-ospp/bankagent/tencent_tts/english_output.mp3 new file mode 100644 index 00000000..643ad2a7 Binary files /dev/null and b/summer-ospp/bankagent/tencent_tts/english_output.mp3 differ diff --git a/summer-ospp/bankagent/tencent_tts/env.example b/summer-ospp/bankagent/tencent_tts/env.example new file mode 100644 index 00000000..6a417e25 --- /dev/null +++ b/summer-ospp/bankagent/tencent_tts/env.example @@ -0,0 +1,11 @@ +# 必填 +export HUAWEI_AK="HPUAT6HFEYS1ZK55LT60" +export HUAWEI_SK="6CYfD5a0x5bbkUxPm3tM2o9NCgTJ0CYPdWrITIHa" +export HUAWEI_PROJECT_ID="01f29acd906249abb46328f2cab3d2f5" # 形如 3e77...bcc +export HUAWEI_REGION="cn-north-4" + +# 可选:覆盖默认 endpoint;公网用 sis-ext,若后续走VPCEP就换成私网域名 +export HUAWEI_SIS_ENDPOINT="https://sis-ext.cn-north-4.myhuaweicloud.com" + +# 本服务 API Key(防止被未授权调用) +export BANK_ASR_TTS_API_KEY="super_secret_12345" diff --git a/summer-ospp/bankagent/tencent_tts/huaweicloud_sis.py b/summer-ospp/bankagent/tencent_tts/huaweicloud_sis.py new file mode 100644 index 00000000..cb8fd9d5 --- /dev/null +++ b/summer-ospp/bankagent/tencent_tts/huaweicloud_sis.py @@ -0,0 +1,102 @@ +# huaweicloud_sis.py +import os, hmac, hashlib, base64, json, datetime, requests +from typing import Tuple + +AK = os.getenv("HUAWEI_AK") +SK = os.getenv("HUAWEI_SK") +PROJECT_ID = os.getenv("HUAWEI_PROJECT_ID") +REGION = os.getenv("HUAWEI_REGION", "cn-north-4") +SIS_ENDPOINT = os.getenv("HUAWEI_SIS_ENDPOINT", f"https://sis-ext.{REGION}.myhuaweicloud.com").rstrip("/") + +if not (AK and SK and PROJECT_ID): + raise RuntimeError("请先设置 HUAWEI_AK / HUAWEI_SK / HUAWEI_PROJECT_ID(必填),HUAWEI_REGION 可选,HUAWEI_SIS_ENDPOINT 可选") + +def _utc_iso() -> str: + # 形如:20250829T080102Z + return datetime.datetime.utcnow().strftime("%Y%m%dT%H%M%SZ") + +def _canonical_request(method: str, path: str, query: str, headers: dict, body: bytes) -> Tuple[str, str]: + # 规范化 header:host + x-sdk-date 必须;其余按需增加 + # 注意:Host 必须与实际域名一致 + host = SIS_ENDPOINT.replace("https://", "").replace("http://", "") + x_sdk_date = headers.get("X-Sdk-Date") or _utc_iso() + headers["Host"] = host + headers["X-Sdk-Date"] = x_sdk_date + + # 参与签名的头(小写、按字典序) + signed_header_keys = ["host", "x-sdk-date"] + canonical_headers = f"host:{host}\n" + f"x-sdk-date:{x_sdk_date}\n" + signed_headers = ";".join(signed_header_keys) + + # body sha256 + payload_hash = hashlib.sha256(body or b"").hexdigest() + + # path & query 已经是规范形式(path 形如 /v1/{project_id}/tts) + canonical = "\n".join([ + method.upper(), + path, + query or "", + canonical_headers, + signed_headers, + payload_hash + ]) + return canonical, signed_headers + +def _sign(method: str, path: str, query: str, body: bytes, extra_headers: dict = None) -> dict: + """返回带 Authorization 的 headers;采用华为云 APIG V2 简化签名""" + headers = {"Content-Type": "application/json"} + if extra_headers: + headers.update(extra_headers) + canonical, signed_headers = _canonical_request(method, path, query, headers, body) + string_to_sign = canonical.encode("utf-8") + signature = hmac.new(SK.encode("utf-8"), string_to_sign, hashlib.sha256).hexdigest() + auth = f"HMAC-SHA256 Credential={AK}, SignedHeaders={signed_headers}, Signature={signature}" + headers["Authorization"] = auth + return headers + +def _request_json(method: str, url: str, path: str, body: dict, timeout: int = 60) -> dict: + body_bytes = json.dumps(body, ensure_ascii=False).encode("utf-8") + headers = _sign(method, path, "", body_bytes) + resp = requests.request(method, url, headers=headers, data=body_bytes, timeout=timeout) + if resp.status_code >= 300: + raise RuntimeError(f"SIS HTTP {resp.status_code}: {resp.text}") + return resp.json() + +# ===================== 一句话识别(短音频,<=1min,<=10MB) ===================== +def asr_short_sentence_wav16k(wav_bytes: bytes, lang="en_us") -> str: + # 参考属性:英文 16k + prop = "english_16k" if lang.lower().startswith("en") else "chinese_16k_general" + b64 = base64.b64encode(wav_bytes).decode("utf-8") + path = f"/v1/{PROJECT_ID}/short-audio" + url = f"{SIS_ENDPOINT}{path}" + body = { + "config": { + "audio_format": "wav", + "property": prop, + "add_punc": "yes" + }, + "data": b64 + } + data = _request_json("POST", url, path, body, timeout=90) + # 返回结构通常为 {"result":{"text":"..."}} + return (data.get("result") or {}).get("text", "") + +# ===================== 文本转语音(TTS) ===================== +def tts_text_to_wav(text: str, lang="en_us") -> bytes: + prop = "english_common" if lang.lower().startswith("en") else "chinese_xiaoyan_common" + path = f"/v1/{PROJECT_ID}/tts" + url = f"{SIS_ENDPOINT}{path}" + body = { + "text": text, + "config": { + "audio_format": "wav", + "sample_rate": "16000", + "property": prop + } + } + data = _request_json("POST", url, path, body, timeout=90) + # 返回结构通常为 {"result":{"data":"base64", "format":"wav"}} + b64 = (data.get("result") or {}).get("data", "") + if not b64: + raise RuntimeError(f"TTS返回空:{data}") + return base64.b64decode(b64) diff --git a/summer-ospp/bankagent/tencent_tts/luyin.py b/summer-ospp/bankagent/tencent_tts/luyin.py new file mode 100644 index 00000000..43dce716 --- /dev/null +++ b/summer-ospp/bankagent/tencent_tts/luyin.py @@ -0,0 +1,12 @@ +import sounddevice as sd +import soundfile as sf + +fs = 16000 # 采样率 +seconds = 3 # 录音时长 + +print("开始录音...") +audio = sd.rec(int(seconds * fs), samplerate=fs, channels=1, dtype='int16') +sd.wait() +print("录音完成,保存为 sample.wav") + +sf.write("sample.wav", audio, fs) diff --git a/summer-ospp/bankagent/tencent_tts/requirements.txt b/summer-ospp/bankagent/tencent_tts/requirements.txt new file mode 100644 index 00000000..409e6181 --- /dev/null +++ b/summer-ospp/bankagent/tencent_tts/requirements.txt @@ -0,0 +1,6 @@ +fastapi==0.111.0 +uvicorn[standard]==0.30.0 +requests==2.32.3 +soundfile==0.12.1 +numpy==1.26.4 +python-multipart==0.0.9 \ No newline at end of file diff --git a/summer-ospp/bankagent/tencent_tts/speech_client.py b/summer-ospp/bankagent/tencent_tts/speech_client.py new file mode 100644 index 00000000..8620b7e6 --- /dev/null +++ b/summer-ospp/bankagent/tencent_tts/speech_client.py @@ -0,0 +1,82 @@ +import os +import base64 +import logging +from tencentcloud.common import credential +from tencentcloud.common.profile.client_profile import ClientProfile +from tencentcloud.asr.v20190614 import asr_client, models as asr_models +from tencentcloud.tts.v20190823 import tts_client, models as tts_models +from dotenv import load_dotenv + +load_dotenv() + + +class TencentSpeech: + def __init__(self): + # 初始化认证 + self.secret_id = os.getenv('TENCENT_SECRET_ID') + self.secret_key = os.getenv('TENCENT_SECRET_KEY') + self.region = os.getenv('TENCENT_REGION', 'ap-shanghai') + + # 创建客户端 + cred = credential.Credential(self.secret_id, self.secret_key) + self.asr_client = self._init_asr_client(cred) + self.tts_client = self._init_tts_client(cred) + + def _init_asr_client(self, cred): + """初始化ASR客户端""" + cp = ClientProfile() + cp.httpProfile.endpoint = "asr.tencentcloudapi.com" + return asr_client.AsrClient(cred, self.region, cp) + + def _init_tts_client(self, cred): + """初始化TTS客户端""" + cp = ClientProfile() + cp.httpProfile.endpoint = "tts.tencentcloudapi.com" + return tts_client.TtsClient(cred, self.region, cp) + + def recognize(self, audio_path): + """语音识别(ASR) + :param audio_path: 音频文件路径(支持wav/mp3) + :return: 识别文本 + """ + try: + # 读取并编码音频 + with open(audio_path, "rb") as f: + audio_data = base64.b64encode(f.read()).decode('utf-8') + + req = asr_models.SentenceRecognitionRequest() + req.ProjectId = 0 + req.SubServiceType = 2 # 实时识别 + req.EngSerViceType = "16k_zh" # 中文普通话 + req.SourceType = 1 # 本地音频 + req.VoiceFormat = "wav" if audio_path.endswith(".wav") else "mp3" + req.UsrAudioKey = os.path.basename(audio_path) + req.Data = audio_data + req.DataLen = len(audio_data) + + resp = self.asr_client.SentenceRecognition(req) + return resp.Result + except Exception as e: + logging.error(f"ASR识别失败: {str(e)}") + raise + + def synthesize(self, text, voice_type=1): + """语音合成(TTS) + :param text: 待合成文本 + :param voice_type: 音色类型(1-6) + :return: 音频二进制数据 + """ + try: + req = tts_models.TextToVoiceRequest() + req.Text = text + req.SessionId = "pycharm-session" + req.ModelType = 1 # 基础模型 + req.VoiceType = voice_type + req.PrimaryLanguage = 1 # 中文 + req.SampleRate = 16000 + + resp = self.tts_client.TextToVoice(req) + return base64.b64decode(resp.Audio) + except Exception as e: + logging.error(f"TTS合成失败: {str(e)}") + raise \ No newline at end of file diff --git a/summer-ospp/bankagent/tencent_tts/test_english_tts.py b/summer-ospp/bankagent/tencent_tts/test_english_tts.py new file mode 100644 index 00000000..a113adc3 --- /dev/null +++ b/summer-ospp/bankagent/tencent_tts/test_english_tts.py @@ -0,0 +1,64 @@ +import os +import base64 +import logging +from tencentcloud.common import credential +from tencentcloud.common.profile.client_profile import ClientProfile +from tencentcloud.tts.v20190823 import tts_client, models +from dotenv import load_dotenv + +# 初始化 +load_dotenv() +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger("TTS-Test") + + +def synthesize_english_text(text, voice_type=1001): + """合成英文语音(使用英文专用音色) + + :param text: 英文文本 + :param voice_type: 英文音色类型 (1001-1016) + :return: 音频二进制数据 + """ + try: + cred = credential.Credential( + os.getenv('TENCENT_SECRET_ID'), + os.getenv('TENCENT_SECRET_KEY') + ) + cp = ClientProfile() + cp.httpProfile.endpoint = "tts.tencentcloudapi.com" + client = tts_client.TtsClient(cred, "ap-shanghai", cp) + + req = models.TextToVoiceRequest() + req.Text = text + req.SessionId = "english-test" + req.ModelType = 1 + req.VoiceType = voice_type # 关键修改:使用英文音色ID + req.PrimaryLanguage = 2 # 2=English + req.SampleRate = 16000 + + resp = client.TextToVoice(req) + return base64.b64decode(resp.Audio) + + except Exception as e: + logger.error(f"TTS Error: {str(e)}") + raise + + +def save_audio(audio_data, filename="english_output.mp3"): + with open(filename, "wb") as f: + f.write(audio_data) + logger.info(f"Audio saved to: {os.path.abspath(filename)}") + + +if __name__ == "__main__": + # 测试参数 + test_text = "123453434Hello, this is a test of Tencent Cloud English TTS service." + voice_type = 1001 # 英文女声 (1001-1016) + + try: + logger.info(f"Starting English TTS: '{test_text}'") + audio = synthesize_english_text(test_text, voice_type) + save_audio(audio) + logger.info("Test succeeded!") + except Exception as e: + logger.error(f"Test failed: {str(e)}") \ No newline at end of file diff --git a/summer-ospp/bankagent/tencent_tts/tts.py b/summer-ospp/bankagent/tencent_tts/tts.py new file mode 100644 index 00000000..0bea0e6b --- /dev/null +++ b/summer-ospp/bankagent/tencent_tts/tts.py @@ -0,0 +1,9 @@ +# tts.py +import base64 +from huaweicloud_sis import tts_text_to_wav + +def tts_wav_bytes(text: str) -> bytes: + return tts_text_to_wav(text, lang="en_us") + +def tts_wav_base64(text: str) -> str: + return base64.b64encode(tts_wav_bytes(text)).decode("utf-8") diff --git a/summer-ospp/bankagent/tencent_tts/utils_audio.py b/summer-ospp/bankagent/tencent_tts/utils_audio.py new file mode 100644 index 00000000..100dfe53 --- /dev/null +++ b/summer-ospp/bankagent/tencent_tts/utils_audio.py @@ -0,0 +1,57 @@ +# utils_audio.py —— 无需 soundfile;优先使用 ffmpeg,失败则纯 Python WAV 兜底 +import io, os, shutil, subprocess, numpy as np, wave + +def _has_ffmpeg(): + return shutil.which("ffmpeg") is not None + +def _resample_linear(x: np.ndarray, src_sr: int, dst_sr: int) -> np.ndarray: + if src_sr == dst_sr: + return x.astype(np.float32) + t_old = np.linspace(0, len(x)/src_sr, num=len(x), endpoint=False) + t_new = np.linspace(0, len(x)/src_sr, num=int(len(x)*dst_sr/src_sr), endpoint=False) + y = np.interp(t_new, t_old, x).astype(np.float32) + return y + +def _wav_bytes_to_np(raw_bytes: bytes): + # 兜底方案,仅支持 PCM WAV + bio = io.BytesIO(raw_bytes) + with wave.open(bio, 'rb') as wf: + n_channels = wf.getnchannels() + sampwidth = wf.getsampwidth() + framerate = wf.getframerate() + n_frames = wf.getnframes() + pcm = wf.readframes(n_frames) + if sampwidth == 2: + dtype = np.int16 + data = np.frombuffer(pcm, dtype=dtype).astype(np.float32) / 32768.0 + else: + data = np.frombuffer(pcm, dtype=np.uint8).astype(np.float32) + data = (data - 128.0) / 128.0 + if n_channels > 1: + data = data.reshape(-1, n_channels).mean(axis=1) + return data, int(framerate) + +def ensure_wav16k_mono(raw_bytes: bytes) -> bytes: + """将任意输入音频转成 16kHz/mono 的 WAV(bytes)""" + if _has_ffmpeg(): + try: + p = subprocess.run( + ["ffmpeg", "-hide_banner", "-loglevel", "error", + "-i", "pipe:0", "-f", "wav", "-ar", "16000", "-ac", "1", "pipe:1"], + input=raw_bytes, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True + ) + return p.stdout + except subprocess.CalledProcessError: + pass + + # 没有 ffmpeg,兜底:只能处理 WAV + data, sr = _wav_bytes_to_np(raw_bytes) + data = _resample_linear(data, sr, 16000) + bio = io.BytesIO() + with wave.open(bio, 'wb') as wf: + wf.setnchannels(1) + wf.setsampwidth(2) # 16-bit PCM + wf.setframerate(16000) + pcm = np.clip(data * 32767.0, -32768, 32767).astype(np.int16).tobytes() + wf.writeframes(pcm) + return bio.getvalue() diff --git a/test_encoding.py b/test_encoding.py new file mode 100644 index 00000000..c24c8773 --- /dev/null +++ b/test_encoding.py @@ -0,0 +1,168 @@ +# edge_tts_server_fixed.py +from flask import Flask, request, jsonify, send_file +from flask_cors import CORS +import edge_tts +import uuid +import time +import asyncio +import logging +from pathlib import Path + +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +app = Flask(__name__) +CORS(app) + +output_dir = Path("tts_output") +output_dir.mkdir(exist_ok=True) + +class EdgeTTSWrapper: + """Edge-TTS 包装类,避免命名冲突""" + + async def generate_speech_async(self, text, voice="zh-CN-XiaoxiaoNeural", output_path=None): + """异步生成语音""" + try: + communicate = edge_tts.Communicate(text, voice) + if output_path: + await communicate.save(output_path) + return True + else: + return await communicate.get_audio_data() + except Exception as e: + logger.error(f"Edge TTS错误: {e}") + return None + + def generate_speech(self, text, voice="zh-CN-XiaoxiaoNeural", output_path=None): + """同步生成语音""" + try: + # 创建新的事件循环 + loop = asyncio.new_event_loop() + asyncio.set_event_loop(loop) + result = loop.run_until_complete( + self.generate_speech_async(text, voice, output_path) + ) + loop.close() + return result + except Exception as e: + logger.error(f"Edge TTS运行错误: {e}") + return None + +# 创建实例 +tts_service = EdgeTTSWrapper() + +@app.route('/tts/generate', methods=['POST', 'OPTIONS']) +def generate_tts(): + if request.method == 'OPTIONS': + return '', 200 + + try: + data = request.get_json() + logger.info(f"收到请求: {data}") + + if not data or 'text' not in data: + return jsonify({'status': 'error', 'message': '缺少文本参数'}), 400 + + text = data['text'].strip() + if not text: + return jsonify({'status': 'error', 'message': '文本内容不能为空'}), 400 + + voice = data.get('voice', 'zh-CN-XiaoxiaoNeural') + filename = f"tts_{int(time.time())}_{uuid.uuid4().hex[:8]}.mp3" + output_path = output_dir / filename + + logger.info(f"开始生成语音: {text[:50]}...") + + # 生成语音 + success = tts_service.generate_speech(text, voice, str(output_path)) + + if success and output_path.exists(): + file_size = output_path.stat().st_size + logger.info(f"语音生成成功: {filename} ({file_size} bytes)") + + audio_url = f"http://172.16.22.115:8080/tts/download/{filename}" + + return jsonify({ + 'status': 'success', + 'message': '语音生成成功', + 'audio_url': audio_url, + 'filename': filename, + 'text': text, + 'voice': voice, + 'file_size': file_size + }) + else: + logger.error("语音生成失败") + return jsonify({'status': 'error', 'message': '语音生成失败'}), 500 + + except Exception as e: + logger.error(f"处理请求时出错: {e}") + return jsonify({'status': 'error', 'message': str(e)}), 500 + +@app.route('/tts/download/', methods=['GET']) +def download_audio(filename): + try: + # 安全检查 + if '..' in filename or '/' in filename: + return jsonify({'status': 'error', 'message': '无效文件名'}), 400 + + file_path = output_dir / filename + + if not file_path.exists(): + return jsonify({'status': 'error', 'message': '文件不存在'}), 404 + + return send_file( + file_path, + as_attachment=True, + download_name=filename, + mimetype='audio/mpeg' + ) + + except Exception as e: + logger.error(f"下载失败: {e}") + return jsonify({'status': 'error', 'message': '下载失败'}), 500 + +@app.route('/tts/health', methods=['GET']) +def health_check(): + """健康检查端点""" + return jsonify({ + 'status': 'healthy', + 'service': 'Edge TTS Server', + 'timestamp': time.time() + }) + +@app.route('/tts/voices', methods=['GET']) +def list_voices(): + """获取支持的语音列表""" + voices = [ + {"name": "晓晓(女声)", "value": "zh-CN-XiaoxiaoNeural"}, + {"name": "云扬(男声)", "value": "zh-CN-YunyangNeural"}, + {"name": "晓辰(女声)", "value": "zh-CN-XiaochenNeural"}, + {"name": "晓悠(女声)", "value": "zh-CN-XiaoyouNeural"}, + {"name": "云希(男声)", "value": "zh-CN-YunxiNeural"}, + {"name": "英语女声", "value": "en-US-AriaNeural"}, + {"name": "英语男声", "value": "en-US-GuyNeural"} + ] + return jsonify({'status': 'success', 'voices': voices}) + +if __name__ == '__main__': + print("启动修复版 Edge TTS 服务器...") + print("服务器地址: http://172.16.22.115:8080") + print("可用端点:") + print(" POST /tts/generate - 生成语音") + print(" GET /tts/download/ - 下载语音") + print(" GET /tts/health - 健康检查") + print(" GET /tts/voices - 获取语音列表") + + # 确保输出目录存在 + output_dir.mkdir(exist_ok=True) + + # 测试Edge-TTS是否正常工作 + try: + import edge_tts + print("✓ Edge-TTS 导入成功") + except ImportError: + print("✗ 请安装: pip install edge-tts") + exit(1) + + app.run(host='0.0.0.0', port=8080, debug=True) \ No newline at end of file diff --git a/test_english_tts.py b/test_english_tts.py new file mode 100644 index 00000000..a113adc3 --- /dev/null +++ b/test_english_tts.py @@ -0,0 +1,64 @@ +import os +import base64 +import logging +from tencentcloud.common import credential +from tencentcloud.common.profile.client_profile import ClientProfile +from tencentcloud.tts.v20190823 import tts_client, models +from dotenv import load_dotenv + +# 初始化 +load_dotenv() +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger("TTS-Test") + + +def synthesize_english_text(text, voice_type=1001): + """合成英文语音(使用英文专用音色) + + :param text: 英文文本 + :param voice_type: 英文音色类型 (1001-1016) + :return: 音频二进制数据 + """ + try: + cred = credential.Credential( + os.getenv('TENCENT_SECRET_ID'), + os.getenv('TENCENT_SECRET_KEY') + ) + cp = ClientProfile() + cp.httpProfile.endpoint = "tts.tencentcloudapi.com" + client = tts_client.TtsClient(cred, "ap-shanghai", cp) + + req = models.TextToVoiceRequest() + req.Text = text + req.SessionId = "english-test" + req.ModelType = 1 + req.VoiceType = voice_type # 关键修改:使用英文音色ID + req.PrimaryLanguage = 2 # 2=English + req.SampleRate = 16000 + + resp = client.TextToVoice(req) + return base64.b64decode(resp.Audio) + + except Exception as e: + logger.error(f"TTS Error: {str(e)}") + raise + + +def save_audio(audio_data, filename="english_output.mp3"): + with open(filename, "wb") as f: + f.write(audio_data) + logger.info(f"Audio saved to: {os.path.abspath(filename)}") + + +if __name__ == "__main__": + # 测试参数 + test_text = "123453434Hello, this is a test of Tencent Cloud English TTS service." + voice_type = 1001 # 英文女声 (1001-1016) + + try: + logger.info(f"Starting English TTS: '{test_text}'") + audio = synthesize_english_text(test_text, voice_type) + save_audio(audio) + logger.info("Test succeeded!") + except Exception as e: + logger.error(f"Test failed: {str(e)}") \ No newline at end of file diff --git a/tickets.json b/tickets.json new file mode 100644 index 00000000..07ebffcf --- /dev/null +++ b/tickets.json @@ -0,0 +1,24 @@ +{ + "tickets": [ + { + "ticketId": "TKT-20250821-753860", + "userId": "10001", + "username": "mark", + "category": "charge_dispute", + "content": "My credit card was charged twice for the same purchase yesterday.", + "status": "open", + "createdAt": "2025-08-21T08:42:33Z", + "updatedAt": "2025-08-21T08:42:33Z" + }, + { + "ticketId": "TKT-20250925-995754", + "userId": "10001", + "username": "mark", + "category": "charge_dispute", + "content": "Hello, my name is Mark, my phone number is 13035968176, and my password is password.Can you recommend some financial products for me?", + "status": "open", + "createdAt": "2025-09-25T15:59:55Z", + "updatedAt": "2025-09-25T15:59:55Z" + } + ] +} \ No newline at end of file diff --git a/tts.py b/tts.py new file mode 100644 index 00000000..0bea0e6b --- /dev/null +++ b/tts.py @@ -0,0 +1,9 @@ +# tts.py +import base64 +from huaweicloud_sis import tts_text_to_wav + +def tts_wav_bytes(text: str) -> bytes: + return tts_text_to_wav(text, lang="en_us") + +def tts_wav_base64(text: str) -> str: + return base64.b64encode(tts_wav_bytes(text)).decode("utf-8") diff --git a/user_profiles.json b/user_profiles.json new file mode 100644 index 00000000..091d7a6e --- /dev/null +++ b/user_profiles.json @@ -0,0 +1,804 @@ +{ + "users": [ + { + "userId": "10001", + "username": "mark", + "age": 57, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10002", + "username": "xiulan", + "age": 56, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10003", + "username": "gl", + "age": 60, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10004", + "username": "dahai", + "age": 46, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10005", + "username": "bob", + "age": 25, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10006", + "username": "eason", + "age": 28, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10007", + "username": "jay", + "age": 29, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10008", + "username": "吴秀兰", + "age": 59, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10009", + "username": "李秀兰", + "age": 37, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10010", + "username": "张洋", + "age": 56, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10011", + "username": "杨芳", + "age": 26, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10012", + "username": "陈勇", + "age": 44, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "beginner" + }, + { + "userId": "10013", + "username": "吴勇", + "age": 42, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10014", + "username": "刘娟", + "age": 57, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10015", + "username": "陈秀英", + "age": 34, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10016", + "username": "陈霞", + "age": 46, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10017", + "username": "吴杰", + "age": 29, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10018", + "username": "赵芳", + "age": 40, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10019", + "username": "黄霞", + "age": 47, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10020", + "username": "吴娜", + "age": 45, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10021", + "username": "张杰", + "age": 36, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "beginner" + }, + { + "userId": "10022", + "username": "刘娟", + "age": 28, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10023", + "username": "黄艳", + "age": 50, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10024", + "username": "杨敏", + "age": 51, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10025", + "username": "刘秀英", + "age": 32, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10026", + "username": "吴娟", + "age": 30, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "beginner" + }, + { + "userId": "10027", + "username": "赵强", + "age": 45, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10028", + "username": "黄强", + "age": 40, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10029", + "username": "赵娟", + "age": 50, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10030", + "username": "张敏", + "age": 39, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10031", + "username": "吴丽", + "age": 45, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10032", + "username": "赵平", + "age": 29, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "beginner" + }, + { + "userId": "10033", + "username": "赵丽", + "age": 26, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10034", + "username": "李静", + "age": 46, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10035", + "username": "王静", + "age": 56, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10036", + "username": "张伟", + "age": 30, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10037", + "username": "刘敏", + "age": 28, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10038", + "username": "张秀兰", + "age": 46, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "beginner" + }, + { + "userId": "10039", + "username": "王敏", + "age": 38, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10040", + "username": "王杰", + "age": 27, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10041", + "username": "赵秀英", + "age": 29, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10042", + "username": "周勇", + "age": 26, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10043", + "username": "刘静", + "age": 28, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10044", + "username": "李霞", + "age": 60, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10045", + "username": "王伟", + "age": 34, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10046", + "username": "吴霞", + "age": 27, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10047", + "username": "杨敏", + "age": 53, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10048", + "username": "吴艳", + "age": 29, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10049", + "username": "李敏", + "age": 25, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10050", + "username": "黄静", + "age": 60, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10051", + "username": "李娜", + "age": 39, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "beginner" + }, + { + "userId": "10052", + "username": "周杰", + "age": 25, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10053", + "username": "陈强", + "age": 48, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "beginner" + }, + { + "userId": "10054", + "username": "周霞", + "age": 60, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10055", + "username": "李秀英", + "age": 45, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10056", + "username": "李勇", + "age": 38, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "beginner" + }, + { + "userId": "10057", + "username": "陈秀兰", + "age": 50, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10058", + "username": "刘涛", + "age": 29, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10059", + "username": "刘霞", + "age": 37, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10060", + "username": "赵平", + "age": 28, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10061", + "username": "赵超", + "age": 48, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10062", + "username": "黄秀兰", + "age": 46, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10063", + "username": "李丽", + "age": 59, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10064", + "username": "陈秀英", + "age": 26, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10065", + "username": "陈伟", + "age": 50, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10066", + "username": "李秀英", + "age": 60, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10067", + "username": "陈超", + "age": 42, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10068", + "username": "周涛", + "age": 49, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10069", + "username": "张勇", + "age": 60, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10070", + "username": "黄平", + "age": 28, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10071", + "username": "赵霞", + "age": 52, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "beginner" + }, + { + "userId": "10072", + "username": "赵芳", + "age": 52, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10073", + "username": "刘娟", + "age": 48, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "moderate" + }, + { + "userId": "10074", + "username": "陈军", + "age": 56, + "riskLevel": "high", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10075", + "username": "黄艳", + "age": 55, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10076", + "username": "李勇", + "age": 57, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10077", + "username": "周丽", + "age": 48, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10078", + "username": "吴伟", + "age": 34, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10079", + "username": "赵磊", + "age": 34, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "beginner" + }, + { + "userId": "10080", + "username": "周勇", + "age": 54, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10081", + "username": "黄霞", + "age": 48, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10082", + "username": "周军", + "age": 54, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10083", + "username": "王磊", + "age": 32, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "none" + }, + { + "userId": "10084", + "username": "王艳", + "age": 29, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10085", + "username": "杨娜", + "age": 39, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10086", + "username": "吴勇", + "age": 58, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "advanced" + }, + { + "userId": "10087", + "username": "王娜", + "age": 53, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10088", + "username": "黄勇", + "age": 30, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10089", + "username": "周娟", + "age": 52, + "riskLevel": "medium", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10090", + "username": "陈超", + "age": 48, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10091", + "username": "杨娜", + "age": 38, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10092", + "username": "刘勇", + "age": 60, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10093", + "username": "吴伟", + "age": 43, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "advanced" + }, + { + "userId": "10094", + "username": "周勇", + "age": 48, + "riskLevel": "high", + "incomeLevel": "high", + "investmentExperience": "none" + }, + { + "userId": "10095", + "username": "杨秀兰", + "age": 45, + "riskLevel": "low", + "incomeLevel": "medium", + "investmentExperience": "moderate" + }, + { + "userId": "10096", + "username": "赵艳", + "age": 28, + "riskLevel": "medium", + "incomeLevel": "low", + "investmentExperience": "beginner" + }, + { + "userId": "10097", + "username": "赵超", + "age": 31, + "riskLevel": "medium", + "incomeLevel": "medium", + "investmentExperience": "none" + }, + { + "userId": "10098", + "username": "李强", + "age": 47, + "riskLevel": "low", + "incomeLevel": "high", + "investmentExperience": "moderate" + }, + { + "userId": "10099", + "username": "黄超", + "age": 53, + "riskLevel": "high", + "incomeLevel": "medium", + "investmentExperience": "advanced" + }, + { + "userId": "10100", + "username": "张军", + "age": 43, + "riskLevel": "low", + "incomeLevel": "low", + "investmentExperience": "advanced" + } + ] +} \ No newline at end of file diff --git a/utils_audio.py b/utils_audio.py new file mode 100644 index 00000000..100dfe53 --- /dev/null +++ b/utils_audio.py @@ -0,0 +1,57 @@ +# utils_audio.py —— 无需 soundfile;优先使用 ffmpeg,失败则纯 Python WAV 兜底 +import io, os, shutil, subprocess, numpy as np, wave + +def _has_ffmpeg(): + return shutil.which("ffmpeg") is not None + +def _resample_linear(x: np.ndarray, src_sr: int, dst_sr: int) -> np.ndarray: + if src_sr == dst_sr: + return x.astype(np.float32) + t_old = np.linspace(0, len(x)/src_sr, num=len(x), endpoint=False) + t_new = np.linspace(0, len(x)/src_sr, num=int(len(x)*dst_sr/src_sr), endpoint=False) + y = np.interp(t_new, t_old, x).astype(np.float32) + return y + +def _wav_bytes_to_np(raw_bytes: bytes): + # 兜底方案,仅支持 PCM WAV + bio = io.BytesIO(raw_bytes) + with wave.open(bio, 'rb') as wf: + n_channels = wf.getnchannels() + sampwidth = wf.getsampwidth() + framerate = wf.getframerate() + n_frames = wf.getnframes() + pcm = wf.readframes(n_frames) + if sampwidth == 2: + dtype = np.int16 + data = np.frombuffer(pcm, dtype=dtype).astype(np.float32) / 32768.0 + else: + data = np.frombuffer(pcm, dtype=np.uint8).astype(np.float32) + data = (data - 128.0) / 128.0 + if n_channels > 1: + data = data.reshape(-1, n_channels).mean(axis=1) + return data, int(framerate) + +def ensure_wav16k_mono(raw_bytes: bytes) -> bytes: + """将任意输入音频转成 16kHz/mono 的 WAV(bytes)""" + if _has_ffmpeg(): + try: + p = subprocess.run( + ["ffmpeg", "-hide_banner", "-loglevel", "error", + "-i", "pipe:0", "-f", "wav", "-ar", "16000", "-ac", "1", "pipe:1"], + input=raw_bytes, stdout=subprocess.PIPE, stderr=subprocess.PIPE, check=True + ) + return p.stdout + except subprocess.CalledProcessError: + pass + + # 没有 ffmpeg,兜底:只能处理 WAV + data, sr = _wav_bytes_to_np(raw_bytes) + data = _resample_linear(data, sr, 16000) + bio = io.BytesIO() + with wave.open(bio, 'wb') as wf: + wf.setnchannels(1) + wf.setsampwidth(2) # 16-bit PCM + wf.setframerate(16000) + pcm = np.clip(data * 32767.0, -32768, 32767).astype(np.int16).tobytes() + wf.writeframes(pcm) + return bio.getvalue()