fix: 让创建竞品报告和数据分析适配工作台

This commit is contained in:
cjy 2026-02-12 11:19:22 +08:00
parent 6d269744f5
commit bda48a8822
3 changed files with 65 additions and 18 deletions

View File

@ -47,18 +47,37 @@ func CreateWorkAnalysis(ctx *gin.Context) {
func CreateWorkAnalysisCore(ctx *gin.Context, req *cast.CreateWorkAnalysisReq) (*cast.CreateWorkAnalysisResp, error) { func CreateWorkAnalysisCore(ctx *gin.Context, req *cast.CreateWorkAnalysisReq) (*cast.CreateWorkAnalysisResp, error) {
newCtx := NewCtxWithUserInfo(ctx) newCtx := NewCtxWithUserInfo(ctx)
artistID, _ := strconv.ParseUint(req.ArtistID, 10, 64) if req.SubNum == "" {
if _, err := CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeDataValue); err != nil { return nil, errors.New("艺人编号不能为空")
if err != nil && err.Error() == e.ErrorBalanceInsufficient { }
// 根据 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, errors.New("该艺人数据可用次数为0")
} }
return nil, err return nil, err
} }
resp1, err := service.BundleProvider.GetBundleBalanceByUserId(context.Background(), &bundle.GetBundleBalanceByUserIdReq{UserId: int32(artistID)}) resp1, err := service.BundleProvider.GetBundleBalanceByUserId(context.Background(), &bundle.GetBundleBalanceByUserIdReq{UserId: int32(artistID)})
if err != nil { if err != nil {
err = errors.New("获取套餐订单失败") zap.L().Error("GetBundleBalanceByUserId", zap.Error(err), zap.Uint64("artistID", artistID))
zap.L().Error("CheckUserBundleBalance", zap.Any("err", err)) return nil, errors.New("获取套餐订单失败")
return nil, err
} }
if resp1.OrderUUID == "" { if resp1.OrderUUID == "" {
return nil, errors.New("订单不存在") return nil, errors.New("订单不存在")

View File

@ -61,32 +61,43 @@ func CreateCompetitiveReportCore(ctx *gin.Context, req *cast.CreateCompetitiveRe
}() }()
newCtx := NewCtxWithUserInfo(ctx) newCtx := NewCtxWithUserInfo(ctx)
artistID, _ := strconv.ParseUint(req.ArtistID, 10, 64) if req.SubNum == "" {
return nil, errors.New("艺人编号不能为空")
}
var infoResp *accountFiee.UserInfoResponse var (
var err error subInfoResp *accountFiee.UserInfoResponse
err error
)
if config.AppConfig.System.AppMode != "dev" { if config.AppConfig.System.AppMode != "dev" {
infoResp, err = service.AccountFieeProvider.Info(context.Background(), &accountFiee.InfoRequest{ subInfoResp, err = service.AccountFieeProvider.SubNumGetInfo(context.Background(), &accountFiee.SubNumGetInfoRequest{
ID: artistID, SubNum: req.SubNum,
Domain: "app", Domain: "app",
}) })
zap.L().Info("CreateCompetitiveReport", zap.Any("infoResp", infoResp))
if err != nil { if err != nil {
return nil, err zap.L().Error("AccountFieeProvider.SubNumGetInfo", zap.Error(err), zap.String("subNum", req.SubNum))
return nil, errors.New("自媒体用户查询失败")
} }
} else { } else {
infoResp = &accountFiee.UserInfoResponse{ subInfoResp = &accountFiee.UserInfoResponse{
Id: 1234,
Name: "小波", Name: "小波",
TelNum: "18288888888", TelNum: "18288888888",
SubNum: "FE00000", SubNum: req.SubNum,
} }
} }
req.ArtistName = infoResp.Name if subInfoResp == nil || subInfoResp.Id == 0 {
req.ArtistPhone = infoResp.TelNum return nil, errors.New("自媒体用户不存在")
req.SubNum = infoResp.SubNum }
req.ArtistID = fmt.Sprint(subInfoResp.Id)
req.ArtistName = subInfoResp.Name
req.ArtistPhone = subInfoResp.TelNum
req.SubNum = subInfoResp.SubNum
req.Source = 1 req.Source = 1
artistID := uint64(subInfoResp.Id)
if _, err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeCompetitiveValue); err != nil { if _, err = CheckUserBundleBalance(int32(artistID), modelCast.BalanceTypeCompetitiveValue); err != nil {
if err != nil && err.Error() == e.ErrorBalanceInsufficient { if err != nil && err.Error() == e.ErrorBalanceInsufficient {
return nil, errors.New("该艺人竞品报告可用次数为0") return nil, errors.New("该艺人竞品报告可用次数为0")

View File

@ -2128,6 +2128,23 @@ func WorkListPublished(ctx *gin.Context) {
service.Error(ctx, err) service.Error(ctx, err)
return 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) newCtx := NewCtxWithUserInfo(ctx)
resp, err = service.CastProvider.WorkListPublished(newCtx, req) resp, err = service.CastProvider.WorkListPublished(newCtx, req)
if err != nil { if err != nil {