Files
lone-services/services/analysis/internal/logic/analysisadmin/userArchiveLogic.go
T
2026-11-02 10:06:20 +08:00

49 lines
1.2 KiB
Go

package analysisadminlogic
import (
"context"
"lone-services/pkg/utils"
"lone-services/pkg/validate"
analysis "lone-services/rpc/analysis/pb"
"lone-services/services/analysis/internal/logic/common"
"lone-services/services/analysis/internal/svc"
"lone-services/services/analysis/validator"
"github.com/zeromicro/go-zero/core/logx"
)
type UserArchiveLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewUserArchiveLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UserArchiveLogic {
return &UserArchiveLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *UserArchiveLogic) UserArchive(in *analysis.AdminUserArchiveReq) (*analysis.Response, error) {
var req validator.AdminUserArchiveValidator
if msg := validate.ValidateFromProto(in, &req); msg != utils.StringEmpty {
return outParams(msg), nil
}
if _, fail := common.RequireAdmin(l.ctx); fail != nil {
return fail, nil
}
list, err := queryAdminImageLogs(req.UserId, req.Page, req.Size)
if err != nil {
l.Errorf("admin user archive: %v", err)
return common.FailResponse(utils.Fail), nil
}
if len(list) == utils.NumberZero {
return common.OkResponse(nil), nil
}
return common.OkResponse(list), nil
}