正在显示
16 个修改的文件
包含
206 行增加
和
51 行删除
@@ -4,6 +4,7 @@ import ( | @@ -4,6 +4,7 @@ import ( | ||
4 | "fmt" | 4 | "fmt" |
5 | "github.com/beego/beego/v2/server/web" | 5 | "github.com/beego/beego/v2/server/web" |
6 | _ "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/pg" | 6 | _ "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/pg" |
7 | + _ "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/port/beego" | ||
7 | ) | 8 | ) |
8 | 9 | ||
9 | func main() { | 10 | func main() { |
@@ -111,9 +111,6 @@ func (dividendsOrder *DividendsOrder) Update(data map[string]interface{}) error | @@ -111,9 +111,6 @@ func (dividendsOrder *DividendsOrder) Update(data map[string]interface{}) error | ||
111 | if userType, ok := data["userType"]; ok { | 111 | if userType, ok := data["userType"]; ok { |
112 | dividendsOrder.OrderSalesman.UserType = userType.(int32) | 112 | dividendsOrder.OrderSalesman.UserType = userType.(int32) |
113 | } | 113 | } |
114 | - if status, ok := data["status"]; ok { | ||
115 | - dividendsOrder.OrderSalesman.Status = status.(int32) | ||
116 | - } | ||
117 | if orderTime, ok := data["orderTime"]; ok { | 114 | if orderTime, ok := data["orderTime"]; ok { |
118 | dividendsOrder.OrderTime = orderTime.(time.Time) | 115 | dividendsOrder.OrderTime = orderTime.(time.Time) |
119 | } | 116 | } |
@@ -2,6 +2,10 @@ package domain | @@ -2,6 +2,10 @@ package domain | ||
2 | 2 | ||
3 | // Relevant 共创合约相关人值对象 | 3 | // Relevant 共创合约相关人值对象 |
4 | type Relevant struct { | 4 | type Relevant struct { |
5 | + // 相关人id | ||
6 | + RelevantId int64 `json:"relevantId"` | ||
7 | + // 共创合约编号 | ||
8 | + CooperationContractNumber string `json:"cooperationContractNumber"` | ||
5 | // 用户ID,通过集成REST上下文获取,可翻译成发起人、承接人、推荐人、业务员 | 9 | // 用户ID,通过集成REST上下文获取,可翻译成发起人、承接人、推荐人、业务员 |
6 | UserId int64 `json:"userId,string"` | 10 | UserId int64 `json:"userId,string"` |
7 | // 用户基本id | 11 | // 用户基本id |
@@ -16,7 +16,7 @@ type ContractUndertakerFeedback struct { | @@ -16,7 +16,7 @@ type ContractUndertakerFeedback struct { | ||
16 | // 共创合约编号 | 16 | // 共创合约编号 |
17 | CooperationContractNumber string `comment:"共创合约编号"` | 17 | CooperationContractNumber string `comment:"共创合约编号"` |
18 | // 共创合约承接人 | 18 | // 共创合约承接人 |
19 | - ContractUndertaker *domain.User `comment:"共创合约承接人"` | 19 | + ContractUndertaker *domain.Undertaker `comment:"共创合约承接人"` |
20 | // 共创模式编号 | 20 | // 共创模式编号 |
21 | CooperationModeNumber string `comment:"共创模式编号"` | 21 | CooperationModeNumber string `comment:"共创模式编号"` |
22 | // 数据所属组织机构 | 22 | // 数据所属组织机构 |
@@ -11,8 +11,26 @@ type CooperationContractRelevant struct { | @@ -11,8 +11,26 @@ type CooperationContractRelevant struct { | ||
11 | CooperationContractRelevantId int64 `comment:"共创合约相关人id" pg:"pk:cooperation_contract_relevant_id"` | 11 | CooperationContractRelevantId int64 `comment:"共创合约相关人id" pg:"pk:cooperation_contract_relevant_id"` |
12 | // 共创合约编号 | 12 | // 共创合约编号 |
13 | CooperationContractNumber string `comment:"共创合约编号"` | 13 | CooperationContractNumber string `comment:"共创合约编号"` |
14 | - // 相关人 | ||
15 | - Relevant *domain.Relevant `comment:"相关人"` | 14 | + // 合约人userId |
15 | + UserId int64 `comment:"合约人userId"` | ||
16 | + //合约人userBaseId | ||
17 | + UserBaseId int64 `comment:"合约人userBaseId"` | ||
18 | + //合约人所属组织机构 | ||
19 | + Org *domain.Org `comment:"合约人所属组织机构"` | ||
20 | + //合约人关联的组织机构 | ||
21 | + Orgs []*domain.Org `comment:"合约人关联的组织机构"` | ||
22 | + //合约人所属部门 | ||
23 | + Department *domain.Department `comment:"合约人所属部门"` | ||
24 | + //合约人角色 | ||
25 | + Role *domain.Role `comment:"合约人角色"` | ||
26 | + //合约人用户信息 | ||
27 | + UserInfo *domain.UserInfo `comment:"合约人用户信息"` | ||
28 | + //合约人用户类型 | ||
29 | + UserType int32 `comment:"合约人用户类型"` | ||
30 | + //合约人状态 | ||
31 | + Status int32 `comment:"合约人状态"` | ||
32 | + //合约人公司 | ||
33 | + Company *domain.Company `comment:"合约人公司"` | ||
16 | // 更新时间 | 34 | // 更新时间 |
17 | UpdatedAt time.Time `comment:"更新时间"` | 35 | UpdatedAt time.Time `comment:"更新时间"` |
18 | // 删除时间 | 36 | // 删除时间 |
@@ -16,7 +16,7 @@ type DividendsOrder struct { | @@ -16,7 +16,7 @@ type DividendsOrder struct { | ||
16 | // 分红订单金额 | 16 | // 分红订单金额 |
17 | DividendsOrderAmount float64 `comment:"分红订单金额"` | 17 | DividendsOrderAmount float64 `comment:"分红订单金额"` |
18 | // 订单业务员 | 18 | // 订单业务员 |
19 | - OrderSalesman *domain.User `comment:"订单业务员"` | 19 | + OrderSalesman *domain.Salesman `comment:"订单业务员"` |
20 | // 订单产生时间 | 20 | // 订单产生时间 |
21 | OrderTime time.Time `comment:"订单产生时间"` | 21 | OrderTime time.Time `comment:"订单产生时间"` |
22 | // 分红订单分红时间 | 22 | // 分红订单分红时间 |
@@ -55,16 +55,16 @@ func TransformToCooperationContractDomainModelFromPgModels( | @@ -55,16 +55,16 @@ func TransformToCooperationContractDomainModelFromPgModels( | ||
55 | var relevantPeopleDomain []*domain.Relevant | 55 | var relevantPeopleDomain []*domain.Relevant |
56 | for _, relevant := range relevantPeople { | 56 | for _, relevant := range relevantPeople { |
57 | relevantPeopleDomain = append(relevantPeopleDomain, &domain.Relevant{ | 57 | relevantPeopleDomain = append(relevantPeopleDomain, &domain.Relevant{ |
58 | - UserId: relevant.Relevant.UserId, | ||
59 | - UserBaseId: relevant.Relevant.UserBaseId, | ||
60 | - Org: relevant.Relevant.Org, | ||
61 | - Orgs: relevant.Relevant.Orgs, | ||
62 | - Department: relevant.Relevant.Department, | ||
63 | - Role: relevant.Relevant.Role, | ||
64 | - UserInfo: relevant.Relevant.UserInfo, | ||
65 | - UserType: relevant.Relevant.UserType, | ||
66 | - Status: relevant.Relevant.Status, | ||
67 | - Company: relevant.Relevant.Company, | 58 | + UserId: relevant.UserId, |
59 | + UserBaseId: relevant.UserBaseId, | ||
60 | + Org: relevant.Org, | ||
61 | + Orgs: relevant.Orgs, | ||
62 | + Department: relevant.Department, | ||
63 | + Role: relevant.Role, | ||
64 | + UserInfo: relevant.UserInfo, | ||
65 | + UserType: relevant.UserType, | ||
66 | + Status: relevant.Status, | ||
67 | + Company: relevant.Company, | ||
68 | }) | 68 | }) |
69 | } | 69 | } |
70 | // 承接人列表 | 70 | // 承接人列表 |
@@ -9,7 +9,20 @@ func TransformToCooperationContractRelevantDomainModelFromPgModels(cooperationCo | @@ -9,7 +9,20 @@ func TransformToCooperationContractRelevantDomainModelFromPgModels(cooperationCo | ||
9 | return &domain.CooperationContractRelevant{ | 9 | return &domain.CooperationContractRelevant{ |
10 | CooperationContractRelevantId: cooperationContractRelevantModel.CooperationContractRelevantId, | 10 | CooperationContractRelevantId: cooperationContractRelevantModel.CooperationContractRelevantId, |
11 | CooperationContractNumber: cooperationContractRelevantModel.CooperationContractNumber, | 11 | CooperationContractNumber: cooperationContractRelevantModel.CooperationContractNumber, |
12 | - Relevant: cooperationContractRelevantModel.Relevant, | 12 | + Relevant: &domain.Relevant{ |
13 | + RelevantId: cooperationContractRelevantModel.CooperationContractRelevantId, | ||
14 | + CooperationContractNumber: cooperationContractRelevantModel.CooperationContractNumber, | ||
15 | + UserId: cooperationContractRelevantModel.UserId, | ||
16 | + UserBaseId: cooperationContractRelevantModel.UserBaseId, | ||
17 | + Org: cooperationContractRelevantModel.Org, | ||
18 | + Orgs: cooperationContractRelevantModel.Orgs, | ||
19 | + Department: cooperationContractRelevantModel.Department, | ||
20 | + Role: cooperationContractRelevantModel.Role, | ||
21 | + UserInfo: cooperationContractRelevantModel.UserInfo, | ||
22 | + UserType: cooperationContractRelevantModel.UserType, | ||
23 | + Status: cooperationContractRelevantModel.Status, | ||
24 | + Company: cooperationContractRelevantModel.Company, | ||
25 | + }, | ||
13 | UpdatedAt: cooperationContractRelevantModel.UpdatedAt, | 26 | UpdatedAt: cooperationContractRelevantModel.UpdatedAt, |
14 | DeletedAt: cooperationContractRelevantModel.DeletedAt, | 27 | DeletedAt: cooperationContractRelevantModel.DeletedAt, |
15 | CreatedAt: cooperationContractRelevantModel.CreatedAt, | 28 | CreatedAt: cooperationContractRelevantModel.CreatedAt, |
@@ -5,10 +5,7 @@ import ( | @@ -5,10 +5,7 @@ import ( | ||
5 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/pg/models" | 5 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/pg/models" |
6 | ) | 6 | ) |
7 | 7 | ||
8 | -func TransformToDividendsOrderDomainModelFromPgModels( | ||
9 | - dividendsOrderModel *models.DividendsOrder, | ||
10 | - goods []*models.OrderGood, | ||
11 | -) (*domain.DividendsOrder, error) { | 8 | +func TransformToDividendsOrderDomainModelFromPgModels(dividendsOrderModel *models.DividendsOrder, goods []*models.OrderGood) (*domain.DividendsOrder, error) { |
12 | var orderGoods []*domain.OrderGood | 9 | var orderGoods []*domain.OrderGood |
13 | for _, good := range goods { | 10 | for _, good := range goods { |
14 | orderGoods = append(orderGoods, &domain.OrderGood{ | 11 | orderGoods = append(orderGoods, &domain.OrderGood{ |
@@ -138,7 +138,13 @@ func (repository *ContractUndertakerFeedbackRepository) FindOne(queryOptions map | @@ -138,7 +138,13 @@ func (repository *ContractUndertakerFeedbackRepository) FindOne(queryOptions map | ||
138 | if contractUndertakerFeedbackModel.FeedbackId == 0 { | 138 | if contractUndertakerFeedbackModel.FeedbackId == 0 { |
139 | return nil, nil | 139 | return nil, nil |
140 | } else { | 140 | } else { |
141 | - return transform.TransformToContractUndertakerFeedbackDomainModelFromPgModels(contractUndertakerFeedbackModel) | 141 | + // 获取共创模式 |
142 | + cooperationModeModel := new(models.CooperationMode) | ||
143 | + cooperationModeQuery := tx.Model(cooperationModeModel) | ||
144 | + if err := cooperationModeQuery.Where("cooperation_mode_number = ?", contractUndertakerFeedbackModel.CooperationModeNumber).First(); err != nil { | ||
145 | + return nil, err | ||
146 | + } | ||
147 | + return transform.TransformToContractUndertakerFeedbackDomainModelFromPgModels(contractUndertakerFeedbackModel, cooperationModeModel) | ||
142 | } | 148 | } |
143 | } | 149 | } |
144 | func (repository *ContractUndertakerFeedbackRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.ContractUndertakerFeedback, error) { | 150 | func (repository *ContractUndertakerFeedbackRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.ContractUndertakerFeedback, error) { |
@@ -152,7 +158,13 @@ func (repository *ContractUndertakerFeedbackRepository) Find(queryOptions map[st | @@ -152,7 +158,13 @@ func (repository *ContractUndertakerFeedbackRepository) Find(queryOptions map[st | ||
152 | return 0, contractUndertakerFeedbacks, err | 158 | return 0, contractUndertakerFeedbacks, err |
153 | } else { | 159 | } else { |
154 | for _, contractUndertakerFeedbackModel := range contractUndertakerFeedbackModels { | 160 | for _, contractUndertakerFeedbackModel := range contractUndertakerFeedbackModels { |
155 | - if contractUndertakerFeedback, err := transform.TransformToContractUndertakerFeedbackDomainModelFromPgModels(contractUndertakerFeedbackModel); err != nil { | 161 | + // 获取共创模式 |
162 | + cooperationModeModel := new(models.CooperationMode) | ||
163 | + cooperationModeQuery := tx.Model(cooperationModeModel) | ||
164 | + if err := cooperationModeQuery.Where("cooperation_mode_number = ?", contractUndertakerFeedbackModel.CooperationModeNumber).First(); err != nil { | ||
165 | + return 0, nil, err | ||
166 | + } | ||
167 | + if contractUndertakerFeedback, err := transform.TransformToContractUndertakerFeedbackDomainModelFromPgModels(contractUndertakerFeedbackModel, cooperationModeModel); err != nil { | ||
156 | return 0, contractUndertakerFeedbacks, err | 168 | return 0, contractUndertakerFeedbacks, err |
157 | } else { | 169 | } else { |
158 | contractUndertakerFeedbacks = append(contractUndertakerFeedbacks, contractUndertakerFeedback) | 170 | contractUndertakerFeedbacks = append(contractUndertakerFeedbacks, contractUndertakerFeedback) |
@@ -2,6 +2,7 @@ package repository | @@ -2,6 +2,7 @@ package repository | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | + "github.com/go-pg/pg/v10" | ||
5 | 6 | ||
6 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" | 7 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" |
7 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" | 8 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" |
@@ -157,7 +158,13 @@ func (repository *CooperationApplicationRepository) FindOne(queryOptions map[str | @@ -157,7 +158,13 @@ func (repository *CooperationApplicationRepository) FindOne(queryOptions map[str | ||
157 | if cooperationApplicationModel.CooperationApplicationId == 0 { | 158 | if cooperationApplicationModel.CooperationApplicationId == 0 { |
158 | return nil, nil | 159 | return nil, nil |
159 | } else { | 160 | } else { |
160 | - return transform.TransformToCooperationApplicationDomainModelFromPgModels(cooperationApplicationModel) | 161 | + // 获取共创项目 |
162 | + cooperationProjectModel := new(models.CooperationProject) | ||
163 | + cooperationProjectQuery := tx.Model(cooperationProjectModel) | ||
164 | + if err := cooperationProjectQuery.Where("cooperation_project_number = ?", cooperationApplicationModel.CooperationProjectNumber).First(); err != nil { | ||
165 | + return nil, err | ||
166 | + } | ||
167 | + return transform.TransformToCooperationApplicationDomainModelFromPgModels(cooperationApplicationModel, cooperationProjectModel) | ||
161 | } | 168 | } |
162 | } | 169 | } |
163 | func (repository *CooperationApplicationRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.CooperationApplication, error) { | 170 | func (repository *CooperationApplicationRepository) Find(queryOptions map[string]interface{}) (int64, []*domain.CooperationApplication, error) { |
@@ -171,7 +178,13 @@ func (repository *CooperationApplicationRepository) Find(queryOptions map[string | @@ -171,7 +178,13 @@ func (repository *CooperationApplicationRepository) Find(queryOptions map[string | ||
171 | return 0, cooperationApplications, err | 178 | return 0, cooperationApplications, err |
172 | } else { | 179 | } else { |
173 | for _, cooperationApplicationModel := range cooperationApplicationModels { | 180 | for _, cooperationApplicationModel := range cooperationApplicationModels { |
174 | - if cooperationApplication, err := transform.TransformToCooperationApplicationDomainModelFromPgModels(cooperationApplicationModel); err != nil { | 181 | + // 获取共创项目 |
182 | + cooperationProjectModel := new(models.CooperationProject) | ||
183 | + cooperationProjectQuery := tx.Model(cooperationProjectModel) | ||
184 | + if err := cooperationProjectQuery.Where("cooperation_project_number = ?", cooperationApplicationModel.CooperationProjectNumber).First(); err != nil { | ||
185 | + return 0, nil, err | ||
186 | + } | ||
187 | + if cooperationApplication, err := transform.TransformToCooperationApplicationDomainModelFromPgModels(cooperationApplicationModel, cooperationProjectModel); err != nil { | ||
175 | return 0, cooperationApplications, err | 188 | return 0, cooperationApplications, err |
176 | } else { | 189 | } else { |
177 | cooperationApplications = append(cooperationApplications, cooperationApplication) | 190 | cooperationApplications = append(cooperationApplications, cooperationApplication) |
@@ -3,14 +3,13 @@ package repository | @@ -3,14 +3,13 @@ package repository | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | "github.com/go-pg/pg/v10" | 5 | "github.com/go-pg/pg/v10" |
6 | - "time" | ||
7 | - | ||
8 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" | 6 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" |
9 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" | 7 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" |
10 | "github.com/linmadan/egglib-go/utils/snowflake" | 8 | "github.com/linmadan/egglib-go/utils/snowflake" |
11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain" | 9 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain" |
12 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/pg/models" | 10 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/pg/models" |
13 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/pg/transform" | 11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/pg/transform" |
12 | + "time" | ||
14 | ) | 13 | ) |
15 | 14 | ||
16 | type CooperationContractRepository struct { | 15 | type CooperationContractRepository struct { |
@@ -98,16 +97,25 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | @@ -98,16 +97,25 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | ||
98 | cooperationContract.UpdatedAt, | 97 | cooperationContract.UpdatedAt, |
99 | ); err != nil { | 98 | ); err != nil { |
100 | return cooperationContract, err | 99 | return cooperationContract, err |
101 | - } else { | 100 | + } |
102 | // 新增相关人 | 101 | // 新增相关人 |
103 | var relevantPeopleModel []*models.CooperationContractRelevant | 102 | var relevantPeopleModel []*models.CooperationContractRelevant |
104 | for _, relevant := range cooperationContract.RelevantPeople { | 103 | for _, relevant := range cooperationContract.RelevantPeople { |
105 | relevantPeopleModel = append(relevantPeopleModel, &models.CooperationContractRelevant{ | 104 | relevantPeopleModel = append(relevantPeopleModel, &models.CooperationContractRelevant{ |
106 | CooperationContractNumber: cooperationContract.CooperationContractNumber, | 105 | CooperationContractNumber: cooperationContract.CooperationContractNumber, |
107 | - Relevant: relevant, | ||
108 | - UpdatedAt: time.Time{}, | 106 | + UserId: relevant.UserId, |
107 | + UserBaseId: relevant.UserBaseId, | ||
108 | + Org: relevant.Org, | ||
109 | + Orgs: relevant.Orgs, | ||
110 | + Department: relevant.Department, | ||
111 | + Role: relevant.Role, | ||
112 | + UserInfo: relevant.UserInfo, | ||
113 | + UserType: relevant.UserType, | ||
114 | + Status: relevant.Status, | ||
115 | + Company: relevant.Company, | ||
116 | + UpdatedAt: time.Now(), | ||
109 | DeletedAt: time.Time{}, | 117 | DeletedAt: time.Time{}, |
110 | - CreatedAt: time.Now(), | 118 | + CreatedAt: time.Time{}, |
111 | }) | 119 | }) |
112 | } | 120 | } |
113 | if _, err := tx.Model(&relevantPeopleModel).Insert(); err != nil { | 121 | if _, err := tx.Model(&relevantPeopleModel).Insert(); err != nil { |
@@ -172,7 +180,6 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | @@ -172,7 +180,6 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | ||
172 | if _, err := tx.Model(&moneyIncentivesRulesModel).Insert(); err != nil { | 180 | if _, err := tx.Model(&moneyIncentivesRulesModel).Insert(); err != nil { |
173 | return nil, err | 181 | return nil, err |
174 | } | 182 | } |
175 | - } | ||
176 | } else { | 183 | } else { |
177 | if _, err := tx.QueryOne( | 184 | if _, err := tx.QueryOne( |
178 | pg.Scan( | 185 | pg.Scan( |
@@ -215,7 +222,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | @@ -215,7 +222,7 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | ||
215 | cooperationContract.Identify(), | 222 | cooperationContract.Identify(), |
216 | ); err != nil { | 223 | ); err != nil { |
217 | return cooperationContract, err | 224 | return cooperationContract, err |
218 | - } else { | 225 | + } |
219 | // 获取相关人列表 | 226 | // 获取相关人列表 |
220 | var cooperationContractRelevantModels []*models.CooperationContractRelevant | 227 | var cooperationContractRelevantModels []*models.CooperationContractRelevant |
221 | cooperationContractRelevantQuery := tx.Model(&cooperationContractRelevantModels) | 228 | cooperationContractRelevantQuery := tx.Model(&cooperationContractRelevantModels) |
@@ -226,18 +233,46 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | @@ -226,18 +233,46 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | ||
226 | //var cooperationContractRelevantModelsUpdate []*models.CooperationContractRelevant // 待更新的相关人 | 233 | //var cooperationContractRelevantModelsUpdate []*models.CooperationContractRelevant // 待更新的相关人 |
227 | //var cooperationContractRelevantModelsDelete []*models.CooperationContractRelevant // 待删除的相关人 | 234 | //var cooperationContractRelevantModelsDelete []*models.CooperationContractRelevant // 待删除的相关人 |
228 | //var cooperationContractRelevantModelsCreate []*models.CooperationContractRelevant // 待增加的相关人 | 235 | //var cooperationContractRelevantModelsCreate []*models.CooperationContractRelevant // 待增加的相关人 |
229 | - // | ||
230 | - //for _, cooperationContractRelevantModels := range cooperationContractRelevantModels { | ||
231 | - // for _, cooperationContractRelevantDomain := range cooperationContract.RelevantPeople { | ||
232 | - // | ||
233 | - // } | ||
234 | - //} | ||
235 | 236 | ||
236 | - // 更新的相关人 | 237 | + var relevantIdsHave []int64 |
238 | + var relevantIdsModify []int64 | ||
239 | + //var relevantIdsUpdate []int64 | ||
237 | 240 | ||
238 | - // 删除的相关人 | 241 | + for _, cooperationContractRelevantModel := range cooperationContractRelevantModels { |
242 | + relevantIdsHave = append(relevantIdsHave, cooperationContractRelevantModel.CooperationContractRelevantId) | ||
243 | + } | ||
239 | 244 | ||
240 | - // 新增的相关人 | 245 | + for _, cooperationContractRelevantDomain := range cooperationContract.RelevantPeople { |
246 | + relevantIdsModify = append(relevantIdsModify, cooperationContractRelevantDomain.RelevantId) | ||
247 | + } | ||
248 | + | ||
249 | + // 待更新的相关人 | ||
250 | + //relevantIdsUpdate := utils.Intersect(relevantIdsHave, relevantIdsModify) | ||
251 | + | ||
252 | + var relevantPeopleModelUpdate []*models.CooperationContractRelevant | ||
253 | + for _, cooperationContractRelevantDomain := range cooperationContract.RelevantPeople { | ||
254 | + relevantPeopleModelUpdate = append(relevantPeopleModelUpdate, &models.CooperationContractRelevant{ | ||
255 | + CooperationContractRelevantId: cooperationContractRelevantDomain.RelevantId, | ||
256 | + CooperationContractNumber: cooperationContractRelevantDomain.CooperationContractNumber, | ||
257 | + UserId: cooperationContractRelevantDomain.UserId, | ||
258 | + UserBaseId: cooperationContractRelevantDomain.UserBaseId, | ||
259 | + Org: cooperationContractRelevantDomain.Org, | ||
260 | + Orgs: cooperationContractRelevantDomain.Orgs, | ||
261 | + Department: cooperationContractRelevantDomain.Department, | ||
262 | + Role: cooperationContractRelevantDomain.Role, | ||
263 | + UserInfo: cooperationContractRelevantDomain.UserInfo, | ||
264 | + UserType: cooperationContractRelevantDomain.UserType, | ||
265 | + Status: cooperationContractRelevantDomain.Status, | ||
266 | + Company: cooperationContractRelevantDomain.Company, | ||
267 | + UpdatedAt: time.Now(), | ||
268 | + DeletedAt: time.Time{}, | ||
269 | + CreatedAt: time.Time{}, | ||
270 | + }) | ||
271 | + } | ||
272 | + | ||
273 | + // 待删除的相关人 | ||
274 | + | ||
275 | + // 待新增的相关人 | ||
241 | 276 | ||
242 | //TODO 更新承接人 | 277 | //TODO 更新承接人 |
243 | // 获取承接人列表 | 278 | // 获取承接人列表 |
@@ -263,7 +298,6 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | @@ -263,7 +298,6 @@ func (repository *CooperationContractRepository) Save(cooperationContract *domai | ||
263 | return nil, err | 298 | return nil, err |
264 | } | 299 | } |
265 | } | 300 | } |
266 | - } | ||
267 | return cooperationContract, nil | 301 | return cooperationContract, nil |
268 | } | 302 | } |
269 | func (repository *CooperationContractRepository) Remove(cooperationContract *domain.CooperationContract) (*domain.CooperationContract, error) { | 303 | func (repository *CooperationContractRepository) Remove(cooperationContract *domain.CooperationContract) (*domain.CooperationContract, error) { |
@@ -343,8 +377,8 @@ func (repository *CooperationContractRepository) Find(queryOptions map[string]in | @@ -343,8 +377,8 @@ func (repository *CooperationContractRepository) Find(queryOptions map[string]in | ||
343 | } else { | 377 | } else { |
344 | for _, cooperationContractModel := range cooperationContractModels { | 378 | for _, cooperationContractModel := range cooperationContractModels { |
345 | // 获取共创模式 | 379 | // 获取共创模式 |
346 | - cooperationModeModels := new(models.CooperationMode) | ||
347 | - cooperationModeQuery := tx.Model(cooperationModeModels) | 380 | + cooperationModeModel := new(models.CooperationMode) |
381 | + cooperationModeQuery := tx.Model(cooperationModeModel) | ||
348 | if err := cooperationModeQuery.Where("cooperation_mode_number = ?", cooperationContractModel.CooperationModeNumber).First(); err != nil { | 382 | if err := cooperationModeQuery.Where("cooperation_mode_number = ?", cooperationContractModel.CooperationModeNumber).First(); err != nil { |
349 | return 0, nil, err | 383 | return 0, nil, err |
350 | } | 384 | } |
@@ -374,7 +408,7 @@ func (repository *CooperationContractRepository) Find(queryOptions map[string]in | @@ -374,7 +408,7 @@ func (repository *CooperationContractRepository) Find(queryOptions map[string]in | ||
374 | } | 408 | } |
375 | if cooperationContract, err := transform.TransformToCooperationContractDomainModelFromPgModels( | 409 | if cooperationContract, err := transform.TransformToCooperationContractDomainModelFromPgModels( |
376 | cooperationContractModel, | 410 | cooperationContractModel, |
377 | - cooperationModeModels, | 411 | + cooperationModeModel, |
378 | dividendsIncentivesRuleModels, | 412 | dividendsIncentivesRuleModels, |
379 | moneyIncentivesRuleModels, | 413 | moneyIncentivesRuleModels, |
380 | cooperationContractRelevantModels, | 414 | cooperationContractRelevantModels, |
@@ -3,6 +3,7 @@ package repository | @@ -3,6 +3,7 @@ package repository | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | "github.com/go-pg/pg/v10" | 5 | "github.com/go-pg/pg/v10" |
6 | + "time" | ||
6 | 7 | ||
7 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" | 8 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" |
8 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" | 9 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" |
@@ -98,6 +99,26 @@ func (repository *DividendsOrderRepository) Save(dividendsOrder *domain.Dividend | @@ -98,6 +99,26 @@ func (repository *DividendsOrderRepository) Save(dividendsOrder *domain.Dividend | ||
98 | ); err != nil { | 99 | ); err != nil { |
99 | return dividendsOrder, err | 100 | return dividendsOrder, err |
100 | } | 101 | } |
102 | + // 新增分红订单产品 | ||
103 | + var orderGoodsModel []*models.OrderGood | ||
104 | + for _, good := range dividendsOrder.Goods { | ||
105 | + orderGoodsModel = append(orderGoodsModel, &models.OrderGood{ | ||
106 | + OrderGoodAmount: good.OrderGoodAmount, | ||
107 | + OrderGoodName: good.OrderGoodName, | ||
108 | + OrderGoodPrice: good.OrderGoodPrice, | ||
109 | + OrderGoodQuantity: good.OrderGoodQuantity, | ||
110 | + DividendsOrderNumber: good.DividendsOrderNumber, | ||
111 | + DividendsReturnedOrderNumber: good.DividendsReturnedOrderNumber, | ||
112 | + CooperationContractNumber: good.CooperationContractNumber, | ||
113 | + OrderGoodExpense: good.OrderGoodExpense, | ||
114 | + CreatedAt: time.Now(), | ||
115 | + DeletedAt: time.Time{}, | ||
116 | + UpdatedAt: time.Time{}, | ||
117 | + }) | ||
118 | + } | ||
119 | + if _, err := tx.Model(&orderGoodsModel).Insert(); err != nil { | ||
120 | + return nil, err | ||
121 | + } | ||
101 | } else { | 122 | } else { |
102 | if _, err := tx.QueryOne( | 123 | if _, err := tx.QueryOne( |
103 | pg.Scan( | 124 | pg.Scan( |
@@ -141,6 +162,8 @@ func (repository *DividendsOrderRepository) Save(dividendsOrder *domain.Dividend | @@ -141,6 +162,8 @@ func (repository *DividendsOrderRepository) Save(dividendsOrder *domain.Dividend | ||
141 | ); err != nil { | 162 | ); err != nil { |
142 | return dividendsOrder, err | 163 | return dividendsOrder, err |
143 | } | 164 | } |
165 | + //TODO 新增、更新、删除分红订单产品 | ||
166 | + | ||
144 | } | 167 | } |
145 | return dividendsOrder, nil | 168 | return dividendsOrder, nil |
146 | } | 169 | } |
@@ -3,6 +3,7 @@ package repository | @@ -3,6 +3,7 @@ package repository | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | "github.com/go-pg/pg/v10" | 5 | "github.com/go-pg/pg/v10" |
6 | + "time" | ||
6 | 7 | ||
7 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" | 8 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" |
8 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" | 9 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" |
@@ -101,6 +102,26 @@ func (repository *DividendsReturnedOrderRepository) Save(dividendsReturnedOrder | @@ -101,6 +102,26 @@ func (repository *DividendsReturnedOrderRepository) Save(dividendsReturnedOrder | ||
101 | ); err != nil { | 102 | ); err != nil { |
102 | return dividendsReturnedOrder, err | 103 | return dividendsReturnedOrder, err |
103 | } | 104 | } |
105 | + // 新增订单产品 | ||
106 | + var orderGoodsModel []*models.OrderGood | ||
107 | + for _, good := range dividendsReturnedOrder.Goods { | ||
108 | + orderGoodsModel = append(orderGoodsModel, &models.OrderGood{ | ||
109 | + OrderGoodAmount: good.OrderGoodAmount, | ||
110 | + OrderGoodName: good.OrderGoodName, | ||
111 | + OrderGoodPrice: good.OrderGoodPrice, | ||
112 | + OrderGoodQuantity: good.OrderGoodQuantity, | ||
113 | + DividendsOrderNumber: good.DividendsOrderNumber, | ||
114 | + DividendsReturnedOrderNumber: good.DividendsReturnedOrderNumber, | ||
115 | + CooperationContractNumber: good.CooperationContractNumber, | ||
116 | + OrderGoodExpense: good.OrderGoodExpense, | ||
117 | + CreatedAt: time.Now(), | ||
118 | + DeletedAt: time.Time{}, | ||
119 | + UpdatedAt: time.Time{}, | ||
120 | + }) | ||
121 | + } | ||
122 | + if _, err := tx.Model(&orderGoodsModel).Insert(); err != nil { | ||
123 | + return nil, err | ||
124 | + } | ||
104 | } else { | 125 | } else { |
105 | if _, err := tx.QueryOne( | 126 | if _, err := tx.QueryOne( |
106 | pg.Scan( | 127 | pg.Scan( |
@@ -146,6 +167,7 @@ func (repository *DividendsReturnedOrderRepository) Save(dividendsReturnedOrder | @@ -146,6 +167,7 @@ func (repository *DividendsReturnedOrderRepository) Save(dividendsReturnedOrder | ||
146 | ); err != nil { | 167 | ); err != nil { |
147 | return dividendsReturnedOrder, err | 168 | return dividendsReturnedOrder, err |
148 | } | 169 | } |
170 | + //TODO 新增、更新、删除分红退货单产品 | ||
149 | } | 171 | } |
150 | return dividendsReturnedOrder, nil | 172 | return dividendsReturnedOrder, nil |
151 | } | 173 | } |
@@ -2,6 +2,7 @@ package repository | @@ -2,6 +2,7 @@ package repository | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | + "github.com/go-pg/pg/v10" | ||
5 | 6 | ||
6 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" | 7 | "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" |
7 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" | 8 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" |
@@ -55,7 +56,7 @@ func (repository *MoneyIncentivesRuleRepository) Save(moneyIncentivesRule *domai | @@ -55,7 +56,7 @@ func (repository *MoneyIncentivesRuleRepository) Save(moneyIncentivesRule *domai | ||
55 | } | 56 | } |
56 | if _, err := tx.QueryOne( | 57 | if _, err := tx.QueryOne( |
57 | pg.Scan( | 58 | pg.Scan( |
58 | - &moneyIncentivesRule.MoneyIcentivesRuleId, | 59 | + &moneyIncentivesRule.MoneyIncentivesRuleId, |
59 | &moneyIncentivesRule.CooperationContractNumber, | 60 | &moneyIncentivesRule.CooperationContractNumber, |
60 | &moneyIncentivesRule.MoneyIncentivesAmount, | 61 | &moneyIncentivesRule.MoneyIncentivesAmount, |
61 | &moneyIncentivesRule.MoneyIncentivesStage, | 62 | &moneyIncentivesRule.MoneyIncentivesStage, |
@@ -71,7 +72,7 @@ func (repository *MoneyIncentivesRuleRepository) Save(moneyIncentivesRule *domai | @@ -71,7 +72,7 @@ func (repository *MoneyIncentivesRuleRepository) Save(moneyIncentivesRule *domai | ||
71 | &moneyIncentivesRule.CreatedAt, | 72 | &moneyIncentivesRule.CreatedAt, |
72 | ), | 73 | ), |
73 | fmt.Sprintf("INSERT INTO money_incentives_rules (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), | 74 | fmt.Sprintf("INSERT INTO money_incentives_rules (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet), |
74 | - moneyIncentivesRule.MoneyIcentivesRuleId, | 75 | + moneyIncentivesRule.MoneyIncentivesRuleId, |
75 | moneyIncentivesRule.CooperationContractNumber, | 76 | moneyIncentivesRule.CooperationContractNumber, |
76 | moneyIncentivesRule.MoneyIncentivesAmount, | 77 | moneyIncentivesRule.MoneyIncentivesAmount, |
77 | moneyIncentivesRule.MoneyIncentivesStage, | 78 | moneyIncentivesRule.MoneyIncentivesStage, |
@@ -91,7 +92,7 @@ func (repository *MoneyIncentivesRuleRepository) Save(moneyIncentivesRule *domai | @@ -91,7 +92,7 @@ func (repository *MoneyIncentivesRuleRepository) Save(moneyIncentivesRule *domai | ||
91 | } else { | 92 | } else { |
92 | if _, err := tx.QueryOne( | 93 | if _, err := tx.QueryOne( |
93 | pg.Scan( | 94 | pg.Scan( |
94 | - &moneyIncentivesRule.MoneyIcentivesRuleId, | 95 | + &moneyIncentivesRule.MoneyIncentivesRuleId, |
95 | &moneyIncentivesRule.CooperationContractNumber, | 96 | &moneyIncentivesRule.CooperationContractNumber, |
96 | &moneyIncentivesRule.MoneyIncentivesAmount, | 97 | &moneyIncentivesRule.MoneyIncentivesAmount, |
97 | &moneyIncentivesRule.MoneyIncentivesStage, | 98 | &moneyIncentivesRule.MoneyIncentivesStage, |
@@ -107,7 +108,7 @@ func (repository *MoneyIncentivesRuleRepository) Save(moneyIncentivesRule *domai | @@ -107,7 +108,7 @@ func (repository *MoneyIncentivesRuleRepository) Save(moneyIncentivesRule *domai | ||
107 | &moneyIncentivesRule.CreatedAt, | 108 | &moneyIncentivesRule.CreatedAt, |
108 | ), | 109 | ), |
109 | fmt.Sprintf("UPDATE money_incentives_rules SET %s WHERE money_incentives_rule_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet), | 110 | fmt.Sprintf("UPDATE money_incentives_rules SET %s WHERE money_incentives_rule_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet), |
110 | - moneyIncentivesRule.MoneyIcentivesRuleId, | 111 | + moneyIncentivesRule.MoneyIncentivesRuleId, |
111 | moneyIncentivesRule.CooperationContractNumber, | 112 | moneyIncentivesRule.CooperationContractNumber, |
112 | moneyIncentivesRule.MoneyIncentivesAmount, | 113 | moneyIncentivesRule.MoneyIncentivesAmount, |
113 | moneyIncentivesRule.MoneyIncentivesStage, | 114 | moneyIncentivesRule.MoneyIncentivesStage, |
pkg/infrastructure/utils/utils.go
0 → 100644
1 | +package utils | ||
2 | + | ||
3 | +func Intersect(nums1 []int64, nums2 []int64) []int64 { | ||
4 | + if len(nums1) > len(nums2) { | ||
5 | + return Intersect(nums2, nums1) | ||
6 | + } | ||
7 | + m := map[int64]int64{} | ||
8 | + for _, num := range nums1 { | ||
9 | + m[num]++ | ||
10 | + } | ||
11 | + | ||
12 | + var intersection []int64 | ||
13 | + for _, num := range nums2 { | ||
14 | + if m[num] > 0 { | ||
15 | + intersection = append(intersection, num) | ||
16 | + m[num]-- | ||
17 | + } | ||
18 | + } | ||
19 | + return intersection | ||
20 | +} |
-
请 注册 或 登录 后发表评论