正在显示
13 个修改的文件
包含
187 行增加
和
49 行删除
@@ -7,23 +7,44 @@ import ( | @@ -7,23 +7,44 @@ import ( | ||
7 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/domain" | 7 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/domain" |
8 | ) | 8 | ) |
9 | 9 | ||
10 | +type DictionaryItem struct { | ||
11 | + // 项编码 | ||
12 | + ItemCode string `json:"itemCode" valid:"Required;MaxSize(30)"` | ||
13 | + // 项标签 | ||
14 | + ItemLabel string `json:"itemLabel" valid:"Required;MaxSize(30)"` | ||
15 | + // 值 | ||
16 | + ItemValue string `json:"itemValue" valid:"Required;MaxSize(30)"` | ||
17 | + // 是否可见【1:不可以】【2:可以】 | ||
18 | + IsShow int `json:"isShow"` | ||
19 | + // 显示序号 | ||
20 | + Sort int `json:"sort"` | ||
21 | +} | ||
22 | + | ||
10 | type CreateDictionaryCommand struct { | 23 | type CreateDictionaryCommand struct { |
11 | - // 字典编号 主键 | ||
12 | - DictionaryId int `json:"dictionaryId,omitempty"` | ||
13 | // 字典编码 | 24 | // 字典编码 |
14 | - DictCode string `json:"dictCode,omitempty"` | 25 | + DictCode string `json:"dictCode" valid:"Required;MaxSize(30)"` |
15 | // 字典名称 | 26 | // 字典名称 |
16 | - DictName string `json:"dictName,omitempty"` | 27 | + DictName string `json:"dictName" valid:"Required;MaxSize(30)"` |
17 | // 备注信息 | 28 | // 备注信息 |
18 | - Desc string `json:"desc,omitempty"` | ||
19 | - // 是否可见【1:不可以】【2:可以】 | ||
20 | - IsShow int `json:"isShow,omitempty"` | 29 | + Desc string `json:"desc" valid:"MaxSize(100)"` |
21 | // 字典值列表 | 30 | // 字典值列表 |
22 | - DictItems []*domain.DictionaryItem `json:"dictItems,omitempty"` | 31 | + DictItems []DictionaryItem `json:"dictItems"` |
23 | } | 32 | } |
24 | 33 | ||
25 | -func (createDictionaryCommand *CreateDictionaryCommand) Valid(validation *validation.Validation) { | ||
26 | - validation.SetError("CustomValid", "未实现的自定义认证") | 34 | +// 实现了接口 validation.ValidFormer |
35 | +func (createDictionaryCommand *CreateDictionaryCommand) Valid(v *validation.Validation) { | ||
36 | + //检查items | ||
37 | + sortmap := make(map[int]struct{}) | ||
38 | + for _, item := range createDictionaryCommand.DictItems { | ||
39 | + if _, ok := sortmap[item.Sort]; ok { | ||
40 | + v.SetError("Sort", "明细项顺序值重复") | ||
41 | + } | ||
42 | + sortmap[item.Sort] = struct{}{} | ||
43 | + vOk := domain.DictionaryItemShow(item.IsShow).Valid() | ||
44 | + if !vOk { | ||
45 | + v.SetError("IsShow", "明细项是否显示值异常") | ||
46 | + } | ||
47 | + } | ||
27 | } | 48 | } |
28 | 49 | ||
29 | func (createDictionaryCommand *CreateDictionaryCommand) ValidateCommand() error { | 50 | func (createDictionaryCommand *CreateDictionaryCommand) ValidateCommand() error { |
@@ -8,11 +8,11 @@ import ( | @@ -8,11 +8,11 @@ import ( | ||
8 | 8 | ||
9 | type RemoveDictionaryCommand struct { | 9 | type RemoveDictionaryCommand struct { |
10 | // 字典编号 主键 | 10 | // 字典编号 主键 |
11 | - DictionaryId int `json:"dictionaryId,omitempty"` | 11 | + DictionaryId int `json:"dictionaryId" valid:"Required"` |
12 | } | 12 | } |
13 | 13 | ||
14 | func (removeDictionaryCommand *RemoveDictionaryCommand) Valid(validation *validation.Validation) { | 14 | func (removeDictionaryCommand *RemoveDictionaryCommand) Valid(validation *validation.Validation) { |
15 | - validation.SetError("CustomValid", "未实现的自定义认证") | 15 | + |
16 | } | 16 | } |
17 | 17 | ||
18 | func (removeDictionaryCommand *RemoveDictionaryCommand) ValidateCommand() error { | 18 | func (removeDictionaryCommand *RemoveDictionaryCommand) ValidateCommand() error { |
@@ -9,21 +9,32 @@ import ( | @@ -9,21 +9,32 @@ import ( | ||
9 | 9 | ||
10 | type UpdateDictionaryCommand struct { | 10 | type UpdateDictionaryCommand struct { |
11 | // 字典编号 主键 | 11 | // 字典编号 主键 |
12 | - DictionaryId int64 `json:"dictionaryId,omitempty"` | 12 | + DictionaryId int64 `json:"dictionaryId" valid:"Required"` |
13 | // 字典编码 | 13 | // 字典编码 |
14 | - DictCode string `json:"dictCode,omitempty"` | 14 | + DictCode string `json:"dictCode" valid:"Required;MaxSize(30)"` |
15 | // 字典名称 | 15 | // 字典名称 |
16 | - DictName string `json:"dictName,omitempty"` | 16 | + DictName string `json:"dictName" valid:"Required;MaxSize(30)"` |
17 | // 备注信息 | 17 | // 备注信息 |
18 | - Desc string `json:"desc,omitempty"` | 18 | + Desc string `json:"desc" valid:"Required;MaxSize(100)"` |
19 | // 是否可见【1:不可以】【2:可以】 | 19 | // 是否可见【1:不可以】【2:可以】 |
20 | - IsShow int `json:"isShow,omitempty"` | 20 | + IsShow int `json:"isShow"` |
21 | // 字典值列表 | 21 | // 字典值列表 |
22 | - DictItems []*domain.DictionaryItem `json:"dictItems,omitempty"` | 22 | + DictItems []DictionaryItem `json:"dictItems"` |
23 | } | 23 | } |
24 | 24 | ||
25 | -func (updateDictionaryCommand *UpdateDictionaryCommand) Valid(validation *validation.Validation) { | ||
26 | - validation.SetError("CustomValid", "未实现的自定义认证") | 25 | +func (updateDictionaryCommand *UpdateDictionaryCommand) Valid(v *validation.Validation) { |
26 | + //检查items | ||
27 | + sortmap := make(map[int]struct{}) | ||
28 | + for _, item := range updateDictionaryCommand.DictItems { | ||
29 | + if _, ok := sortmap[item.Sort]; ok { | ||
30 | + v.SetError("sort", "明细项顺序值重复") | ||
31 | + } | ||
32 | + sortmap[item.Sort] = struct{}{} | ||
33 | + vOk := domain.DictionaryItemShow(item.IsShow).Valid() | ||
34 | + if !vOk { | ||
35 | + v.SetError("IsShow", "明细项是否显示值异常") | ||
36 | + } | ||
37 | + } | ||
27 | } | 38 | } |
28 | 39 | ||
29 | func (updateDictionaryCommand *UpdateDictionaryCommand) ValidateCommand() error { | 40 | func (updateDictionaryCommand *UpdateDictionaryCommand) ValidateCommand() error { |
@@ -9,7 +9,7 @@ import ( | @@ -9,7 +9,7 @@ import ( | ||
9 | type GetDictionaryQuery struct { | 9 | type GetDictionaryQuery struct { |
10 | // 字典编码 | 10 | // 字典编码 |
11 | DictionaryId int64 `json:"dictionaryId"` | 11 | DictionaryId int64 `json:"dictionaryId"` |
12 | - DictCode string `json:"dictCode,omitempty"` | 12 | + DictCode string `json:"dictCode"` |
13 | } | 13 | } |
14 | 14 | ||
15 | func (getDictionaryQuery *GetDictionaryQuery) Valid(validation *validation.Validation) { | 15 | func (getDictionaryQuery *GetDictionaryQuery) Valid(validation *validation.Validation) { |
@@ -2,6 +2,7 @@ package service | @@ -2,6 +2,7 @@ package service | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | + "sort" | ||
5 | 6 | ||
6 | "github.com/linmadan/egglib-go/core/application" | 7 | "github.com/linmadan/egglib-go/core/application" |
7 | "github.com/linmadan/egglib-go/utils/tool_funs" | 8 | "github.com/linmadan/egglib-go/utils/tool_funs" |
@@ -30,7 +31,25 @@ func (dictionaryService *DictionaryService) CreateDictionary(createDictionaryCom | @@ -30,7 +31,25 @@ func (dictionaryService *DictionaryService) CreateDictionary(createDictionaryCom | ||
30 | defer func() { | 31 | defer func() { |
31 | transactionContext.RollbackTransaction() | 32 | transactionContext.RollbackTransaction() |
32 | }() | 33 | }() |
33 | - newDictionary := &domain.Dictionary{} //TODO | 34 | + |
35 | + var items []domain.DictionaryItem | ||
36 | + for _, item := range createDictionaryCommand.DictItems { | ||
37 | + i := domain.DictionaryItem{ | ||
38 | + ItemCode: item.ItemCode, | ||
39 | + ItemLabel: item.ItemLabel, | ||
40 | + ItemValue: item.ItemValue, | ||
41 | + IsShow: item.IsShow, | ||
42 | + Sort: item.Sort, | ||
43 | + } | ||
44 | + items = append(items, i) | ||
45 | + } | ||
46 | + sort.Sort(domain.DictionaryItems(items)) | ||
47 | + newDictionary := &domain.Dictionary{ | ||
48 | + DictCode: createDictionaryCommand.DictCode, | ||
49 | + DictName: createDictionaryCommand.DictName, | ||
50 | + Desc: createDictionaryCommand.Desc, | ||
51 | + DictItems: items, | ||
52 | + } | ||
34 | var dictionaryRepository domain.DictionaryRepository | 53 | var dictionaryRepository domain.DictionaryRepository |
35 | if value, err := factory.CreateDictionaryRepository(map[string]interface{}{ | 54 | if value, err := factory.CreateDictionaryRepository(map[string]interface{}{ |
36 | "transactionContext": transactionContext, | 55 | "transactionContext": transactionContext, |
@@ -72,7 +91,14 @@ func (dictionaryService *DictionaryService) GetDictionary(getDictionaryQuery *qu | @@ -72,7 +91,14 @@ func (dictionaryService *DictionaryService) GetDictionary(getDictionaryQuery *qu | ||
72 | } else { | 91 | } else { |
73 | dictionaryRepository = value | 92 | dictionaryRepository = value |
74 | } | 93 | } |
75 | - dictionary, err := dictionaryRepository.FindOne(map[string]interface{}{"dictionaryId": getDictionaryQuery.DictCode}) | 94 | + queryCondition := make(map[string]interface{}) |
95 | + if len(getDictionaryQuery.DictCode) > 0 { | ||
96 | + queryCondition["dictCode"] = getDictionaryQuery.DictCode | ||
97 | + } | ||
98 | + if getDictionaryQuery.DictionaryId > 0 { | ||
99 | + queryCondition["dictionaryId"] = getDictionaryQuery.DictCode | ||
100 | + } | ||
101 | + dictionary, err := dictionaryRepository.FindOne(queryCondition) | ||
76 | if err != nil { | 102 | if err != nil { |
77 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 103 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
78 | } | 104 | } |
@@ -150,7 +176,7 @@ func (dictionaryService *DictionaryService) RemoveDictionary(removeDictionaryCom | @@ -150,7 +176,7 @@ func (dictionaryService *DictionaryService) RemoveDictionary(removeDictionaryCom | ||
150 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 176 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
151 | } | 177 | } |
152 | if dictionary == nil { | 178 | if dictionary == nil { |
153 | - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(removeDictionaryCommand.DictionaryId))) | 179 | + return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%d", removeDictionaryCommand.DictionaryId)) |
154 | } | 180 | } |
155 | if dictionary, err := dictionaryRepository.Remove(dictionary); err != nil { | 181 | if dictionary, err := dictionaryRepository.Remove(dictionary); err != nil { |
156 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 182 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
@@ -190,9 +216,27 @@ func (dictionaryService *DictionaryService) UpdateDictionary(updateDictionaryCom | @@ -190,9 +216,27 @@ func (dictionaryService *DictionaryService) UpdateDictionary(updateDictionaryCom | ||
190 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 216 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
191 | } | 217 | } |
192 | if dictionary == nil { | 218 | if dictionary == nil { |
193 | - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(updateDictionaryCommand.DictionaryId))) | ||
194 | - } | ||
195 | - if err := dictionary.Update(tool_funs.SimpleStructToMap(updateDictionaryCommand)); err != nil { | 219 | + return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%d", updateDictionaryCommand.DictionaryId)) |
220 | + } | ||
221 | + var items []domain.DictionaryItem | ||
222 | + for _, item := range updateDictionaryCommand.DictItems { | ||
223 | + i := domain.DictionaryItem{ | ||
224 | + ItemCode: item.ItemCode, | ||
225 | + ItemLabel: item.ItemLabel, | ||
226 | + ItemValue: item.ItemValue, | ||
227 | + IsShow: item.IsShow, | ||
228 | + Sort: item.Sort, | ||
229 | + } | ||
230 | + items = append(items, i) | ||
231 | + } | ||
232 | + sort.Sort(domain.DictionaryItems(items)) | ||
233 | + err = dictionary.Update(map[string]interface{}{ | ||
234 | + "dictCode": updateDictionaryCommand.DictCode, | ||
235 | + "dictName": updateDictionaryCommand.DictName, | ||
236 | + "desc": updateDictionaryCommand.Desc, | ||
237 | + "dictItems": items, | ||
238 | + }) | ||
239 | + if err != nil { | ||
196 | return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | 240 | return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) |
197 | } | 241 | } |
198 | if dictionary, err := dictionaryRepository.Save(dictionary); err != nil { | 242 | if dictionary, err := dictionaryRepository.Save(dictionary); err != nil { |
pkg/constant/validation.go
0 → 100644
1 | +package constant | ||
2 | + | ||
3 | +var ValidationMessageTmpls = map[string]string{ | ||
4 | + "Required": "不能为空", | ||
5 | + "Min": "最小值: %d", | ||
6 | + "Max": "最大值: %d", | ||
7 | + "Range": "数值的范围 %d - %d", | ||
8 | + "MinSize": "最小长度: %d", | ||
9 | + "MaxSize": "最大长度: %d", | ||
10 | + "Length": "指定长度: %d", | ||
11 | + "Alpha": "必须为有效的字母字符", | ||
12 | + "Numeric": "必须为有效的数字", | ||
13 | + "AlphaNumeric": "必须为有效的字母或数字", | ||
14 | + "Match": "必须匹配 %s", | ||
15 | + "NoMatch": "必须不匹配 %s", | ||
16 | + "AlphaDash": "必须为字母、数字或横杠(-_)", | ||
17 | + "Email": "必须为邮箱格式", | ||
18 | + "IP": "必须为有效的IP格式", | ||
19 | + "Base64": "必须为有效的base64字符", | ||
20 | + "Mobile": "必须有效的手机号码", | ||
21 | + "Tel": "必须是有效的电话号码", | ||
22 | + "Phone": "必须是有效的电话或手机号码", | ||
23 | + "ZipCode": "必须是有效的邮政编码", | ||
24 | +} |
@@ -10,10 +10,8 @@ type Dictionary struct { | @@ -10,10 +10,8 @@ type Dictionary struct { | ||
10 | DictName string `json:"dictName"` | 10 | DictName string `json:"dictName"` |
11 | // 备注信息 | 11 | // 备注信息 |
12 | Desc string `json:"desc"` | 12 | Desc string `json:"desc"` |
13 | - // 是否可见【1:不可以】【2:可以】 | ||
14 | - IsShow int `json:"isShow"` | ||
15 | // 字典值列表 | 13 | // 字典值列表 |
16 | - DictItems []*DictionaryItem `json:"dictItems"` | 14 | + DictItems []DictionaryItem `json:"dictItems"` |
17 | } | 15 | } |
18 | 16 | ||
19 | type DictionaryRepository interface { | 17 | type DictionaryRepository interface { |
@@ -43,11 +41,8 @@ func (dictionary *Dictionary) Update(data map[string]interface{}) error { | @@ -43,11 +41,8 @@ func (dictionary *Dictionary) Update(data map[string]interface{}) error { | ||
43 | if desc, ok := data["desc"]; ok { | 41 | if desc, ok := data["desc"]; ok { |
44 | dictionary.Desc = desc.(string) | 42 | dictionary.Desc = desc.(string) |
45 | } | 43 | } |
46 | - if isShow, ok := data["isShow"]; ok { | ||
47 | - dictionary.IsShow = isShow.(int) | ||
48 | - } | ||
49 | if dictItems, ok := data["dictItems"]; ok { | 44 | if dictItems, ok := data["dictItems"]; ok { |
50 | - dictionary.DictItems = dictItems.([]*DictionaryItem) | 45 | + dictionary.DictItems = dictItems.([]DictionaryItem) |
51 | } | 46 | } |
52 | return nil | 47 | return nil |
53 | } | 48 | } |
@@ -8,8 +8,35 @@ type DictionaryItem struct { | @@ -8,8 +8,35 @@ type DictionaryItem struct { | ||
8 | ItemLabel string `json:"itemLabel"` | 8 | ItemLabel string `json:"itemLabel"` |
9 | // 值 | 9 | // 值 |
10 | ItemValue string `json:"itemValue"` | 10 | ItemValue string `json:"itemValue"` |
11 | - // 启用状态(启用:1 禁用:2) | ||
12 | - EnableStatus string `json:"enableStatus"` | 11 | + // 是否可见【1:不可以】【2:可以】 |
12 | + IsShow int `json:"isShow"` | ||
13 | // 显示序号 | 13 | // 显示序号 |
14 | Sort int `json:"sort"` | 14 | Sort int `json:"sort"` |
15 | } | 15 | } |
16 | + | ||
17 | +type DictionaryItemShow int | ||
18 | + | ||
19 | +const ( | ||
20 | + DictionaryItemIsShow int = 1 //不可见 | ||
21 | + DictionaryItemNotShow int = 2 //可见 | ||
22 | +) | ||
23 | + | ||
24 | +func (show DictionaryItemShow) Valid() bool { | ||
25 | + var ok bool | ||
26 | + switch int(show) { | ||
27 | + case DictionaryItemNotShow: | ||
28 | + ok = true | ||
29 | + case DictionaryItemIsShow: | ||
30 | + ok = true | ||
31 | + default: | ||
32 | + ok = false | ||
33 | + } | ||
34 | + return ok | ||
35 | +} | ||
36 | + | ||
37 | +//明细项排序 | ||
38 | +type DictionaryItems []DictionaryItem | ||
39 | + | ||
40 | +func (a DictionaryItems) Len() int { return len(a) } | ||
41 | +func (a DictionaryItems) Swap(i, j int) { a[i], a[j] = a[j], a[i] } | ||
42 | +func (a DictionaryItems) Less(i, j int) bool { return a[i].Sort < a[j].Sort } |
@@ -17,5 +17,5 @@ type Dictionary struct { | @@ -17,5 +17,5 @@ type Dictionary struct { | ||
17 | // 是否可见【1:不可以】【2:可以】 | 17 | // 是否可见【1:不可以】【2:可以】 |
18 | IsShow int | 18 | IsShow int |
19 | // 字典值列表 | 19 | // 字典值列表 |
20 | - DictItems []*domain.DictionaryItem `pg:",array"` | 20 | + DictItems []domain.DictionaryItem `pg:",array"` |
21 | } | 21 | } |
@@ -11,7 +11,6 @@ func TransformToDictionaryDomainModelFromPgModels(dictionaryModel *models.Dictio | @@ -11,7 +11,6 @@ func TransformToDictionaryDomainModelFromPgModels(dictionaryModel *models.Dictio | ||
11 | DictCode: dictionaryModel.DictCode, | 11 | DictCode: dictionaryModel.DictCode, |
12 | DictName: dictionaryModel.DictName, | 12 | DictName: dictionaryModel.DictName, |
13 | Desc: dictionaryModel.Desc, | 13 | Desc: dictionaryModel.Desc, |
14 | - IsShow: dictionaryModel.IsShow, | ||
15 | DictItems: dictionaryModel.DictItems, | 14 | DictItems: dictionaryModel.DictItems, |
16 | }, nil | 15 | }, nil |
17 | } | 16 | } |
pkg/infrastructure/repository/idWorker.go
0 → 100644
1 | +package repository | ||
2 | + | ||
3 | +import ( | ||
4 | + "github.com/linmadan/egglib-go/utils/snowflake" | ||
5 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/log" | ||
6 | +) | ||
7 | + | ||
8 | +var idWorker *snowflake.IdWorker | ||
9 | + | ||
10 | +func init() { | ||
11 | + worker, err := snowflake.NewIdWorker(1) | ||
12 | + if err != nil { | ||
13 | + log.Logger.Panic("idWorker init err" + err.Error()) | ||
14 | + return | ||
15 | + } | ||
16 | + idWorker = worker | ||
17 | +} |
@@ -6,7 +6,7 @@ import ( | @@ -6,7 +6,7 @@ import ( | ||
6 | "github.com/go-pg/pg/v10" | 6 | "github.com/go-pg/pg/v10" |
7 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" | 7 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" |
8 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" | 8 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" |
9 | - "github.com/linmadan/egglib-go/utils/snowflake" | 9 | + |
10 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/domain" | 10 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/domain" |
11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/infrastructure/pg/models" | 11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/infrastructure/pg/models" |
12 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/infrastructure/pg/transform" | 12 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/infrastructure/pg/transform" |
@@ -17,20 +17,16 @@ type DictionaryRepository struct { | @@ -17,20 +17,16 @@ type DictionaryRepository struct { | ||
17 | } | 17 | } |
18 | 18 | ||
19 | func (repository *DictionaryRepository) nextIdentify() (int64, error) { | 19 | func (repository *DictionaryRepository) nextIdentify() (int64, error) { |
20 | - IdWorker, err := snowflake.NewIdWorker(1) | ||
21 | - if err != nil { | ||
22 | - return 0, err | ||
23 | - } | ||
24 | - id, err := IdWorker.NextId() | 20 | + id, err := idWorker.NextId() |
25 | return id, err | 21 | return id, err |
26 | } | 22 | } |
23 | + | ||
27 | func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*domain.Dictionary, error) { | 24 | func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*domain.Dictionary, error) { |
28 | sqlBuildFields := []string{ | 25 | sqlBuildFields := []string{ |
29 | "dictionary_id", | 26 | "dictionary_id", |
30 | "dict_code", | 27 | "dict_code", |
31 | "dict_name", | 28 | "dict_name", |
32 | "desc", | 29 | "desc", |
33 | - "is_show", | ||
34 | "dict_items", | 30 | "dict_items", |
35 | } | 31 | } |
36 | insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) | 32 | insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) |
@@ -52,7 +48,6 @@ func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*do | @@ -52,7 +48,6 @@ func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*do | ||
52 | &dictionary.DictCode, | 48 | &dictionary.DictCode, |
53 | &dictionary.DictName, | 49 | &dictionary.DictName, |
54 | &dictionary.Desc, | 50 | &dictionary.Desc, |
55 | - &dictionary.IsShow, | ||
56 | pg.Array(&dictionary.DictItems), | 51 | pg.Array(&dictionary.DictItems), |
57 | ), | 52 | ), |
58 | fmt.Sprintf("INSERT INTO dictionarys (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), | 53 | fmt.Sprintf("INSERT INTO dictionarys (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), |
@@ -60,7 +55,6 @@ func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*do | @@ -60,7 +55,6 @@ func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*do | ||
60 | dictionary.DictCode, | 55 | dictionary.DictCode, |
61 | dictionary.DictName, | 56 | dictionary.DictName, |
62 | dictionary.Desc, | 57 | dictionary.Desc, |
63 | - dictionary.IsShow, | ||
64 | pg.Array(dictionary.DictItems), | 58 | pg.Array(dictionary.DictItems), |
65 | ); err != nil { | 59 | ); err != nil { |
66 | return dictionary, err | 60 | return dictionary, err |
@@ -72,7 +66,6 @@ func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*do | @@ -72,7 +66,6 @@ func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*do | ||
72 | &dictionary.DictCode, | 66 | &dictionary.DictCode, |
73 | &dictionary.DictName, | 67 | &dictionary.DictName, |
74 | &dictionary.Desc, | 68 | &dictionary.Desc, |
75 | - &dictionary.IsShow, | ||
76 | pg.Array(&dictionary.DictItems), | 69 | pg.Array(&dictionary.DictItems), |
77 | ), | 70 | ), |
78 | fmt.Sprintf("UPDATE dictionarys SET %s WHERE dictionary_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet), | 71 | fmt.Sprintf("UPDATE dictionarys SET %s WHERE dictionary_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet), |
@@ -80,7 +73,6 @@ func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*do | @@ -80,7 +73,6 @@ func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*do | ||
80 | dictionary.DictCode, | 73 | dictionary.DictCode, |
81 | dictionary.DictName, | 74 | dictionary.DictName, |
82 | dictionary.Desc, | 75 | dictionary.Desc, |
83 | - dictionary.IsShow, | ||
84 | pg.Array(dictionary.DictItems), | 76 | pg.Array(dictionary.DictItems), |
85 | dictionary.Identify(), | 77 | dictionary.Identify(), |
86 | ); err != nil { | 78 | ); err != nil { |
@@ -89,6 +81,7 @@ func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*do | @@ -89,6 +81,7 @@ func (repository *DictionaryRepository) Save(dictionary *domain.Dictionary) (*do | ||
89 | } | 81 | } |
90 | return dictionary, nil | 82 | return dictionary, nil |
91 | } | 83 | } |
84 | + | ||
92 | func (repository *DictionaryRepository) Remove(dictionary *domain.Dictionary) (*domain.Dictionary, error) { | 85 | func (repository *DictionaryRepository) Remove(dictionary *domain.Dictionary) (*domain.Dictionary, error) { |
93 | tx := repository.transactionContext.PgTx | 86 | tx := repository.transactionContext.PgTx |
94 | dictionaryModel := new(models.Dictionary) | 87 | dictionaryModel := new(models.Dictionary) |
@@ -98,11 +91,13 @@ func (repository *DictionaryRepository) Remove(dictionary *domain.Dictionary) (* | @@ -98,11 +91,13 @@ func (repository *DictionaryRepository) Remove(dictionary *domain.Dictionary) (* | ||
98 | } | 91 | } |
99 | return dictionary, nil | 92 | return dictionary, nil |
100 | } | 93 | } |
94 | + | ||
101 | func (repository *DictionaryRepository) FindOne(queryOptions map[string]interface{}) (*domain.Dictionary, error) { | 95 | func (repository *DictionaryRepository) FindOne(queryOptions map[string]interface{}) (*domain.Dictionary, error) { |
102 | tx := repository.transactionContext.PgTx | 96 | tx := repository.transactionContext.PgTx |
103 | dictionaryModel := new(models.Dictionary) | 97 | dictionaryModel := new(models.Dictionary) |
104 | query := sqlbuilder.BuildQuery(tx.Model(dictionaryModel), queryOptions) | 98 | query := sqlbuilder.BuildQuery(tx.Model(dictionaryModel), queryOptions) |
105 | query.SetWhereByQueryOption("dictionary.dictionary_id = ?", "dictionaryId") | 99 | query.SetWhereByQueryOption("dictionary.dictionary_id = ?", "dictionaryId") |
100 | + query.SetWhereByQueryOption("dictionary.dict_code=?", "dictCode") | ||
106 | if err := query.First(); err != nil { | 101 | if err := query.First(); err != nil { |
107 | if err.Error() == "pg: no rows in result set" { | 102 | if err.Error() == "pg: no rows in result set" { |
108 | return nil, fmt.Errorf("没有此资源") | 103 | return nil, fmt.Errorf("没有此资源") |
@@ -116,6 +111,7 @@ func (repository *DictionaryRepository) FindOne(queryOptions map[string]interfac | @@ -116,6 +111,7 @@ func (repository *DictionaryRepository) FindOne(queryOptions map[string]interfac | ||
116 | return transform.TransformToDictionaryDomainModelFromPgModels(dictionaryModel) | 111 | return transform.TransformToDictionaryDomainModelFromPgModels(dictionaryModel) |
117 | } | 112 | } |
118 | } | 113 | } |
114 | + | ||
119 | func (repository *DictionaryRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.Dictionary, error) { | 115 | func (repository *DictionaryRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.Dictionary, error) { |
120 | tx := repository.transactionContext.PgTx | 116 | tx := repository.transactionContext.PgTx |
121 | var dictionaryModels []*models.Dictionary | 117 | var dictionaryModels []*models.Dictionary |
@@ -136,6 +132,7 @@ func (repository *DictionaryRepository) Find(queryOptions map[string]interface{} | @@ -136,6 +132,7 @@ func (repository *DictionaryRepository) Find(queryOptions map[string]interface{} | ||
136 | return int64(count), dictionarys, nil | 132 | return int64(count), dictionarys, nil |
137 | } | 133 | } |
138 | } | 134 | } |
135 | + | ||
139 | func NewDictionaryRepository(transactionContext *pgTransaction.TransactionContext) (*DictionaryRepository, error) { | 136 | func NewDictionaryRepository(transactionContext *pgTransaction.TransactionContext) (*DictionaryRepository, error) { |
140 | if transactionContext == nil { | 137 | if transactionContext == nil { |
141 | return nil, fmt.Errorf("transactionContext参数不能为nil") | 138 | return nil, fmt.Errorf("transactionContext参数不能为nil") |
@@ -4,8 +4,10 @@ import ( | @@ -4,8 +4,10 @@ import ( | ||
4 | "os" | 4 | "os" |
5 | "strconv" | 5 | "strconv" |
6 | 6 | ||
7 | + "github.com/beego/beego/v2/core/validation" | ||
7 | "github.com/beego/beego/v2/server/web" | 8 | "github.com/beego/beego/v2/server/web" |
8 | "github.com/linmadan/egglib-go/web/beego/filters" | 9 | "github.com/linmadan/egglib-go/web/beego/filters" |
10 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/constant" | ||
9 | 11 | ||
10 | //_ "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/port/beego/routers" | 12 | //_ "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/port/beego/routers" |
11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/log" | 13 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-basic/pkg/log" |
@@ -27,6 +29,7 @@ func init() { | @@ -27,6 +29,7 @@ func init() { | ||
27 | web.BConfig.Listen.HTTPPort = port | 29 | web.BConfig.Listen.HTTPPort = port |
28 | } | 30 | } |
29 | } | 31 | } |
32 | + validation.MessageTmpls = constant.ValidationMessageTmpls | ||
30 | web.InsertFilter("/*", web.BeforeExec, filters.AllowCors()) | 33 | web.InsertFilter("/*", web.BeforeExec, filters.AllowCors()) |
31 | web.InsertFilter("/*", web.BeforeExec, filters.CreateRequstLogFilter(log.Logger)) | 34 | web.InsertFilter("/*", web.BeforeExec, filters.CreateRequstLogFilter(log.Logger)) |
32 | web.InsertFilter("/*", web.AfterExec, filters.CreateResponseLogFilter(log.Logger), web.WithReturnOnOutput(false)) | 35 | web.InsertFilter("/*", web.AfterExec, filters.CreateResponseLogFilter(log.Logger), web.WithReturnOnOutput(false)) |
-
请 注册 或 登录 后发表评论