From bda48a8822b337e20bcd4267506cc4d2bd392b40 Mon Sep 17 00:00:00 2001 From: cjy Date: Thu, 12 Feb 2026 11:19:22 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AE=A9=E5=88=9B=E5=BB=BA=E7=AB=9E?= =?UTF-8?q?=E5=93=81=E6=8A=A5=E5=91=8A=E5=92=8C=E6=95=B0=E6=8D=AE=E5=88=86?= =?UTF-8?q?=E6=9E=90=E9=80=82=E9=85=8D=E5=B7=A5=E4=BD=9C=E5=8F=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/service/cast/analysis.go | 31 +++++++++++++++++++++++++------ pkg/service/cast/report.go | 35 +++++++++++++++++++++++------------ pkg/service/cast/work.go | 17 +++++++++++++++++ 3 files changed, 65 insertions(+), 18 deletions(-) diff --git a/pkg/service/cast/analysis.go b/pkg/service/cast/analysis.go index 472b0360..f9eb76e0 100644 --- a/pkg/service/cast/analysis.go +++ b/pkg/service/cast/analysis.go @@ -47,18 +47,37 @@ func CreateWorkAnalysis(ctx *gin.Context) { func CreateWorkAnalysisCore(ctx *gin.Context, req *cast.CreateWorkAnalysisReq) (*cast.CreateWorkAnalysisResp, error) { newCtx := NewCtxWithUserInfo(ctx) - artistID, _ := strconv.ParseUint(req.ArtistID, 10, 64) - if _, err := CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeDataValue); err != nil { - if err != nil && err.Error() == e.ErrorBalanceInsufficient { + if req.SubNum == "" { + return nil, errors.New("艺人编号不能为空") + } + // 根据 subNum 查询艺人 artistUuid + subInfoResp, err := service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{ + SubNum: req.SubNum, + Domain: "app", + }) + if err != nil { + zap.L().Error("AccountFieeProvider.SubNumGetInfo", zap.Error(err), zap.String("subNum", req.SubNum)) + return nil, errors.New("自媒体用户查询失败") + } + if subInfoResp == nil || subInfoResp.Id == 0 { + return nil, errors.New("自媒体用户不存在") + } + + req.ArtistID = fmt.Sprint(subInfoResp.Id) + req.ArtistName = subInfoResp.Name + req.ArtistPhone = subInfoResp.TelNum + + artistID := uint64(subInfoResp.Id) + if _, err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeDataValue); err != nil { + if err.Error() == e.ErrorBalanceInsufficient { return nil, errors.New("该艺人数据可用次数为0") } return nil, err } resp1, err := service.BundleProvider.GetBundleBalanceByUserId(context.Background(), &bundle.GetBundleBalanceByUserIdReq{UserId: int32(artistID)}) if err != nil { - err = errors.New("获取套餐订单失败") - zap.L().Error("CheckUserBundleBalance", zap.Any("err", err)) - return nil, err + zap.L().Error("GetBundleBalanceByUserId", zap.Error(err), zap.Uint64("artistID", artistID)) + return nil, errors.New("获取套餐订单失败") } if resp1.OrderUUID == "" { return nil, errors.New("订单不存在") diff --git a/pkg/service/cast/report.go b/pkg/service/cast/report.go index 8388a8ab..9a36f786 100644 --- a/pkg/service/cast/report.go +++ b/pkg/service/cast/report.go @@ -61,32 +61,43 @@ func CreateCompetitiveReportCore(ctx *gin.Context, req *cast.CreateCompetitiveRe }() newCtx := NewCtxWithUserInfo(ctx) - artistID, _ := strconv.ParseUint(req.ArtistID, 10, 64) + if req.SubNum == "" { + return nil, errors.New("艺人编号不能为空") + } - var infoResp *accountFiee.UserInfoResponse - var err error + var ( + subInfoResp *accountFiee.UserInfoResponse + err error + ) if config.AppConfig.System.AppMode != "dev" { - infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ - ID: artistID, + subInfoResp, err = service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{ + SubNum: req.SubNum, Domain: "app", }) - zap.L().Info("CreateCompetitiveReport", zap.Any("infoResp", infoResp)) if err != nil { - return nil, err + zap.L().Error("AccountFieeProvider.SubNumGetInfo", zap.Error(err), zap.String("subNum", req.SubNum)) + return nil, errors.New("自媒体用户查询失败") } } else { - infoResp = &accountFiee.UserInfoResponse{ + subInfoResp = &accountFiee.UserInfoResponse{ + Id: 1234, Name: "小波", TelNum: "18288888888", - SubNum: "FE00000", + SubNum: req.SubNum, } } - req.ArtistName = infoResp.Name - req.ArtistPhone = infoResp.TelNum - req.SubNum = infoResp.SubNum + if subInfoResp == nil || subInfoResp.Id == 0 { + return nil, errors.New("自媒体用户不存在") + } + + req.ArtistID = fmt.Sprint(subInfoResp.Id) + req.ArtistName = subInfoResp.Name + req.ArtistPhone = subInfoResp.TelNum + req.SubNum = subInfoResp.SubNum req.Source = 1 + artistID := uint64(subInfoResp.Id) if _, err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeCompetitiveValue); err != nil { if err != nil && err.Error() == e.ErrorBalanceInsufficient { return nil, errors.New("该艺人竞品报告可用次数为0") diff --git a/pkg/service/cast/work.go b/pkg/service/cast/work.go index 1be03133..703ca24b 100644 --- a/pkg/service/cast/work.go +++ b/pkg/service/cast/work.go @@ -2128,6 +2128,23 @@ func WorkListPublished(ctx *gin.Context) { service.Error(ctx, err) return } + + if req.ArtistUuid != "" && strings.HasPrefix(strings.ToUpper(req.ArtistUuid), "FE") { + subInfoResp, err := service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{ + SubNum: req.ArtistUuid, + Domain: "app", + }) + if err != nil { + service.Error(ctx, errors.New("自媒体用户查询失败")) + return + } + if subInfoResp == nil || subInfoResp.Id == 0 { + service.Error(ctx, errors.New("自媒体用户不存在")) + return + } + req.ArtistUuid = fmt.Sprint(subInfoResp.Id) + } + newCtx := NewCtxWithUserInfo(ctx) resp, err = service.CastProvider.WorkListPublished(newCtx, req) if err != nil {