Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8c6be6f487 | ||
|
|
915d474fea |
27
cmd/make.go
27
cmd/make.go
@@ -24,8 +24,9 @@ var (
|
|||||||
{Name: "id", Short: "i", Brief: "活动id"},
|
{Name: "id", Short: "i", Brief: "活动id"},
|
||||||
{Name: "name", Short: "n", Brief: "服务文件名"},
|
{Name: "name", Short: "n", Brief: "服务文件名"},
|
||||||
},
|
},
|
||||||
Examples: "make -m act -i 1: 创建活动1的接口与服务文件 \n" +
|
Examples: "make -m act -i 1: 创建活动1的接口与服务文件 \n" +
|
||||||
"make -m logic -n test: 创建test的服务文件",
|
"make -m logic -n test: 创建test的服务文件 \n" +
|
||||||
|
"make -m config -n test: 创建配置文件",
|
||||||
Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
|
Func: func(ctx context.Context, parser *gcmd.Parser) (err error) {
|
||||||
|
|
||||||
//g.Dump(parser.GetOptAll(), parser.GetArgAll())
|
//g.Dump(parser.GetOptAll(), parser.GetArgAll())
|
||||||
@@ -46,6 +47,12 @@ var (
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
err = this.Logic(name)
|
err = this.Logic(name)
|
||||||
|
case "config":
|
||||||
|
var name = parser.GetOpt("name").String()
|
||||||
|
if name == "" {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
err = this.Config(name)
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
@@ -93,3 +100,19 @@ func (c *cMake) Logic(name string) (err error) {
|
|||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *cMake) Config(name string) (err error) {
|
||||||
|
var filePath = fmt.Sprintf("utility/config/%s.go", name)
|
||||||
|
//生成文件不覆盖
|
||||||
|
if !gfile.Exists(filePath) {
|
||||||
|
get, _ := fs.ReadFile(ConfigFiles, "make/config")
|
||||||
|
fileStr := string(get)
|
||||||
|
fileStr = gstr.Replace(fileStr, "{name}", gstr.CaseCamel(name))
|
||||||
|
fileStr = gstr.Replace(fileStr, "{cfg}", gstr.CaseCamel(name))
|
||||||
|
fileStr = gstr.Replace(fileStr, "{mod}", gstr.CaseCamelLower(name))
|
||||||
|
fileStr = gstr.Replace(fileStr, "{file}", name)
|
||||||
|
err = gfile.PutContents(filePath, fileStr)
|
||||||
|
}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|||||||
51
cmd/make/config
Normal file
51
cmd/make/config
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
package config
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/ayflying/utility_go"
|
||||||
|
"github.com/gogf/gf/v2/util/gutil"
|
||||||
|
"sync"
|
||||||
|
)
|
||||||
|
|
||||||
|
type {cfg}Cfg struct {
|
||||||
|
Id int32 `json:"id" dc:"编号"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type {mod}Mod struct {
|
||||||
|
once sync.Once
|
||||||
|
lock sync.Mutex
|
||||||
|
cfgArr []*{cfg}Cfg
|
||||||
|
cfgMap map[int32]*{cfg}Cfg
|
||||||
|
}
|
||||||
|
|
||||||
|
var {name} = &{mod}Mod{}
|
||||||
|
|
||||||
|
func (c *{mod}Mod) Load(_cfg ...string) {
|
||||||
|
c.lock.Lock()
|
||||||
|
defer c.lock.Unlock()
|
||||||
|
c.cfgArr = make([]*{cfg}Cfg, 0)
|
||||||
|
data, err := utility_go.Config.GetFile("{file}")
|
||||||
|
err = data.Scan(&c.cfgArr)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
c.cfgMap = make(map[int32]*{cfg}Cfg)
|
||||||
|
for _, v := range c.cfgArr {
|
||||||
|
c.cfgMap[v.Id] = v
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *{mod}Mod) List() []*{cfg}Cfg {
|
||||||
|
var list = make([]*{cfg}Cfg, len(c.cfgArr))
|
||||||
|
for k, v := range c.cfgArr {
|
||||||
|
list[k] = c.Get(v.Id)
|
||||||
|
}
|
||||||
|
return list
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *{mod}Mod) Get(id int32) *{cfg}Cfg {
|
||||||
|
if data, ok := c.cfgMap[id]; ok {
|
||||||
|
return gutil.Copy(data).(*{cfg}Cfg)
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
@@ -16,6 +16,10 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
shadiao = []string{",", ":"}
|
||||||
|
)
|
||||||
|
|
||||||
type FileItem struct {
|
type FileItem struct {
|
||||||
Name string `json:"name" dc:"配置文件名"`
|
Name string `json:"name" dc:"配置文件名"`
|
||||||
Filename string `json:"filename" dc:"文件名"`
|
Filename string `json:"filename" dc:"文件名"`
|
||||||
@@ -131,7 +135,6 @@ func (s *Excel) sliceFormat(list []interface{}, Slice map[string]string) []inter
|
|||||||
list[k2].(g.Map)[k3] = []string{}
|
list[k2].(g.Map)[k3] = []string{}
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
var parts []string
|
var parts []string
|
||||||
//断言是否成功
|
//断言是否成功
|
||||||
if get, ok := v3.(string); !ok {
|
if get, ok := v3.(string); !ok {
|
||||||
@@ -139,6 +142,9 @@ func (s *Excel) sliceFormat(list []interface{}, Slice map[string]string) []inter
|
|||||||
parts = []string{gconv.String(v3)}
|
parts = []string{gconv.String(v3)}
|
||||||
continue
|
continue
|
||||||
} else {
|
} else {
|
||||||
|
for _, v := range shadiao {
|
||||||
|
get = strings.ReplaceAll(get, v, "|")
|
||||||
|
}
|
||||||
parts = strings.Split(get, "|") // 分割字符串
|
parts = strings.Split(get, "|") // 分割字符串
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ func Excel2Slice(filePath string, _sheet ...string) [][]string {
|
|||||||
|
|
||||||
// 字符串转道具类型
|
// 字符串转道具类型
|
||||||
func Spilt2Item(str string) (result [][]int64) {
|
func Spilt2Item(str string) (result [][]int64) {
|
||||||
var shadiao = []string{","}
|
|
||||||
for _, v := range shadiao {
|
for _, v := range shadiao {
|
||||||
str = strings.ReplaceAll(str, v, "|")
|
str = strings.ReplaceAll(str, v, "|")
|
||||||
//parts = append(parts, strings.Split(str, v)...) // 分割字符串
|
//parts = append(parts, strings.Split(str, v)...) // 分割字符串
|
||||||
|
|||||||
Reference in New Issue
Block a user