Files
lone-services/product/internal/logic/nameslogic.go
T
2026-08-07 15:41:18 +08:00

52 lines
1.1 KiB
Go

package logic
import (
"context"
"strconv"
"product/internal/dao"
"product/internal/model"
"product/internal/svc"
"product/product"
"pkg.local/log"
"pkg.local/modelbase"
"pkg.local/utils"
"github.com/zeromicro/go-zero/core/logx"
)
type NamesLogic struct {
ctx context.Context
svcCtx *svc.ServiceContext
logx.Logger
}
func NewNamesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *NamesLogic {
return &NamesLogic{
ctx: ctx,
svcCtx: svcCtx,
Logger: logx.WithContext(ctx),
}
}
func (l *NamesLogic) Names(_ *product.NamesReq) (*product.Response, error) {
var info []dao.ProductNames
err := model.ProductModel{}.Init().Items(modelbase.Params{
Eq: map[string]string{"status": strconv.Itoa(int(dao.ProductStatusNormal))},
}, &info)
if err != nil {
log.Errorf("product names: %v", err)
return failResponse(utils.Fail), nil
}
items := make([]*product.NameItem, 0, len(info))
for _, row := range info {
items = append(items, &product.NameItem{
Id: int64(row.Id),
Name: row.Name,
})
}
return okResponse(utils.StructToJson(items)), nil
}