152 lines
5.1 KiB
Go
152 lines
5.1 KiB
Go
package logic
|
||
|
||
import (
|
||
"encoding/base64"
|
||
"fmt"
|
||
"strings"
|
||
|
||
"github.com/fonchain-artistserver/cmd/internal/dao"
|
||
"github.com/fonchain-artistserver/cmd/model"
|
||
artistInfo "github.com/fonchain-artistserver/pb/artistinfo"
|
||
"github.com/fonchain-artistserver/pkg/m"
|
||
"github.com/fonchain-artistserver/pkg/util"
|
||
fdd "github.com/fonchain/electronic-contract/server"
|
||
"go.uber.org/zap"
|
||
)
|
||
|
||
type IArtistInfo interface {
|
||
GetUserInfo(req *artistInfo.GetUserInfoRequest) (rep *artistInfo.GetUserInfoRespond, err error)
|
||
CreateUserInfo(req *artistInfo.UserInfoCommonRequest) (rep *artistInfo.CreateUserInfoRespond, err error)
|
||
UpdateUserInfo(req *artistInfo.UserInfoCommonRequest) (rep *artistInfo.UpdateUserInfoRespond, err error)
|
||
UserUpdateTel(req *artistInfo.UserUpdateTelRequest) (rep *artistInfo.UserUpdateTelRespond, err error)
|
||
UserUpdateMsg(req *artistInfo.UserInfoCommonRequest) (rep *artistInfo.UserUpdateMsgRespond, err error)
|
||
Verifyfdd(req *artistInfo.VerifyfddRequest) (rep *artistInfo.VerifyfddRespond, err error)
|
||
FinishVerify(req *artistInfo.FinishVerifyRequest) (rep *artistInfo.FinishVerifyRespond, err error)
|
||
}
|
||
|
||
func NewArtistInfo() IArtistInfo {
|
||
return &ArtistInfo{}
|
||
}
|
||
|
||
type ArtistInfo struct{}
|
||
|
||
func (a *ArtistInfo) GetUserInfo(req *artistInfo.GetUserInfoRequest) (rep *artistInfo.GetUserInfoRespond, err error) {
|
||
rep, err = dao.User(req)
|
||
return
|
||
}
|
||
|
||
func (a *ArtistInfo) CreateUserInfo(req *artistInfo.UserInfoCommonRequest) (rep *artistInfo.CreateUserInfoRespond, err error) {
|
||
// rep = &artistInfo.CreateUserInfoRespond{}
|
||
util.CreateArtistInfo(req.Id)
|
||
|
||
rep, err = dao.Create(req)
|
||
if err != nil {
|
||
return
|
||
}
|
||
|
||
fddClient, err := fdd.NewFddClient()
|
||
if err != nil {
|
||
zap.L().Error("newFddClient err", zap.Error(err))
|
||
return
|
||
}
|
||
|
||
userInfos, err := dao.GetUserInfoSelf(req.Id)
|
||
if err != nil {
|
||
zap.L().Error("getUserInfoSelf err", zap.Error(err))
|
||
return rep, nil
|
||
}
|
||
|
||
err = util.CreateQrCode(userInfos.InvitedCode, userInfos.RealName)
|
||
if err != nil {
|
||
zap.L().Error("createQrCode err", zap.Error(err))
|
||
return
|
||
}
|
||
|
||
_, b, err := fddClient.PersonVerify(userInfos.CustomerId, "1", req.UserUpdateInfoService.RealName, req.UserUpdateInfoService.IdCard, req.UserUpdateInfoService.TelNum, fmt.Sprintf("%v/contractreturn?id=%d&htmltype=%s&envtype=%s", m.ReturnUrl, req.Id, req.UserUpdateInfoService.HtmlType, req.UserUpdateInfoService.EnvType))
|
||
|
||
if err != nil {
|
||
zap.L().Error("fddClient personVerify err", zap.Error(err))
|
||
return
|
||
}
|
||
url, err := base64.StdEncoding.DecodeString(b)
|
||
|
||
if err != nil {
|
||
return
|
||
}
|
||
|
||
rep.Url = string(url)
|
||
|
||
return
|
||
}
|
||
|
||
func (a *ArtistInfo) UpdateUserInfo(req *artistInfo.UserInfoCommonRequest) (rep *artistInfo.UpdateUserInfoRespond, err error) {
|
||
util.CreateArtistInfo(req.Id)
|
||
req.UserUpdateInfoService.Photo = strings.Split(req.UserUpdateInfoService.Photo, "?v=")[0]
|
||
//转移画家视频
|
||
req.UserUpdateInfoService.CertificateImg = strings.Split(req.UserUpdateInfoService.CertificateImg, "?v=")[0]
|
||
//转移画家视频
|
||
req.UserUpdateInfoService.Video = strings.Split(req.UserUpdateInfoService.Video, "?v=")[0]
|
||
//转移身份证正面
|
||
req.UserUpdateInfoService.IdCardFront = strings.Split(req.UserUpdateInfoService.IdCardFront, "?v=")[0]
|
||
req.UserUpdateInfoService.IdCardBack = strings.Split(req.UserUpdateInfoService.IdCardBack, "?v=")[0]
|
||
rep, err = dao.Update(req)
|
||
return
|
||
}
|
||
|
||
func (a *ArtistInfo) UserUpdateTel(req *artistInfo.UserUpdateTelRequest) (rep *artistInfo.UserUpdateTelRespond, err error) {
|
||
rep, err = dao.UpdateTel(req)
|
||
return
|
||
}
|
||
|
||
func (a *ArtistInfo) UserUpdateMsg(req *artistInfo.UserInfoCommonRequest) (rep *artistInfo.UserUpdateMsgRespond, err error) {
|
||
rep, err = dao.UpdateMsg(req)
|
||
return
|
||
}
|
||
|
||
func (a *ArtistInfo) Verifyfdd(req *artistInfo.VerifyfddRequest) (rep *artistInfo.VerifyfddRespond, err error) {
|
||
rep, err = dao.VerifyFdd(req)
|
||
if err != nil {
|
||
if !rep.Ready {
|
||
fddClient, err := fdd.NewFddClient()
|
||
if err != nil {
|
||
zap.L().Error("newFddClient err", zap.Error(err))
|
||
return rep, err
|
||
}
|
||
|
||
userInfo, err := dao.GetUserInfoSelf(req.Id)
|
||
if err != nil {
|
||
zap.L().Error("getUserInfoSelf err", zap.Error(err))
|
||
return rep, nil
|
||
}
|
||
|
||
err = util.CreateQrCode(userInfo.InvitedCode, userInfo.RealName)
|
||
if err != nil {
|
||
zap.L().Error("createQrCode err", zap.Error(err))
|
||
return rep, err
|
||
}
|
||
|
||
//注意!!!userUpdateInfoService没有值!!!!
|
||
var userUpdateInfoService model.UserUpdateInfoService
|
||
_, b, err := fddClient.PersonVerify(userInfo.CustomerId, "1", userUpdateInfoService.RealName, userUpdateInfoService.IdCard, userUpdateInfoService.TelNum, fmt.Sprintf("%v/contractreturn?id=%d&htmltype=%s&envtype=%s", m.ReturnUrl, req.Id, userUpdateInfoService.HtmlType, userUpdateInfoService.EnvType))
|
||
if err != nil {
|
||
zap.L().Error("fddClient personVerify err", zap.Error(err))
|
||
return nil, err
|
||
}
|
||
|
||
url, err := base64.StdEncoding.DecodeString(b)
|
||
if err != nil {
|
||
zap.L().Error("base64 decodeString err", zap.Error(err))
|
||
}
|
||
rep.Url = string(url)
|
||
} else {
|
||
rep.Url = ""
|
||
}
|
||
}
|
||
return
|
||
}
|
||
|
||
func (a *ArtistInfo) FinishVerify(req *artistInfo.FinishVerifyRequest) (rep *artistInfo.FinishVerifyRespond, err error) {
|
||
rep, err = dao.FinishVerify(req)
|
||
return
|
||
}
|