切换导航条
此项目
正在载入...
登录
mmm-go
/
partnermg
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
邮件补丁
差异文件
浏览文件
作者
唐旭辉
4 years ago
提交
1c740df022389b0dcd37479dac567a3718e818e7
1 个父辈
8480cfd5
更新注释
隐藏空白字符变更
内嵌
并排对比
正在显示
1 个修改的文件
包含
20 行增加
和
3 行删除
pkg/domain/order_base.go
pkg/domain/order_base.go
查看文件 @
1c740df
...
...
@@ -198,16 +198,25 @@ func (order *OrderBase) Compute() error {
planPartnerBonus
:=
decimal
.
NewFromFloat
(
0
)
planOrderAmount
:=
decimal
.
NewFromFloat
(
0
)
var
(
planOrderCount
int
=
0
useOrderCount
int
=
0
//预计的货品总数,不包含调整后的值
planOrderCount
int
=
0
//调整后的货品总数,混合相加计算预计值和调整值中的一个,优先取调整值计算
useOrderCount
int
=
0
//订单的货品列表中是否存在调整货品数量
HasUseOrderCount
bool
=
false
)
//调整后的合伙人分红,混合相加计算预计值和调整值中的一个,优先取调整值计算
usePartnerBonus
:=
decimal
.
NewFromFloat
(
0
)
//订单的货品列表中是否存在调整的合伙人分红
var
hasUsePartnerBonus
bool
=
false
//调整后的订单总额,混合相加计算预计值和调整值中的一个,优先取调整值计算
useOrderAmount
:=
decimal
.
NewFromFloat
(
0
)
var
hasUseOrderAmount
bool
=
false
//已支付分红
partnerBonusHas
:=
decimal
.
NewFromFloat
(
0
)
//未支付分红
partnerBonusNot
:=
decimal
.
NewFromFloat
(
0
)
//分红支出
partnerBonusExpense
:=
decimal
.
NewFromFloat
(
0
)
//初始订单的支付状态
order
.
BonusStatus
=
OrderGoodWaitPay
...
...
@@ -215,14 +224,20 @@ func (order *OrderBase) Compute() error {
for
i
:=
range
order
.
Goods
{
if
order
.
Goods
[
i
]
.
BonusStatus
==
OrderGoodHasPay
{
//确定订单的支付状态
//订单的货品列表中“存在”支付状态的为已支付,则整体订单设定为已支付状态
order
.
BonusStatus
=
OrderGoodHasPay
}
//计算预计的合伙人分红,不含调整的值
planPartnerBonus
=
planPartnerBonus
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PlanPartnerBonus
))
//计算预计的订单总金额,不含调整的值
planOrderAmount
=
planOrderAmount
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PlanAmount
))
//计算预计的订单中货品总数,不含调整的值
planOrderCount
+=
order
.
Goods
[
i
]
.
PlanGoodNumber
//获取调整货品调整后(数量)的总金额,
goodUseAmount
:=
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
UseAmount
)
if
goodUseAmount
.
GreaterThanOrEqual
(
decimal
.
NewFromFloat
(
0
))
{
//调整
值非负值得
情况
//调整
后货品总金额,非负值(大于等于0)的
情况
hasUseOrderAmount
=
true
useOrderAmount
=
useOrderAmount
.
Add
(
goodUseAmount
)
}
else
{
...
...
@@ -230,12 +245,14 @@ func (order *OrderBase) Compute() error {
}
goodUsePartnerBonus
:=
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
UsePartnerBonus
)
if
goodUsePartnerBonus
.
GreaterThanOrEqual
(
decimal
.
NewFromFloat
(
0
))
{
//货品中存在调整后的合伙人分红,即调整大于等于0
hasUsePartnerBonus
=
true
usePartnerBonus
=
usePartnerBonus
.
Add
(
goodUsePartnerBonus
)
}
else
{
usePartnerBonus
=
usePartnerBonus
.
Add
(
decimal
.
NewFromFloat
(
order
.
Goods
[
i
]
.
GoodCompute
.
PlanPartnerBonus
))
}
if
order
.
Goods
[
i
]
.
UseGoodNumber
>=
0
{
//货品中存在调整后的数量,调整值大于等于0
HasUseOrderCount
=
true
useOrderCount
+=
order
.
Goods
[
i
]
.
UseGoodNumber
}
else
{
...
...
请
注册
或
登录
后发表评论