Commit d067dff387be8f7474b474eead125988b73b0a2a

Authored by 陆恒
1 parent 443d5d29
Exists in master

好友相关接口

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
... ...