正在显示
7 个修改的文件
包含
157 行增加
和
5 行删除
@@ -7,6 +7,7 @@ import ( | @@ -7,6 +7,7 @@ import ( | ||
7 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/cooperationApplication/command" | 7 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/cooperationApplication/command" |
8 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/cooperationApplication/dto" | 8 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/cooperationApplication/dto" |
9 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/cooperationApplication/query" | 9 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/cooperationApplication/query" |
10 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/event/subscriber" | ||
10 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/factory" | 11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/factory" |
11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain" | 12 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain" |
12 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service" | 13 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service" |
@@ -346,6 +347,32 @@ func (cooperationApplicationService *CooperationApplicationService) BatchApprova | @@ -346,6 +347,32 @@ func (cooperationApplicationService *CooperationApplicationService) BatchApprova | ||
346 | cooperationApplicationRepository = value | 347 | cooperationApplicationRepository = value |
347 | } | 348 | } |
348 | 349 | ||
350 | + // 同意共创申请消息推送领域服务初始化 | ||
351 | + var agreeContractApplicationService service.AgreeContractApplicationService | ||
352 | + if value, err := factory.CreateAgreeContractApplicationService(map[string]interface{}{ | ||
353 | + //"transactionContext": transactionContext, | ||
354 | + }); err != nil { | ||
355 | + return []interface{}{}, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
356 | + } else { | ||
357 | + agreeContractApplicationService = value | ||
358 | + _ = agreeContractApplicationService.Subscribe(&subscriber.MessageServiceSubscriber{ | ||
359 | + //TransactionContext: transactionContext.(*pgTransaction.TransactionContext), | ||
360 | + }) | ||
361 | + } | ||
362 | + | ||
363 | + // 拒绝共创申请消息推送领域服务初始化 | ||
364 | + var rejectContractApplicationService service.RejectContractApplicationService | ||
365 | + if value, err := factory.CreateRejectContractApplicationService(map[string]interface{}{ | ||
366 | + //"transactionContext": transactionContext, | ||
367 | + }); err != nil { | ||
368 | + return []interface{}{}, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
369 | + } else { | ||
370 | + rejectContractApplicationService = value | ||
371 | + _ = rejectContractApplicationService.Subscribe(&subscriber.MessageServiceSubscriber{ | ||
372 | + //TransactionContext: transactionContext.(*pgTransaction.TransactionContext), | ||
373 | + }) | ||
374 | + } | ||
375 | + | ||
349 | // 共创申请ID类型转换 | 376 | // 共创申请ID类型转换 |
350 | cooperationApplicationIds, err := utils.SliceAtoi(batchApprovalCooperationApplicationCommand.CooperationApplicationIds) | 377 | cooperationApplicationIds, err := utils.SliceAtoi(batchApprovalCooperationApplicationCommand.CooperationApplicationIds) |
351 | if err != nil { | 378 | if err != nil { |
@@ -379,7 +406,7 @@ func (cooperationApplicationService *CooperationApplicationService) BatchApprova | @@ -379,7 +406,7 @@ func (cooperationApplicationService *CooperationApplicationService) BatchApprova | ||
379 | for i, cooperationApplication := range cooperationApplications { | 406 | for i, cooperationApplication := range cooperationApplications { |
380 | // 校验共创申请是否已经审核过 | 407 | // 校验共创申请是否已经审核过 |
381 | if cooperationApplication.CooperationApplicationStatus != 1 { | 408 | if cooperationApplication.CooperationApplicationStatus != 1 { |
382 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "改申请已经审核过") | 409 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "该申请已经审核过") |
383 | } | 410 | } |
384 | // 更新共创申请数据 | 411 | // 更新共创申请数据 |
385 | cooperationApplications[i].CooperationApplicationVerifyDescription = batchApprovalCooperationApplicationCommand.CooperationApplicationVerifyDescription | 412 | cooperationApplications[i].CooperationApplicationVerifyDescription = batchApprovalCooperationApplicationCommand.CooperationApplicationVerifyDescription |
@@ -392,13 +419,45 @@ func (cooperationApplicationService *CooperationApplicationService) BatchApprova | @@ -392,13 +419,45 @@ func (cooperationApplicationService *CooperationApplicationService) BatchApprova | ||
392 | cooperationApplications[i].CooperationApplicationVerifyTime = time.Now() | 419 | cooperationApplications[i].CooperationApplicationVerifyTime = time.Now() |
393 | cooperationApplications[i].IsCanceled = 1 | 420 | cooperationApplications[i].IsCanceled = 1 |
394 | } | 421 | } |
422 | + | ||
395 | cooperationApplicationsApproved, err := cooperationApplicationRepository.UpdateMany(cooperationApplications) | 423 | cooperationApplicationsApproved, err := cooperationApplicationRepository.UpdateMany(cooperationApplications) |
396 | if err != nil { | 424 | if err != nil { |
397 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 425 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
398 | } | 426 | } |
427 | + | ||
399 | if err := transactionContext.CommitTransaction(); err != nil { | 428 | if err := transactionContext.CommitTransaction(); err != nil { |
400 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 429 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
401 | } | 430 | } |
431 | + | ||
432 | + // 推送消息 | ||
433 | + for _, cooperationApplicationApproved := range cooperationApplicationsApproved { | ||
434 | + if cooperationApplicationApproved.CooperationApplicationStatus == 2 { | ||
435 | + if err1 := agreeContractApplicationService.Agree( | ||
436 | + cooperationApplicationApproved.CooperationProject.CooperationProjectId, | ||
437 | + cooperationApplicationApproved.CooperationProject.CooperationProjectName, | ||
438 | + cooperationApplicationApproved.CooperationProject.CooperationProjectNumber, | ||
439 | + cooperationApplicationApproved.CooperationApplicationApplicant.UserId, | ||
440 | + cooperationApplicationApproved.CooperationApplicationApplicant.UserBaseId, | ||
441 | + cooperationApplicationApproved.CooperationProject.Org.OrgId, | ||
442 | + cooperationApplicationApproved.CooperationProject.Company.CompanyId, | ||
443 | + ); err1 != nil { | ||
444 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err1.Error()) | ||
445 | + } | ||
446 | + } else if cooperationApplicationApproved.CooperationApplicationStatus == 3 { | ||
447 | + if err2 := rejectContractApplicationService.Reject( | ||
448 | + cooperationApplicationApproved.CooperationProject.CooperationProjectId, | ||
449 | + cooperationApplicationApproved.CooperationProject.CooperationProjectName, | ||
450 | + cooperationApplicationApproved.CooperationProject.CooperationProjectNumber, | ||
451 | + cooperationApplicationApproved.CooperationApplicationApplicant.UserId, | ||
452 | + cooperationApplicationApproved.CooperationApplicationApplicant.UserBaseId, | ||
453 | + cooperationApplicationApproved.CooperationProject.Org.OrgId, | ||
454 | + cooperationApplicationApproved.CooperationProject.Company.CompanyId, | ||
455 | + ); err2 != nil { | ||
456 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err2.Error()) | ||
457 | + } | ||
458 | + } | ||
459 | + } | ||
460 | + | ||
402 | return map[string]interface{}{ | 461 | return map[string]interface{}{ |
403 | "cooperationApplications": cooperationApplicationsApproved, | 462 | "cooperationApplications": cooperationApplicationsApproved, |
404 | }, nil | 463 | }, nil |
@@ -2,14 +2,13 @@ package subscriber | @@ -2,14 +2,13 @@ package subscriber | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | coreDomain "github.com/linmadan/egglib-go/core/domain" | 4 | coreDomain "github.com/linmadan/egglib-go/core/domain" |
5 | - pgTransaction "github.com/linmadan/egglib-go/transaction/pg" | ||
6 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/factory" | 5 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/application/factory" |
7 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/event" | 6 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/event" |
8 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/log" | 7 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/log" |
9 | ) | 8 | ) |
10 | 9 | ||
11 | type MessageServiceSubscriber struct { | 10 | type MessageServiceSubscriber struct { |
12 | - TransactionContext *pgTransaction.TransactionContext | 11 | + //TransactionContext *pgTransaction.TransactionContext |
13 | } | 12 | } |
14 | 13 | ||
15 | func (subscriber *MessageServiceSubscriber) HandleEvent(domainEvent coreDomain.DomainEvent) error { | 14 | func (subscriber *MessageServiceSubscriber) HandleEvent(domainEvent coreDomain.DomainEvent) error { |
@@ -53,3 +53,21 @@ func CreateCancelDividendsEstimateService(options map[string]interface{}) (*doma | @@ -53,3 +53,21 @@ func CreateCancelDividendsEstimateService(options map[string]interface{}) (*doma | ||
53 | } | 53 | } |
54 | return domain_service.NewCancelDividendsEstimateService(transactionContext) | 54 | return domain_service.NewCancelDividendsEstimateService(transactionContext) |
55 | } | 55 | } |
56 | + | ||
57 | +func CreateAgreeContractApplicationService(options map[string]interface{}) (*domain_service.AgreeContractApplicationService, error) { | ||
58 | + //var transactionContext *pgTransaction.TransactionContext | ||
59 | + //if value, ok := options["transactionContext"]; ok { | ||
60 | + // transactionContext = value.(*pgTransaction.TransactionContext) | ||
61 | + //} | ||
62 | + //return domain_service.NewAgreeContractApplicationService(transactionContext) | ||
63 | + return domain_service.NewAgreeContractApplicationService(nil) | ||
64 | +} | ||
65 | + | ||
66 | +func CreateRejectContractApplicationService(options map[string]interface{}) (*domain_service.RejectContractApplicationService, error) { | ||
67 | + //var transactionContext *pgTransaction.TransactionContext | ||
68 | + //if value, ok := options["transactionContext"]; ok { | ||
69 | + // transactionContext = value.(*pgTransaction.TransactionContext) | ||
70 | + //} | ||
71 | + //return domain_service.NewRejectContractApplicationService(transactionContext) | ||
72 | + return domain_service.NewRejectContractApplicationService(nil) | ||
73 | +} |
@@ -4,5 +4,5 @@ import coreDomain "github.com/linmadan/egglib-go/core/domain" | @@ -4,5 +4,5 @@ import coreDomain "github.com/linmadan/egglib-go/core/domain" | ||
4 | 4 | ||
5 | type AgreeContractApplicationService interface { | 5 | type AgreeContractApplicationService interface { |
6 | coreDomain.DomainEventPublisher | 6 | coreDomain.DomainEventPublisher |
7 | - Agree() error | 7 | + Agree(creationProjectId int64, creationProjectName string, creationProjectNumber string, userId int64, userBaseId int64, orgId int64, companyId int64) error |
8 | } | 8 | } |
@@ -4,5 +4,5 @@ import coreDomain "github.com/linmadan/egglib-go/core/domain" | @@ -4,5 +4,5 @@ import coreDomain "github.com/linmadan/egglib-go/core/domain" | ||
4 | 4 | ||
5 | type RejectContractApplicationService interface { | 5 | type RejectContractApplicationService interface { |
6 | coreDomain.DomainEventPublisher | 6 | coreDomain.DomainEventPublisher |
7 | - Reject() error | 7 | + Reject(creationProjectId int64, creationProjectName string, creationProjectNumber string, userId int64, userBaseId int64, orgId int64, companyId int64) error |
8 | } | 8 | } |
1 | +package domain_service | ||
2 | + | ||
3 | +import ( | ||
4 | + coreDomain "github.com/linmadan/egglib-go/core/domain" | ||
5 | + pgTransaction "github.com/linmadan/egglib-go/transaction/pg" | ||
6 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/event" | ||
7 | +) | ||
8 | + | ||
9 | +type AgreeContractApplicationService struct { | ||
10 | + coreDomain.BaseEventPublisher | ||
11 | + //transactionContext *pgTransaction.TransactionContext | ||
12 | +} | ||
13 | + | ||
14 | +func (service *AgreeContractApplicationService) Agree(creationProjectId int64, creationProjectName string, creationProjectNumber string, userId int64, userBaseId int64, orgId int64, companyId int64) error { | ||
15 | + cooperationApplicationAgreedEvent := new(event.CooperationApplicationAgreed) | ||
16 | + cooperationApplicationAgreedEvent.CreationProjectId = creationProjectId | ||
17 | + cooperationApplicationAgreedEvent.CreationProjectName = creationProjectName | ||
18 | + cooperationApplicationAgreedEvent.CreationProjectNumber = creationProjectNumber | ||
19 | + cooperationApplicationAgreedEvent.UserId = userId | ||
20 | + cooperationApplicationAgreedEvent.UserBaseId = userBaseId | ||
21 | + cooperationApplicationAgreedEvent.OrgId = orgId | ||
22 | + cooperationApplicationAgreedEvent.CompanyId = companyId | ||
23 | + if err := service.Publish(cooperationApplicationAgreedEvent); err != nil { | ||
24 | + return err | ||
25 | + } | ||
26 | + return nil | ||
27 | +} | ||
28 | + | ||
29 | +func NewAgreeContractApplicationService(transactionContext *pgTransaction.TransactionContext) (*AgreeContractApplicationService, error) { | ||
30 | + //if transactionContext == nil { | ||
31 | + // return nil, fmt.Errorf("transactionContext参数不能为nil") | ||
32 | + //} else { | ||
33 | + // return &AgreeContractApplicationService{ | ||
34 | + // transactionContext: transactionContext, | ||
35 | + // }, nil | ||
36 | + //} | ||
37 | + return &AgreeContractApplicationService{}, nil | ||
38 | +} |
1 | +package domain_service | ||
2 | + | ||
3 | +import ( | ||
4 | + coreDomain "github.com/linmadan/egglib-go/core/domain" | ||
5 | + pgTransaction "github.com/linmadan/egglib-go/transaction/pg" | ||
6 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/event" | ||
7 | +) | ||
8 | + | ||
9 | +type RejectContractApplicationService struct { | ||
10 | + coreDomain.BaseEventPublisher | ||
11 | + //transactionContext *pgTransaction.TransactionContext | ||
12 | +} | ||
13 | + | ||
14 | +func (service *RejectContractApplicationService) Reject(creationProjectId int64, creationProjectName string, creationProjectNumber string, userId int64, userBaseId int64, orgId int64, companyId int64) error { | ||
15 | + cooperationApplicationRejectedEvent := new(event.CooperationApplicationRejected) | ||
16 | + cooperationApplicationRejectedEvent.CreationProjectId = creationProjectId | ||
17 | + cooperationApplicationRejectedEvent.CreationProjectName = creationProjectName | ||
18 | + cooperationApplicationRejectedEvent.CreationProjectNumber = creationProjectNumber | ||
19 | + cooperationApplicationRejectedEvent.UserId = userId | ||
20 | + cooperationApplicationRejectedEvent.UserBaseId = userBaseId | ||
21 | + cooperationApplicationRejectedEvent.OrgId = orgId | ||
22 | + cooperationApplicationRejectedEvent.CompanyId = companyId | ||
23 | + if err := service.Publish(cooperationApplicationRejectedEvent); err != nil { | ||
24 | + return err | ||
25 | + } | ||
26 | + return nil | ||
27 | +} | ||
28 | + | ||
29 | +func NewRejectContractApplicationService(transactionContext *pgTransaction.TransactionContext) (*RejectContractApplicationService, error) { | ||
30 | + //if transactionContext == nil { | ||
31 | + // return nil, fmt.Errorf("transactionContext参数不能为nil") | ||
32 | + //} else { | ||
33 | + // return &RejectContractApplicationService{ | ||
34 | + // transactionContext: transactionContext, | ||
35 | + // }, nil | ||
36 | + //} | ||
37 | + return &RejectContractApplicationService{}, nil | ||
38 | +} |
-
请 注册 或 登录 后发表评论