usergroup.go 956 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. package repository
  2. import (
  3. req "sghgogs.com/micro/shopping-service/domain/model/request"
  4. pb "sghgogs.com/micro/shopping-service/proto"
  5. "time"
  6. )
  7. func (u *Repository) CreateUserGroup(group *pb.CreateUserGroupRequest) error {
  8. // 开始事务
  9. tx := u.db.Begin()
  10. // 错误处理
  11. defer func() {
  12. if r := recover(); r != nil {
  13. tx.Rollback()
  14. }
  15. }()
  16. if err := tx.Model(&req.UserGroup{}).Create(map[string]interface{}{
  17. "name": group.Name,
  18. "description": group.Description,
  19. "code": group.Code,
  20. "created_at": time.Now(),
  21. "created_by": group.CreatedBy,
  22. }).Error; err != nil {
  23. tx.Rollback()
  24. return err
  25. }
  26. return tx.Commit().Error
  27. }
  28. func (u *Repository) GetUserGroup(query *pb.GetUserGroupRequest) (req.UserGroup, error) {
  29. var userGroup req.UserGroup
  30. return userGroup, u.db.
  31. Model(&req.UserGroup{}).
  32. Select("id, name, code").
  33. Where("id = ? OR code = ?", query.GroupId, query.Code).
  34. First(&userGroup).
  35. Error
  36. }