service.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. package one2many
  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 UpdateLeft(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 QueryLeft[RI any](tableName string) binding.ServiceFunc[RI] {
  16. return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (RI, error) {
  17. var info RI
  18. return info, nil
  19. }
  20. }
  21. func UpdateRight(tableName string) binding.ServiceFunc[any] {
  22. return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (any, error) {
  23. return nil, nil
  24. }
  25. }
  26. func QueryRight[LI any](tableName string) binding.ServiceFunc[LI] {
  27. return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (LI, error) {
  28. var info LI
  29. return info, nil
  30. }
  31. }
  32. func QueryRightWithLeftInfo[RI any, LI any](tableName string) binding.ServiceFunc[map[string]any] {
  33. return func(c *api.Context, params request.Params, objects []domain.Object, i *infrastructure.Infrastructure) (map[string]any, error) {
  34. info := new(struct {
  35. Self RI `json:"self"`
  36. With LI `json:"with"`
  37. })
  38. infoJson, err := json.Marshal(info)
  39. if err != nil {
  40. return nil, err
  41. }
  42. retMap := make(map[string]any)
  43. err = json.Unmarshal(infoJson, &retMap)
  44. if err != nil {
  45. return nil, err
  46. }
  47. return retMap, nil
  48. }
  49. }