123456789101112131415161718192021222324252627282930313233343536373839 |
- package repository
- import (
- req "sghgogs.com/micro/shopping-service/domain/model/request"
- pb "sghgogs.com/micro/shopping-service/proto"
- "time"
- )
- func (u *Repository) CreateUserGroup(group *pb.CreateUserGroupRequest) error {
- // 开始事务
- tx := u.db.Begin()
- // 错误处理
- defer func() {
- if r := recover(); r != nil {
- tx.Rollback()
- }
- }()
- if err := tx.Model(&req.UserGroup{}).Create(map[string]interface{}{
- "name": group.Name,
- "description": group.Description,
- "code": group.Code,
- "created_at": time.Now(),
- "created_by": group.CreatedBy,
- }).Error; err != nil {
- tx.Rollback()
- return err
- }
- return tx.Commit().Error
- }
- func (u *Repository) GetUserGroup(query *pb.GetUserGroupRequest) (req.UserGroup, error) {
- var userGroup req.UserGroup
- return userGroup, u.db.
- Model(&req.UserGroup{}).
- Select("id, name, code").
- Where("id = ? OR code = ?", query.GroupId, query.Code).
- First(&userGroup).
- Error
- }
|