service.go 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package one2one
  2. import (
  3. "encoding/json"
  4. "git.sxidc.com/go-framework/baize/convenient/binding"
  5. "git.sxidc.com/go-framework/baize/convenient/binding/request"
  6. "git.sxidc.com/go-framework/baize/framwork/api"
  7. "git.sxidc.com/go-framework/baize/framwork/domain"
  8. "git.sxidc.com/go-framework/baize/framwork/infrastructure"
  9. )
  10. func Update(tableName string) binding.ServiceFunc[any] {
  11. return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (any, error) {
  12. return nil, nil
  13. }
  14. }
  15. func Query[TI any](tableName string) binding.ServiceFunc[TI] {
  16. return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (TI, error) {
  17. var info TI
  18. return info, nil
  19. }
  20. }
  21. func QueryWithOtherInfo[FI any, TI any](tableName string) binding.ServiceFunc[map[string]any] {
  22. return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (map[string]any, error) {
  23. info := new(struct {
  24. Self FI `json:"self"`
  25. With TI `json:"with"`
  26. })
  27. infoJson, err := json.Marshal(info)
  28. if err != nil {
  29. return nil, err
  30. }
  31. retMap := make(map[string]any)
  32. err = json.Unmarshal(infoJson, &retMap)
  33. if err != nil {
  34. return nil, err
  35. }
  36. return retMap, nil
  37. }
  38. }