66 lines
1.5 KiB
Go
66 lines
1.5 KiB
Go
|
|
package account
|
|||
|
|
|
|||
|
|
import (
|
|||
|
|
"context"
|
|||
|
|
"time"
|
|||
|
|
|
|||
|
|
"git.apinb.com/bsm-sdk/core/errcode"
|
|||
|
|
"git.apinb.com/bsm-sdk/core/print"
|
|||
|
|
"git.apinb.com/bsm-sdk/core/service"
|
|||
|
|
"git.apinb.com/bsm-sdk/core/vars"
|
|||
|
|
"git.apinb.com/bsm-sdk/sample/internal/impl"
|
|||
|
|
pb "git.apinb.com/bsm-sdk/sample/pb"
|
|||
|
|
)
|
|||
|
|
|
|||
|
|
// 更新会员的信息数据
|
|||
|
|
// 字段值为空或是0,将不更新此数据
|
|||
|
|
func SetData(ctx context.Context, in *pb.SetDataRequest) (reply *pb.StatusReply, err error) {
|
|||
|
|
auth, err := service.ParseMetaCtx(ctx, nil)
|
|||
|
|
if err != nil {
|
|||
|
|
return nil, err
|
|||
|
|
}
|
|||
|
|
var birthday time.Time
|
|||
|
|
if in.Birthday != "" {
|
|||
|
|
birthday, err = time.Parse("2006-01-02", in.Birthday)
|
|||
|
|
if err != nil {
|
|||
|
|
return nil, errcode.ErrInvalidArgument
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var data = models.sampleData{
|
|||
|
|
Nickname: in.Nickname,
|
|||
|
|
Avatar: in.Avatar,
|
|||
|
|
Sex: int8(in.Sex),
|
|||
|
|
Birthday: birthday,
|
|||
|
|
Country: in.Country,
|
|||
|
|
Province: in.Province,
|
|||
|
|
City: in.City,
|
|||
|
|
Area: in.Area,
|
|||
|
|
Sign: in.Sign,
|
|||
|
|
Cover: in.Cover,
|
|||
|
|
UpdatedAt: time.Now(),
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
var cnt int64
|
|||
|
|
impl.DBService.Model(&models.sampleData{}).Where("sample_id=?", auth.ID).Count(&cnt)
|
|||
|
|
|
|||
|
|
if cnt == 0 {
|
|||
|
|
data.sampleID = auth.ID
|
|||
|
|
data.sampleIdentity = auth.Identity
|
|||
|
|
err = impl.DBService.Create(&data).Error
|
|||
|
|
} else {
|
|||
|
|
impl.DBService.Where("sample_id=?", auth.ID).Updates(&data)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if err != nil {
|
|||
|
|
print.Error("first or create by sample_id %v error:%v", auth.ID, err)
|
|||
|
|
return nil, errcode.ErrDB
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return &pb.StatusReply{
|
|||
|
|
Data: vars.OK,
|
|||
|
|
Timeseq: time.Now().UnixNano(),
|
|||
|
|
}, nil
|
|||
|
|
|
|||
|
|
}
|