fix: 买套餐之后,旧套餐期间的数据分析和竞品报告不让看

This commit is contained in:
cjy 2026-01-26 15:58:58 +08:00
parent c6f4385991
commit 4ce735d4de
3 changed files with 77 additions and 2 deletions

View File

@ -55,7 +55,7 @@ func AnalysisRouter(r *gin.RouterGroup) {
analysisAppRoute := r.Group("app/analysis")
analysisAppRoute.Use(middleware.CheckLogin(service.AccountFieeProvider))
{
analysisAppRoute.POST("list", serviceCast.ListWorkAnalysis) // 作品列表
analysisAppRoute.POST("list", serviceCast.ListWorkAnalysisForApp) // 作品列表
analysisAppRoute.POST("detail", serviceCast.GetWorkAnalysis) // 作品分析详情
analysisAppRoute.POST("update-status", serviceCast.UpdateWorkAnalysisStatus) // 用户确认
analysisAppRoute.POST("check-balance", serviceCast.CheckBundleBalance) // 检查套餐余量
@ -67,7 +67,7 @@ func AnalysisRouter(r *gin.RouterGroup) {
competitiveReportAppRoute.Use(middleware.CheckLogin(service.AccountFieeProvider))
{
competitiveReportAppRoute.POST("detail", serviceCast.GetCompetitiveReportForApp) // 获取竞品报告详情App端
competitiveReportAppRoute.POST("list", serviceCast.ListCompetitiveReportByArtistUuid) // 根据艺人UUID获取竞品报告列表App端
competitiveReportAppRoute.POST("list", serviceCast.ListReportByArtistUuidForApp) // 根据艺人UUID获取竞品报告列表App端
competitiveReportAppRoute.POST("update-status", serviceCast.UpdateCompetitiveReportStatus) // 更新竞品报告状态App端
}
}

View File

@ -144,6 +144,41 @@ func ListWorkAnalysis(ctx *gin.Context) {
return
}
// ListWorkAnalysis 获取作品分析列表
func ListWorkAnalysisForApp(ctx *gin.Context) {
var req *cast.ListWorkAnalysisReq
var err error
if err = ctx.ShouldBind(&req); err != nil {
service.Error(ctx, err)
return
}
newCtx := NewCtxWithUserInfo(ctx)
loginInfo := login.GetUserInfoFromC(ctx)
// 查询用户套餐有没有过期
balanceInfoRes, err := service.BundleProvider.GetBundleBalanceByUserId(context.Background(), &bundle.GetBundleBalanceByUserIdReq{
UserId: int32(loginInfo.ID),
})
if err != nil {
zap.L().Error("ListWorkAnalysisForApp GetBundleBalanceByUserId", zap.Any("err", err))
service.Error(ctx, errors.New(common.GetUserBalanceFailed))
return
}
// 套餐未过期的话,传入 subNum ,只获取该套餐的有效期内数据
if balanceInfoRes.BundleStatus == common.BundleNotExpired {
zap.L().Info("ListWorkAnalysisForApp BundleNotExpired", zap.Any("loginInfo", loginInfo))
req.SubNum = loginInfo.SubNum
}
resp, err := service.CastProvider.ListWorkAnalysis(newCtx, req)
if err != nil {
zap.L().Error("ListWorkAnalysisForApp ListWorkAnalysis", zap.Any("err", err))
service.Error(ctx, err)
return
}
// RefreshWorkAnalysisApproval(ctx, resp.Data)
service.Success(ctx, resp)
return
}
// RefreshWorkAnalysisApproval 刷新作品分析审批状态
func RefreshWorkAnalysisApproval(ctx *gin.Context, data []*cast.WorkAnalysisInfo) {
if len(data) > 0 {

View File

@ -659,6 +659,46 @@ func ListCompetitiveReportByArtistUuid(ctx *gin.Context) {
return
}
// ListReportByArtistUuidForApp 根据艺人UUID获取竞品报告列表必须传ArtistUuid
func ListReportByArtistUuidForApp(ctx *gin.Context) {
var req *cast.ListCompetitiveReportReq
var err error
if err = ctx.ShouldBind(&req); err != nil {
service.Error(ctx, err)
return
}
// 验证ArtistUuid必须存在
if req.ArtistUuid == "" {
service.Error(ctx, errors.New("ArtistUuid不能为空"))
return
}
newCtx := NewCtxWithUserInfo(ctx)
loginInfo := login.GetUserInfoFromC(ctx)
// 查询用户套餐有没有过期
balanceInfoRes, err := service.BundleProvider.GetBundleBalanceByUserId(context.Background(), &bundle.GetBundleBalanceByUserIdReq{
UserId: int32(loginInfo.ID),
})
if err != nil {
service.Error(ctx, errors.New(common.GetUserBalanceFailed))
return
}
// 套餐未过期的话,传入 subNum ,只获取该套餐的有效期内数据
if balanceInfoRes.BundleStatus == common.BundleNotExpired {
zap.L().Info("ListReportByArtistUuidForApp BundleNotExpired", zap.Any("loginInfo", loginInfo))
req.SubNum = loginInfo.SubNum
}
resp, err := service.CastProvider.ListCompetitiveReport(newCtx, req)
if err != nil {
service.Error(ctx, err)
return
}
// RefreshCompetitiveReportApproval(ctx, resp.Data)
service.Success(ctx, resp)
return
}
// DeleteCompetitiveReport 删除竞品报告
func DeleteCompetitiveReport(ctx *gin.Context) {
var req *cast.DeleteCompetitiveReportReq