usergroup.go 963 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package service
  2. import (
  3. "github.com/google/uuid"
  4. "github.com/pkg/errors"
  5. "gorm.io/gorm"
  6. "net/http"
  7. "sghgogs.com/micro/common/errorcode"
  8. pb "sghgogs.com/micro/shopping-service/proto"
  9. )
  10. func (svc *Service) CreateUserGroup(data *pb.CreateUserGroupRequest) error {
  11. uid := uuid.New()
  12. if len(data.Code) == 0 {
  13. data.Code = uid.String()
  14. }
  15. if err := svc.Repository.CreateUserGroup(data); err != nil {
  16. return errorcode.New(svc.Namespace, err.Error(), http.StatusBadRequest)
  17. }
  18. return nil
  19. }
  20. func (svc *Service) GetUserGroup(query *pb.GetUserGroupRequest) (pb.UserGroup, error) {
  21. group, err := svc.Repository.GetUserGroup(query)
  22. if err != nil {
  23. if errors.Is(err, gorm.ErrRecordNotFound) {
  24. return pb.UserGroup{}, errorcode.New(svc.Namespace, "Invalid group code", 500)
  25. } else {
  26. return pb.UserGroup{}, errorcode.New(svc.Namespace, err.Error(), 500)
  27. }
  28. }
  29. return pb.UserGroup{
  30. Id: group.ID,
  31. Name: group.Name,
  32. Code: group.Code,
  33. }, err
  34. }