|
@@ -157,8 +157,9 @@ func (dividendsOrderService *DividendsOrderService) CreateDividendsOrder(createD |
|
@@ -157,8 +157,9 @@ func (dividendsOrderService *DividendsOrderService) CreateDividendsOrder(createD |
157
|
var dividendsOrderAmount float64
|
157
|
var dividendsOrderAmount float64
|
158
|
for _, orderGood := range createDividendsOrderCommand.OrderGoods {
|
158
|
for _, orderGood := range createDividendsOrderCommand.OrderGoods {
|
159
|
// 计算订单产品金额
|
159
|
// 计算订单产品金额
|
160
|
- orderGoodAmount, _ := decimal.NewFromFloat(orderGood.OrderGoodPrice).Mul(decimal.NewFromFloat(orderGood.OrderGoodQuantity)).Float64()
|
160
|
+ orderGoodAmount, _ := decimal.NewFromFloat(orderGood.OrderGoodPrice).Mul(decimal.NewFromFloat(orderGood.OrderGoodQuantity)).Sub(decimal.NewFromFloat(orderGood.OrderGoodExpense)).Float64()
|
161
|
|
161
|
|
|
|
162
|
+ // 校验合约
|
162
|
ruleMatchedFlag := false
|
163
|
ruleMatchedFlag := false
|
163
|
if orderGood.CooperationContractNumber != "" {
|
164
|
if orderGood.CooperationContractNumber != "" {
|
164
|
// 校验共创合约激励类型是否正确
|
165
|
// 校验共创合约激励类型是否正确
|
|
@@ -742,7 +743,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -742,7 +743,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
742
|
}
|
743
|
}
|
743
|
|
744
|
|
744
|
// 计算产品金额
|
745
|
// 计算产品金额
|
745
|
- orderGoodAmount, _ := decimal.NewFromFloat(orderGood.OrderGoodPrice).Mul(decimal.NewFromFloat(orderGood.OrderGoodQuantity)).Float64()
|
746
|
+ orderGoodAmount, _ := decimal.NewFromFloat(orderGood.OrderGoodPrice).Mul(decimal.NewFromFloat(orderGood.OrderGoodQuantity)).Sub(decimal.NewFromFloat(orderGood.OrderGoodExpense)).Float64()
|
746
|
|
747
|
|
747
|
// 校验共创合约激励类型是否正确
|
748
|
// 校验共创合约激励类型是否正确
|
748
|
ruleMatchedFlag := false
|
749
|
ruleMatchedFlag := false
|
|
@@ -753,7 +754,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -753,7 +754,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
753
|
// 校验产品关联合约的激励规则是否匹配订单时间
|
754
|
// 校验产品关联合约的激励规则是否匹配订单时间
|
754
|
if cooperationContractsMap[orderGood.CooperationContractNumber] != nil {
|
755
|
if cooperationContractsMap[orderGood.CooperationContractNumber] != nil {
|
755
|
for _, incentivesRule := range cooperationContractsMap[orderGood.CooperationContractNumber].DividendsIncentivesRules {
|
756
|
for _, incentivesRule := range cooperationContractsMap[orderGood.CooperationContractNumber].DividendsIncentivesRules {
|
756
|
- if orderTime.After(incentivesRule.DividendsIncentivesStageStart) && orderTime.Before(incentivesRule.DividendsIncentivesStageEnd) {
|
757
|
+ if (orderTime.After(incentivesRule.DividendsIncentivesStageStart) || orderTime.Equal(incentivesRule.DividendsIncentivesStageStart)) && (orderTime.Before(incentivesRule.DividendsIncentivesStageEnd) || orderTime.Equal(incentivesRule.DividendsIncentivesStageEnd)) {
|
757
|
ruleMatchedFlag = true
|
758
|
ruleMatchedFlag = true
|
758
|
break
|
759
|
break
|
759
|
}
|
760
|
}
|
|
@@ -782,7 +783,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
|
@@ -782,7 +783,7 @@ func (dividendsOrderService *DividendsOrderService) ImportDividendsOrder(importD |
782
|
})
|
783
|
})
|
783
|
|
784
|
|
784
|
// 计算分红订单金额
|
785
|
// 计算分红订单金额
|
785
|
- dividendsOrderAmount, _ = decimal.NewFromFloat(dividendsOrderAmount).Add(decimal.NewFromFloat(orderGood.OrderGoodPrice).Mul(decimal.NewFromFloat(float64(orderGood.OrderGoodQuantity)).Sub(decimal.NewFromFloat(orderGood.OrderGoodExpense)))).Float64()
|
786
|
+ dividendsOrderAmount, _ = decimal.NewFromFloat(dividendsOrderAmount).Add(decimal.NewFromFloat(orderGood.OrderGoodPrice).Mul(decimal.NewFromFloat(orderGood.OrderGoodQuantity).Sub(decimal.NewFromFloat(orderGood.OrderGoodExpense)))).Float64()
|
786
|
}
|
787
|
}
|
787
|
if len(orderGoodErrMap) > 0 {
|
788
|
if len(orderGoodErrMap) > 0 {
|
788
|
row := &domain.ImportInfo{
|
789
|
row := &domain.ImportInfo{
|
|
@@ -1187,7 +1188,7 @@ func (dividendsOrderService *DividendsOrderService) UpdateDividendsOrder(updateD |
|
@@ -1187,7 +1188,7 @@ func (dividendsOrderService *DividendsOrderService) UpdateDividendsOrder(updateD |
1187
|
var dividendsOrderAmount float64
|
1188
|
var dividendsOrderAmount float64
|
1188
|
for _, orderGood := range updateDividendsOrderCommand.OrderGoods {
|
1189
|
for _, orderGood := range updateDividendsOrderCommand.OrderGoods {
|
1189
|
// 计算订单产品金额
|
1190
|
// 计算订单产品金额
|
1190
|
- orderGoodAmount, _ := decimal.NewFromFloat(orderGood.OrderGoodPrice).Mul(decimal.NewFromFloat(orderGood.OrderGoodQuantity)).Float64()
|
1191
|
+ orderGoodAmount, _ := decimal.NewFromFloat(orderGood.OrderGoodPrice).Mul(decimal.NewFromFloat(orderGood.OrderGoodQuantity)).Sub(decimal.NewFromFloat(orderGood.OrderGoodExpense)).Float64()
|
1191
|
|
1192
|
|
1192
|
// 产品ID类型转换
|
1193
|
// 产品ID类型转换
|
1193
|
orderGoodId, err3 := strconv.ParseInt(orderGood.OrderGoodId, 10, 64)
|
1194
|
orderGoodId, err3 := strconv.ParseInt(orderGood.OrderGoodId, 10, 64)
|