正在显示
5 个修改的文件
包含
73 行增加
和
34 行删除
@@ -13,6 +13,7 @@ require ( | @@ -13,6 +13,7 @@ require ( | ||
13 | github.com/google/go-querystring v1.1.0 // indirect | 13 | github.com/google/go-querystring v1.1.0 // indirect |
14 | github.com/gorilla/websocket v1.4.2 // indirect | 14 | github.com/gorilla/websocket v1.4.2 // indirect |
15 | github.com/imkira/go-interpol v1.1.0 // indirect | 15 | github.com/imkira/go-interpol v1.1.0 // indirect |
16 | + github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 // indirect | ||
16 | github.com/linmadan/egglib-go v0.0.0-20210527091316-06b0732fb5f6 | 17 | github.com/linmadan/egglib-go v0.0.0-20210527091316-06b0732fb5f6 |
17 | github.com/mattn/go-colorable v0.1.8 // indirect | 18 | github.com/mattn/go-colorable v0.1.8 // indirect |
18 | github.com/moul/http2curl v1.0.0 // indirect | 19 | github.com/moul/http2curl v1.0.0 // indirect |
@@ -138,6 +138,8 @@ github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/ | @@ -138,6 +138,8 @@ github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/ | ||
138 | github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= | 138 | github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= |
139 | github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= | 139 | github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= |
140 | github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= | 140 | github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= |
141 | +github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88 h1:uC1QfSlInpQF+M0ao65imhwqKnz3Q2z/d8PWZRMQvDM= | ||
142 | +github.com/k0kubun/colorstring v0.0.0-20150214042306-9440f1994b88/go.mod h1:3w7q1U84EfirKl04SVQ/s7nPm1ZPhiXd34z40TNz36k= | ||
141 | github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= | 143 | github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= |
142 | github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= | 144 | github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= |
143 | github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= | 145 | github.com/klauspost/compress v1.9.7/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= |
@@ -11,6 +11,7 @@ import ( | @@ -11,6 +11,7 @@ import ( | ||
11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain" | 11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain" |
12 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service" | 12 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service" |
13 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/dao" | 13 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/dao" |
14 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/utils" | ||
14 | "strconv" | 15 | "strconv" |
15 | "time" | 16 | "time" |
16 | ) | 17 | ) |
@@ -529,42 +530,43 @@ func (cooperationProjectService *CooperationProjectService) BatchEndCooperationP | @@ -529,42 +530,43 @@ func (cooperationProjectService *CooperationProjectService) BatchEndCooperationP | ||
529 | }() | 530 | }() |
530 | 531 | ||
531 | // 共创项目仓储初始化 | 532 | // 共创项目仓储初始化 |
532 | - //var cooperationProjectRepository domain.CooperationProjectRepository | ||
533 | - //if value, err := factory.CreateCooperationProjectRepository(map[string]interface{}{ | ||
534 | - // "transactionContext": transactionContext, | ||
535 | - //}); err != nil { | ||
536 | - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
537 | - //} else { | ||
538 | - // cooperationProjectRepository = value | ||
539 | - //} | 533 | + var cooperationProjectRepository domain.CooperationProjectRepository |
534 | + if value, err := factory.CreateCooperationProjectRepository(map[string]interface{}{ | ||
535 | + "transactionContext": transactionContext, | ||
536 | + }); err != nil { | ||
537 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
538 | + } else { | ||
539 | + cooperationProjectRepository = value | ||
540 | + } | ||
540 | 541 | ||
541 | // 转换共创项目ID列表类型 | 542 | // 转换共创项目ID列表类型 |
542 | - //cooperationProjectIds, err := utils.SliceAtoi(batchEndCooperationProjectCommand.CooperationProjectIds) | ||
543 | - //if err != nil { | ||
544 | - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
545 | - //} | ||
546 | - | ||
547 | - //cooperationProject, err := cooperationProjectRepository.FindOne(map[string]interface{}{"cooperationProjectId": batchEndCooperationProjectCommand.CooperationProjectId}) | ||
548 | - //if err != nil { | ||
549 | - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
550 | - //} | ||
551 | - //if cooperationProject == nil { | ||
552 | - // return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", string(batchEndCooperationProjectCommand.CooperationProjectId))) | ||
553 | - //} | ||
554 | - | ||
555 | - //if err := cooperationProject.Update(tool_funs.SimpleStructToMap(batchEndCooperationProjectCommand)); err != nil { | ||
556 | - // return nil, application.ThrowError(application.BUSINESS_ERROR, err.Error()) | ||
557 | - //} | ||
558 | - // | ||
559 | - //if cooperationProject, err := cooperationProjectRepository.Save(cooperationProject); err != nil { | ||
560 | - // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
561 | - //} else { | ||
562 | - // if err := transactionContext.CommitTransaction(); err != nil { | ||
563 | - // return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
564 | - // } | ||
565 | - // return cooperationProject, nil | ||
566 | - //} | ||
567 | - return nil, nil | 543 | + cooperationProjectIds, err := utils.SliceAtoi(batchEndCooperationProjectCommand.CooperationProjectIds) |
544 | + if err != nil { | ||
545 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
546 | + } | ||
547 | + if count, cooperationProjects, err := cooperationProjectRepository.Find(map[string]interface{}{ | ||
548 | + "cooperationProjectIds": cooperationProjectIds, | ||
549 | + }); err != nil { | ||
550 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
551 | + } else { | ||
552 | + if count > 0 { | ||
553 | + for i, _ := range cooperationProjects { | ||
554 | + cooperationProjects[i].Status = 2 | ||
555 | + } | ||
556 | + cooperationProjectsEnded, err := cooperationProjectRepository.UpdateMany(cooperationProjects) | ||
557 | + if err != nil { | ||
558 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
559 | + } | ||
560 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
561 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
562 | + } | ||
563 | + return map[string]interface{}{ | ||
564 | + "cooperationProjects": cooperationProjectsEnded, | ||
565 | + }, nil | ||
566 | + } else { | ||
567 | + return map[string]interface{}{}, nil | ||
568 | + } | ||
569 | + } | ||
568 | } | 570 | } |
569 | 571 | ||
570 | func NewCooperationProjectService(options map[string]interface{}) *CooperationProjectService { | 572 | func NewCooperationProjectService(options map[string]interface{}) *CooperationProjectService { |
@@ -46,6 +46,7 @@ type CooperationProject struct { | @@ -46,6 +46,7 @@ type CooperationProject struct { | ||
46 | 46 | ||
47 | type CooperationProjectRepository interface { | 47 | type CooperationProjectRepository interface { |
48 | Save(cooperationProject *CooperationProject) (*CooperationProject, error) | 48 | Save(cooperationProject *CooperationProject) (*CooperationProject, error) |
49 | + UpdateMany(cooperationProjects []*CooperationProject) ([]*CooperationProject, error) | ||
49 | Remove(cooperationProject *CooperationProject) (*CooperationProject, error) | 50 | Remove(cooperationProject *CooperationProject) (*CooperationProject, error) |
50 | FindOne(queryOptions map[string]interface{}) (*CooperationProject, error) | 51 | FindOne(queryOptions map[string]interface{}) (*CooperationProject, error) |
51 | Find(queryOptions map[string]interface{}) (int64, []*CooperationProject, error) | 52 | Find(queryOptions map[string]interface{}) (int64, []*CooperationProject, error) |
@@ -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" |
@@ -156,6 +157,38 @@ func (repository *CooperationProjectRepository) Save(cooperationProject *domain. | @@ -156,6 +157,38 @@ func (repository *CooperationProjectRepository) Save(cooperationProject *domain. | ||
156 | return cooperationProject, nil | 157 | return cooperationProject, nil |
157 | } | 158 | } |
158 | 159 | ||
160 | +func (repository *CooperationProjectRepository) UpdateMany(cooperationProjects []*domain.CooperationProject) ([]*domain.CooperationProject, error) { | ||
161 | + tx := repository.transactionContext.PgTx | ||
162 | + var cooperationProjectModels []*models.CooperationProject | ||
163 | + for _, cooperationProject := range cooperationProjects { | ||
164 | + cooperationProjectModels = append(cooperationProjectModels, &models.CooperationProject{ | ||
165 | + CooperationProjectId: cooperationProject.CooperationProjectId, | ||
166 | + CooperationProjectNumber: cooperationProject.CooperationProjectNumber, | ||
167 | + CooperationProjectDescription: cooperationProject.CooperationProjectDescription, | ||
168 | + CooperationProjectName: cooperationProject.CooperationProjectName, | ||
169 | + CooperationProjectPublishTime: cooperationProject.CooperationProjectPublishTime, | ||
170 | + CooperationProjectPublisher: cooperationProject.CooperationProjectPublisher, | ||
171 | + CooperationProjectSponsor: cooperationProject.CooperationProjectSponsor, | ||
172 | + CooperationModeNumber: cooperationProject.CooperationProjectNumber, | ||
173 | + Department: cooperationProject.Department, | ||
174 | + CooperationProjectUndertakerTypes: cooperationProject.CooperationProjectUndertakerTypes, | ||
175 | + Attachment: cooperationProject.Attachment, | ||
176 | + Org: cooperationProject.Org, | ||
177 | + Company: cooperationProject.Company, | ||
178 | + Operator: cooperationProject.Operator, | ||
179 | + OperateTime: time.Now(), | ||
180 | + Status: cooperationProject.Status, | ||
181 | + UpdatedAt: time.Now(), | ||
182 | + DeletedAt: cooperationProject.DeletedAt, | ||
183 | + CreatedAt: cooperationProject.CreatedAt, | ||
184 | + }) | ||
185 | + } | ||
186 | + if _, err := tx.Model(&cooperationProjectModels).WherePK().Update(); err != nil { | ||
187 | + return nil, err | ||
188 | + } | ||
189 | + return cooperationProjects, nil | ||
190 | +} | ||
191 | + | ||
159 | func (repository *CooperationProjectRepository) Remove(cooperationProject *domain.CooperationProject) (*domain.CooperationProject, error) { | 192 | func (repository *CooperationProjectRepository) Remove(cooperationProject *domain.CooperationProject) (*domain.CooperationProject, error) { |
160 | tx := repository.transactionContext.PgTx | 193 | tx := repository.transactionContext.PgTx |
161 | cooperationProjectModel := new(models.CooperationProject) | 194 | cooperationProjectModel := new(models.CooperationProject) |
-
请 注册 或 登录 后发表评论