package perm import ( "context" "perms-system-server/internal/svc" "perms-system-server/internal/types" "perms-system-server/internal/util" "github.com/zeromicro/go-zero/core/logx" ) type PermListLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } func NewPermListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *PermListLogic { return &PermListLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *PermListLogic) PermList(req *types.PermListReq) (resp *types.PageResp, err error) { page, pageSize := util.NormalizePage(req.Page, req.PageSize) list, total, err := l.svcCtx.SysPermModel.FindListByProductCode(l.ctx, req.ProductCode, page, pageSize) if err != nil { return nil, err } items := make([]types.PermItem, 0, len(list)) for _, p := range list { items = append(items, types.PermItem{ Id: p.Id, ProductCode: p.ProductCode, Name: p.Name, Code: p.Code, Remark: p.Remark, Status: p.Status, CreateTime: p.CreateTime, }) } return &types.PageResp{ Total: total, List: items, }, nil }