正在显示
3 个修改的文件
包含
53 行增加
和
5 行删除
@@ -4,9 +4,12 @@ | @@ -4,9 +4,12 @@ | ||
4 | - 基于REST Full的微服务架构 | 4 | - 基于REST Full的微服务架构 |
5 | 5 | ||
6 | ## 代码仓库及相关文档 | 6 | ## 代码仓库及相关文档 |
7 | -- [仓库地址](http://gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation.git) | ||
8 | -- [项目原型svn](svn://220.250.41.79/repo/标准产品文件) | 7 | +- [代码仓库地址](http://gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation.git) |
8 | +- [DSL文件仓库地址](http://gitlab.fjmaimaimai.com/allied-creation/document) | ||
9 | +- [标准产品文件svn](svn://220.250.41.79/repo/标准产品文件) | ||
9 | - [天联共创API(APP)](http://47.97.5.102:36666/project/342/interface/api) | 10 | - [天联共创API(APP)](http://47.97.5.102:36666/project/342/interface/api) |
11 | +- [APP端原型地址](https://9cnuol.axshare.com/) | ||
12 | +- [WEB端原型地址](https://eq4yc2.axshare.com/) | ||
10 | 13 | ||
11 | ## 项目规范 | 14 | ## 项目规范 |
12 | - 领域描述语言文档位置:document/allied-creation-cooperation/ | 15 | - 领域描述语言文档位置:document/allied-creation-cooperation/ |
@@ -89,6 +92,8 @@ | @@ -89,6 +92,8 @@ | ||
89 | 92 | ||
90 | ### DTO模块开发 | 93 | ### DTO模块开发 |
91 | 94 | ||
95 | +### REST集成限界上下文 | ||
96 | + | ||
92 | ## 标准产品组工具使用 | 97 | ## 标准产品组工具使用 |
93 | - 设置全局变量(替换YOUR-USER-PATH为你真实的项目路径) | 98 | - 设置全局变量(替换YOUR-USER-PATH为你真实的项目路径) |
94 | 99 | ||
@@ -122,12 +127,12 @@ | @@ -122,12 +127,12 @@ | ||
122 | 127 | ||
123 | 5.生成Http协议接口 | 128 | 5.生成Http协议接口 |
124 | 129 | ||
125 | -- Tips | 130 | +- 调试技巧 |
126 | 131 | ||
127 | 1.代码生成器服务端500错误调试技巧 | 132 | 1.代码生成器服务端500错误调试技巧 |
128 | 133 | ||
129 | - 在任务管理其中关闭由标准化平台带起的eggcode.exe,在命令行通过命令eggcode.exe http -p 9099启动生成器服务,这样就可以打印出生成器500错误的具体信息,关键还是在编写dsl时要细心,不需要的配置整体删干净,需要的配置写完整,注意属性名不要和golang的关键字或者保留字冲突,例如:type、no | 134 | + 在任务管理其中关闭由标准化平台启动的eggcode.exe(需要debug版本才能查看日志),在命令行通过命令eggcode.exe http -p 9099启动生成器服务,这样就可以打印出生成器500错误的具体信息,关键还是在编写dsl时要细心,不需要的配置整体删干净,需要的配置写完整,注意属性名不要和golang的关键字或者保留字冲突,例如:type、no |
130 | 135 | ||
131 | - 2.集成调试技巧 | 136 | + 2.集成测试技巧 |
132 | 137 | ||
133 | Describe前面添加F可以针对当前用例进行测试,同样的It前面增加F也可以针对一个Describe中的不同IT进行测试,F的意思为Focus,另外还有其他标记如:P(Pending) or X,详情 [参考](https://onsi.github.io/ginkgo/) Ginkgo官方文档The Spec Runner章节 | 138 | Describe前面添加F可以针对当前用例进行测试,同样的It前面增加F也可以针对一个Describe中的不同IT进行测试,F的意思为Focus,另外还有其他标记如:P(Pending) or X,详情 [参考](https://onsi.github.io/ginkgo/) Ginkgo官方文档The Spec Runner章节 |
@@ -23,3 +23,10 @@ type User struct { | @@ -23,3 +23,10 @@ type User struct { | ||
23 | // 用户关联公司信息 | 23 | // 用户关联公司信息 |
24 | Company *Company `json:"company"` | 24 | Company *Company `json:"company"` |
25 | } | 25 | } |
26 | + | ||
27 | +type UserService interface { | ||
28 | + ReferrerFrom(user *User) (*Referrer, error) | ||
29 | + UndertakerFrom(user *User) (*Undertaker, error) | ||
30 | + RelevantFrom(user *User) (*Relevant, error) | ||
31 | + SalesmanFrom(user *User) (*Salesman, error) | ||
32 | +} |
@@ -217,9 +217,45 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | @@ -217,9 +217,45 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | ||
217 | return cooperationContract, err | 217 | return cooperationContract, err |
218 | } else { | 218 | } else { |
219 | //TODO 更新相关人 | 219 | //TODO 更新相关人 |
220 | + // 获取相关人列表 | ||
221 | + var cooperationContractRelevantModels []*models.CooperationContractRelevant | ||
222 | + cooperationContractRelevantQuery := tx.Model(&cooperationContractRelevantModels) | ||
223 | + if err := cooperationContractRelevantQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil { | ||
224 | + return nil, err | ||
225 | + } | ||
226 | + var cooperationContractRelevantModelsUpdate []*models.CooperationContractRelevant // 待更新的相关人 | ||
227 | + var cooperationContractRelevantModelsDelete []*models.CooperationContractRelevant // 待删除的相关人 | ||
228 | + var cooperationContractRelevantModelsCreate []*models.CooperationContractRelevant // 待增加的相关人 | ||
229 | + | ||
230 | + for _, cooperationContractRelevantModels := range cooperationContractRelevantModels { | ||
231 | + for _, cooperationContractRelevantDomain := range cooperationContract.RelevantPeople { | ||
232 | + | ||
233 | + } | ||
234 | + } | ||
235 | + | ||
220 | //TODO 更新承接人 | 236 | //TODO 更新承接人 |
237 | + // 获取承接人列表 | ||
238 | + var cooperationContractUndertakerModels []*models.CooperationContractUndertaker | ||
239 | + cooperationContractUndertakerQuery := tx.Model(&cooperationContractUndertakerModels) | ||
240 | + if err := cooperationContractUndertakerQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil { | ||
241 | + return nil, err | ||
242 | + } | ||
243 | + | ||
221 | //TODO 更新分红激励规则 | 244 | //TODO 更新分红激励规则 |
245 | + // 获取分红激励规则列表 | ||
246 | + var dividendsIncentivesRuleModels []*models.DividendsIncentivesRule | ||
247 | + dividendsIncentivesRuleQuery := tx.Model(÷ndsIncentivesRuleModels) | ||
248 | + if err := dividendsIncentivesRuleQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil { | ||
249 | + return nil, err | ||
250 | + } | ||
251 | + | ||
222 | //TODO 更新金额激励规则 | 252 | //TODO 更新金额激励规则 |
253 | + // 获取金额激励规则列表 | ||
254 | + var moneyIncentivesRuleModels []*models.MoneyIncentivesRule | ||
255 | + moneyIncentivesRuleQuery := tx.Model(&moneyIncentivesRuleModels) | ||
256 | + if err := moneyIncentivesRuleQuery.Where("cooperation_contract_number = ?", cooperationContract.CooperationContractNumber).Select(); err != nil { | ||
257 | + return nil, err | ||
258 | + } | ||
223 | } | 259 | } |
224 | } | 260 | } |
225 | return cooperationContract, nil | 261 | return cooperationContract, nil |
-
请 注册 或 登录 后发表评论