49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package rpc
|
|
|
|
import "fmt"
|
|
|
|
// 用户家庭相关RPC
|
|
type UserFamily struct{}
|
|
|
|
// 获取家庭详情
|
|
func (uf *UserFamily) GetDetail(familyId uint32) (*UserFamilyDetail, error) {
|
|
body := map[string]any{
|
|
"family_id": familyId,
|
|
"field_list": []string{"name", "latitude", "longitude", "address", "city_ad_code"},
|
|
}
|
|
result := &Result[UserFamilyDetail]{}
|
|
if err := GetRequest().Send("user_family.get_detail", body, result); err != nil {
|
|
return nil, err
|
|
}
|
|
if result.Code != 0 {
|
|
return nil, fmt.Errorf("%s", result.Message)
|
|
}
|
|
return &result.Data, nil
|
|
}
|
|
|
|
// 发送通知
|
|
func (uf *UserFamily) SendNotice(familyId uint32, content string) error {
|
|
body := map[string]any{
|
|
"family_id": familyId,
|
|
"content": content,
|
|
}
|
|
result := &Result[any]{}
|
|
if err := GetRequest().Send("user_family.send_notice", body, result); err != nil {
|
|
return err
|
|
}
|
|
if result.Code != 0 {
|
|
return fmt.Errorf("%s", result.Message)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
var userFamily *UserFamily
|
|
|
|
// 获取用户相关RPC
|
|
func GetUserFamily() *UserFamily {
|
|
if userFamily == nil {
|
|
userFamily = &UserFamily{}
|
|
}
|
|
return userFamily
|
|
}
|