x
This commit is contained in:
parent
571cb2f4db
commit
029ed489bc
@ -38,12 +38,24 @@ func (h *handler) GetUserProfile() core.HandlerFunc {
|
||||
// 转换为积分(浮点)用于显示
|
||||
balancePoints := h.user.CentsToPointsFloat(ctx.RequestContext(), balance)
|
||||
|
||||
var inviterNickname, inviterAvatar, inviterCode string
|
||||
if user.InviterID > 0 {
|
||||
if inviter, err := h.user.GetProfile(ctx.RequestContext(), user.InviterID); err == nil {
|
||||
inviterNickname = inviter.Nickname
|
||||
inviterAvatar = inviter.Avatar
|
||||
inviterCode = inviter.InviteCode
|
||||
}
|
||||
}
|
||||
|
||||
res := userItem{
|
||||
ID: user.ID,
|
||||
Nickname: user.Nickname,
|
||||
Avatar: user.Avatar,
|
||||
InviteCode: user.InviteCode,
|
||||
InviterID: user.InviterID,
|
||||
InviterNickname: inviterNickname,
|
||||
InviterAvatar: inviterAvatar,
|
||||
InviterCode: inviterCode,
|
||||
Mobile: phone,
|
||||
DouyinUserID: user.DouyinUserID,
|
||||
Balance: balancePoints,
|
||||
@ -62,6 +74,9 @@ type userItem struct {
|
||||
Avatar string `json:"avatar"`
|
||||
InviteCode string `json:"invite_code"`
|
||||
InviterID int64 `json:"inviter_id"`
|
||||
InviterNickname string `json:"inviter_nickname"` // 邀请人昵称
|
||||
InviterAvatar string `json:"inviter_avatar"` // 邀请人头像
|
||||
InviterCode string `json:"inviter_code"` // 邀请人邀请码
|
||||
Mobile string `json:"mobile"`
|
||||
DouyinUserID string `json:"douyin_user_id"`
|
||||
Balance float64 `json:"balance"` // 积分(分/rate)
|
||||
@ -107,12 +122,24 @@ func (h *handler) ModifyUser() core.HandlerFunc {
|
||||
balance, _ := h.user.GetPointsBalance(ctx.RequestContext(), userID)
|
||||
balancePoints := h.user.CentsToPointsFloat(ctx.RequestContext(), balance)
|
||||
|
||||
var inviterNickname, inviterAvatar, inviterCode string
|
||||
if item.InviterID > 0 {
|
||||
if inviter, err := h.user.GetProfile(ctx.RequestContext(), item.InviterID); err == nil {
|
||||
inviterNickname = inviter.Nickname
|
||||
inviterAvatar = inviter.Avatar
|
||||
inviterCode = inviter.InviteCode
|
||||
}
|
||||
}
|
||||
|
||||
rsp.User = userItem{
|
||||
ID: item.ID,
|
||||
Nickname: item.Nickname,
|
||||
Avatar: item.Avatar,
|
||||
InviteCode: item.InviteCode,
|
||||
InviterID: item.InviterID,
|
||||
InviterNickname: inviterNickname,
|
||||
InviterAvatar: inviterAvatar,
|
||||
InviterCode: inviterCode,
|
||||
Mobile: maskedPhone,
|
||||
DouyinUserID: item.DouyinUserID,
|
||||
Balance: balancePoints,
|
||||
|
||||
@ -19,7 +19,7 @@ type UserInvites struct {
|
||||
InviteeID int64 `gorm:"column:invitee_id;not null;comment:被邀请用户ID" json:"invitee_id"` // 被邀请用户ID
|
||||
InviteCode string `gorm:"column:invite_code;not null;comment:邀请时使用的邀请码" json:"invite_code"` // 邀请时使用的邀请码
|
||||
RewardPoints int64 `gorm:"column:reward_points;not null;comment:发放的积分数量(用于审计)" json:"reward_points"` // 发放的积分数量(用于审计)
|
||||
RewardedAt time.Time `gorm:"column:rewarded_at;comment:奖励发放时间" json:"rewarded_at"` // 奖励发放时间
|
||||
RewardedAt *time.Time `gorm:"column:rewarded_at;comment:奖励发放时间" json:"rewarded_at"` // 奖励发放时间
|
||||
CreatedAt time.Time `gorm:"column:created_at;not null;default:CURRENT_TIMESTAMP(3);comment:创建时间" json:"created_at"` // 创建时间
|
||||
UpdatedAt time.Time `gorm:"column:updated_at;not null;default:CURRENT_TIMESTAMP(3);comment:更新时间" json:"updated_at"` // 更新时间
|
||||
DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;comment:删除时间(软删)" json:"deleted_at"` // 删除时间(软删)
|
||||
|
||||
@ -155,12 +155,13 @@ func (s *service) LoginWeixin(ctx context.Context, in LoginWeixinInput) (*LoginW
|
||||
if existed == nil {
|
||||
inviter, _ := tx.Users.WithContext(ctx).Where(tx.Users.InviteCode.Eq(in.InviteCode)).First()
|
||||
if inviter != nil && inviter.ID != u.ID {
|
||||
now := time.Now()
|
||||
inv := &model.UserInvites{
|
||||
InviterID: inviter.ID,
|
||||
InviteeID: u.ID,
|
||||
InviteCode: in.InviteCode,
|
||||
RewardPoints: 0,
|
||||
RewardedAt: time.Now(),
|
||||
RewardedAt: &now,
|
||||
}
|
||||
if err := tx.UserInvites.WithContext(ctx).Create(inv); err != nil {
|
||||
return err
|
||||
|
||||
@ -241,12 +241,13 @@ func (s *service) LoginByCode(ctx context.Context, in SmsLoginInput) (*SmsLoginO
|
||||
if existed == nil {
|
||||
inviter, _ := tx.Users.WithContext(ctx).Where(tx.Users.InviteCode.Eq(in.InviteCode)).First()
|
||||
if inviter != nil && inviter.ID != user.ID {
|
||||
now := time.Now()
|
||||
inv := &model.UserInvites{
|
||||
InviterID: inviter.ID,
|
||||
InviteeID: user.ID,
|
||||
InviteCode: in.InviteCode,
|
||||
RewardPoints: 0,
|
||||
RewardedAt: time.Now(),
|
||||
RewardedAt: &now,
|
||||
}
|
||||
if txErr = tx.UserInvites.WithContext(ctx).Create(inv); txErr != nil {
|
||||
return txErr
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user