fonchain-artistinfo/cmd/internal/dao/artistInfo.go
2023-01-18 17:03:15 +08:00

428 lines
13 KiB
Go

package dao
import (
"errors"
"github.com/fonchain-artistserver/cmd/model"
"github.com/fonchain-artistserver/pb/artistinfo"
db "github.com/fonchain-artistserver/pkg/db"
"github.com/fonchain-artistserver/pkg/m"
"go.uber.org/zap"
)
func RegisterUser(req *artistinfo.RegisterUserRequest) (rep *artistinfo.RegisterUserRespond, err error) {
var user model.User
user.TelNum = req.TelNum
user.MgmtArtistId = req.MgmtArtistId
if err := db.DB.Create(&user).Error; err != nil {
zap.L().Error("register user err", zap.Error(err))
err = errors.New(m.ERROR_SELECT)
return nil, err
}
return
}
func GetUser(req *artistinfo.GetUserRequest) (rep *artistinfo.GetUserRespond, err error) {
rep = &artistinfo.GetUserRespond{}
// service := &artist.UserUpdateInfoService{}
var user model.User
if err = db.DB.First(&user, "telnum = ?", req.TelNum).Error; err != nil {
zap.L().Error("get user info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT)
return nil, err
}
// rep.
rep.Id = user.ID
rep.MgmtUserId = user.MgmtUserId
rep.MgmtArtistId = user.MgmtArtistId
rep.TelNum = user.TelNum
rep.IsFdd = user.IsFdd
rep.IsRealName = user.IsRealName
rep.Ruler = user.Ruler
// service.QrCodeImg = fmt.Sprintf("https://cdn.fontree.cn/artistmgmt/static/qrcode/%v.png", user.InvitedCode)
// service.QrCodeImgDownload = fmt.Sprintf("https://cdn.fontree.cn/artistmgmt/static/qrcode/%v-2.png", user.InvitedCode)
// rep.Data = service
return rep, nil
}
func GetUserById(req *artistinfo.GetUserByIdRequest) (rep *artistinfo.GetUserByIdRespond, err error) {
rep = &artistinfo.GetUserByIdRespond{}
// service := &artist.UserUpdateInfoService{}
var user model.User
if err = db.DB.First(&user, "id = ?", req.Id).Error; err != nil {
zap.L().Error("get user info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT)
return nil, err
}
// rep.
rep.Id = user.ID
rep.MgmtUserId = user.MgmtUserId
rep.MgmtArtistId = user.MgmtArtistId
rep.TelNum = user.TelNum
rep.IsFdd = user.IsFdd
rep.IsRealName = user.IsRealName
rep.Ruler = user.Ruler
return rep, nil
}
func UpdateRealName(req *artistinfo.UpdateRealNameRequest) (rep *artistinfo.UpdateRealNameRespond, err error) {
var user model.User
user.ID = req.Id
if err = db.DB.Model(&user).Update("isrealname", 1).Error; err != nil {
zap.L().Error("get user info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT)
return nil, err
}
return rep, nil
}
func FinishVerify(req *artistinfo.FinishVerifyRequest) (rep *artistinfo.FinishVerifyRespond, err error) {
var user model.User
user.ID = req.Id
if err = db.DB.Model(&user).Update("isfdd", 2).Error; err != nil {
zap.L().Error("get user info err", zap.Error(err))
err = errors.New(m.ERROR_SELECT)
return nil, err
}
return rep, nil
}
// // Update 用户修改信息
// func Create(reqs *artist.CreateUserInfoRequest) (rep *artist.CreateUserInfoRespond, err error) {
// req := reqs.Data
// rep = &artist.CreateUserInfoRespond{}
// data := &artist.User{}
// // user := rep.User
// var user model.User
// // user := rep.User
// if err = db.DB.First(&user, "id = ?", int32(reqs.Id)).Error; err != nil {
// //数据库操作异常
// zap.L().Error("get user info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return nil, err
// }
// var realNameFind model.RealName
// if err = db.DB.First(&realNameFind, "id_num = ?", req.IdCard).Error; err != nil {
// zap.L().Error("get realName info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return nil, err
// } else {
// if realNameFind.ID != 0 {
// return nil, errors.New(m.ERROR_ALREADY_AUTH)
// }
// }
// var realname = model.RealName{
// Name: req.RealName,
// IDNum: req.IdCard,
// TelNum: req.TelNum,
// IdcardFront: req.IdCardFront,
// IdcardBack: req.IdCardBack,
// }
// if err = db.DB.Save(&realname).Error; err != nil {
// zap.L().Error("save realName info err", zap.Error(err))
// err = errors.New(m.SAVE_ERROR)
// return nil, err
// }
// if err = db.DB.First(&realname, "id_num=?", realname.IDNum).Error; err != nil {
// zap.L().Error("get realName info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return nil, err
// }
// // user.ID = int32(reqs.Id)
// user.Name = req.RealName
// user.PenName = req.PenName
// user.RealNameID = int32(realname.ID)
// user.StageName = req.StageName
// user.Age = int32(util.IdCardTurnAge(realname.IDNum))
// user.Sex = int32(req.Sex)
// user.JoinAssoTime = req.JoinAssoTime
// user.CertificateNum = req.CertificateNum
// conAddessByte, err := json.Marshal(req.ConAddress)
// if err != nil {
// zap.L().Error("conAddress marshal err", zap.Error(err))
// err = errors.New(m.ERROR_MARSHAL)
// return nil, err
// }
// user.ConAddress = string(conAddessByte)
// user.CreateAt = time.Now().Unix()
// user.Photo = req.Photo
// user.WxAccount = req.WxAccount
// user.CertificateImg = req.CertificateImg
// user.Video = req.Video
// // user.IsRealName = true
// var invite model.Invite
// if err = db.DB.Where("user_id = ?", user.ID).First(&invite).Error; err != nil {
// zap.L().Error("get invite info err", zap.Error(err))
// if err.Error() == "record not found" {
// } else {
// err = errors.New(m.SAVE_ERROR)
// return nil, err
// }
// }
// if invite.ID == 0 {
// res, err := CheckInvitedCode(req.InvitedCode)
// if err != nil {
// Createinvite(user.ID, res.ID)
// }
// }
// user.ID = int32(reqs.Id)
// if err = db.DB.Save(user).Error; err != nil {
// zap.L().Error("save user info err", zap.Error(err))
// err = errors.New(m.SAVE_ERROR)
// return nil, err
// }
// copyOpt := util.CopyOption{
// Src: &user,
// Dst: data,
// }
// util.CopyStructSuper(copyOpt)
// rep.User = data
// return rep, nil
// }
// // Get 用户修改信息
// func GetUserInfoSelf(id int64) (rep *model.UserUpdateInfoService, err error) {
// rep = &model.UserUpdateInfoService{}
// var user model.User
// if err = db.DB.First(&user, "id = ?", int32(id)).Error; err != nil {
// zap.L().Error("get user info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return
// }
// var realName model.RealName
// if err = db.DB.First(&realName, "id = ?", user.RealNameID).Error; err != nil {
// zap.L().Error("get realName info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return
// }
// var artworkList []model.Artwork
// if err = db.DB.Where("artist_id = ? ", uint(id)).Find(&artworkList).Error; err != nil {
// zap.L().Error("get artworkList info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return
// }
// for _, v := range artworkList {
// if v.State == 3 {
// rep.Ruler = rep.Ruler + int32(v.Ruler)
// }
// }
// rep.TelNum = user.TelNum
// rep.CertificateNum = user.CertificateNum
// if user.CertificateImg != "" {
// rep.CertificateImg = fmt.Sprintf("%v?v=%d", user.CertificateImg, user.UpdatedAt.Unix())
// }
// rep.RealName = realName.Name
// rep.PenName = user.PenName
// rep.Age = int32(util.IdCardTurnAge(realName.IDNum))
// rep.IdCard = realName.IDNum
// rep.StageName = user.StageName
// rep.WxAccount = user.WxAccount
// rep.JoinAssoTime = user.JoinAssoTime
// rep.IdCardFront = fmt.Sprintf("%v?v=%d", realName.IdcardFront, realName.UpdatedAt.Unix())
// rep.IdCardBack = fmt.Sprintf("%v?v=%d", realName.IdcardBack, realName.UpdatedAt.Unix())
// var conAddressArr []string
// err = json.Unmarshal([]byte(user.ConAddress), &conAddressArr)
// if err != nil {
// zap.L().Error("conAddressArr unmarshal err", zap.Error(err))
// err = errors.New(m.ERROR_UNMARSHAL)
// return nil, err
// }
// rep.ConAddress = conAddressArr
// rep.InvitedCode = user.InvitedCode
// var invited model.Invite
// if err = db.DB.Where("user_id=?", user.ID).First(&invited).Error; err != nil {
// zap.L().Error("get invited info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return
// }
// var invitedUser model.User
// if err = db.DB.Where("id=?", invited.InvitedId).First(&invitedUser).Error; err != nil {
// zap.L().Error("get invitedUser info err", zap.Error(err))
// err = errors.New(m.ERROR_UNMARSHAL)
// return
// }
// rep.InvitedName = invitedUser.Name
// rep.Sex = user.Sex
// rep.FddState = user.FddState
// rep.CustomerId = user.CustomerId
// rep.Photo = fmt.Sprintf("%v?v=%d", user.Photo, user.UpdatedAt.Unix())
// if user.Video != "" {
// rep.Video = fmt.Sprintf("%v?v=%d", user.Video, user.UpdatedAt.Unix())
// }
// rep.QrCodeImg = fmt.Sprintf("https://cdn.fontree.cn/artistmgmt/static/qrcode/%v.png", user.InvitedCode)
// rep.QrCodeImgDownload = fmt.Sprintf("https://cdn.fontree.cn/artistmgmt/static/qrcode/%v-2.png", user.InvitedCode)
// return rep, nil
// }
// func Update(req *artist.UpdateUserInfoRequest) (rep *artist.UpdateUserInfoRespond, err error) {
// rep = &artist.UpdateUserInfoRespond{}
// data := &artist.User{}
// var user model.User
// if err = db.DB.First(&user, "id = ?", int32(req.Id)).Error; err != nil {
// zap.L().Error("get user info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return
// }
// user.PenName = req.Data.PenName
// user.Photo = req.Data.Photo
// user.Video = req.Data.Video
// user.CertificateImg = req.Data.CertificateImg
// conAddessByte, err := json.Marshal(req.Data.ConAddress)
// if err != nil {
// zap.L().Error("conAddress marshal err", zap.Error(err))
// err = errors.New(m.ERROR_MARSHAL)
// return nil, err
// }
// user.ConAddress = string(conAddessByte)
// user.WxAccount = req.Data.WxAccount
// user.CertificateNum = req.Data.CertificateNum
// if err = db.DB.Save(&user).Error; err != nil {
// zap.L().Error("save user info err", zap.Error(err))
// err = errors.New(m.SAVE_ERROR)
// return
// }
// var realName model.RealName
// if err = db.DB.First(&realName, "id = ?", user.RealNameID).Error; err != nil {
// zap.L().Error("get RealName info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return
// }
// realName.IdcardBack = req.Data.IdCardBack
// realName.IdcardFront = req.Data.IdCardFront
// if err = db.DB.Save(&realName).Error; err != nil {
// zap.L().Error("save realName info err", zap.Error(err))
// err = errors.New(m.SAVE_ERROR)
// return
// }
// copyOpt := util.CopyOption{
// Src: &user,
// Dst: data,
// }
// util.CopyStructSuper(copyOpt)
// rep.User = data
// return
// }
// func UpdateTel(req *artist.UserUpdateTelRequest) (rep *artist.UserUpdateTelRespond, err error) {
// rep = &artist.UserUpdateTelRespond{}
// var user model.User
// if err = db.DB.First(&user, int32(req.Id)).Error; err != nil {
// zap.L().Error("get user info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return
// }
// str := cache.RedisClient.Get(req.TelNum)
// verCode := str.Val()
// if verCode != req.VerCode {
// zap.L().Error("verCode err", zap.Error(err))
// err = errors.New(m.ERRORCODE)
// return
// }
// if user.TelNum == req.TelNum {
// zap.L().Error("TelNum err", zap.Error(err))
// err = errors.New(m.ERROT_SAME_TEL)
// return
// }
// user.TelNum = req.TelNum
// if err = db.DB.Save(&user).Error; err != nil {
// zap.L().Error("save user info err", zap.Error(err))
// err = errors.New(m.SAVE_ERROR)
// return
// }
// rep.TelNum = user.TelNum
// return
// }
// func UpdateMsg(req *artist.UserUpdateMsgRequest) (rep *artist.UserUpdateMsgRespond, err error) {
// var user model.User
// user.IsRealName = true
// user.ID = int32(req.Id)
// if err = db.DB.Model(&user).Update("is_read", 1).Error; err != nil {
// zap.L().Error("user update failed", zap.Error(err))
// err = errors.New(m.UPDATE_FAILED)
// return
// }
// return
// }
// func VerifyFdd(req *artist.VerifyfddRequest) (rep *artist.VerifyfddRespond, err error) {
// rep = &artist.VerifyfddRespond{}
// var user model.User
// if err = db.DB.Where("id = ?", int32(req.Id)).First(&user).Error; err != nil {
// zap.L().Error("get user info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return
// }
// if user.FddState != 2 {
// return
// }
// rep.Ready = true
// return
// }
// func FinishVerify(req *artist.FinishVerifyRequest) (rep *artist.FinishVerifyRespond, err error) {
// rep = &artist.FinishVerifyRespond{}
// data := &artist.User{}
// var user model.User
// user.ID = int32(req.Id)
// if err = db.DB.Model(&user).Update("fdd_state", 2).Error; err != nil {
// zap.L().Error("user update failed", zap.Error(err))
// err = errors.New(m.UPDATE_FAILED)
// return
// }
// copyOpt := util.CopyOption{
// Src: &user,
// Dst: data,
// }
// util.CopyStructSuper(copyOpt)
// rep.User = data
// return
// }
// func CheckInvitedCode(invitedCode string) (user *model.User, err error) {
// user = &model.User{}
// //找到用户
// if err := db.DB.Where("invited_code =?", invitedCode).Find(user).Error; err != nil {
// zap.L().Error("get user info err", zap.Error(err))
// err = errors.New(m.ERROR_SELECT)
// return nil, err
// }
// if user.ID == 0 {
// err = errors.New(m.INVITE_CODE_INVALID)
// return nil, err
// }
// return user, nil
// }
// func Createinvite(userId, invitedId int32) (invite *model.Invite, err error) {
// invite = &model.Invite{}
// invite.UserId = userId
// invite.InvitedId = invitedId
// if err := db.DB.Create(&invite).Error; err != nil {
// zap.L().Error("create invite info err", zap.Error(err))
// err = errors.New(m.CREATE_ERROR)
// return nil, err
// }
// return invite, nil
// }