do_project_module.go
1.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package domain
import "time"
const (
StatusNormal = iota + 1
StatusDelete
)
// ProjectModule
type ProjectModule struct {
// 唯一标识
Id int64 `json:"id"`
// 项目名称
ProjectName string `json:"projectName"`
// 项目唯一键值
ProjectKey string `json:"projectKey"`
// 项目描述信息
Description string `json:"description"`
// 状态 1:正常 2:删除
Status int `json:"status"`
// 创建时间
CreateTime time.Time `json:"createTime"`
// 更新时间
UpdateTime time.Time `json:"updateTime"`
ProjectModuleVersion []*ProjectModuleVersion `json:"versions"`
}
type ProjectModuleRepository interface {
Save(dm *ProjectModule) (*ProjectModule, error)
Remove(dm *ProjectModule) (*ProjectModule, error)
FindOne(queryOptions map[string]interface{}) (*ProjectModule, error)
Find(queryOptions map[string]interface{}) (int64, []*ProjectModule, error)
}
func (m *ProjectModule) Identify() interface{} {
if m.Id == 0 {
return nil
}
return m.Id
}
func (m *ProjectModule) Update(data map[string]interface{}) error {
if projectName, ok := data["projectName"]; ok {
m.ProjectName = projectName.(string)
}
if projectKey, ok := data["projectKey"]; ok {
m.ProjectKey = projectKey.(string)
}
if description, ok := data["description"]; ok {
m.Description = description.(string)
}
if status, ok := data["status"]; ok {
m.Status = status.(int)
}
m.UpdateTime = time.Now()
return nil
}