fonchain-artistinfo/cmd/internal/controller/artisrInfo.go

110 lines
3.5 KiB
Go

package controller
import (
"context"
"fmt"
"github.com/fonchain/fonchain-artistinfo/cmd/internal/logic"
"github.com/fonchain/fonchain-artistinfo/cmd/model"
"github.com/fonchain/fonchain-artistinfo/pb/artistinfo"
db "github.com/fonchain/fonchain-artistinfo/pkg/db"
)
type ArtistInfoProvider struct {
artistinfo.UnimplementedArtistInfoServer
artistInfoLogic *logic.ArtistInfo
}
func (a *ArtistInfoProvider) RegisterUser(ctx context.Context, req *artistinfo.RegisterUserRequest) (rep *artistinfo.RegisterUserRespond, err error) {
fmt.Println("第一处")
// backup := &artistInfo.GetUserInfoRespond{}
if rep, err = a.artistInfoLogic.RegisterUser(req); err != nil {
return nil, err
}
return rep, nil
}
func (a *ArtistInfoProvider) GetUser(ctx context.Context, req *artistinfo.GetUserRequest) (rep *artistinfo.GetUserRespond, err error) {
fmt.Println("第一处")
// backup := &artistInfo.GetUserInfoRespond{}
if rep, err = a.artistInfoLogic.GetUser(req); err != nil {
return nil, err
}
return rep, nil
}
func (a *ArtistInfoProvider) UpdateRealName(ctx context.Context, req *artistinfo.UpdateRealNameRequest) (rep *artistinfo.UpdateRealNameRespond, err error) {
fmt.Println("第一处")
// backup := &artistInfo.GetUserInfoRespond{}
if rep, err = a.artistInfoLogic.UpdateRealName(req); err != nil {
return nil, err
}
return rep, nil
}
func (a *ArtistInfoProvider) FinishVerify(ctx context.Context, req *artistinfo.FinishVerifyRequest) (rep *artistinfo.FinishVerifyRespond, err error) {
fmt.Println("第一处")
// backup := &artistInfo.GetUserInfoRespond{}
if rep, err = a.artistInfoLogic.FinishVerify(req); err != nil {
return nil, err
}
return rep, nil
}
func (a *ArtistInfoProvider) CheckUserLock(ctx context.Context, req *artistinfo.CheckUserLockRequest) (rep *artistinfo.CheckUserLockRespond, err error) {
fmt.Println("第一处")
// backup := &artistInfo.GetUserInfoRespond{}
if rep, err = a.artistInfoLogic.CheckUserLock(req); err != nil {
return nil, err
}
return rep, nil
}
func (a *ArtistInfoProvider) ArtistSupplyList(ctx context.Context, req *artistinfo.ArtistSupplyListRequest) (rep *artistinfo.ArtistSupplyListRespond, err error) {
fmt.Println("第一处")
// backup := &artistInfo.GetUserInfoRespond{}
if rep, err = a.artistInfoLogic.ArtistSupplyList(req); err != nil {
return nil, err
}
return rep, nil
}
// 绑定邀请人和受邀请人的账号,并加入到次数统计
func (a *ArtistInfoProvider) BindInviteInvitedAccount(ctx context.Context, in *artistinfo.BindInviteInvitedAccountRequest) (res *artistinfo.BindInviteInvitedAccountRespond, err error) {
var data model.Invite
// 只能绑定一个邀请人
if err = db.DB.Where("invited_id = ?", in.InvitedUserId).Find(&data).Error; err != nil {
return nil, err
}
if data.UserId == 0 {
data = model.Invite{
UserId: in.UserId,
InvitedId: in.InvitedUserId,
}
if err = db.DB.Model(model.Invite{}).Create(&data).Error; err != nil {
return nil, err
}
}
// 添加到次数统计
var countData model.UserInvited
if err = db.DB.Where("user_id= ? AND invited_user_id= ?", in.UserId, in.GetInvitedUserId()).Find(&countData).Error; err != nil {
return nil, err
}
if countData.UserId == 0 {
countData = model.UserInvited{
UserId: in.UserId,
InvitedUserId: in.InvitedUserId,
Count: 1,
}
if err = db.DB.Create(&countData).Error; err != nil {
return nil, err
}
} else {
countData.Count += 1
if err = db.DB.Model(model.UserInvited{}).Where("id = ?", countData.ID).Updates(&countData).Error; err != nil {
return nil, err
}
}
return nil, err
}