123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- // this file is auto create by program, don't edit manually
- package data
- import (
- mhayaError "github.com/mhaya/error"
- mhayaLogger "github.com/mhaya/logger"
- )
- type {{.Name}} struct {
- maps map[int]*{{.Name}}Row
- }
- type {{.Name}}Row struct {
- {{- $maxNameLen := (SheetHeaderNameMaxLen .)}}
- {{- $nameFmt := (printf "%%-%ds" $maxNameLen)}}
- {{- $maxTypeLen := (SheetHeaderTypeNameMaxLen .)}}
- {{- $typeFmt := (printf "%%-%ds" $maxTypeLen)}}
- {{- range .Headers}}
- {{.Name | printf $nameFmt}} {{GetTypeName .DataType | printf $typeFmt}} // {{.Comment}}
- {{- end}}
- }
- func (p *{{.Name}}) Name() string {
- return "{{.Name}}"
- }
- func (p *{{.Name}}) Init() {
- p.maps = make(map[int]*{{.Name}}Row)
- }
- func (p *{{.Name}}) OnLoad(maps interface{}, _ bool) (int, error) {
- list, ok := maps.([]interface{})
- if !ok {
- return 0, mhayaError.Error("maps convert to []interface{} error.")
- }
- loadMaps := make(map[int]*{{.Name}}Row)
- for index, data := range list {
- loadConfig := &{{.Name}}Row{}
- err := DecodeData(data, loadConfig)
- if err != nil {
- mhayaLogger.Warnf("decode error. [row = %d, %v], err = %s", index+1, loadConfig, err)
- continue
- }
- loadMaps[loadConfig.ID] = loadConfig
- }
- p.maps = loadMaps
- return len(list), nil
- }
- func (p *{{.Name}}) OnAfterLoad(_ bool) {
- }
- func (p *{{.Name}}) Get(pk int) (*{{.Name}}Row, bool) {
- i, found := p.maps[pk]
- return i, found
- }
- func (p *{{.Name}}) Contain(pk int) bool {
- _, found := p.Get(pk)
- return found
- }
|