1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- package gen
- import (
- "github.com/zeromicro/go-zero/tools/goctl/model/sql/template"
- "github.com/zeromicro/go-zero/tools/goctl/util"
- "github.com/zeromicro/go-zero/tools/goctl/util/pathx"
- "github.com/zeromicro/go-zero/tools/goctl/util/stringx"
- )
- func genFindOne(table Table, withCache, postgreSql bool) (string, string, error) {
- camel := table.Name.ToCamel()
- text, err := pathx.LoadTemplate(category, findOneTemplateFile, template.FindOne)
- if err != nil {
- return "", "", err
- }
- output, err := util.With("findOne").
- Parse(text).
- Execute(map[string]any{
- "withCache": withCache,
- "upperStartCamelObject": camel,
- "lowerStartCamelObject": stringx.From(camel).Untitle(),
- "originalPrimaryKey": wrapWithRawString(table.PrimaryKey.Name.Source(), postgreSql),
- "lowerStartCamelPrimaryKey": util.EscapeGolangKeyword(stringx.From(table.PrimaryKey.Name.ToCamel()).Untitle()),
- "dataType": table.PrimaryKey.DataType,
- "cacheKey": table.PrimaryCacheKey.KeyExpression,
- "cacheKeyVariable": table.PrimaryCacheKey.KeyLeft,
- "postgreSql": postgreSql,
- "data": table,
- })
- if err != nil {
- return "", "", err
- }
- text, err = pathx.LoadTemplate(category, findOneMethodTemplateFile, template.FindOneMethod)
- if err != nil {
- return "", "", err
- }
- findOneMethod, err := util.With("findOneMethod").
- Parse(text).
- Execute(map[string]any{
- "upperStartCamelObject": camel,
- "lowerStartCamelPrimaryKey": util.EscapeGolangKeyword(stringx.From(table.PrimaryKey.Name.ToCamel()).Untitle()),
- "dataType": table.PrimaryKey.DataType,
- "data": table,
- })
- if err != nil {
- return "", "", err
- }
- return output.String(), findOneMethod.String(), nil
- }
|