正在显示
15 个修改的文件
包含
688 行增加
和
36 行删除
@@ -3,13 +3,9 @@ package command | @@ -3,13 +3,9 @@ package command | ||
3 | import "github.com/beego/beego/v2/core/validation" | 3 | import "github.com/beego/beego/v2/core/validation" |
4 | 4 | ||
5 | type DeleteRuleCommand struct { | 5 | type DeleteRuleCommand struct { |
6 | - CompanyId int64 `cname:"公司ID" json:"companyId"` | ||
7 | - Id int64 `cname:"规则ID" json:"id,string" valid:"Required"` | 6 | + Id int64 `cname:"规则ID" json:"id,string" valid:"Required"` |
8 | } | 7 | } |
9 | 8 | ||
10 | -func (in *DeleteRuleCommand) Valid(validation *validation.Validation) { | ||
11 | - if in.CompanyId == 0 { | ||
12 | - validation.SetError("companyId", "公司ID无效") | ||
13 | - return | ||
14 | - } | 9 | +func (in *DeleteRuleCommand) Valid(*validation.Validation) { |
10 | + | ||
15 | } | 11 | } |
@@ -7,6 +7,7 @@ import ( | @@ -7,6 +7,7 @@ import ( | ||
7 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/evaluation_rule/command" | 7 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/evaluation_rule/command" |
8 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" | 8 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" |
9 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" | 9 | "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" |
10 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/utils" | ||
10 | ) | 11 | ) |
11 | 12 | ||
12 | type EvaluationRuleService struct { | 13 | type EvaluationRuleService struct { |
@@ -98,6 +99,23 @@ func (rs *EvaluationRuleService) Update(in *command.UpdateRuleCommand) (interfac | @@ -98,6 +99,23 @@ func (rs *EvaluationRuleService) Update(in *command.UpdateRuleCommand) (interfac | ||
98 | return rule, nil | 99 | return rule, nil |
99 | } | 100 | } |
100 | 101 | ||
102 | +func (rs *EvaluationRuleService) Get(in *command.GetRuleCommand) (interface{}, error) { | ||
103 | + // Get 不需要事务 | ||
104 | + if err := utils.ValidateCommand(in); err != nil { | ||
105 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
106 | + } | ||
107 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
108 | + if err != nil { | ||
109 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
110 | + } | ||
111 | + ruleRepository := factory.CreateEvaluationRuleRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
112 | + rule, err := ruleRepository.FindOne(map[string]interface{}{"id": in.Id}) | ||
113 | + if err != nil { | ||
114 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
115 | + } | ||
116 | + return rule, nil | ||
117 | +} | ||
118 | + | ||
101 | func (rs *EvaluationRuleService) Remove(in *command.DeleteRuleCommand) (interface{}, error) { | 119 | func (rs *EvaluationRuleService) Remove(in *command.DeleteRuleCommand) (interface{}, error) { |
102 | transactionContext, err := factory.ValidateStartTransaction(in) | 120 | transactionContext, err := factory.ValidateStartTransaction(in) |
103 | if err != nil { | 121 | if err != nil { |
@@ -132,9 +150,26 @@ func (rs *EvaluationRuleService) List(in *command.QueryRuleCommand) (interface{} | @@ -132,9 +150,26 @@ func (rs *EvaluationRuleService) List(in *command.QueryRuleCommand) (interface{} | ||
132 | transactionContext.RollbackTransaction() | 150 | transactionContext.RollbackTransaction() |
133 | }() | 151 | }() |
134 | ruleRepository := factory.CreateEvaluationRuleRepository(map[string]interface{}{"transactionContext": transactionContext}) | 152 | ruleRepository := factory.CreateEvaluationRuleRepository(map[string]interface{}{"transactionContext": transactionContext}) |
153 | + // FIXME 总数量是否使用Count获取一个总数量 | ||
154 | + count, rules, err := ruleRepository.Find(tool_funs.SimpleStructToMap(in)) | ||
155 | + if err != nil { | ||
156 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
157 | + } | ||
158 | + return tool_funs.SimpleWrapGridMap(count, rules), nil | ||
159 | +} | ||
160 | + | ||
161 | +func (rs *EvaluationRuleService) ListRelCreator(in *command.QueryRuleCommand) (interface{}, error) { | ||
162 | + transactionContext, err := factory.StartTransaction() | ||
163 | + if err != nil { | ||
164 | + return nil, err | ||
165 | + } | ||
166 | + defer func() { | ||
167 | + transactionContext.RollbackTransaction() | ||
168 | + }() | ||
169 | + ruleRepository := factory.CreateEvaluationRuleRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
135 | userRepository := factory.CreateUserRepository(map[string]interface{}{"transactionContext": transactionContext}) | 170 | userRepository := factory.CreateUserRepository(map[string]interface{}{"transactionContext": transactionContext}) |
136 | 171 | ||
137 | - // Fixme 总数量是否使用Count获取一个总数量 | 172 | + // FIXME 总数量是否使用Count获取一个总数量 |
138 | count, rules, err := ruleRepository.Find(tool_funs.SimpleStructToMap(in)) | 173 | count, rules, err := ruleRepository.Find(tool_funs.SimpleStructToMap(in)) |
139 | if err != nil { | 174 | if err != nil { |
140 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 175 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
1 | +package command | ||
2 | + | ||
3 | +import ( | ||
4 | + "github.com/beego/beego/v2/core/validation" | ||
5 | +) | ||
6 | + | ||
7 | +type CreateTemplateCommand struct { | ||
8 | + CompanyId int64 `cname:"公司ID" json:"companyId"` | ||
9 | + CreatorId int64 `cname:"创建人ID" json:"creatorId"` | ||
10 | + Name string `cname:"模板名称" json:"name" valid:"Required"` | ||
11 | + Describe string `cname:"模板描述" json:"remark"` | ||
12 | +} | ||
13 | + | ||
14 | +func (in *CreateTemplateCommand) Valid(validation *validation.Validation) { | ||
15 | + if in.CompanyId == 0 { | ||
16 | + validation.SetError("companyId", "公司ID无效") | ||
17 | + return | ||
18 | + } | ||
19 | + if in.CreatorId == 0 { | ||
20 | + validation.SetError("creatorId", "创建人ID无效") | ||
21 | + return | ||
22 | + } | ||
23 | + | ||
24 | + if len(in.Name) > 40 { | ||
25 | + validation.SetError("name", "模板名称最大长度40个字符") | ||
26 | + return | ||
27 | + } | ||
28 | +} |
1 | +package command | ||
2 | + | ||
3 | +import ( | ||
4 | + "github.com/beego/beego/v2/core/validation" | ||
5 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" | ||
6 | +) | ||
7 | + | ||
8 | +type StateTemplateCommand struct { | ||
9 | + Id int64 `cname:"模板ID" json:"id,string" valid:"Required"` | ||
10 | + State int `cname:"模板状态" json:"state"` | ||
11 | +} | ||
12 | + | ||
13 | +type CopyTemplateCommand struct { | ||
14 | + Id int64 `cname:"模板ID" json:"id,string" valid:"Required"` | ||
15 | +} | ||
16 | + | ||
17 | +func (in *StateTemplateCommand) Valid(validation *validation.Validation) { | ||
18 | + switch in.State { | ||
19 | + case domain.TemplateStateWaitConfig, domain.TemplateStateWaitActive, domain.TemplateStateEnable, domain.TemplateStateDisable: | ||
20 | + default: | ||
21 | + validation.SetError("state", "状态设置错误") | ||
22 | + return | ||
23 | + } | ||
24 | +} | ||
25 | + | ||
26 | +func (in *CopyTemplateCommand) Valid(*validation.Validation) { | ||
27 | + | ||
28 | +} |
1 | +package command | ||
2 | + | ||
3 | +import "github.com/beego/beego/v2/core/validation" | ||
4 | + | ||
5 | +type QueryTemplateCommand struct { | ||
6 | + CompanyId int64 `cname:"公司ID" json:"companyId"` | ||
7 | + PageNumber int `cname:"分页页码" json:"pageNumber" valid:"Required"` | ||
8 | + PageSize int `cname:"分页数量" json:"pageSize" valid:"Required"` | ||
9 | +} | ||
10 | + | ||
11 | +func (in *QueryTemplateCommand) Valid(validation *validation.Validation) { | ||
12 | + if in.CompanyId == 0 { | ||
13 | + validation.SetError("companyId", "公司ID无效") | ||
14 | + return | ||
15 | + } | ||
16 | +} | ||
17 | + | ||
18 | +// AllEnableTemplateCommand 查询所有已启用的模板 | ||
19 | +type AllEnableTemplateCommand struct { | ||
20 | + CompanyId int64 `cname:"公司ID" json:"companyId"` | ||
21 | +} | ||
22 | + | ||
23 | +func (in *AllEnableTemplateCommand) Valid(validation *validation.Validation) { | ||
24 | + if in.CompanyId == 0 { | ||
25 | + validation.SetError("companyId", "公司ID无效") | ||
26 | + return | ||
27 | + } | ||
28 | +} |
1 | +package command | ||
2 | + | ||
3 | +import ( | ||
4 | + "github.com/beego/beego/v2/core/validation" | ||
5 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" | ||
6 | +) | ||
7 | + | ||
8 | +type UpdateTemplateCommand struct { | ||
9 | + Id int64 `cname:"模板ID" json:"id,string" valid:"Required"` | ||
10 | + CompanyId int64 `cname:"公司ID" json:"companyId"` | ||
11 | + CreatorId int64 `cname:"创建人ID" json:"creatorId"` | ||
12 | + Name string `cname:"模板名称" json:"name" valid:"Required"` | ||
13 | + Describe string `cname:"模板描述" json:"remark"` | ||
14 | + LinkNodes []domain.LinkNode `cname:"评估流程" json:"linkNodes"` | ||
15 | +} | ||
16 | + | ||
17 | +func (in *UpdateTemplateCommand) Valid(validation *validation.Validation) { | ||
18 | + if in.CompanyId == 0 { | ||
19 | + validation.SetError("companyId", "公司ID无效") | ||
20 | + return | ||
21 | + } | ||
22 | + if in.CreatorId == 0 { | ||
23 | + validation.SetError("creatorId", "创建人ID无效") | ||
24 | + return | ||
25 | + } | ||
26 | + | ||
27 | + if len(in.Name) > 40 { | ||
28 | + validation.SetError("name", "模板名称最大长度40个字符") | ||
29 | + return | ||
30 | + } | ||
31 | + | ||
32 | + if len(in.LinkNodes) == 0 { | ||
33 | + validation.SetError("linkNodes", "评估模板流程不能为空") | ||
34 | + return | ||
35 | + } | ||
36 | + | ||
37 | +} |
1 | +package service | ||
2 | + | ||
3 | +import ( | ||
4 | + "github.com/linmadan/egglib-go/core/application" | ||
5 | + "github.com/linmadan/egglib-go/utils/tool_funs" | ||
6 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/evaluation_template/command" | ||
7 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/factory" | ||
8 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/domain" | ||
9 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/utils" | ||
10 | +) | ||
11 | + | ||
12 | +type EvaluationTemplateService struct { | ||
13 | +} | ||
14 | + | ||
15 | +func NewEvaluationTemplateService() *EvaluationTemplateService { | ||
16 | + newRoleService := &EvaluationTemplateService{} | ||
17 | + return newRoleService | ||
18 | +} | ||
19 | + | ||
20 | +// Create 创建 | ||
21 | +func (rs *EvaluationTemplateService) Create(in *command.CreateTemplateCommand) (interface{}, error) { | ||
22 | + transactionContext, err := factory.ValidateStartTransaction(in) | ||
23 | + if err != nil { | ||
24 | + return nil, err | ||
25 | + } | ||
26 | + defer func() { | ||
27 | + transactionContext.RollbackTransaction() | ||
28 | + }() | ||
29 | + ruleRepository := factory.CreateEvaluationTemplateRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
30 | + | ||
31 | + // 检测名称重复 | ||
32 | + count, err := ruleRepository.Count(map[string]interface{}{"name": in.Name, "companyId": in.CompanyId}) | ||
33 | + if err != nil { | ||
34 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
35 | + } | ||
36 | + if count > 0 { | ||
37 | + return nil, application.ThrowError(application.BUSINESS_ERROR, "名称已存在") | ||
38 | + } | ||
39 | + | ||
40 | + linkNodes := make([]domain.LinkNode, 0) | ||
41 | + linkNodes = append(linkNodes, domain.LinkNode{ | ||
42 | + Type: domain.LinkNodeAssessment, | ||
43 | + Name: "填写自评反馈", | ||
44 | + KpiCycle: domain.KpiCycleDay, | ||
45 | + }) | ||
46 | + linkNodes = append(linkNodes, domain.LinkNode{ | ||
47 | + Type: domain.LinkNodeAllInvite, | ||
48 | + Name: "360°邀请", | ||
49 | + KpiCycle: domain.KpiCycleDay, | ||
50 | + }) | ||
51 | + linkNodes = append(linkNodes, domain.LinkNode{ | ||
52 | + Type: domain.LinkNodeAssessment, | ||
53 | + Name: "360°评估", | ||
54 | + KpiCycle: domain.KpiCycleDay, | ||
55 | + }) | ||
56 | + linkNodes = append(linkNodes, domain.LinkNode{ | ||
57 | + Type: domain.LinkNodeAssessment, | ||
58 | + Name: "上级评估", | ||
59 | + KpiCycle: domain.KpiCycleDay, | ||
60 | + }) | ||
61 | + linkNodes = append(linkNodes, domain.LinkNode{ | ||
62 | + Type: domain.LinkNodeViewResult, | ||
63 | + Name: "绩效结果查看", | ||
64 | + KpiCycle: domain.KpiCycleDay, | ||
65 | + }) | ||
66 | + | ||
67 | + newTemplate := &domain.EvaluationTemplate{ | ||
68 | + Id: 0, | ||
69 | + Name: in.Name, | ||
70 | + Describe: in.Describe, | ||
71 | + CompanyId: in.CompanyId, | ||
72 | + CreatorId: in.CreatorId, | ||
73 | + State: domain.TemplateStateWaitConfig, | ||
74 | + LinkNodes: linkNodes, | ||
75 | + } | ||
76 | + rule, err := ruleRepository.Insert(newTemplate) | ||
77 | + if err != nil { | ||
78 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
79 | + } | ||
80 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
81 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
82 | + } | ||
83 | + return rule, nil | ||
84 | + | ||
85 | +} | ||
86 | + | ||
87 | +func (rs *EvaluationTemplateService) Update(in *command.UpdateTemplateCommand) (interface{}, error) { | ||
88 | + transactionContext, err := factory.ValidateStartTransaction(in) | ||
89 | + if err != nil { | ||
90 | + return nil, err | ||
91 | + } | ||
92 | + defer func() { | ||
93 | + transactionContext.RollbackTransaction() | ||
94 | + }() | ||
95 | + | ||
96 | + templateRepository := factory.CreateEvaluationTemplateRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
97 | + | ||
98 | + // 检测名称重复(排除自己) | ||
99 | + count, err := templateRepository.Count(map[string]interface{}{"name": in.Name, "companyId": in.CompanyId, "notId": in.Id}) | ||
100 | + if err != nil { | ||
101 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
102 | + } | ||
103 | + if count > 0 { | ||
104 | + return nil, application.ThrowError(application.BUSINESS_ERROR, "名称已存在") | ||
105 | + } | ||
106 | + | ||
107 | + template, err := templateRepository.FindOne(map[string]interface{}{"id": in.Id}) | ||
108 | + if err != nil { | ||
109 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
110 | + } | ||
111 | + | ||
112 | + template.Name = in.Name | ||
113 | + template.Describe = in.Describe | ||
114 | + template.LinkNodes = in.LinkNodes | ||
115 | + | ||
116 | + template, err = templateRepository.Insert(template) | ||
117 | + if err != nil { | ||
118 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
119 | + } | ||
120 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
121 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
122 | + } | ||
123 | + return template, nil | ||
124 | +} | ||
125 | + | ||
126 | +func (rs *EvaluationTemplateService) Get(in *command.GetTemplateCommand) (interface{}, error) { | ||
127 | + // Get 不需要事务 | ||
128 | + if err := utils.ValidateCommand(in); err != nil { | ||
129 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
130 | + } | ||
131 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
132 | + if err != nil { | ||
133 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
134 | + } | ||
135 | + templateRepository := factory.CreateEvaluationTemplateRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
136 | + template, err := templateRepository.FindOne(map[string]interface{}{"id": in.Id}) | ||
137 | + if err != nil { | ||
138 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
139 | + } | ||
140 | + return template, nil | ||
141 | +} | ||
142 | + | ||
143 | +func (rs *EvaluationTemplateService) Remove(in *command.DeleteTemplateCommand) (interface{}, error) { | ||
144 | + transactionContext, err := factory.ValidateStartTransaction(in) | ||
145 | + if err != nil { | ||
146 | + return nil, err | ||
147 | + } | ||
148 | + defer func() { | ||
149 | + transactionContext.RollbackTransaction() | ||
150 | + }() | ||
151 | + | ||
152 | + templateRepository := factory.CreateEvaluationTemplateRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
153 | + | ||
154 | + template, err := templateRepository.FindOne(map[string]interface{}{"id": in.Id}) | ||
155 | + if err != nil { | ||
156 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
157 | + } | ||
158 | + if _, err := templateRepository.Remove(template); err != nil { | ||
159 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
160 | + } | ||
161 | + | ||
162 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
163 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
164 | + } | ||
165 | + return template, nil | ||
166 | +} | ||
167 | + | ||
168 | +func (rs *EvaluationTemplateService) List(in *command.QueryTemplateCommand) (interface{}, error) { | ||
169 | + transactionContext, err := factory.StartTransaction() | ||
170 | + if err != nil { | ||
171 | + return nil, err | ||
172 | + } | ||
173 | + defer func() { | ||
174 | + transactionContext.RollbackTransaction() | ||
175 | + }() | ||
176 | + templateRepository := factory.CreateEvaluationTemplateRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
177 | + // FIXME 总数量是否使用Count获取一个总数量 | ||
178 | + count, templates, err := templateRepository.Find(tool_funs.SimpleStructToMap(in), true) | ||
179 | + if err != nil { | ||
180 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
181 | + } | ||
182 | + return tool_funs.SimpleWrapGridMap(count, templates), nil | ||
183 | +} | ||
184 | + | ||
185 | +func (rs *EvaluationTemplateService) ListForEnable(in *command.AllEnableTemplateCommand) (interface{}, error) { | ||
186 | + transactionContext, err := factory.StartTransaction() | ||
187 | + if err != nil { | ||
188 | + return nil, err | ||
189 | + } | ||
190 | + defer func() { | ||
191 | + transactionContext.RollbackTransaction() | ||
192 | + }() | ||
193 | + templateRepository := factory.CreateEvaluationTemplateRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
194 | + | ||
195 | + count, templates, err := templateRepository.Find(map[string]interface{}{ | ||
196 | + "companyId": in.CompanyId, | ||
197 | + "state": domain.TemplateStateEnable, | ||
198 | + "offset": 0, | ||
199 | + "limit": 9999999, | ||
200 | + }, true) | ||
201 | + if err != nil { | ||
202 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
203 | + } | ||
204 | + return tool_funs.SimpleWrapGridMap(count, templates), nil | ||
205 | +} | ||
206 | + | ||
207 | +func (rs *EvaluationTemplateService) State(in *command.StateTemplateCommand) (interface{}, error) { | ||
208 | + transactionContext, err := factory.ValidateStartTransaction(in) | ||
209 | + if err != nil { | ||
210 | + return nil, err | ||
211 | + } | ||
212 | + defer func() { | ||
213 | + transactionContext.RollbackTransaction() | ||
214 | + }() | ||
215 | + | ||
216 | + templateRepository := factory.CreateEvaluationTemplateRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
217 | + | ||
218 | + template, err := templateRepository.FindOne(map[string]interface{}{"id": in.Id}) | ||
219 | + if err != nil { | ||
220 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
221 | + } | ||
222 | + | ||
223 | + template.State = in.State | ||
224 | + template, err = templateRepository.Insert(template) | ||
225 | + if err != nil { | ||
226 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
227 | + } | ||
228 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
229 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
230 | + } | ||
231 | + return template, nil | ||
232 | +} | ||
233 | + | ||
234 | +func (rs *EvaluationTemplateService) Copy(in *command.CopyTemplateCommand) (interface{}, error) { | ||
235 | + transactionContext, err := factory.ValidateStartTransaction(in) | ||
236 | + if err != nil { | ||
237 | + return nil, err | ||
238 | + } | ||
239 | + defer func() { | ||
240 | + transactionContext.RollbackTransaction() | ||
241 | + }() | ||
242 | + templateRepository := factory.CreateEvaluationTemplateRepository(map[string]interface{}{"transactionContext": transactionContext}) | ||
243 | + template, err := templateRepository.FindOne(map[string]interface{}{"id": in.Id}) | ||
244 | + if err != nil { | ||
245 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
246 | + } | ||
247 | + // ID重置 | ||
248 | + template.Id = 0 | ||
249 | + // 如果拷贝已经启用的模板,默认先设置为待启用 | ||
250 | + if template.State == domain.TemplateStateEnable { | ||
251 | + template.State = domain.TemplateStateWaitActive | ||
252 | + } | ||
253 | + template, err = templateRepository.Insert(template) | ||
254 | + if err != nil { | ||
255 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
256 | + } | ||
257 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
258 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
259 | + } | ||
260 | + return template, nil | ||
261 | +} |
@@ -12,11 +12,16 @@ const ( | @@ -12,11 +12,16 @@ const ( | ||
12 | ) | 12 | ) |
13 | 13 | ||
14 | const ( | 14 | const ( |
15 | - LinkNodeSelfAssessment int = 1 // 环节-填写反馈自评 | ||
16 | - LinkNodeAllInvite int = 2 // 环节-360°邀请 | ||
17 | - LinkNodeAllAssessment int = 3 // 环节-360°评估 | ||
18 | - LinkNodeSuperiorAssessment int = 4 // 环节-上级评估 | ||
19 | - LinkNodeViewResult int = 5 // 环节-绩效结果查看 | 15 | + //LinkNodeSelfAssessment int = 1 // 环节-填写反馈自评 |
16 | + //LinkNodeAllInvite int = 2 // 环节-360°邀请 | ||
17 | + //LinkNodeAllAssessment int = 3 // 环节-360°评估 | ||
18 | + //LinkNodeSuperiorAssessment int = 4 // 环节-上级评估 | ||
19 | + //LinkNodeViewResult int = 5 // 环节-绩效结果查看 | ||
20 | + | ||
21 | + LinkNodeAssessment int = 1 // 环节-评估(自评、360°评估、上级评估) | ||
22 | + LinkNodeAllInvite int = 2 // 环节-360°邀请 | ||
23 | + LinkNodeViewResult int = 3 // 环节-绩效结果查看 | ||
24 | + | ||
20 | ) | 25 | ) |
21 | 26 | ||
22 | const ( | 27 | const ( |
@@ -30,7 +35,8 @@ type EntryItem struct { | @@ -30,7 +35,8 @@ type EntryItem struct { | ||
30 | HintText string `json:"hintText" comment:"文本内容提示"` | 35 | HintText string `json:"hintText" comment:"文本内容提示"` |
31 | } | 36 | } |
32 | 37 | ||
33 | -type EvaluationContent struct { | 38 | +// NodeContent 评估内容 |
39 | +type NodeContent struct { | ||
34 | Category string `json:"category" comment:"类别"` | 40 | Category string `json:"category" comment:"类别"` |
35 | Name string `json:"name" comment:"名称"` | 41 | Name string `json:"name" comment:"名称"` |
36 | RuleId int64 `json:"ruleId" comment:"评估规则ID"` | 42 | RuleId int64 `json:"ruleId" comment:"评估规则ID"` |
@@ -39,23 +45,25 @@ type EvaluationContent struct { | @@ -39,23 +45,25 @@ type EvaluationContent struct { | ||
39 | EntryItems []EntryItem `json:"entryItems" comment:"填写项"` | 45 | EntryItems []EntryItem `json:"entryItems" comment:"填写项"` |
40 | } | 46 | } |
41 | 47 | ||
42 | -type LinkNode struct { | ||
43 | - Type int `json:"type" comment:"环节类型(1~5)"` | ||
44 | - Name string `json:"name" comment:"环节名称"` | ||
45 | - Describe string `json:"describe" comment:"环节描述"` | ||
46 | - EvaluationContents []EvaluationContent `json:"evaluationContents" comment:"环节评估内容"` | ||
47 | - TimeStart *time.Time `json:"timeStart" comment:"起始时间"` | ||
48 | - TimeEnd *time.Time `json:"timeEnd" comment:"截至时间"` | ||
49 | - KpiCycle int `json:"state" comment:"考核周期(0日、1周、2月)"` | 48 | +// NodeAllInvite 360°邀请 |
49 | +type NodeAllInvite struct { | ||
50 | } | 50 | } |
51 | 51 | ||
52 | -//type EvaluationLink struct { | ||
53 | -// NodeSelfAssessment *LinkNode `json:"nodeSelfAssessment" comment:"填写反馈自评"` | ||
54 | -// NodeAllInvite *LinkNode `json:"nodeAllInvite" comment:"360°邀请"` | ||
55 | -// NodeAllAssessment *LinkNode `json:"nodeAllAssessment" comment:"360°评估"` | ||
56 | -// NodeSuperiorAssessment *LinkNode `json:"nodeSuperiorAssessment" comment:"上级评估"` | ||
57 | -// NodeViewResult *LinkNode `json:"nodeViewResult" comment:"绩效结果查看"` | ||
58 | -//} | 52 | +// NodeKpiResult 绩效结果查看 |
53 | +type NodeKpiResult struct { | ||
54 | +} | ||
55 | + | ||
56 | +type LinkNode struct { | ||
57 | + Type int `json:"type" comment:"环节类型(1评估、2邀请、3绩效结果)"` | ||
58 | + Name string `json:"name" comment:"环节名称"` | ||
59 | + Describe string `json:"describe" comment:"环节描述"` | ||
60 | + NodeContents []NodeContent `json:"nodeContents" comment:"环节-评估内容"` | ||
61 | + NodeAllInvite *NodeAllInvite `json:"nodeAllInvite" comment:"环节-360°邀请"` | ||
62 | + NodeKpiResult *NodeKpiResult `json:"nodeKpiResult" comment:"环节-绩效结果"` | ||
63 | + TimeStart *time.Time `json:"timeStart" comment:"起始时间"` | ||
64 | + TimeEnd *time.Time `json:"timeEnd" comment:"截至时间"` | ||
65 | + KpiCycle int `json:"state" comment:"考核周期(0日、1周、2月)"` | ||
66 | +} | ||
59 | 67 | ||
60 | type EvaluationTemplate struct { | 68 | type EvaluationTemplate struct { |
61 | Id int64 `json:"id,string" comment:"ID"` | 69 | Id int64 `json:"id,string" comment:"ID"` |
@@ -64,17 +72,24 @@ type EvaluationTemplate struct { | @@ -64,17 +72,24 @@ type EvaluationTemplate struct { | ||
64 | CompanyId int64 `json:"companyId,string" comment:"公司ID"` | 72 | CompanyId int64 `json:"companyId,string" comment:"公司ID"` |
65 | CreatorId int64 `json:"creatorId,string" comment:"创建人ID"` | 73 | CreatorId int64 `json:"creatorId,string" comment:"创建人ID"` |
66 | State int `json:"state" comment:"状态(0待完成配置、1待启用、2启用、3停用)"` | 74 | State int `json:"state" comment:"状态(0待完成配置、1待启用、2启用、3停用)"` |
67 | - Link []LinkNode `json:"links" comment:"评估流程"` | 75 | + LinkNodes []LinkNode `json:"linkNodes" comment:"评估流程"` |
68 | CreatedAt time.Time `json:"createdAt" comment:"创建时间"` | 76 | CreatedAt time.Time `json:"createdAt" comment:"创建时间"` |
69 | UpdatedAt time.Time `json:"updatedAt" comment:"更新时间"` | 77 | UpdatedAt time.Time `json:"updatedAt" comment:"更新时间"` |
70 | DeletedAt *time.Time `json:"deletedAt" comment:"删除时间"` | 78 | DeletedAt *time.Time `json:"deletedAt" comment:"删除时间"` |
71 | - //Link EvaluationLink `json:"link" comment:"评估流程"` | ||
72 | } | 79 | } |
73 | 80 | ||
81 | +//type EvaluationLink struct { | ||
82 | +// NodeSelfAssessment *LinkNode `json:"nodeSelfAssessment" comment:"填写反馈自评"` | ||
83 | +// NodeAllInvite *LinkNode `json:"nodeAllInvite" comment:"360°邀请"` | ||
84 | +// NodeAllAssessment *LinkNode `json:"nodeAllAssessment" comment:"360°评估"` | ||
85 | +// NodeSuperiorAssessment *LinkNode `json:"nodeSuperiorAssessment" comment:"上级评估"` | ||
86 | +// NodeViewResult *LinkNode `json:"nodeViewResult" comment:"绩效结果查看"` | ||
87 | +//} | ||
88 | + | ||
74 | type EvaluationTemplateRepository interface { | 89 | type EvaluationTemplateRepository interface { |
75 | Insert(template *EvaluationTemplate) (*EvaluationTemplate, error) | 90 | Insert(template *EvaluationTemplate) (*EvaluationTemplate, error) |
76 | Remove(template *EvaluationTemplate) (*EvaluationTemplate, error) | 91 | Remove(template *EvaluationTemplate) (*EvaluationTemplate, error) |
77 | FindOne(queryOptions map[string]interface{}) (*EvaluationTemplate, error) | 92 | FindOne(queryOptions map[string]interface{}) (*EvaluationTemplate, error) |
78 | - Find(queryOptions map[string]interface{}) (int64, []*EvaluationTemplate, error) | 93 | + Find(queryOptions map[string]interface{}, simplify bool) (int64, []*EvaluationTemplate, error) |
79 | Count(queryOptions map[string]interface{}) (int64, error) | 94 | Count(queryOptions map[string]interface{}) (int64, error) |
80 | } | 95 | } |
@@ -13,7 +13,7 @@ type EvaluationTemplate struct { | @@ -13,7 +13,7 @@ type EvaluationTemplate struct { | ||
13 | CompanyId int64 `comment:"公司ID"` | 13 | CompanyId int64 `comment:"公司ID"` |
14 | CreatorId int64 `comment:"创建人ID"` | 14 | CreatorId int64 `comment:"创建人ID"` |
15 | State int `comment:"状态(0待完成配置、1待启用、2启用、3停用)"` | 15 | State int `comment:"状态(0待完成配置、1待启用、2启用、3停用)"` |
16 | - Link []domain.LinkNode `comment:"评估流程"` | 16 | + LinkNodes []domain.LinkNode `comment:"评估流程"` |
17 | CreatedAt time.Time `comment:"创建时间"` | 17 | CreatedAt time.Time `comment:"创建时间"` |
18 | UpdatedAt time.Time `comment:"更新时间"` | 18 | UpdatedAt time.Time `comment:"更新时间"` |
19 | DeletedAt *time.Time `comment:"删除时间"` | 19 | DeletedAt *time.Time `comment:"删除时间"` |
@@ -28,7 +28,7 @@ func (repo *EvaluationTemplateRepository) TransformToDomain(m *models.Evaluation | @@ -28,7 +28,7 @@ func (repo *EvaluationTemplateRepository) TransformToDomain(m *models.Evaluation | ||
28 | CompanyId: m.CompanyId, | 28 | CompanyId: m.CompanyId, |
29 | CreatorId: m.CreatorId, | 29 | CreatorId: m.CreatorId, |
30 | State: m.State, | 30 | State: m.State, |
31 | - Link: m.Link, | 31 | + LinkNodes: m.LinkNodes, |
32 | CreatedAt: m.CreatedAt, | 32 | CreatedAt: m.CreatedAt, |
33 | UpdatedAt: m.UpdatedAt, | 33 | UpdatedAt: m.UpdatedAt, |
34 | DeletedAt: m.DeletedAt, | 34 | DeletedAt: m.DeletedAt, |
@@ -43,7 +43,7 @@ func (repo *EvaluationTemplateRepository) TransformToModel(d *domain.EvaluationT | @@ -43,7 +43,7 @@ func (repo *EvaluationTemplateRepository) TransformToModel(d *domain.EvaluationT | ||
43 | CompanyId: d.CompanyId, | 43 | CompanyId: d.CompanyId, |
44 | CreatorId: d.CreatorId, | 44 | CreatorId: d.CreatorId, |
45 | State: d.State, | 45 | State: d.State, |
46 | - Link: d.Link, | 46 | + LinkNodes: d.LinkNodes, |
47 | CreatedAt: d.CreatedAt, | 47 | CreatedAt: d.CreatedAt, |
48 | UpdatedAt: d.UpdatedAt, | 48 | UpdatedAt: d.UpdatedAt, |
49 | DeletedAt: d.DeletedAt, | 49 | DeletedAt: d.DeletedAt, |
@@ -112,7 +112,7 @@ func (repo *EvaluationTemplateRepository) FindOne(queryOptions map[string]interf | @@ -112,7 +112,7 @@ func (repo *EvaluationTemplateRepository) FindOne(queryOptions map[string]interf | ||
112 | return &u, nil | 112 | return &u, nil |
113 | } | 113 | } |
114 | 114 | ||
115 | -func (repo *EvaluationTemplateRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.EvaluationTemplate, error) { | 115 | +func (repo *EvaluationTemplateRepository) Find(queryOptions map[string]interface{}, simplify bool) (int64, []*domain.EvaluationTemplate, error) { |
116 | tx := repo.transactionContext.PgTx | 116 | tx := repo.transactionContext.PgTx |
117 | var m []*models.EvaluationTemplate | 117 | var m []*models.EvaluationTemplate |
118 | query := tx.Model(&m). | 118 | query := tx.Model(&m). |
@@ -127,6 +127,10 @@ func (repo *EvaluationTemplateRepository) Find(queryOptions map[string]interface | @@ -127,6 +127,10 @@ func (repo *EvaluationTemplateRepository) Find(queryOptions map[string]interface | ||
127 | query.Where("company_id = ?", companyId) | 127 | query.Where("company_id = ?", companyId) |
128 | } | 128 | } |
129 | 129 | ||
130 | + if state, ok := queryOptions["state"]; ok { | ||
131 | + query.Where("state = ?", state) | ||
132 | + } | ||
133 | + | ||
130 | if v, ok := queryOptions["limit"].(int); ok { | 134 | if v, ok := queryOptions["limit"].(int); ok { |
131 | query.Limit(v) | 135 | query.Limit(v) |
132 | } | 136 | } |
@@ -141,6 +145,9 @@ func (repo *EvaluationTemplateRepository) Find(queryOptions map[string]interface | @@ -141,6 +145,9 @@ func (repo *EvaluationTemplateRepository) Find(queryOptions map[string]interface | ||
141 | var arrays []*domain.EvaluationTemplate | 145 | var arrays []*domain.EvaluationTemplate |
142 | for _, v := range m { | 146 | for _, v := range m { |
143 | d := repo.TransformToDomain(v) | 147 | d := repo.TransformToDomain(v) |
148 | + if simplify { // 去掉流程数据避免数据量过大 | ||
149 | + d.LinkNodes = make([]domain.LinkNode, 0) | ||
150 | + } | ||
144 | arrays = append(arrays, &d) | 151 | arrays = append(arrays, &d) |
145 | } | 152 | } |
146 | return int64(count), arrays, nil | 153 | return int64(count), arrays, nil |
@@ -168,6 +175,10 @@ func (repo *EvaluationTemplateRepository) Count(queryOptions map[string]interfac | @@ -168,6 +175,10 @@ func (repo *EvaluationTemplateRepository) Count(queryOptions map[string]interfac | ||
168 | query.Where("company_id = ?", companyId) | 175 | query.Where("company_id = ?", companyId) |
169 | } | 176 | } |
170 | 177 | ||
178 | + if state, ok := queryOptions["state"]; ok { | ||
179 | + query.Where("state = ?", state) | ||
180 | + } | ||
181 | + | ||
171 | count, err := query.Count() | 182 | count, err := query.Count() |
172 | if err != nil { | 183 | if err != nil { |
173 | return 0, err | 184 | return 0, err |
1 | +package controllers | ||
2 | + | ||
3 | +import ( | ||
4 | + "github.com/linmadan/egglib-go/core/application" | ||
5 | + "github.com/linmadan/egglib-go/web/beego" | ||
6 | + service "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/evaluation_rule" | ||
7 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/evaluation_rule/command" | ||
8 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/port/beego/middlewares" | ||
9 | +) | ||
10 | + | ||
11 | +type RuleController struct { | ||
12 | + beego.BaseController | ||
13 | +} | ||
14 | + | ||
15 | +func (controller *RoleController) CreateRule() { | ||
16 | + ruService := service.NewEvaluationRuleService() | ||
17 | + in := &command.CreateRuleCommand{} | ||
18 | + if err := controller.Unmarshal(in); err != nil { | ||
19 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
20 | + } else { | ||
21 | + in.CompanyId = middlewares.GetCompanyId(controller.Ctx) | ||
22 | + in.CreatorId = middlewares.GetUserId(controller.Ctx) | ||
23 | + controller.Response(ruService.Create(in)) | ||
24 | + } | ||
25 | +} | ||
26 | + | ||
27 | +func (controller *RuleController) UpdateRule() { | ||
28 | + ruService := service.NewEvaluationRuleService() | ||
29 | + in := &command.UpdateRuleCommand{} | ||
30 | + if err := controller.Unmarshal(in); err != nil { | ||
31 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
32 | + } else { | ||
33 | + in.CompanyId = middlewares.GetCompanyId(controller.Ctx) | ||
34 | + in.CreatorId = middlewares.GetUserId(controller.Ctx) | ||
35 | + controller.Response(ruService.Update(in)) | ||
36 | + } | ||
37 | +} | ||
38 | + | ||
39 | +func (controller *RuleController) GetRule() { | ||
40 | + ruService := service.NewEvaluationRuleService() | ||
41 | + in := &command.GetRuleCommand{} | ||
42 | + if id, err := controller.GetInt64(":Id"); err != nil { | ||
43 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
44 | + } else { | ||
45 | + in.Id = id | ||
46 | + controller.Response(ruService.Get(in)) | ||
47 | + } | ||
48 | +} | ||
49 | + | ||
50 | +func (controller *RuleController) RemoveRule() { | ||
51 | + ruService := service.NewEvaluationRuleService() | ||
52 | + in := &command.DeleteRuleCommand{} | ||
53 | + if err := controller.Unmarshal(in); err != nil { | ||
54 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
55 | + } else { | ||
56 | + controller.Response(ruService.Remove(in)) | ||
57 | + } | ||
58 | +} | ||
59 | + | ||
60 | +func (controller *RuleController) ListRule() { | ||
61 | + ruService := service.NewEvaluationRuleService() | ||
62 | + in := &command.QueryRuleCommand{} | ||
63 | + if err := controller.Unmarshal(in); err != nil { | ||
64 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
65 | + } else { | ||
66 | + in.CompanyId = middlewares.GetCompanyId(controller.Ctx) | ||
67 | + controller.Response(ruService.List(in)) | ||
68 | + } | ||
69 | +} | ||
70 | + | ||
71 | +func (controller *RuleController) ListRuleRelCreator() { | ||
72 | + ruService := service.NewEvaluationRuleService() | ||
73 | + in := &command.QueryRuleCommand{} | ||
74 | + if err := controller.Unmarshal(in); err != nil { | ||
75 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
76 | + } else { | ||
77 | + in.CompanyId = middlewares.GetCompanyId(controller.Ctx) | ||
78 | + controller.Response(ruService.ListRelCreator(in)) | ||
79 | + } | ||
80 | +} |
1 | +package controllers | ||
2 | + | ||
3 | +import ( | ||
4 | + "github.com/linmadan/egglib-go/core/application" | ||
5 | + "github.com/linmadan/egglib-go/web/beego" | ||
6 | + service "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/evaluation_template" | ||
7 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/application/evaluation_template/command" | ||
8 | + "gitlab.fjmaimaimai.com/allied-creation/performance/pkg/port/beego/middlewares" | ||
9 | +) | ||
10 | + | ||
11 | +type TemplateController struct { | ||
12 | + beego.BaseController | ||
13 | +} | ||
14 | + | ||
15 | +func (controller *RoleController) CreateTemplate() { | ||
16 | + ruService := service.NewEvaluationTemplateService() | ||
17 | + in := &command.CreateTemplateCommand{} | ||
18 | + if err := controller.Unmarshal(in); err != nil { | ||
19 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
20 | + } else { | ||
21 | + in.CompanyId = middlewares.GetCompanyId(controller.Ctx) | ||
22 | + in.CreatorId = middlewares.GetUserId(controller.Ctx) | ||
23 | + controller.Response(ruService.Create(in)) | ||
24 | + } | ||
25 | +} | ||
26 | + | ||
27 | +func (controller *TemplateController) UpdateTemplate() { | ||
28 | + ruService := service.NewEvaluationTemplateService() | ||
29 | + in := &command.UpdateTemplateCommand{} | ||
30 | + if err := controller.Unmarshal(in); err != nil { | ||
31 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
32 | + } else { | ||
33 | + in.CompanyId = middlewares.GetCompanyId(controller.Ctx) | ||
34 | + in.CreatorId = middlewares.GetUserId(controller.Ctx) | ||
35 | + controller.Response(ruService.Update(in)) | ||
36 | + } | ||
37 | +} | ||
38 | + | ||
39 | +func (controller *TemplateController) GetTemplate() { | ||
40 | + ruService := service.NewEvaluationTemplateService() | ||
41 | + in := &command.GetTemplateCommand{} | ||
42 | + if id, err := controller.GetInt64(":Id"); err != nil { | ||
43 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
44 | + } else { | ||
45 | + in.Id = id | ||
46 | + controller.Response(ruService.Get(in)) | ||
47 | + } | ||
48 | +} | ||
49 | + | ||
50 | +func (controller *TemplateController) RemoveTemplate() { | ||
51 | + ruService := service.NewEvaluationTemplateService() | ||
52 | + in := &command.DeleteTemplateCommand{} | ||
53 | + if err := controller.Unmarshal(in); err != nil { | ||
54 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
55 | + } else { | ||
56 | + controller.Response(ruService.Remove(in)) | ||
57 | + } | ||
58 | +} | ||
59 | + | ||
60 | +func (controller *TemplateController) ListTemplate() { | ||
61 | + ruService := service.NewEvaluationTemplateService() | ||
62 | + in := &command.QueryTemplateCommand{} | ||
63 | + if err := controller.Unmarshal(in); err != nil { | ||
64 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
65 | + } else { | ||
66 | + in.CompanyId = middlewares.GetCompanyId(controller.Ctx) | ||
67 | + controller.Response(ruService.List(in)) | ||
68 | + } | ||
69 | +} | ||
70 | + | ||
71 | +func (controller *TemplateController) ListEnableTemplate() { | ||
72 | + ruService := service.NewEvaluationTemplateService() | ||
73 | + in := &command.AllEnableTemplateCommand{} | ||
74 | + if err := controller.Unmarshal(in); err != nil { | ||
75 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
76 | + } else { | ||
77 | + in.CompanyId = middlewares.GetCompanyId(controller.Ctx) | ||
78 | + controller.Response(ruService.ListForEnable(in)) | ||
79 | + } | ||
80 | +} | ||
81 | + | ||
82 | +func (controller *TemplateController) StateTemplate() { | ||
83 | + ruService := service.NewEvaluationTemplateService() | ||
84 | + in := &command.StateTemplateCommand{} | ||
85 | + if err := controller.Unmarshal(in); err != nil { | ||
86 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
87 | + } else { | ||
88 | + controller.Response(ruService.State(in)) | ||
89 | + } | ||
90 | +} | ||
91 | + | ||
92 | +func (controller *TemplateController) CopyTemplate() { | ||
93 | + ruService := service.NewEvaluationTemplateService() | ||
94 | + in := &command.CopyTemplateCommand{} | ||
95 | + if err := controller.Unmarshal(in); err != nil { | ||
96 | + controller.Response(nil, application.ThrowError(application.ARG_ERROR, err.Error())) | ||
97 | + } else { | ||
98 | + controller.Response(ruService.Copy(in)) | ||
99 | + } | ||
100 | +} |
-
请 注册 或 登录 后发表评论