切换导航条
此项目
正在载入...
登录
allied-creation
/
allied-creation-cooperation
·
提交
转到一个项目
GitLab
转到群组
项目
活动
文件
提交
管道
0
构建
0
图表
里程碑
问题
0
合并请求
0
成员
标记
维基
派生
网络
创建新的问题
下载为
差异文件
浏览文件
作者
陈志颖
3 years ago
提交
5afddd31045463ad4236f044c68e374bf7ad65c1
2 个父辈
ee873367
cdcc9f32
Merge branch 'dev-chenzhiying' into dev
隐藏空白字符变更
内嵌
并排对比
正在显示
3 个修改的文件
包含
100 行增加
和
26 行删除
pkg/application/dividendsEstimate/service/dividends_estimate.go
pkg/infrastructure/domain_service/pg_cancel_dividends_estimate_service.go
pkg/infrastructure/repository/pg_dividends_estimate_repository.go
pkg/application/dividendsEstimate/service/dividends_estimate.go
查看文件 @
5afddd3
...
...
@@ -354,7 +354,7 @@ func (dividendsEstimateService *DividendsEstimateService) BatchCancelDividendsEs
}
// 校验是否能够取消
if
dividendsEstimate
.
DividendsType
==
domain
.
ORDER_DIVIDENDS
||
dividendsEstimate
.
DividendsType
==
domain
.
RETURN_WRITE_OFF
{
// 订单分红
、
退货冲销
if
dividendsEstimate
.
DividendsType
==
domain
.
ORDER_DIVIDENDS
||
dividendsEstimate
.
DividendsType
==
domain
.
RETURN_WRITE_OFF
{
// 订单分红
/
退货冲销
if
countRelativeDividendsEstimates
,
dividendsEstimatesRelative
,
err2
:=
dividendsEstimateRepository
.
Find
(
map
[
string
]
interface
{}{
"orderOrReturnedOrderNum"
:
dividendsEstimate
.
OrderOrReturnedOrderNum
,
"companyId"
:
dividendsEstimate
.
Company
.
CompanyId
,
...
...
@@ -389,11 +389,11 @@ func (dividendsEstimateService *DividendsEstimateService) BatchCancelDividendsEs
}
}
// 批量取消分红预算单
if
dividendsEstimatesCanceled
,
err
:=
cancelDividendsEstimateService
.
CancelEstimate
(
dividendsEstimateIds
,
operator
);
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
err
.
Error
())
if
dividendsEstimatesCanceled
,
errCancel
:=
cancelDividendsEstimateService
.
CancelEstimate
(
dividendsEstimateIds
,
operator
);
errCancel
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
INTERNAL_SERVER_ERROR
,
errCancel
.
Error
())
}
else
{
if
err
:=
transactionContext
.
CommitTransaction
();
err
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
err
.
Error
())
if
errTx
:=
transactionContext
.
CommitTransaction
();
errTx
!=
nil
{
return
nil
,
application
.
ThrowError
(
application
.
TRANSACTION_ERROR
,
errTx
.
Error
())
}
return
dividendsEstimatesCanceled
,
nil
}
...
...
pkg/infrastructure/domain_service/pg_cancel_dividends_estimate_service.go
查看文件 @
5afddd3
...
...
@@ -40,7 +40,6 @@ func (domainService *CancelDividendsEstimateService) CancelEstimate(dividendsEst
return
nil
,
err
}
else
{
dividendsReturnedOrderRepository
=
repo
}
// 订单产品仓储初始化
...
...
@@ -60,14 +59,45 @@ func (domainService *CancelDividendsEstimateService) CancelEstimate(dividendsEst
var
dividendsEstimatesCanceled
[]
*
domain
.
DividendsEstimate
var
orderOrReturnOrderNums
[]
string
for
_
,
dividendsEstimate
:=
range
dividendsEstimates
{
if
dividendsEstimate
.
DividendsType
!=
3
{
// 非金额激励分红预算单处理
if
dividendsEstimate
.
DividendsType
==
1
||
dividendsEstimate
.
DividendsType
==
2
{
// 1.订单分红 2.退货冲销
// 自定义查询
queryOptions
:=
make
(
map
[
string
]
interface
{})
//参与分红类型,1承接人,2推荐人,3关联业务员
if
dividendsEstimate
.
DividendsParticipateType
==
1
{
// 当前取消的是承接人的分红预算单
queryOptions
=
map
[
string
]
interface
{}{
"companyId"
:
dividendsEstimate
.
Company
.
CompanyId
,
"orgId"
:
dividendsEstimate
.
Org
.
OrgId
,
"orderOrReturnedOrderNum"
:
dividendsEstimate
.
OrderOrReturnedOrderNum
,
"dividendsParticipateTypes"
:
[]
int32
{
2
,
3
},
"offsetLimit"
:
false
,
"dividendsStage"
:
dividendsEstimate
.
DividendsStage
,
"dividendsTypes"
:
[]
int32
{
1
,
2
},
}
}
else
if
dividendsEstimate
.
DividendsParticipateType
==
2
{
// 当前取消的是推荐人的分红预算单
queryOptions
=
map
[
string
]
interface
{}{
"companyId"
:
dividendsEstimate
.
Company
.
CompanyId
,
"orgId"
:
dividendsEstimate
.
Org
.
OrgId
,
"orderOrReturnedOrderNum"
:
dividendsEstimate
.
OrderOrReturnedOrderNum
,
"dividendsParticipateTypes"
:
[]
int32
{
1
,
3
},
"offsetLimit"
:
false
,
"dividendsStage"
:
dividendsEstimate
.
DividendsStage
,
"dividendsTypes"
:
[]
int32
{
1
,
2
},
}
}
else
if
dividendsEstimate
.
DividendsParticipateType
==
3
{
// 当前取消的是关联业务员的分红预算单
queryOptions
=
map
[
string
]
interface
{}{
"companyId"
:
dividendsEstimate
.
Company
.
CompanyId
,
"orgId"
:
dividendsEstimate
.
Org
.
OrgId
,
"orderOrReturnedOrderNum"
:
dividendsEstimate
.
OrderOrReturnedOrderNum
,
"dividendsParticipateTypes"
:
[]
int32
{
1
,
2
},
"offsetLimit"
:
false
,
"dividendsStage"
:
dividendsEstimate
.
DividendsStage
,
"dividendsTypes"
:
[]
int32
{
1
,
2
},
}
}
// 根据当前分红预算单的分红订单号或退货单号获取相关的分红预算单
if
countRelative
,
dividendsEstimatesRelative
,
err2
:=
dividendsEstimateRepository
.
Find
(
map
[
string
]
interface
{}{
"companyId"
:
dividendsEstimate
.
Company
.
CompanyId
,
"orgId"
:
dividendsEstimate
.
Org
.
OrgId
,
"orderOrReturnedOrderNum"
:
dividendsEstimate
.
OrderOrReturnedOrderNum
,
"offsetLimit"
:
false
,
});
err2
!=
nil
{
if
countRelative
,
dividendsEstimatesRelative
,
err2
:=
dividendsEstimateRepository
.
Find
(
queryOptions
);
err2
!=
nil
{
return
nil
,
err2
}
else
{
if
countRelative
>
0
{
...
...
@@ -84,15 +114,44 @@ func (domainService *CancelDividendsEstimateService) CancelEstimate(dividendsEst
dividendsEstimatesCanceled
=
append
(
dividendsEstimatesCanceled
,
dividendsEstimatesRelativeCanceled
...
)
}
}
}
else
if
dividendsEstimate
.
DividendsType
==
3
{
}
else
if
dividendsEstimate
.
DividendsType
==
3
{
// 3.金额激励
// 自定义查询
queryOptions
:=
make
(
map
[
string
]
interface
{})
//参与分红类型,1承接人,2推荐人,3关联业务员
if
dividendsEstimate
.
DividendsParticipateType
==
1
{
// 当前取消的是承接人的分红预算单
queryOptions
=
map
[
string
]
interface
{}{
"companyId"
:
dividendsEstimate
.
Company
.
CompanyId
,
"orgId"
:
dividendsEstimate
.
Org
.
OrgId
,
"cooperationContractNumber"
:
dividendsEstimate
.
CooperationContractNumber
,
"dividendsParticipateTypes"
:
[]
int32
{
2
,
3
},
"offsetLimit"
:
false
,
"dividendsStage"
:
dividendsEstimate
.
DividendsStage
,
"dividendsType"
:
int32
(
3
),
}
}
else
if
dividendsEstimate
.
DividendsParticipateType
==
2
{
// 当前取消的是推荐人的分红预算单
queryOptions
=
map
[
string
]
interface
{}{
"companyId"
:
dividendsEstimate
.
Company
.
CompanyId
,
"orgId"
:
dividendsEstimate
.
Org
.
OrgId
,
"cooperationContractNumber"
:
dividendsEstimate
.
CooperationContractNumber
,
"dividendsParticipateTypes"
:
[]
int32
{
1
,
3
},
"offsetLimit"
:
false
,
"dividendsStage"
:
dividendsEstimate
.
DividendsStage
,
"dividendsType"
:
int32
(
3
),
}
}
else
if
dividendsEstimate
.
DividendsParticipateType
==
3
{
// 当前取消的是关联业务员的分红预算单
queryOptions
=
map
[
string
]
interface
{}{
"companyId"
:
dividendsEstimate
.
Company
.
CompanyId
,
"orgId"
:
dividendsEstimate
.
Org
.
OrgId
,
"cooperationContractNumber"
:
dividendsEstimate
.
CooperationContractNumber
,
"dividendsParticipateTypes"
:
[]
int32
{
1
,
2
},
"offsetLimit"
:
false
,
"dividendsStage"
:
dividendsEstimate
.
DividendsStage
,
"dividendsType"
:
int32
(
3
),
}
}
// 根据当前分红预算单的分红订单号或退货单号获取相关的分红预算单
if
countRelative
,
dividendsEstimatesRelative
,
err2
:=
dividendsEstimateRepository
.
Find
(
map
[
string
]
interface
{}{
"companyId"
:
dividendsEstimate
.
Company
.
CompanyId
,
"orgId"
:
dividendsEstimate
.
Org
.
OrgId
,
"cooperationContractNumber"
:
dividendsEstimate
.
CooperationContractNumber
,
"dividendsType"
:
int32
(
3
),
"offsetLimit"
:
false
,
});
err2
!=
nil
{
if
countRelative
,
dividendsEstimatesRelative
,
err2
:=
dividendsEstimateRepository
.
Find
(
queryOptions
);
err2
!=
nil
{
return
nil
,
err2
}
else
{
if
countRelative
>
0
{
...
...
@@ -110,18 +169,24 @@ func (domainService *CancelDividendsEstimateService) CancelEstimate(dividendsEst
}
}
// 分红订单
或分红退货单状态变更
// 分红订单
var
orderNums
[]
string
// 分红退货单
var
returnedOrderNums
[]
string
if
len
(
orderOrReturnOrderNums
)
>
0
{
// 订单/退货单号数组去重
orderOrReturnOrderNumsWithoutDup
:=
utils
.
RemoveDuplication
(
orderOrReturnOrderNums
)
// 分离订单和退货单
for
_
,
orderNullNum
:=
range
orderOrReturnOrderNumsWithoutDup
{
if
orderNullNum
[
:
2
]
==
"RE"
{
// 分红退后单
returnedOrderNums
=
append
(
returnedOrderNums
,
orderNullNum
)
}
else
if
orderNullNum
[
:
2
]
==
"SL"
{
// 分红订单
orderNums
=
append
(
orderNums
,
orderNullNum
)
if
len
(
orderNullNum
)
>
0
{
if
orderNullNum
[
:
2
]
==
"RE"
{
// 分红退后单
returnedOrderNums
=
append
(
returnedOrderNums
,
orderNullNum
)
}
else
if
orderNullNum
[
:
2
]
==
"SL"
{
// 分红订单
orderNums
=
append
(
orderNums
,
orderNullNum
)
}
}
}
...
...
pkg/infrastructure/repository/pg_dividends_estimate_repository.go
查看文件 @
5afddd3
...
...
@@ -307,6 +307,9 @@ func (repository *DividendsEstimateRepository) Find(queryOptions map[string]inte
if
dividendsType
,
ok
:=
queryOptions
[
"dividendsType"
];
ok
&&
dividendsType
.
(
int32
)
!=
0
{
query
.
Where
(
"dividends_type = ?"
,
dividendsType
)
}
if
dividendsTypes
,
ok
:=
queryOptions
[
"dividendsTypes"
];
ok
&&
len
(
dividendsTypes
.
([]
int32
))
>
0
{
query
.
Where
(
"dividends_type in (?)"
,
pg
.
In
(
dividendsTypes
.
([]
int32
)))
}
if
dividendsEstimateOrderNumber
,
ok
:=
queryOptions
[
"dividendsEstimateOrderNumber"
];
ok
&&
dividendsEstimateOrderNumber
!=
""
{
query
.
Where
(
"dividends_estimate_order_number ilike ?"
,
fmt
.
Sprintf
(
"%%%s%%"
,
dividendsEstimateOrderNumber
))
}
...
...
@@ -325,6 +328,12 @@ func (repository *DividendsEstimateRepository) Find(queryOptions map[string]inte
if
dividendsParticipateType
,
ok
:=
queryOptions
[
"dividendsParticipateType"
];
ok
&&
dividendsParticipateType
.
(
int32
)
!=
0
{
query
.
Where
(
"dividends_participate_type = ?"
,
dividendsParticipateType
)
}
if
dividendsParticipateTypes
,
ok
:=
queryOptions
[
"dividendsParticipateTypes"
];
ok
&&
len
(
dividendsParticipateTypes
.
([]
int32
))
>
0
{
query
.
Where
(
"dividends_participate_type in (?)"
,
pg
.
In
(
dividendsParticipateTypes
.
([]
int32
)))
}
if
dividendsStage
,
ok
:=
queryOptions
[
"dividendsStage"
];
ok
&&
dividendsStage
.
(
int32
)
>
0
{
query
.
Where
(
"dividends_stage = ?"
,
dividendsStage
)
}
if
cooperationContractNumber
,
ok
:=
queryOptions
[
"cooperationContractNumber"
];
ok
&&
cooperationContractNumber
!=
""
{
query
.
Where
(
"cooperation_contract_number = ?"
,
cooperationContractNumber
)
}
...
...
请
注册
或
登录
后发表评论