Files
sundynix-micro-be/app/plant/api/internal/logic/exchange/updateexchangeitemlogic.go
T
2026-05-23 13:55:05 +08:00

42 lines
1.2 KiB
Go

package exchange
import (
"context"
"github.com/zeromicro/go-zero/core/logx"
"sundynix-micro-go/app/plant/api/internal/svc"
"sundynix-micro-go/app/plant/api/internal/types"
plantPb "sundynix-micro-go/app/plant/rpc/plant"
)
type UpdateExchangeItemLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewUpdateExchangeItemLogic(ctx context.Context, svcCtx *svc.ServiceContext) *UpdateExchangeItemLogic {
return &UpdateExchangeItemLogic{Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx}
}
func (l *UpdateExchangeItemLogic) UpdateExchangeItem(req *types.UpdateExchangeItemReq) error {
desc := req.Desc
if desc == "" {
desc = req.Description
}
imgID := req.ImgId
if imgID == "" {
imgID = req.ImageId
}
cost := req.Cost
if cost == 0 {
cost = req.CostSunlight
}
_, err := l.svcCtx.PlantRpc.UpdateExchangeItem(l.ctx, &plantPb.UpdateExchangeItemReq{
Id: req.Id, Name: req.Name, Desc: desc, ImgId: imgID,
Cost: cost, Stock: int32(req.Stock), Status: int32(req.Status),
Type: req.Type, CostSunlight: req.CostSunlight, LimitPerUser: int32(req.LimitPerUser),
Sort: int32(req.Sort), StartTime: req.StartTime, EndTime: req.EndTime, ImageId: req.ImageId,
})
return err
}