需求:統計用戶的行為
要求:
1、用 jdk8 springboot maven
2、數據庫表按照mysql進行設計
3、提供兩個接口 http+json post方法:
1)第一個接口是一個查詢用戶行為的方法:
入參分別為 用戶名稱,用戶id,查詢流水號,行為內容
出參返回該 hit not_hit invalid_user
方法內部邏輯(一期):
接到改接口的請求后會去一張用戶行為表里進行查詢,用戶id進行查詢,并將表里返回的結果 和用戶名稱和行為做匹配
若一致 則返回 hit
若不一致 返回 not_hit
若查不到該用戶信息 則返回 invalid_user,同時將該用戶名稱 用戶id 流水號 和 行為內容存到用戶行為表中
入參的形式為
{
??????code : 0000,
??????msg : “成功”,
??????request_id : "xxxxxxx",
??????data : {
????????????hit_resulut : ""
??????}
}
hit_result 為 hit not_hit invalid_user
如果處理過程中報錯 則code需要取其他值 如 9999等
2)、第二個接口是存儲用戶行為的方法
入參分別為 流水號,用戶行為
出參為 保存結果 成功或者失敗
{
??????code : 0000,
??????msg : “成功”,
??????request_id : "xxxxxxx",
??????data : {
????????????save_result : ""
??????}
}
方法內部邏輯(一期):
按照流水號將用戶行為更新到用戶行為表中,若未查得 直接返回失敗
需要注意的點:
1、該張用戶表比較大 可能會過億,需要進行分表,暫時先按照用戶id hash 分成 32張表
2、需要提供測試壓測腳本,最好用python完成,根據文件中報錯的請求入參(會有很多模擬數據) 循環來調用這兩個接口,文件讀當前目錄下的測試文件,第一個接口的是 fisrt.txt 第二個接口的是second.txt,文件內容是一行行的請求入參,入參為json格式