Commit d067dff387be8f7474b474eead125988b73b0a2a
1 parent
443d5d29
Exists in
master
好友相关接口
Showing
5 changed files
with
169 additions
and
2 deletions
Show diff stats
src/HttpServer/logic/datadef.go
| ... | ... | @@ -503,6 +503,30 @@ type GetRecommendListResp struct { |
| 503 | 503 | Result GetRecommendListResult `json:"result"` |
| 504 | 504 | } |
| 505 | 505 | |
| 506 | + | |
| 507 | +type HandleFriendRequestReq struct{ | |
| 508 | + Token string `json:"token"` | |
| 509 | + User_id int `json:"user_id"` | |
| 510 | + Type int `json:"type"` | |
| 511 | +} | |
| 512 | + | |
| 513 | + | |
| 514 | +type HandleFriendRequestResp struct { | |
| 515 | + Status string `json:"status"` | |
| 516 | + Result CommonResult `json:"result"` | |
| 517 | +} | |
| 518 | + | |
| 519 | +type DelFriendReq struct{ | |
| 520 | + Token string `json:"token"` | |
| 521 | + User_id int `json:"user_id"` | |
| 522 | +} | |
| 523 | + | |
| 524 | + | |
| 525 | +type DelFriendResp struct { | |
| 526 | + Status string `json:"status"` | |
| 527 | + Result CommonResult `json:"result"` | |
| 528 | +} | |
| 529 | + | |
| 506 | 530 | //********************************************************************************************************** |
| 507 | 531 | |
| 508 | 532 | ... | ... |
src/HttpServer/logic/errordef.go
| ... | ... | @@ -30,4 +30,8 @@ const ( |
| 30 | 30 | RROR_FRIENDINAPPROVELISTFAILED = 25 //已经在等待批准列表 |
| 31 | 31 | ERROR_FRIENDAPPROVELIMIT = 26 //当日批准已达上限 |
| 32 | 32 | ERROR_FRIENDGETRECOMMADNFAILED = 27 //获取推荐好友失败 |
| 33 | + ERROR_NOTINAPPROVELIST = 28 //玩家不在好友申请列表 | |
| 34 | + ERROR_FRIENDAPPROVEFAILED = 29 //好友审批失败 | |
| 35 | + ERROR_FRIENDNOTFRIEND = 30 //不是好友 | |
| 36 | + ERROR_FRIENDDELFRIENDFAILED = 31 //删除好友失败 | |
| 33 | 37 | ) |
| 34 | 38 | \ No newline at end of file | ... | ... |
src/HttpServer/logic/function.go
| ... | ... | @@ -393,6 +393,11 @@ func (alist *ApproveList) InApproveList(uuid int) bool { |
| 393 | 393 | return false |
| 394 | 394 | } |
| 395 | 395 | |
| 396 | +// | |
| 397 | +func DelFromApproveList(uuid,deluuid int) error { | |
| 398 | + return nil | |
| 399 | +} | |
| 400 | + | |
| 396 | 401 | //待批准列表 |
| 397 | 402 | func GetUserApproveList(uuid int) (*ApproveList,error) { |
| 398 | 403 | rt := new(ApproveList) |
| ... | ... | @@ -512,11 +517,11 @@ func GetUserFriendList(uuid int) (*FriendList,error) { |
| 512 | 517 | return rt,nil |
| 513 | 518 | } |
| 514 | 519 | |
| 515 | -func SaveUserFriendList(uuid int,adduuid int) error { | |
| 520 | +func SaveUserFriendList(uuid int,adduuid int,status int) error { | |
| 516 | 521 | userkey := redis.FRIEND_LIST_KEY + ":" + strconv.Itoa(uuid) |
| 517 | 522 | var finfo FriendInfo |
| 518 | 523 | finfo.Uuid = adduuid |
| 519 | - finfo.Status = 0 | |
| 524 | + finfo.Status = status | |
| 520 | 525 | str,err := json.Marshal(&finfo) |
| 521 | 526 | if err != nil { |
| 522 | 527 | logger.Error("SaveUserFriendList failed,err=%v",err) | ... | ... |
src/HttpServer/logic/httpserver.go
| ... | ... | @@ -50,6 +50,8 @@ func startServerHttpServe() { |
| 50 | 50 | http.HandleFunc("/catcafe/friend/getList", GetFriendList) //获取好友列表 |
| 51 | 51 | http.HandleFunc("/catcafe/friend/getAuditList", GetAuditList) //获取待审核好友列表 |
| 52 | 52 | http.HandleFunc("/catcafe/friend/getRecommendList", GetRecommendList) //获取推荐好友列表 |
| 53 | + http.HandleFunc("/catcafe/friend/handleFriendRequest", HandleFriendRequest) //处理好友请求 | |
| 54 | + http.HandleFunc("/catcafe/friend/delFriend", DelFriend) //删除好友 | |
| 53 | 55 | |
| 54 | 56 | |
| 55 | 57 | err := http.ListenAndServe(conf.GetServerHttpAddrConf(), nil) |
| ... | ... | @@ -57,6 +59,30 @@ func startServerHttpServe() { |
| 57 | 59 | } |
| 58 | 60 | |
| 59 | 61 | |
| 62 | +func DelFriend(w http.ResponseWriter, r *http.Request) { | |
| 63 | + | |
| 64 | + result, _ := ioutil.ReadAll(r.Body) | |
| 65 | + r.Body.Close() | |
| 66 | + | |
| 67 | + s := string(result) | |
| 68 | + logger.Info("DelFriend , body:%v,uuid=%v", s) | |
| 69 | + | |
| 70 | + HandleDelFriend(w,s) | |
| 71 | +} | |
| 72 | + | |
| 73 | + | |
| 74 | +func HandleFriendRequest(w http.ResponseWriter, r *http.Request) { | |
| 75 | + | |
| 76 | + result, _ := ioutil.ReadAll(r.Body) | |
| 77 | + r.Body.Close() | |
| 78 | + | |
| 79 | + s := string(result) | |
| 80 | + logger.Info("HandleFriendRequest , body:%v,uuid=%v", s) | |
| 81 | + | |
| 82 | + HandleHandleFriendRequest(w,s) | |
| 83 | +} | |
| 84 | + | |
| 85 | + | |
| 60 | 86 | func GetRecommendList(w http.ResponseWriter, r *http.Request) { |
| 61 | 87 | |
| 62 | 88 | result, _ := ioutil.ReadAll(r.Body) | ... | ... |
src/HttpServer/logic/logic.go
| ... | ... | @@ -1381,4 +1381,112 @@ func HandleGetRecommendList(w http.ResponseWriter, data string) { |
| 1381 | 1381 | //回包 |
| 1382 | 1382 | respstr, _ := json.Marshal(&resp) |
| 1383 | 1383 | fmt.Fprint(w, string(respstr)) |
| 1384 | +} | |
| 1385 | + | |
| 1386 | + | |
| 1387 | +func HandleHandleFriendRequest(w http.ResponseWriter, data string) { | |
| 1388 | + SetHeader(w) | |
| 1389 | + var resp HandleFriendRequestResp | |
| 1390 | + resp.Status = "true" | |
| 1391 | + resp.Result.Code = ERROR_OK | |
| 1392 | + var rdata HandleFriendRequestReq | |
| 1393 | + err := json.Unmarshal([]byte(data), &rdata) | |
| 1394 | + for { | |
| 1395 | + if err != nil { | |
| 1396 | + logger.Error("HandleHandleFriendRequest json unmarshal failed=%v", err) | |
| 1397 | + resp.Result.Code = ERROR_JSONUNMASHFAILED | |
| 1398 | + break | |
| 1399 | + } | |
| 1400 | + | |
| 1401 | + uuid,err := GetTouristUid(rdata.Token) | |
| 1402 | + if err != nil || uuid==0{ | |
| 1403 | + logger.Error("HandleHandleFriendRequest GetTouristUid failed=%v", err) | |
| 1404 | + resp.Result.Code = ERROR_GETUSERIDFAILED | |
| 1405 | + break | |
| 1406 | + } | |
| 1407 | + | |
| 1408 | + approvelist,err := GetUserApproveList(uuid) | |
| 1409 | + if !approvelist.InApproveList(rdata.User_id) { | |
| 1410 | + logger.Error("HandleHandleFriendRequest NOTINAPPROVELIST failed=%v", err) | |
| 1411 | + resp.Result.Code = ERROR_NOTINAPPROVELIST | |
| 1412 | + break | |
| 1413 | + } | |
| 1414 | + | |
| 1415 | + //从待批准列表删除 | |
| 1416 | + err = DelFromApproveList(uuid,rdata.User_id) | |
| 1417 | + if err != nil { | |
| 1418 | + logger.Error("HandleHandleFriendRequest ERROR_FRIENDAPPROVEFAILED failed=%v", err) | |
| 1419 | + resp.Result.Code = ERROR_FRIENDAPPROVEFAILED | |
| 1420 | + break | |
| 1421 | + } | |
| 1422 | + | |
| 1423 | + if rdata.Type == 0 { | |
| 1424 | + //如果同意将其加入好友列表 status 1表示删除 0表示未删除 | |
| 1425 | + err = SaveUserFriendList(uuid,rdata.User_id,0) | |
| 1426 | + if err != nil { | |
| 1427 | + logger.Error("HandleHandleFriendRequest ERROR_FRIENDAPPROVEFAILED failed=%v", err) | |
| 1428 | + resp.Result.Code = ERROR_FRIENDAPPROVEFAILED | |
| 1429 | + break | |
| 1430 | + } | |
| 1431 | + } | |
| 1432 | + | |
| 1433 | + | |
| 1434 | + resp.Result.Code = ERROR_OK | |
| 1435 | + break | |
| 1436 | + } | |
| 1437 | + | |
| 1438 | + //回包 | |
| 1439 | + respstr, _ := json.Marshal(&resp) | |
| 1440 | + fmt.Fprint(w, string(respstr)) | |
| 1441 | +} | |
| 1442 | + | |
| 1443 | + | |
| 1444 | +func HandleDelFriend(w http.ResponseWriter, data string) { | |
| 1445 | + SetHeader(w) | |
| 1446 | + var resp DelFriendResp | |
| 1447 | + resp.Status = "true" | |
| 1448 | + resp.Result.Code = ERROR_OK | |
| 1449 | + var rdata DelFriendReq | |
| 1450 | + err := json.Unmarshal([]byte(data), &rdata) | |
| 1451 | + for { | |
| 1452 | + if err != nil { | |
| 1453 | + logger.Error("HandleDelFriend json unmarshal failed=%v", err) | |
| 1454 | + resp.Result.Code = ERROR_JSONUNMASHFAILED | |
| 1455 | + break | |
| 1456 | + } | |
| 1457 | + | |
| 1458 | + uuid,err := GetTouristUid(rdata.Token) | |
| 1459 | + if err != nil || uuid==0{ | |
| 1460 | + logger.Error("HandleDelFriend GetTouristUid failed=%v", err) | |
| 1461 | + resp.Result.Code = ERROR_GETUSERIDFAILED | |
| 1462 | + break | |
| 1463 | + } | |
| 1464 | + | |
| 1465 | + friendlist,err := GetUserFriendList(uuid) | |
| 1466 | + if err != nil { | |
| 1467 | + logger.Error("HandleDelFriend GetFriendList failed=%v", err) | |
| 1468 | + resp.Result.Code = ERROR_GETFRIENDLISTAILED | |
| 1469 | + break | |
| 1470 | + } | |
| 1471 | + if !friendlist.IsInFreiendList(rdata.User_id) { | |
| 1472 | + logger.Error("HandleSetFriendRequest ERROR_FRIENDNOTFRIEND failed=%v", err) | |
| 1473 | + resp.Result.Code = ERROR_FRIENDNOTFRIEND | |
| 1474 | + break | |
| 1475 | + } | |
| 1476 | + | |
| 1477 | + err = SaveUserFriendList(uuid,rdata.User_id,1) | |
| 1478 | + if err != nil { | |
| 1479 | + logger.Error("HandleSetFriendRequest ERROR_FRIENDAPPROVEFAILED failed=%v", err) | |
| 1480 | + resp.Result.Code = ERROR_FRIENDDELFRIENDFAILED | |
| 1481 | + break | |
| 1482 | + } | |
| 1483 | + | |
| 1484 | + | |
| 1485 | + resp.Result.Code = ERROR_OK | |
| 1486 | + break | |
| 1487 | + } | |
| 1488 | + | |
| 1489 | + //回包 | |
| 1490 | + respstr, _ := json.Marshal(&resp) | |
| 1491 | + fmt.Fprint(w, string(respstr)) | |
| 1384 | 1492 | } |
| 1385 | 1493 | \ No newline at end of file | ... | ... |