```
feat(friend): 添加好友系统功能实现 完善好友管理功能,包括添加好友、回复好友请求、删除好友等操作, 同时优化了相关数据结构和接口定义。 BREAKING CHANGE: 调整了黑名单数据结构,将BlackInfo从结构体改为uint32数组 ```
This commit is contained in:
@@ -3,9 +3,10 @@ package service
|
||||
import (
|
||||
"blazing/cool"
|
||||
"blazing/modules/player/model"
|
||||
"fmt"
|
||||
|
||||
"github.com/gogf/gf/v2/database/gdb"
|
||||
"github.com/gogf/gf/v2/frame/g"
|
||||
"github.com/samber/lo"
|
||||
)
|
||||
|
||||
type TitleService struct {
|
||||
@@ -27,27 +28,15 @@ func (s *TitleService) Get() []uint32 {
|
||||
func (s *TitleService) Can(id uint32) bool {
|
||||
m1 := s.TestModel(s.Model)
|
||||
|
||||
var talks *model.Title
|
||||
ok, _ := m1.Wheref(`available_title @> ?::jsonb`, id).Exist()
|
||||
|
||||
m1.Scan(&talks)
|
||||
if talks == nil {
|
||||
return false
|
||||
}
|
||||
_, ok := lo.Find(talks.AvailableTitle, func(item uint32) bool {
|
||||
return item == id
|
||||
|
||||
})
|
||||
return ok
|
||||
}
|
||||
|
||||
func (s *TitleService) Give(id uint32) bool {
|
||||
m1 := s.TestModel(s.Model)
|
||||
m1, _ := s.TestModel(s.Model).Exist()
|
||||
|
||||
var talks *model.Title
|
||||
|
||||
m1.Scan(&talks)
|
||||
|
||||
if talks == nil {
|
||||
if !m1 {
|
||||
m := s.TestModel(s.Model)
|
||||
data := g.Map{
|
||||
"player_id": s.userid,
|
||||
@@ -58,8 +47,12 @@ func (s *TitleService) Give(id uint32) bool {
|
||||
m.Data(data).Insert()
|
||||
return true
|
||||
}
|
||||
talks.AvailableTitle = append(talks.AvailableTitle, id)
|
||||
m1.Save()
|
||||
m := s.TestModel(s.Model)
|
||||
|
||||
m.Data(g.Map{
|
||||
"available_title": gdb.Raw(fmt.Sprintf("available_title|| '%d'::jsonb", id)),
|
||||
}).Update()
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user