// Code scaffolded by goctl. Safe to edit. // goctl 1.10.1 package wiki import ( "context" "sundynix-micro-go/app/plant/api/internal/svc" "sundynix-micro-go/app/plant/api/internal/types" plantPb "sundynix-micro-go/app/plant/rpc/plant" "github.com/zeromicro/go-zero/core/logx" ) type CreateWikiLogic struct { logx.Logger ctx context.Context svcCtx *svc.ServiceContext } // 创建百科 func NewCreateWikiLogic(ctx context.Context, svcCtx *svc.ServiceContext) *CreateWikiLogic { return &CreateWikiLogic{ Logger: logx.WithContext(ctx), ctx: ctx, svcCtx: svcCtx, } } func (l *CreateWikiLogic) CreateWiki(req *types.CreateWikiReq) error { classID := req.ClassId if classID == "" && len(req.ClassIds) > 0 { classID = req.ClassIds[0] } _, err := l.svcCtx.PlantRpc.CreateWiki(l.ctx, &plantPb.CreateWikiReq{ Name: req.Name, LatinName: req.LatinName, Aliases: req.Aliases, Genus: req.Genus, Difficulty: int32(req.Difficulty), IsHot: int32(req.IsHot), GrowthHabit: req.GrowthHabit, LightIntensity: req.LightIntensity, OptimalTempPeriod: req.OptimalTempPeriod, ClassId: classID, DistributionArea: req.DistributionArea, LifeCycle: req.LifeCycle, ClassIds: req.ClassIds, OssIds: req.OssIds, RelatedWikiIds: req.RelatedWikiIds, ReproductionMethod: req.ReproductionMethod, PestsDiseases: req.PestsDiseases, LightType: req.LightType, Stem: req.Stem, Fruit: req.Fruit, FoliageType: req.FoliageType, FoliageColor: req.FoliageColor, FoliageShape: req.FoliageShape, Height: int32(req.Height), FloweringPeriod: req.FloweringPeriod, FloweringColor: req.FloweringColor, FloweringShape: req.FloweringShape, FloweringDiameter: int32(req.FlowerDiameter), }) return err }