package biz import ( "ai_scheduler/internal/data/impl" "ai_scheduler/internal/data/model" "ai_scheduler/internal/entitys" "time" "context" "xorm.io/builder" ) type AdviceAdvicerBiz struct { advicerImpl *impl.AdviceAdvicerImpl adviceAdvicerVersionImpl *impl.AdviceAdvicerVersionImpl } func NewAdviceAdvicerBiz( advicerImpl *impl.AdviceAdvicerImpl, adviceAdvicerVersionImpl *impl.AdviceAdvicerVersionImpl, ) *AdviceAdvicerBiz { return &AdviceAdvicerBiz{ advicerImpl: advicerImpl, adviceAdvicerVersionImpl: adviceAdvicerVersionImpl, } } func (a *AdviceAdvicerBiz) Update(ctx context.Context, data *entitys.AdvicerInitReq) error { birth, err := time.Parse("2006-01-02", data.Birth) if err != nil { return err } param := &model.AiAdviceAdvicer{ AdvicerID: data.AdvicerID, Name: data.Name, Birth: birth, Gender: data.Gender, WorkingYears: data.WorkingYears, } if param.AdvicerID == 0 { _, err = a.advicerImpl.Add(param) } else { cond := builder.NewCond() cond = cond.And(builder.Eq{"advicer_id": param.AdvicerID}) err = a.advicerImpl.UpdateByCond(&cond, param) } return err } func (a *AdviceAdvicerBiz) List(ctx context.Context, data *entitys.AdvicerListReq) ([]map[string]interface{}, error) { cond := builder.NewCond() cond = cond.And(builder.Eq{"project_id": data.ProjectId}) list, err := a.advicerImpl.GetRange(&cond) return list, err } func (a *AdviceAdvicerBiz) VersionUpdate(ctx context.Context, param *entitys.AdvicerVersionInitReq) (err error) { if param.VersionID == 0 { _, err = a.adviceAdvicerVersionImpl.Add(param) } else { cond := builder.NewCond() cond = cond.And(builder.Eq{"version_id": param.VersionID}) err = a.adviceAdvicerVersionImpl.UpdateByCond(&cond, param) } return err } func (a *AdviceAdvicerBiz) VersionList(ctx context.Context, data *entitys.AdvicerVersionListReq) ([]map[string]interface{}, error) { cond := builder.NewCond() cond = cond.And(builder.Eq{"advicer_id": data.AdvicerID}) list, err := a.adviceAdvicerVersionImpl.GetRange(&cond) return list, err }