正在显示
7 个修改的文件
包含
222 行增加
和
68 行删除
@@ -10,7 +10,7 @@ import ( | @@ -10,7 +10,7 @@ import ( | ||
10 | 10 | ||
11 | type ApplyForCooperationCommand struct { | 11 | type ApplyForCooperationCommand struct { |
12 | // 共创申请描述附件 | 12 | // 共创申请描述附件 |
13 | - CooperationApplicationAttachment []*domain.Attachment `cname:"共创申请描述附件" json:"cooperationApplicationAttachment" valid:"Required"` | 13 | + CooperationApplicationAttachment []*domain.Attachment `cname:"共创申请描述附件" json:"cooperationApplicationAttachment"` |
14 | // 共创申请描述 | 14 | // 共创申请描述 |
15 | CooperationApplicationDescription string `cname:"共创申请描述" json:"cooperationApplicationDescription,omitempty"` | 15 | CooperationApplicationDescription string `cname:"共创申请描述" json:"cooperationApplicationDescription,omitempty"` |
16 | // 申请人ID | 16 | // 申请人ID |
@@ -546,25 +546,25 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | @@ -546,25 +546,25 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | ||
546 | operator = data | 546 | operator = data |
547 | } | 547 | } |
548 | 548 | ||
549 | - // 分红订单仓储初始化 | ||
550 | - var dividendsOrderRepository domain.DividendsOrderRepository | ||
551 | - if value, err := factory.CreateDividendsOrderRepository(map[string]interface{}{ | ||
552 | - "transactionContext": transactionContext, | ||
553 | - }); err != nil { | ||
554 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
555 | - } else { | ||
556 | - dividendsOrderRepository = value | ||
557 | - } | 549 | + //// 分红订单仓储初始化 |
550 | + //var dividendsOrderRepository domain.DividendsOrderRepository | ||
551 | + //if value, err := factory.CreateDividendsOrderRepository(map[string]interface{}{ | ||
552 | + // "transactionContext": transactionContext, | ||
553 | + //}); err != nil { | ||
554 | + // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
555 | + //} else { | ||
556 | + // dividendsOrderRepository = value | ||
557 | + //} | ||
558 | 558 | ||
559 | // 分红退货单仓储初始化 | 559 | // 分红退货单仓储初始化 |
560 | - var dividendsReturnedOrderRepository domain.DividendsReturnedOrderRepository | ||
561 | - if value, err := factory.CreateDividendsReturnedOrderRepository(map[string]interface{}{ | ||
562 | - "transactionContext": transactionContext, | ||
563 | - }); err != nil { | ||
564 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
565 | - } else { | ||
566 | - dividendsReturnedOrderRepository = value | ||
567 | - } | 560 | + //var dividendsReturnedOrderRepository domain.DividendsReturnedOrderRepository |
561 | + //if value, err := factory.CreateDividendsReturnedOrderRepository(map[string]interface{}{ | ||
562 | + // "transactionContext": transactionContext, | ||
563 | + //}); err != nil { | ||
564 | + // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
565 | + //} else { | ||
566 | + // dividendsReturnedOrderRepository = value | ||
567 | + //} | ||
568 | 568 | ||
569 | // 订单产品仓储初始化 | 569 | // 订单产品仓储初始化 |
570 | var orderGoodRepository domain.OrderGoodRepository | 570 | var orderGoodRepository domain.OrderGoodRepository |
@@ -610,10 +610,10 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | @@ -610,10 +610,10 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | ||
610 | } | 610 | } |
611 | 611 | ||
612 | // 统计成功预算的分红订单 | 612 | // 统计成功预算的分红订单 |
613 | - var estimateSuccessfullyDividendsOrders map[string]int | 613 | + estimateSuccessfullyDividendsOrders := make(map[string]string) |
614 | 614 | ||
615 | // 统计预算失败的分红订单 | 615 | // 统计预算失败的分红订单 |
616 | - var estimateFailedDividendsOrders map[string]int | 616 | + estimateFailedDividendsOrders := make(map[string]string) |
617 | 617 | ||
618 | // 获取订单产品 | 618 | // 获取订单产品 |
619 | if _, orderGoods, err := orderGoodRepository.Find(map[string]interface{}{ | 619 | if _, orderGoods, err := orderGoodRepository.Find(map[string]interface{}{ |
@@ -621,7 +621,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | @@ -621,7 +621,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | ||
621 | }); err != nil { | 621 | }); err != nil { |
622 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 622 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
623 | } else { | 623 | } else { |
624 | - var dividendsEstimates []*domain.DividendsEstimate | 624 | + dividendsEstimates := make([]*domain.DividendsEstimate, 0) |
625 | // 统计当前分红预算单数 | 625 | // 统计当前分红预算单数 |
626 | count, err := dividendsEstimateDao.CountDividendsEstimate(map[string]interface{}{ | 626 | count, err := dividendsEstimateDao.CountDividendsEstimate(map[string]interface{}{ |
627 | "companyId": confirmDividendsIncentivesEstimateCommand.CompanyId, | 627 | "companyId": confirmDividendsIncentivesEstimateCommand.CompanyId, |
@@ -633,28 +633,35 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | @@ -633,28 +633,35 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | ||
633 | for _, orderGood := range orderGoods { | 633 | for _, orderGood := range orderGoods { |
634 | dividendsEstimate := &domain.DividendsEstimate{} | 634 | dividendsEstimate := &domain.DividendsEstimate{} |
635 | if orderGood.DividendsOrderNumber != "" { // 查询分红订单 | 635 | if orderGood.DividendsOrderNumber != "" { // 查询分红订单 |
636 | - dividendsOrder, err3 := dividendsOrderRepository.FindOne(map[string]interface{}{ | ||
637 | - "dividendsOrderNumber": orderGood.DividendsOrderNumber, | ||
638 | - "companyId": orderGood.CompanyId, | ||
639 | - "orgId": orderGood.OrgId, | ||
640 | - }) | ||
641 | - if err3 != nil { | ||
642 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "分红订单不存在") | ||
643 | - } | ||
644 | - if dividendsOrder == nil { | ||
645 | - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("分红订单%s不存在", orderGood.DividendsOrderNumber)) | ||
646 | - } | 636 | + //dividendsOrder, err3 := dividendsOrderRepository.FindOne(map[string]interface{}{ |
637 | + // "dividendsOrderNumber": orderGood.DividendsOrderNumber, | ||
638 | + // "companyId": orderGood.CompanyId, | ||
639 | + // "orgId": orderGood.OrgId, | ||
640 | + //}) | ||
641 | + //if err3 != nil { | ||
642 | + // return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "分红订单不存在") | ||
643 | + //} | ||
644 | + //if dividendsOrder == nil { | ||
645 | + // return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("分红订单%s不存在", orderGood.DividendsOrderNumber)) | ||
646 | + //} | ||
647 | // 分红订单产品预算 | 647 | // 分红订单产品预算 |
648 | if dividendsEstimateDetails, err := confirmDividendsIncentivesEstimateService.Confirm(orderGoods); err != nil { | 648 | if dividendsEstimateDetails, err := confirmDividendsIncentivesEstimateService.Confirm(orderGoods); err != nil { |
649 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 649 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
650 | } else { | 650 | } else { |
651 | for _, dividendsEstimateDetail := range dividendsEstimateDetails { | 651 | for _, dividendsEstimateDetail := range dividendsEstimateDetails { |
652 | + if dividendsEstimateDetail.IsSuccessfully { | ||
652 | // 生成分红预算单号 | 653 | // 生成分红预算单号 |
653 | dividendsEstimateOrderNumber, err := dividendsEstimateDetail.GenerateSpecificDividendsEstimateNumber(int64(count), countDividendsEstimate) | 654 | dividendsEstimateOrderNumber, err := dividendsEstimateDetail.GenerateSpecificDividendsEstimateNumber(int64(count), countDividendsEstimate) |
654 | if err != nil { | 655 | if err != nil { |
655 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 656 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
656 | } | 657 | } |
658 | + | ||
659 | + // 记录成功的订单号 | ||
660 | + estimateSuccessfullyDividendsOrders[dividendsEstimateDetail.OrderOrReturnedOrderNumber] = dividendsEstimateDetail.OrderOrReturnedOrderNumber | ||
661 | + | ||
662 | + // 统计分红预算单数目 | ||
657 | countDividendsEstimate = countDividendsEstimate + 1 | 663 | countDividendsEstimate = countDividendsEstimate + 1 |
664 | + | ||
658 | dividendsEstimate = &domain.DividendsEstimate{ | 665 | dividendsEstimate = &domain.DividendsEstimate{ |
659 | DividendsEstimateId: 0, | 666 | DividendsEstimateId: 0, |
660 | DividendsAccountStatus: domain.TO_BE_ACCOUNT, | 667 | DividendsAccountStatus: domain.TO_BE_ACCOUNT, |
@@ -679,31 +686,33 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | @@ -679,31 +686,33 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | ||
679 | OrderGoodId: orderGood.OrderGoodId, | 686 | OrderGoodId: orderGood.OrderGoodId, |
680 | OrderGoodAmount: orderGood.OrderGoodAmount, | 687 | OrderGoodAmount: orderGood.OrderGoodAmount, |
681 | } | 688 | } |
689 | + | ||
682 | dividendsEstimates = append(dividendsEstimates, dividendsEstimate) | 690 | dividendsEstimates = append(dividendsEstimates, dividendsEstimate) |
691 | + } else { | ||
692 | + // 记录失败的订单号和原因s | ||
693 | + estimateFailedDividendsOrders[dividendsEstimateDetail.OrderOrReturnedOrderNumber] = dividendsEstimateDetail.Reason | ||
683 | } | 694 | } |
684 | } | 695 | } |
685 | - } else if orderGood.DividendsReturnedOrderNumber != "" { // 查询分红退货单 | ||
686 | - dividendsReturnedOrder, err := dividendsReturnedOrderRepository.FindOne(map[string]interface{}{"dividendsReturnedOrderNumber": orderGood.DividendsReturnedOrderNumber}) | ||
687 | - if err != nil { | ||
688 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
689 | - } | ||
690 | - if dividendsReturnedOrder == nil { | ||
691 | - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("分红退货单%s不存在", orderGood.DividendsReturnedOrderNumber)) | ||
692 | } | 696 | } |
697 | + } else if orderGood.DividendsReturnedOrderNumber != "" { // 查询分红退货单 | ||
693 | // 分红退货单产品预算 | 698 | // 分红退货单产品预算 |
694 | if dividendsReturnedEstimateDetails, err := confirmDividendsIncentivesEstimateService.Confirm(orderGoods); err != nil { | 699 | if dividendsReturnedEstimateDetails, err := confirmDividendsIncentivesEstimateService.Confirm(orderGoods); err != nil { |
695 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 700 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
696 | } else { | 701 | } else { |
697 | for _, dividendsReturnedEstimateDetail := range dividendsReturnedEstimateDetails { | 702 | for _, dividendsReturnedEstimateDetail := range dividendsReturnedEstimateDetails { |
703 | + if dividendsReturnedEstimateDetail.IsSuccessfully { | ||
698 | // 生成分红预算单号 | 704 | // 生成分红预算单号 |
699 | dividendsEstimateOrderNumber, err := dividendsReturnedEstimateDetail.GenerateSpecificDividendsEstimateNumber(int64(count), countDividendsEstimate) | 705 | dividendsEstimateOrderNumber, err := dividendsReturnedEstimateDetail.GenerateSpecificDividendsEstimateNumber(int64(count), countDividendsEstimate) |
700 | if err != nil { | 706 | if err != nil { |
701 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 707 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
702 | } | 708 | } |
709 | + | ||
710 | + // 记录成功的退货单号 | ||
711 | + estimateSuccessfullyDividendsOrders[dividendsReturnedEstimateDetail.OrderOrReturnedOrderNumber] = dividendsReturnedEstimateDetail.OrderOrReturnedOrderNumber | ||
712 | + | ||
713 | + // 统计生成的预算单数量 | ||
703 | countDividendsEstimate = countDividendsEstimate + 1 | 714 | countDividendsEstimate = countDividendsEstimate + 1 |
704 | - if err != nil { | ||
705 | - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
706 | - } | 715 | + |
707 | dividendsEstimate = &domain.DividendsEstimate{ | 716 | dividendsEstimate = &domain.DividendsEstimate{ |
708 | DividendsEstimateId: 0, | 717 | DividendsEstimateId: 0, |
709 | DividendsAccountStatus: domain.TO_BE_ACCOUNT, | 718 | DividendsAccountStatus: domain.TO_BE_ACCOUNT, |
@@ -728,7 +737,12 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | @@ -728,7 +737,12 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | ||
728 | OrderGoodId: orderGood.OrderGoodId, | 737 | OrderGoodId: orderGood.OrderGoodId, |
729 | OrderGoodAmount: orderGood.OrderGoodAmount, | 738 | OrderGoodAmount: orderGood.OrderGoodAmount, |
730 | } | 739 | } |
740 | + | ||
731 | dividendsEstimates = append(dividendsEstimates, dividendsEstimate) | 741 | dividendsEstimates = append(dividendsEstimates, dividendsEstimate) |
742 | + } else { | ||
743 | + // 记录失败的退货单号和原因 | ||
744 | + estimateFailedDividendsOrders[dividendsReturnedEstimateDetail.OrderOrReturnedOrderNumber] = dividendsReturnedEstimateDetail.Reason | ||
745 | + } | ||
732 | } | 746 | } |
733 | } | 747 | } |
734 | } | 748 | } |
@@ -744,8 +758,13 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | @@ -744,8 +758,13 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent | ||
744 | } | 758 | } |
745 | // 分析成功和失败原因 | 759 | // 分析成功和失败原因 |
746 | successfullyCount := len(dividendsEstimatesSaved) | 760 | successfullyCount := len(dividendsEstimatesSaved) |
761 | + // 错误原因收集,返回第一个可能的原因 | ||
762 | + var failedReason []string | ||
763 | + for _, v := range estimateFailedDividendsOrders { | ||
764 | + failedReason = append(failedReason, v) | ||
765 | + } | ||
747 | return map[string]interface{}{ | 766 | return map[string]interface{}{ |
748 | - "report": fmt.Sprintf("已完成%d笔单订单分红预算,生成%d笔单分红预算,%d笔订单分红预算失败,失败原因:%s", len(estimateSuccessfullyDividendsOrders), successfullyCount, len(estimateFailedDividendsOrders), ""), | 767 | + "report": fmt.Sprintf("已完成%d笔单订单分红预算,生成%d笔单分红预算,%d笔订单分红预算失败,失败原因:%s", len(estimateSuccessfullyDividendsOrders), successfullyCount, len(estimateFailedDividendsOrders), failedReason[0]), |
749 | }, nil | 768 | }, nil |
750 | } | 769 | } |
751 | } | 770 | } |
@@ -842,11 +861,20 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmMoneyIncentives | @@ -842,11 +861,20 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmMoneyIncentives | ||
842 | dividendsEstimateRepository = value | 861 | dividendsEstimateRepository = value |
843 | } | 862 | } |
844 | 863 | ||
845 | - cooperationContractId, _ := strconv.ParseInt(confirmMoneyIncentivesEstimateCommand.CooperationContractId, 10, 64) | ||
846 | - undertakerUIDs, _ := utils.SliceAtoi(confirmMoneyIncentivesEstimateCommand.UndertakerUids) | 864 | + cooperationContractId, err := strconv.ParseInt(confirmMoneyIncentivesEstimateCommand.CooperationContractId, 10, 64) |
865 | + if err != nil { | ||
866 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "合约编号类型错误:"+err.Error()) | ||
867 | + } | ||
868 | + | ||
869 | + undertakerUIDs, err := utils.SliceAtoi(confirmMoneyIncentivesEstimateCommand.UndertakerUids) | ||
870 | + if err != nil { | ||
871 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "承接人UID类型错误:"+err.Error()) | ||
872 | + } | ||
847 | 873 | ||
848 | // 获取共创合约 | 874 | // 获取共创合约 |
849 | - cooperationContract, err := cooperationContractRepository.FindOne(map[string]interface{}{"cooperationContractId": cooperationContractId}) | 875 | + cooperationContract, err := cooperationContractRepository.FindOne(map[string]interface{}{ |
876 | + "cooperationContractId": cooperationContractId, | ||
877 | + }) | ||
850 | if err != nil { | 878 | if err != nil { |
851 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 879 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
852 | } | 880 | } |
@@ -860,7 +888,10 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmMoneyIncentives | @@ -860,7 +888,10 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmMoneyIncentives | ||
860 | count, err := dividendsEstimateDao.CountDividendsEstimate(map[string]interface{}{ | 888 | count, err := dividendsEstimateDao.CountDividendsEstimate(map[string]interface{}{ |
861 | "companyId": confirmMoneyIncentivesEstimateCommand.CompanyId, | 889 | "companyId": confirmMoneyIncentivesEstimateCommand.CompanyId, |
862 | }) | 890 | }) |
891 | + | ||
892 | + // 分红预算单统计 | ||
863 | var countDividendsEstimate int64 | 893 | var countDividendsEstimate int64 |
894 | + | ||
864 | // 共创合约预算 | 895 | // 共创合约预算 |
865 | if dividendsEstimateDetails, err2 := confirmMoneyIncentivesEstimateService.Confirm(cooperationContract, confirmMoneyIncentivesEstimateCommand.DividendsIncentivesStage, undertakerUIDs); err2 != nil { | 896 | if dividendsEstimateDetails, err2 := confirmMoneyIncentivesEstimateService.Confirm(cooperationContract, confirmMoneyIncentivesEstimateCommand.DividendsIncentivesStage, undertakerUIDs); err2 != nil { |
866 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err2.Error()) | 897 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err2.Error()) |
@@ -871,7 +902,10 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmMoneyIncentives | @@ -871,7 +902,10 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmMoneyIncentives | ||
871 | if err != nil { | 902 | if err != nil { |
872 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 903 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
873 | } | 904 | } |
905 | + | ||
906 | + // 统计生成的预算单数目 | ||
874 | countDividendsEstimate = countDividendsEstimate + 1 | 907 | countDividendsEstimate = countDividendsEstimate + 1 |
908 | + | ||
875 | dividendsEstimate := &domain.DividendsEstimate{ | 909 | dividendsEstimate := &domain.DividendsEstimate{ |
876 | DividendsEstimateId: 0, | 910 | DividendsEstimateId: 0, |
877 | DividendsAccountStatus: domain.TO_BE_ACCOUNT, | 911 | DividendsAccountStatus: domain.TO_BE_ACCOUNT, |
@@ -894,6 +928,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmMoneyIncentives | @@ -894,6 +928,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmMoneyIncentives | ||
894 | DeletedAt: time.Time{}, | 928 | DeletedAt: time.Time{}, |
895 | UpdatedAt: time.Time{}, | 929 | UpdatedAt: time.Time{}, |
896 | } | 930 | } |
931 | + | ||
897 | dividendsEstimates = append(dividendsEstimates, dividendsEstimate) | 932 | dividendsEstimates = append(dividendsEstimates, dividendsEstimate) |
898 | } | 933 | } |
899 | dividendsEstimatesSaved, err := dividendsEstimateRepository.SaveMany(dividendsEstimates) | 934 | dividendsEstimatesSaved, err := dividendsEstimateRepository.SaveMany(dividendsEstimates) |
@@ -12,6 +12,9 @@ type DividendsEstimateDetail struct { | @@ -12,6 +12,9 @@ type DividendsEstimateDetail struct { | ||
12 | DividendsParticipateType int32 `json:"dividendsParticipateType"` // 参与类型 | 12 | DividendsParticipateType int32 `json:"dividendsParticipateType"` // 参与类型 |
13 | DividendsStage int32 `json:"dividendsStage"` // 分红阶段 | 13 | DividendsStage int32 `json:"dividendsStage"` // 分红阶段 |
14 | DividendsAmount float64 `json:"dividendsAmount"` // 分红金额 | 14 | DividendsAmount float64 `json:"dividendsAmount"` // 分红金额 |
15 | + OrderOrReturnedOrderNumber string `json:"orderOrReturnedOrderNumber"` // 分红订单号或退货单号 | ||
16 | + IsSuccessfully bool `json:"isSuccessfully"` // 是否预算成功 | ||
17 | + Reason string `json:"reason"` // 错误原因 | ||
15 | } | 18 | } |
16 | 19 | ||
17 | // GenerateSpecificDividendsEstimateNumber 批量生成自定义分红预算单号 | 20 | // GenerateSpecificDividendsEstimateNumber 批量生成自定义分红预算单号 |
@@ -2,7 +2,6 @@ package domain_service | @@ -2,7 +2,6 @@ package domain_service | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | - "github.com/linmadan/egglib-go/core/application" | ||
6 | coreDomain "github.com/linmadan/egglib-go/core/domain" | 5 | coreDomain "github.com/linmadan/egglib-go/core/domain" |
7 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" | 6 | pgTransaction "github.com/linmadan/egglib-go/transaction/pg" |
8 | "github.com/shopspring/decimal" | 7 | "github.com/shopspring/decimal" |
@@ -57,29 +56,84 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | @@ -57,29 +56,84 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | ||
57 | // 获取合约 | 56 | // 获取合约 |
58 | cooperationContract, err := cooperationContractRepository.FindOne(map[string]interface{}{ | 57 | cooperationContract, err := cooperationContractRepository.FindOne(map[string]interface{}{ |
59 | "cooperationContractNumber": orderGood.CooperationContractNumber, | 58 | "cooperationContractNumber": orderGood.CooperationContractNumber, |
59 | + "companyId": orderGood.CompanyId, | ||
60 | + "orgId": orderGood.OrgId, | ||
60 | }) | 61 | }) |
61 | if err != nil { | 62 | if err != nil { |
62 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 63 | + dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{ |
64 | + DividendsUser: nil, | ||
65 | + DividendsParticipateType: 0, | ||
66 | + DividendsStage: 0, | ||
67 | + DividendsAmount: 0, | ||
68 | + OrderOrReturnedOrderNumber: orderGood.DividendsOrderNumber, | ||
69 | + IsSuccessfully: false, | ||
70 | + Reason: "共创合约错误", | ||
71 | + }) | ||
72 | + continue | ||
73 | + //return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
63 | } | 74 | } |
64 | if cooperationContract == nil { | 75 | if cooperationContract == nil { |
65 | - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("共创合约%s不存在", orderGood.CooperationContractNumber)) | 76 | + dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{ |
77 | + DividendsUser: nil, | ||
78 | + DividendsParticipateType: 0, | ||
79 | + DividendsStage: 0, | ||
80 | + DividendsAmount: 0, | ||
81 | + OrderOrReturnedOrderNumber: orderGood.DividendsOrderNumber, | ||
82 | + IsSuccessfully: false, | ||
83 | + Reason: "共创合约" + orderGood.CooperationContractNumber + "不存在", | ||
84 | + }) | ||
85 | + continue | ||
86 | + //return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("共创合约%s不存在", orderGood.CooperationContractNumber)) | ||
66 | } | 87 | } |
67 | 88 | ||
68 | // 获取共创项目 | 89 | // 获取共创项目 |
69 | cooperationProject, err := cooperationProjectRepository.FindOne(map[string]interface{}{ | 90 | cooperationProject, err := cooperationProjectRepository.FindOne(map[string]interface{}{ |
70 | "cooperationProjectNumber": cooperationContract.CooperationProjectNumber, | 91 | "cooperationProjectNumber": cooperationContract.CooperationProjectNumber, |
92 | + "companyId": cooperationContract.Company.CompanyId, | ||
93 | + "orgId": cooperationContract.Org.OrgId, | ||
94 | + "notPause": true, | ||
71 | }) | 95 | }) |
72 | if err != nil { | 96 | if err != nil { |
73 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 97 | + dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{ |
98 | + DividendsUser: nil, | ||
99 | + DividendsParticipateType: 0, | ||
100 | + DividendsStage: 0, | ||
101 | + DividendsAmount: 0, | ||
102 | + OrderOrReturnedOrderNumber: orderGood.DividendsOrderNumber, | ||
103 | + IsSuccessfully: false, | ||
104 | + Reason: "共创项目" + orderGood.CooperationContractNumber + "查询错误", | ||
105 | + }) | ||
106 | + continue | ||
107 | + //return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
74 | } | 108 | } |
75 | if cooperationProject == nil { | 109 | if cooperationProject == nil { |
76 | - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("共创项目%s不存在", cooperationContract.CooperationProjectNumber)) | 110 | + dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{ |
111 | + DividendsUser: nil, | ||
112 | + DividendsParticipateType: 0, | ||
113 | + DividendsStage: 0, | ||
114 | + DividendsAmount: 0, | ||
115 | + OrderOrReturnedOrderNumber: orderGood.DividendsOrderNumber, | ||
116 | + IsSuccessfully: false, | ||
117 | + Reason: "共创项目" + orderGood.CooperationContractNumber + "已结束或不存在", | ||
118 | + }) | ||
119 | + continue | ||
120 | + //return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("共创项目%s不存在", cooperationContract.CooperationProjectNumber)) | ||
77 | } | 121 | } |
78 | 122 | ||
79 | // 校验合约关联的项目是否已结束 | 123 | // 校验合约关联的项目是否已结束 |
80 | - if cooperationProject.Status == 2 { | ||
81 | - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("共创项目%s已结束", cooperationContract.CooperationProjectNumber)) | ||
82 | - } | 124 | + //if cooperationProject.Status == 2 { |
125 | + // dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{ | ||
126 | + // DividendsUser: nil, | ||
127 | + // DividendsParticipateType: 0, | ||
128 | + // DividendsStage: 0, | ||
129 | + // DividendsAmount: 0, | ||
130 | + // OrderOrReturnedOrderNumber: orderGood.DividendsOrderNumber, | ||
131 | + // IsSuccessfully: false, | ||
132 | + // Reason: "共创项目" + orderGood.CooperationContractNumber + "已结束", | ||
133 | + // }) | ||
134 | + // continue | ||
135 | + // //return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("共创项目%s已结束", cooperationContract.CooperationProjectNumber)) | ||
136 | + //} | ||
83 | 137 | ||
84 | if orderGood.DividendsOrderNumber != "" { // 获取分红订单 | 138 | if orderGood.DividendsOrderNumber != "" { // 获取分红订单 |
85 | // 获取分红订单 | 139 | // 获取分红订单 |
@@ -89,10 +143,30 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | @@ -89,10 +143,30 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | ||
89 | "orgId": orderGood.OrgId, | 143 | "orgId": orderGood.OrgId, |
90 | }) | 144 | }) |
91 | if err2 != nil { | 145 | if err2 != nil { |
92 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "分红订单不存在") | 146 | + dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{ |
147 | + DividendsUser: nil, | ||
148 | + DividendsParticipateType: 0, | ||
149 | + DividendsStage: 0, | ||
150 | + DividendsAmount: 0, | ||
151 | + OrderOrReturnedOrderNumber: orderGood.DividendsOrderNumber, | ||
152 | + IsSuccessfully: false, | ||
153 | + Reason: "分红订单" + orderGood.DividendsOrderNumber + "查询错误", | ||
154 | + }) | ||
155 | + continue | ||
156 | + //return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "分红订单不存在") | ||
93 | } | 157 | } |
94 | if dividendsOrder == nil { | 158 | if dividendsOrder == nil { |
95 | - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("分红订单%s不存在", orderGood.DividendsOrderNumber)) | 159 | + dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{ |
160 | + DividendsUser: nil, | ||
161 | + DividendsParticipateType: 0, | ||
162 | + DividendsStage: 0, | ||
163 | + DividendsAmount: 0, | ||
164 | + OrderOrReturnedOrderNumber: orderGood.DividendsOrderNumber, | ||
165 | + IsSuccessfully: false, | ||
166 | + Reason: "分红订单" + orderGood.DividendsOrderNumber + "不存在", | ||
167 | + }) | ||
168 | + continue | ||
169 | + //return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("分红订单%s不存在", orderGood.DividendsOrderNumber)) | ||
96 | } | 170 | } |
97 | 171 | ||
98 | // 匹配分红规则 | 172 | // 匹配分红规则 |
@@ -104,7 +178,17 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | @@ -104,7 +178,17 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | ||
104 | } | 178 | } |
105 | } | 179 | } |
106 | if dividendsIncentivesRuleMatched == nil { | 180 | if dividendsIncentivesRuleMatched == nil { |
107 | - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, "未匹配到分红规则") | 181 | + dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{ |
182 | + DividendsUser: nil, | ||
183 | + DividendsParticipateType: 0, | ||
184 | + DividendsStage: 0, | ||
185 | + DividendsAmount: 0, | ||
186 | + OrderOrReturnedOrderNumber: orderGood.DividendsOrderNumber, | ||
187 | + IsSuccessfully: false, | ||
188 | + Reason: "未匹配到分红规则", | ||
189 | + }) | ||
190 | + continue | ||
191 | + //return nil, application.ThrowError(application.RES_NO_FIND_ERROR, "未匹配到分红规则") | ||
108 | } | 192 | } |
109 | 193 | ||
110 | // 计算分红 | 194 | // 计算分红 |
@@ -130,6 +214,8 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | @@ -130,6 +214,8 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | ||
130 | DividendsParticipateType: domain.UNDERTAKER, | 214 | DividendsParticipateType: domain.UNDERTAKER, |
131 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, | 215 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, |
132 | DividendsAmount: undertakerDividendsAmount, | 216 | DividendsAmount: undertakerDividendsAmount, |
217 | + OrderOrReturnedOrderNumber: dividendsOrder.DividendsOrderNumber, | ||
218 | + IsSuccessfully: true, | ||
133 | }) | 219 | }) |
134 | // 添加推荐人分红预算信息详情 | 220 | // 添加推荐人分红预算信息详情 |
135 | if undertaker.Referrer != nil { | 221 | if undertaker.Referrer != nil { |
@@ -151,6 +237,8 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | @@ -151,6 +237,8 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | ||
151 | DividendsParticipateType: domain.REFERRER, | 237 | DividendsParticipateType: domain.REFERRER, |
152 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, | 238 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, |
153 | DividendsAmount: referrerDividendsAmount, | 239 | DividendsAmount: referrerDividendsAmount, |
240 | + OrderOrReturnedOrderNumber: dividendsOrder.DividendsOrderNumber, | ||
241 | + IsSuccessfully: true, | ||
154 | }) | 242 | }) |
155 | } | 243 | } |
156 | // 添加关联业务员分红预算信息详情 | 244 | // 添加关联业务员分红预算信息详情 |
@@ -173,19 +261,43 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | @@ -173,19 +261,43 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | ||
173 | DividendsParticipateType: domain.SALESMAN, | 261 | DividendsParticipateType: domain.SALESMAN, |
174 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, | 262 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, |
175 | DividendsAmount: salesmanDividendsAmount, | 263 | DividendsAmount: salesmanDividendsAmount, |
264 | + OrderOrReturnedOrderNumber: dividendsOrder.DividendsOrderNumber, | ||
265 | + IsSuccessfully: true, | ||
176 | }) | 266 | }) |
177 | } | 267 | } |
178 | } | 268 | } |
179 | } | 269 | } |
180 | - } else if orderGood.DividendsReturnedOrderNumber != "" { // 获取分红退货单 | 270 | + } else if orderGood.DividendsReturnedOrderNumber != "" { // 获取退货单 |
181 | dividendsReturnedOrder, err3 := dividendsReturnedOrderRepository.FindOne(map[string]interface{}{ | 271 | dividendsReturnedOrder, err3 := dividendsReturnedOrderRepository.FindOne(map[string]interface{}{ |
182 | "dividendsReturnedOrderNumber": orderGood.DividendsReturnedOrderNumber, | 272 | "dividendsReturnedOrderNumber": orderGood.DividendsReturnedOrderNumber, |
273 | + "companyId": orderGood.CompanyId, | ||
274 | + "orgId": orderGood.OrgId, | ||
183 | }) | 275 | }) |
184 | if err3 != nil { | 276 | if err3 != nil { |
185 | - return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "分红退货单不存在") | 277 | + dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{ |
278 | + DividendsUser: nil, | ||
279 | + DividendsParticipateType: 0, | ||
280 | + DividendsStage: 0, | ||
281 | + DividendsAmount: 0, | ||
282 | + OrderOrReturnedOrderNumber: orderGood.DividendsReturnedOrderNumber, | ||
283 | + IsSuccessfully: false, | ||
284 | + Reason: "退货单" + orderGood.DividendsReturnedOrderNumber + "不存在", | ||
285 | + }) | ||
286 | + continue | ||
287 | + //return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "分红退货单不存在") | ||
186 | } | 288 | } |
187 | if dividendsReturnedOrder == nil { | 289 | if dividendsReturnedOrder == nil { |
188 | - return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", orderGood.DividendsReturnedOrderNumber)) | 290 | + dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{ |
291 | + DividendsUser: nil, | ||
292 | + DividendsParticipateType: 0, | ||
293 | + DividendsStage: 0, | ||
294 | + DividendsAmount: 0, | ||
295 | + OrderOrReturnedOrderNumber: orderGood.DividendsReturnedOrderNumber, | ||
296 | + IsSuccessfully: false, | ||
297 | + Reason: "退货单" + orderGood.DividendsReturnedOrderNumber + "不存在", | ||
298 | + }) | ||
299 | + continue | ||
300 | + //return nil, application.ThrowError(application.RES_NO_FIND_ERROR, fmt.Sprintf("%s", orderGood.DividendsReturnedOrderNumber)) | ||
189 | } | 301 | } |
190 | // 匹配分红规则 | 302 | // 匹配分红规则 |
191 | var dividendsIncentivesRuleMatched *domain.DividendsIncentivesRule | 303 | var dividendsIncentivesRuleMatched *domain.DividendsIncentivesRule |
@@ -217,6 +329,8 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | @@ -217,6 +329,8 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | ||
217 | DividendsParticipateType: domain.UNDERTAKER, | 329 | DividendsParticipateType: domain.UNDERTAKER, |
218 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, | 330 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, |
219 | DividendsAmount: -undertakerDividendsAmount, | 331 | DividendsAmount: -undertakerDividendsAmount, |
332 | + OrderOrReturnedOrderNumber: dividendsReturnedOrder.DividendsOrderNumber, | ||
333 | + IsSuccessfully: true, | ||
220 | }) | 334 | }) |
221 | // 添加推荐人分红退货预算信息详情 | 335 | // 添加推荐人分红退货预算信息详情 |
222 | if undertaker.Referrer != nil { | 336 | if undertaker.Referrer != nil { |
@@ -238,6 +352,8 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | @@ -238,6 +352,8 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | ||
238 | DividendsParticipateType: domain.REFERRER, | 352 | DividendsParticipateType: domain.REFERRER, |
239 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, | 353 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, |
240 | DividendsAmount: -referrerDividendsAmount, | 354 | DividendsAmount: -referrerDividendsAmount, |
355 | + OrderOrReturnedOrderNumber: dividendsReturnedOrder.DividendsOrderNumber, | ||
356 | + IsSuccessfully: true, | ||
241 | }) | 357 | }) |
242 | } | 358 | } |
243 | // 添加关联业务员分红退货预算信息详情 | 359 | // 添加关联业务员分红退货预算信息详情 |
@@ -260,6 +376,8 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | @@ -260,6 +376,8 @@ func (domainService *ConfirmDividendsIncentivesEstimateService) Confirm(orderGoo | ||
260 | DividendsParticipateType: domain.SALESMAN, | 376 | DividendsParticipateType: domain.SALESMAN, |
261 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, | 377 | DividendsStage: dividendsIncentivesRuleMatched.DividendsIncentivesStage, |
262 | DividendsAmount: -salesmanDividendsAmount, | 378 | DividendsAmount: -salesmanDividendsAmount, |
379 | + OrderOrReturnedOrderNumber: dividendsReturnedOrder.DividendsOrderNumber, | ||
380 | + IsSuccessfully: true, | ||
263 | }) | 381 | }) |
264 | } | 382 | } |
265 | } | 383 | } |
@@ -17,16 +17,8 @@ type ConfirmMoneyIncentivesEstimateService struct { | @@ -17,16 +17,8 @@ type ConfirmMoneyIncentivesEstimateService struct { | ||
17 | } | 17 | } |
18 | 18 | ||
19 | func (domainService *ConfirmMoneyIncentivesEstimateService) Confirm(contract *domain.CooperationContract, stage int32, undertakerUIDs []int64) ([]*service.DividendsEstimateDetail, error) { | 19 | func (domainService *ConfirmMoneyIncentivesEstimateService) Confirm(contract *domain.CooperationContract, stage int32, undertakerUIDs []int64) ([]*service.DividendsEstimateDetail, error) { |
20 | - //var dividendsEstimateRepository domain.DividendsEstimateRepository // 分红预算单仓储 | ||
21 | var dividendsEstimateDao *dao.DividendsEstimateDao // 分红预算DAO | 20 | var dividendsEstimateDao *dao.DividendsEstimateDao // 分红预算DAO |
22 | 21 | ||
23 | - // 分红预算单仓储初始化 | ||
24 | - //if repo, err := repository.NewDividendsEstimateRepository(domainService.transactionContext); err != nil { | ||
25 | - // return nil, err | ||
26 | - //} else { | ||
27 | - // dividendsEstimateRepository = repo | ||
28 | - //} | ||
29 | - | ||
30 | // 分红预算DAO初始化 | 22 | // 分红预算DAO初始化 |
31 | if estimateDao, err := dao.NewDividendsEstimateDao(domainService.transactionContext); err != nil { | 23 | if estimateDao, err := dao.NewDividendsEstimateDao(domainService.transactionContext); err != nil { |
32 | return nil, err | 24 | return nil, err |
@@ -220,6 +220,9 @@ func (repository *CooperationProjectRepository) FindOne(queryOptions map[string] | @@ -220,6 +220,9 @@ func (repository *CooperationProjectRepository) FindOne(queryOptions map[string] | ||
220 | if cooperationProjectId, ok := queryOptions["cooperationProjectId"]; ok && cooperationProjectId.(int64) != 0 { | 220 | if cooperationProjectId, ok := queryOptions["cooperationProjectId"]; ok && cooperationProjectId.(int64) != 0 { |
221 | query.Where("cooperation_project.cooperation_project_id = ?", cooperationProjectId) | 221 | query.Where("cooperation_project.cooperation_project_id = ?", cooperationProjectId) |
222 | } | 222 | } |
223 | + if notPause, ok := queryOptions["notPause"]; ok && notPause.(bool) != false { | ||
224 | + query.Where("status <> ?", 2) | ||
225 | + } | ||
223 | if err := query.First(); err != nil { | 226 | if err := query.First(); err != nil { |
224 | if err.Error() == "pg: no rows in result set" { | 227 | if err.Error() == "pg: no rows in result set" { |
225 | return nil, fmt.Errorf("共创项目不存在") | 228 | return nil, fmt.Errorf("共创项目不存在") |
@@ -195,6 +195,7 @@ func (repository *DividendsEstimateRepository) SaveMany(dividendsEstimates []*do | @@ -195,6 +195,7 @@ func (repository *DividendsEstimateRepository) SaveMany(dividendsEstimates []*do | ||
195 | UpdatedAt: dividendsEstimate.UpdatedAt, | 195 | UpdatedAt: dividendsEstimate.UpdatedAt, |
196 | }) | 196 | }) |
197 | } | 197 | } |
198 | + if len(dividendsEstimateModels) > 0 { | ||
198 | if _, err := tx.Model(÷ndsEstimateModels).Insert(); err != nil { | 199 | if _, err := tx.Model(÷ndsEstimateModels).Insert(); err != nil { |
199 | return nil, err | 200 | return nil, err |
200 | } | 201 | } |
@@ -207,6 +208,8 @@ func (repository *DividendsEstimateRepository) SaveMany(dividendsEstimates []*do | @@ -207,6 +208,8 @@ func (repository *DividendsEstimateRepository) SaveMany(dividendsEstimates []*do | ||
207 | } | 208 | } |
208 | } | 209 | } |
209 | return dividendsEstimatesSaved, nil | 210 | return dividendsEstimatesSaved, nil |
211 | + } | ||
212 | + return nil, nil | ||
210 | } | 213 | } |
211 | 214 | ||
212 | func (repository *DividendsEstimateRepository) UpdateMany(dividendsEstimates []*domain.DividendsEstimate) ([]*domain.DividendsEstimate, error) { | 215 | func (repository *DividendsEstimateRepository) UpdateMany(dividendsEstimates []*domain.DividendsEstimate) ([]*domain.DividendsEstimate, error) { |
-
请 注册 或 登录 后发表评论