airobot/busi/friend/friend_apply.go
2022-12-12 11:20:37 +08:00

50 lines
840 B
Go

package friend
import (
"time"
"google.golang.org/protobuf/proto"
"legu.airobot/lib"
"legu.airobot/pb"
)
var _ lib.ICaller = (*FriendApply)(nil)
type FriendApply struct {
lib.Action
}
func (a *FriendApply) Info() lib.SceneInfo {
return lib.SceneInfo{
Name: "friend.apply",
Desc: "好友申请",
}
}
func (a *FriendApply) BuildReq(store lib.IStore, head *pb.UserMessage) lib.RawReq {
id := time.Now().UnixNano()
var req []byte
b := store.Get("friend.apply")
rsp := &pb.FriendRandlistResp{}
if err := proto.Unmarshal(b, rsp); err != nil {
panic(err)
}
if len(rsp.List) == 0 {
return lib.RawReq{}
}
if lib.ProtoMarshal(&pb.FriendApplyReq{
FriendId: rsp.List[0].UserId,
}, head) {
data, err := proto.Marshal(head)
if err != nil {
panic(err)
}
req = data
}
return lib.RawReq{ID: id, Req: req}
}