Authored by liqingzhong

新潮教室接口文档提供

... ... @@ -14,36 +14,33 @@ Key Value结构: `KEY: <UID>, Value: Y or N` , 例如 `10623456-->Y` 表示`1062
缓存用户的签到记录。失效时间:60分钟。查询的时候,从数据库中获取,然后写入到缓存中。用户签到之后,删除缓存
LIST结构: `KEY: <UID> , Value: [2015-03-12 18:12:12, 2015-03-13 18:12:12 ]`
#### 记录用户最近一次签到时间。
缓存用户最近的签到时间。 用户签到成功之后,需要设置这个值。 失效: 1个月
Key Value结构: `KEY:<UID>, Value:LAST-CHECKIN-TIME(最近签到时间(unix 秒数))`, 例如:`10623456-->143026666`
#### 所有用户的亲密度信息。
不失效。 用户签到成功,修改了亲密度之后,添加element。
SortedSet接口, `KEY: STAR_ORDER, Value: { <LAST-CHECKIN-TIME:UID>--> 亲密度信息 }`
SortedSet接口, `KEY: STAR_ORDER, Value: { <UID>--> 亲密度信息+LAST-UPDATE-TIME}`
### 表设计
#### Table: user_cohesion 用户-亲密度表
#### Table: user_star_intimacy 用户-亲密度表
| 列名 | 说明 |
| :--------- | :------------------- |
| uid| 用户ID, 主键 |
| cohesion| 亲密度(int) |
| last_update| 更新时间,格式为int (到现在的秒数) |
| uid | 用户ID, 主键 |
| star_id | 明星 ID |
| num | 亲密度(int) |
| create_time | 创建时间 |
| update_time | 更新时间,格式为int (到现在的秒数) |
#### Table: user_checkin_record 用户-签到记录表。 签到成功之后,添加记录
#### Table: user_star_intimacy_log 用户-签到记录表。 签到成功之后,添加记录
| 列名 | 说明 |
| :--------- | :------------------- |
| id| 自增主键|
| uid| 用户ID , 索引|
| checkin_time| 签到时间,格式为int (到现在的秒数) |
| id | 自增主键 |
| uid | 用户ID , 索引 |
| star_id | 明星 ID |
| type | 1. 签到 2. 转发 |
| add_num | 本次增加的分数 |
| create_time | 签到(转发)时间,格式为int (到现在的秒数) |
### 流程
... ... @@ -58,4 +55,4 @@ SortedSet接口, `KEY: STAR_ORDER, Value: { <LAST-CHECKIN-TIME:UID>--> 亲
所有用户的亲密度信息Cache中取前3个
#### 获取我的亲密度排名
`记录用户最近一次签到时间`Cache 中找到用户最近一次签到时间(如果没有,则从数据库user_checkin_record中查找,并且设置到缓存中)-->从 `所有用户的亲密度信息` Cache 中找出Element的rank(ZRANK)
\ No newline at end of file
用 uid,与明星 ID --> 从 `所有用户的亲密度信息` Cache 中找出Element的rank(ZRANK)
... ...
新潮教室签到
------------
## 1. 获取当前用户亲密度,排名
`method=app.starClass.rankInfo`
#### 入参
| 参数名称 | 参数类型 | 可否为空 | 示例 | 默认值 | 备注 |
|:---------|---------:|----------:|-----:|-------:|-----:|
| uid | int | 否 | 213 | 0 |用户id|
#### 出参
```json
{
"alg": "SALT_MD5",
"code": 200,
"data": {
"userNum": 10,
"userRank": 2
},
"md5": "fcf7791bac08abb80ef3a2b27964386c",
"message": "获取用户亲密度成功"
}
```
## 2.签到
`method=app.starClass.sign`
#### 入参
| 参数名称 | 参数类型 | 可否为空 | 示例 | 默认值 | 备注 |
|:---------|---------:|----------:|-----:|-------:|-----:|
| uid | int | 否 | 213 | 0 |用户id|
#### 出参
```json
{
"alg": "SALT_MD5",
"code": 200,
"data": {
"addNum": 10,
"logs": [
{
"addNum": 10,
"createTime": 1460112775,
"id": 211,
"starId": 1,
"type": 1,
"uid": 3703860
}
],
"rankList": [
{
"num": 10,
"uid": 3566199,
"username": "136****8114@yohoinc.com"
},
{
"avatar": "http://static.yoho.cn/images/default_userhead_boy_180_180.png?imageView/{mode}/w/{width}/h/{height}",
"num": 10,
"uid": 3566423,
"username": "黄德才"
},
{
"avatar": "http://static.yoho.cn/images/default_userhead_boy_180_180.png?imageView/{mode}/w/{width}/h/{height}",
"num": 10,
"uid": 3703860,
"username": "曹苒"
}
]
},
"md5": "450edbd92076dfac74701cb6421f68ae",
"message": "获取用户签到信息成功"
}
```
## 3.转发
`method=app.starClass.forward`
#### 入参
| 参数名称 | 参数类型 | 可否为空 | 示例 | 默认值 | 备注 |
|:---------|---------:|----------:|-----:|-------:|-----:|
| uid | int | 否 | 213 | 0 |用户id|
#### 出参
```json
{
"alg": "SALT_MD5",
"code": 200,
"data": 10, // 本次增加的分数
"md5": "9f6ed5823862ae9009fc8084516132da",
"message": "用户转发"
}
```
## 前 100
`method=app.starClass.top100`
#### 出参
```json
{
"alg": "SALT_MD5",
"code": 200,
"data": [
{
"avatar": "http://static.yoho.cn/images/default_userhead_boy_180_180.png?imageView/{mode}/w/{width}/h/{height}",
"num": 20,
"uid": 3703860,
"username": "曹苒"
},
{
"num": 10,
"uid": 3566199,
"username": "136****8114@yohoinc.com"
},
{
"avatar": "http://static.yoho.cn/images/default_userhead_boy_180_180.png?imageView/{mode}/w/{width}/h/{height}",
"num": 10,
"uid": 3566423,
"username": "黄德才"
}
],
"md5": "fae5f8b593b1c505eb36db1d29a80eca",
"message": "top100"
}
```
... ...