作者 陈志颖

合并分支 'dev' 到 'test'

Dev



查看合并请求 !19
@@ -800,6 +800,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent @@ -800,6 +800,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent
800 // 分离分红订单和退货单 800 // 分离分红订单和退货单
801 dividendsOrderNumbers := make([]string, 0) 801 dividendsOrderNumbers := make([]string, 0)
802 dividendsReturnedOrderNumbers := make([]string, 0) 802 dividendsReturnedOrderNumbers := make([]string, 0)
  803 + if len(estimateSuccessfullyDividendsOrders) > 0 {
803 for k, _ := range estimateSuccessfullyDividendsOrders { 804 for k, _ := range estimateSuccessfullyDividendsOrders {
804 if k[:2] == "RE" { // 分红退货单 805 if k[:2] == "RE" { // 分红退货单
805 dividendsReturnedOrderNumbers = append(dividendsReturnedOrderNumbers, k) 806 dividendsReturnedOrderNumbers = append(dividendsReturnedOrderNumbers, k)
@@ -807,6 +808,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent @@ -807,6 +808,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent
807 dividendsOrderNumbers = append(dividendsOrderNumbers, k) 808 dividendsOrderNumbers = append(dividendsOrderNumbers, k)
808 } 809 }
809 } 810 }
  811 + }
810 812
811 // 分红订单仓储初始化 813 // 分红订单仓储初始化
812 var dividendsOrderRepository domain.DividendsOrderRepository 814 var dividendsOrderRepository domain.DividendsOrderRepository
@@ -819,6 +821,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent @@ -819,6 +821,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent
819 } 821 }
820 822
821 // 查找分红订单 823 // 查找分红订单
  824 + if len(dividendsOrderNumbers) > 0 {
822 if countDividendsOrdersFound, dividendsOrdersFound, err := dividendsOrderRepository.Find(map[string]interface{}{ 825 if countDividendsOrdersFound, dividendsOrdersFound, err := dividendsOrderRepository.Find(map[string]interface{}{
823 "dividendsOrderNumbers": dividendsOrderNumbers, 826 "dividendsOrderNumbers": dividendsOrderNumbers,
824 "companyId": confirmDividendsIncentivesEstimateCommand.CompanyId, 827 "companyId": confirmDividendsIncentivesEstimateCommand.CompanyId,
@@ -848,6 +851,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent @@ -848,6 +851,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent
848 } 851 }
849 } 852 }
850 } 853 }
  854 + }
851 855
852 // 分红退货单仓储初始化 856 // 分红退货单仓储初始化
853 var dividendsReturnedOrderRepository domain.DividendsReturnedOrderRepository 857 var dividendsReturnedOrderRepository domain.DividendsReturnedOrderRepository
@@ -860,6 +864,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent @@ -860,6 +864,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent
860 } 864 }
861 865
862 // 查找分红退货单 866 // 查找分红退货单
  867 + if len(dividendsReturnedOrderNumbers) > 0 {
863 if countDividendsReturnedOrdersFound, dividendsReturnedOrdersFound, err := dividendsReturnedOrderRepository.Find(map[string]interface{}{ 868 if countDividendsReturnedOrdersFound, dividendsReturnedOrdersFound, err := dividendsReturnedOrderRepository.Find(map[string]interface{}{
864 "dividendsReturnedOrderNumbers": dividendsReturnedOrderNumbers, 869 "dividendsReturnedOrderNumbers": dividendsReturnedOrderNumbers,
865 "companyId": confirmDividendsIncentivesEstimateCommand.CompanyId, 870 "companyId": confirmDividendsIncentivesEstimateCommand.CompanyId,
@@ -889,6 +894,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent @@ -889,6 +894,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmDividendsIncent
889 } 894 }
890 } 895 }
891 } 896 }
  897 + }
