package service import ( "ecos/application/domain/shop_decoration" "git.sxidc.com/go-framework/baize/convenient/entity_crud" "git.sxidc.com/go-framework/baize/framework/binding" "git.sxidc.com/go-framework/baize/framework/core/api" "git.sxidc.com/go-framework/baize/framework/core/application" "git.sxidc.com/go-framework/baize/framework/core/domain" "git.sxidc.com/go-framework/baize/framework/core/domain/entity" "git.sxidc.com/go-framework/baize/framework/core/infrastructure/database" "git.sxidc.com/go-framework/baize/framework/core/infrastructure/database/sql" "github.com/pkg/errors" ) var shopDecorationService = &ShopDecorationService{} type ShopDecorationService struct{} func (svc *ShopDecorationService) Init(appInstance *application.App) error { svc.v1(appInstance) return nil } func (svc *ShopDecorationService) Destroy() error { return nil } func (svc *ShopDecorationService) v1(appInstance *application.App) { v1Binder := binding.NewBinder(appInstance.ChooseRouter(api.RouterPrefix, "v1"), appInstance.Infrastructure()) entity_crud.BindSimple[shop_decoration.Info](v1Binder, &entity_crud.Simple[shop_decoration.Info]{ Entity: &shop_decoration.Entity{}, Schema: dbSchema, CreateJsonBody: &shop_decoration.CreateShopDecorationJsonBody{}, DeleteQueryParams: &shop_decoration.DeleteShopDecorationQueryParams{}, UpdateJsonBody: &shop_decoration.UpdateShopDecorationJsonBody{}, QueryQueryParams: &shop_decoration.GetShopDecorationsQueryParams{}, GetByIDQueryParams: &shop_decoration.GetShopDecorationQueryParams{}, }, entity_crud.WithQueryStringFieldQueryCondition[shop_decoration.Info](entity_crud.StringFieldQueryConditionTrimSpaceLike)) } func (svc *ShopDecorationService) queryByKeyFields(e *shop_decoration.Entity, dbExecutor database.Executor) (*shop_decoration.Entity, error) { result, err := database.QueryOne(dbExecutor, &sql.QueryOneExecuteParams{ TableName: domain.TableName(dbSchema, e), Conditions: sql.NewConditions().Equal(entity.ColumnID, e.ID), }) if err != nil { if database.IsErrorDBRecordNotExist(err) { return nil, errors.New(e.DomainCNName() + "不存在") } return nil, err } existEntity := new(shop_decoration.Entity) err = sql.ParseSqlResult(result, existEntity) if err != nil { return nil, err } return existEntity, nil } func (svc *ShopDecorationService) checkExistByKeyFields(e *shop_decoration.Entity, dbExecutor database.Executor) error { exist, err := database.CheckExist(dbExecutor, &sql.CheckExistExecuteParams{ TableName: domain.TableName(dbSchema, e), Conditions: sql.NewConditions().Equal(entity.ColumnID, e.ID), }) if err != nil { return err } if !exist { return errors.New(e.DomainCNName() + "不存在") } return nil }