class.go 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package service
  2. import (
  3. "baize-demo/project/server_ds/application/domain/class"
  4. "git.sxidc.com/go-framework/baize/convenient/domain/operate_log"
  5. "git.sxidc.com/go-framework/baize/convenient/entity_crud"
  6. "git.sxidc.com/go-framework/baize/framework/binding"
  7. "git.sxidc.com/go-framework/baize/framework/core/api"
  8. "git.sxidc.com/go-framework/baize/framework/core/application"
  9. "git.sxidc.com/go-framework/baize/framework/core/domain"
  10. "git.sxidc.com/go-framework/baize/framework/core/domain/entity"
  11. "git.sxidc.com/go-framework/baize/framework/core/infrastructure"
  12. "git.sxidc.com/go-framework/baize/framework/core/infrastructure/database"
  13. "git.sxidc.com/service-supports/fslog"
  14. )
  15. var classService = &ClassService{}
  16. type ClassService struct{}
  17. func (svc *ClassService) Init(appInstance *application.App) error {
  18. svc.v1(appInstance)
  19. return nil
  20. }
  21. func (svc *ClassService) Destroy() error {
  22. return nil
  23. }
  24. func (svc *ClassService) v1(appInstance *application.App) {
  25. v1Binder := binding.NewBinder(appInstance.ChooseRouter(api.RouterPrefix, "v1"), appInstance.Infrastructure())
  26. entity_crud.BindSimple[class.Info](v1Binder, &entity_crud.Simple[class.Info]{
  27. Entity: &class.Entity{},
  28. Schema: dbSchema,
  29. CreateJsonBody: &class.CreateClassJsonBody{},
  30. DeleteQueryParams: &class.DeleteClassQueryParams{},
  31. UpdateJsonBody: &class.UpdateClassJsonBody{},
  32. QueryQueryParams: &class.GetClassesQueryParams{},
  33. GetByIDQueryParams: &class.GetClassByIDQueryParams{},
  34. }, entity_crud.WithCreateCallbacks(&entity_crud.CreateCallbacks{
  35. After: func(c *api.Context, e entity.Entity, prepared map[string]any, i *infrastructure.Infrastructure, tx database.Executor) error {
  36. go func() {
  37. classEntity, err := domain.ToConcrete[*class.Entity](e)
  38. if err != nil {
  39. fslog.Error(err)
  40. return
  41. }
  42. err = operate_log.WriteLog(i.DBExecutor(), dbSchema, "create", classEntity)
  43. if err != nil {
  44. fslog.Error(err)
  45. return
  46. }
  47. }()
  48. return nil
  49. },
  50. }))
  51. }