892 898
893 // 完成第二阶段事务提交 899 // 完成第二阶段事务提交
894 if err := newTransactionContext.CommitTransaction(); err != nil { 900 if err := newTransactionContext.CommitTransaction(); err != nil {
@@ -1068,7 +1074,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmMoneyIncentives @@ -1068,7 +1074,7 @@ func (dividendsEstimateService *DividendsEstimateService) ConfirmMoneyIncentives
1068 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 1074 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
1069 } 1075 }
1070 if confirmMoneyIncentivesEstimateCommand.Action == 1 { // 只预算,不入库 1076 if confirmMoneyIncentivesEstimateCommand.Action == 1 { // 只预算,不入库
1071 - return dividendsEstimatesSaved, nil 1077 + return dividendsEstimates, nil
1072 } else if confirmMoneyIncentivesEstimateCommand.Action == 2 { // 确定预算 1078 } else if confirmMoneyIncentivesEstimateCommand.Action == 2 { // 确定预算
1073 if err := transactionContext.CommitTransaction(); err != nil { 1079 if err := transactionContext.CommitTransaction(); err != nil {
1074 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 1080 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
@@ -8,6 +8,7 @@ import ( @@ -8,6 +8,7 @@ import (
8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain" 8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain"
9 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service" 9 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/domain/service"
10 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/dao" 10 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/dao"
  11 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-cooperation/pkg/infrastructure/utils"
11 "time" 12 "time"
12 ) 13 )
13 14
@@ -49,6 +50,7 @@ func (domainService *ConfirmMoneyIncentivesEstimateService) Confirm(contract *do @@ -49,6 +50,7 @@ func (domainService *ConfirmMoneyIncentivesEstimateService) Confirm(contract *do
49 50
50 // 金额激励预算 51 // 金额激励预算
51 for _, undertaker := range contract.Undertakers { 52 for _, undertaker := range contract.Undertakers {
  53 + if utils.IsContain64(undertakerUIDs, undertaker.UndertakerId) {
52 // 判断承接人在当前阶段是否已经分红 54 // 判断承接人在当前阶段是否已经分红
53 undertakerEstimated, err := dividendsEstimateDao.UserEstimated(map[string]interface{}{ 55 undertakerEstimated, err := dividendsEstimateDao.UserEstimated(map[string]interface{}{
54 "undertakerUid": undertaker.UserId, 56 "undertakerUid": undertaker.UserId,
@@ -61,7 +63,8 @@ func (domainService *ConfirmMoneyIncentivesEstimateService) Confirm(contract *do @@ -61,7 +63,8 @@ func (domainService *ConfirmMoneyIncentivesEstimateService) Confirm(contract *do
61 if undertakerEstimated { 63 if undertakerEstimated {
62 return nil, fmt.Errorf("用户 " + undertaker.UserName + " 已分红") 64 return nil, fmt.Errorf("用户 " + undertaker.UserName + " 已分红")
63 } else { 65 } else {
64 - undertakerDividendsAmount, _ := decimal.NewFromFloat(moneyIncentivesRuleMatched.MoneyIncentivesAmount).Mul(decimal.NewFromFloat(1).Sub(decimal.NewFromFloat(moneyIncentivesRuleMatched.SalesmanPercentage).Add(decimal.NewFromFloat(moneyIncentivesRuleMatched.ReferrerPercentage))).Div(decimal.NewFromFloat(100))).Float64() 66 + undertakerDividendsAmount, _ := decimal.NewFromFloat(moneyIncentivesRuleMatched.MoneyIncentivesAmount).
  67 + Mul(decimal.NewFromFloat(1).Sub(decimal.NewFromFloat(moneyIncentivesRuleMatched.SalesmanPercentage).Add(decimal.NewFromFloat(moneyIncentivesRuleMatched.ReferrerPercentage)).Div(decimal.NewFromFloat(100)))).Float64()
65 dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{ 68 dividendsEstimateDetails = append(dividendsEstimateDetails, &service.DividendsEstimateDetail{
66 DividendsUser: &domain.User{ 69 DividendsUser: &domain.User{
67 UserId: undertaker.UserId, 70 UserId: undertaker.UserId,
@@ -154,6 +157,7 @@ func (domainService *ConfirmMoneyIncentivesEstimateService) Confirm(contract *do @@ -154,6 +157,7 @@ func (domainService *ConfirmMoneyIncentivesEstimateService) Confirm(contract *do
154 } 157 }
155 } 158 }
156 } 159 }
  160 + }
157 return dividendsEstimateDetails, nil 161 return dividendsEstimateDetails, nil
158 } 162 }
159 163
@@ -135,3 +135,13 @@ func IsContain(items []int32, item int32) bool { @@ -135,3 +135,13 @@ func IsContain(items []int32, item int32) bool {
135 } 135 }
136 return false 136 return false
137 } 137 }
  138 +
  139 +// IsContain64 判断int64数组是否包含
  140 +func IsContain64(items []int64, item int64) bool {
  141 + for _, eachItem := range items {
  142 + if eachItem == item {
  143 + return true
  144 + }
  145 + }
  146 + return false
  147 +}