12345678910111213141516171819202122232425262728293031323334353637 |
- package service
- import (
- "github.com/google/uuid"
- "github.com/pkg/errors"
- "gorm.io/gorm"
- "net/http"
- "sghgogs.com/micro/common/errorcode"
- pb "sghgogs.com/micro/shopping-service/proto"
- )
- func (svc *Service) CreateUserGroup(data *pb.CreateUserGroupRequest) error {
- uid := uuid.New()
- if len(data.Code) == 0 {
- data.Code = uid.String()
- }
- if err := svc.Repository.CreateUserGroup(data); err != nil {
- return errorcode.New(svc.Namespace, err.Error(), http.StatusBadRequest)
- }
- return nil
- }
- func (svc *Service) GetUserGroup(query *pb.GetUserGroupRequest) (pb.UserGroup, error) {
- group, err := svc.Repository.GetUserGroup(query)
- if err != nil {
- if errors.Is(err, gorm.ErrRecordNotFound) {
- return pb.UserGroup{}, errorcode.New(svc.Namespace, "Invalid group code", 500)
- } else {
- return pb.UserGroup{}, errorcode.New(svc.Namespace, err.Error(), 500)
- }
- }
- return pb.UserGroup{
- Id: group.ID,
- Name: group.Name,
- Code: group.Code,
- }, err
- }
|