github.com/unionj-cloud/go-doudou/v2@v2.3.5/toolkit/gormgen/internal/template/appendsvcimpl.go (about)

     1  package template
     2  
     3  const AppendSvcImpl = `
     4  // PostGen{{.ModelStructName}} {{.StructComment}}
     5  ` + NotEditMarkForGDDShort + `
     6  func (receiver *{{.InterfaceName}}Impl) PostGen{{.ModelStructName}}(ctx context.Context, body dto.{{.ModelStructName}}) (data {{.PriKeyType}}, err error) {
     7  	m := model.{{.ModelStructName}}(body)
     8  	u := receiver.q.{{.ModelStructName}}
     9  	err = errors.WithStack(u.WithContext(ctx).Create(&m))
    10  	data = m.ID
    11  	return
    12  }
    13  
    14  // PostGen{{.ModelStructName}}s {{.StructComment}}
    15  ` + NotEditMarkForGDDShort + `
    16  func (receiver *{{.InterfaceName}}Impl) PostGen{{.ModelStructName}}s(ctx context.Context, body []dto.{{.ModelStructName}}) (data []{{.PriKeyType}}, err error) {
    17  	list := make([]*model.{{.ModelStructName}}, 0, len(body))
    18  	for _, item := range body {
    19  		m := model.{{.ModelStructName}}(item)
    20  		list = append(list, &m)
    21  	}
    22  	u := receiver.q.{{.ModelStructName}}
    23  	if err = errors.WithStack(u.WithContext(ctx).Create(list...)); err != nil {
    24  		return
    25  	}
    26  	data = make([]{{.PriKeyType}}, 0, len(list))
    27  	for _, item := range list {
    28  		data = append(data, item.ID)
    29  	}
    30  	return
    31  }
    32  
    33  // GetGen{{.ModelStructName}}_Id {{.StructComment}}
    34  ` + NotEditMarkForGDDShort + `
    35  func (receiver *{{.InterfaceName}}Impl) GetGen{{.ModelStructName}}_Id(ctx context.Context, id {{.PriKeyType}}) (data dto.{{.ModelStructName}}, err error) {
    36  	u := receiver.q.{{.ModelStructName}}
    37  	m, err := u.WithContext(ctx).Where(u.ID.Eq(id)).First()
    38  	if err != nil {
    39  		return dto.{{.ModelStructName}}{}, errors.WithStack(err)
    40  	}
    41  	return dto.{{.ModelStructName}}(*m), nil
    42  }
    43  
    44  // PutGen{{.ModelStructName}} {{.StructComment}}
    45  ` + NotEditMarkForGDDShort + `
    46  func (receiver *{{.InterfaceName}}Impl) PutGen{{.ModelStructName}}(ctx context.Context, body dto.{{.ModelStructName}}) (err error) {
    47  	m := model.{{.ModelStructName}}(body)
    48  	u := receiver.q.{{.ModelStructName}}
    49  	_, err = u.WithContext(ctx).Where(u.ID.Eq(body.ID)).Updates(m)
    50  	return errors.WithStack(err)
    51  }
    52  
    53  // DeleteGen{{.ModelStructName}}_Id {{.StructComment}}
    54  ` + NotEditMarkForGDDShort + `
    55  func (receiver *{{.InterfaceName}}Impl) DeleteGen{{.ModelStructName}}_Id(ctx context.Context, id {{.PriKeyType}}) (err error) {
    56  	u := receiver.q.{{.ModelStructName}}
    57  	_, err = u.WithContext(ctx).Where(u.ID.Eq(id)).Delete()
    58  	return errors.WithStack(err)
    59  }
    60  
    61  // GetGen{{.ModelStructName}}s {{.StructComment}}
    62  ` + NotEditMarkForGDDShort + `
    63  func (receiver *{{.InterfaceName}}Impl) GetGen{{.ModelStructName}}s(ctx context.Context, parameter dto.Parameter) (data dto.Page, err error) {
    64  	paginated := receiver.pg.With(database.Db.Model(&model.{{.ModelStructName}}{})).Request(parameter).Response(&[]model.{{.ModelStructName}}{})
    65  	data = dto.Page(paginated)
    66  	return
    67  }
    68  
    69  `