需求:统计用户的行为
要求:
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格式