Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yd-backend
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
AutogeneralShanghai
yd-backend
Commits
60e9aa9e
Commit
60e9aa9e
authored
Jul 05, 2021
by
jianan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
续年佣金计算-来佣比对优化
parent
949389f6
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
105 additions
and
42 deletions
+105
-42
yd-api/src/main/java/com/yd/api/commission/service/impl/LifeCommissionServiceImpl.java
+69
-31
yd-api/src/main/java/com/yd/api/commission/vo/lifecommission/CheckComeCommissionRequestVO.java
+3
-11
yd-api/src/main/java/com/yd/api/commission/vo/lifecommission/ComeCommissionParams.java
+10
-0
yd-api/src/main/java/com/yd/dal/entity/commission/AgPoOrderCommission.java
+0
-0
yd-api/src/main/java/com/yd/dal/mapper/commission/AgPoOrderCommissionMapper.java
+23
-0
yd-api/src/main/resources/src/main/resources/commission/AgPoOrderCommissionMapper.xml
+0
-0
No files found.
yd-api/src/main/java/com/yd/api/commission/service/impl/LifeCommissionServiceImpl.java
View file @
60e9aa9e
...
...
@@ -7,14 +7,17 @@ import com.yd.api.commission.service.LifeCommissionService;
import
com.yd.api.commission.vo.lifecommission.*
;
import
com.yd.api.result.CommonResult
;
import
com.yd.dal.entity.agms.fortune.FortunePayToOrderInfo
;
import
com.yd.dal.entity.commission.AgPoOrderCommission
;
import
com.yd.dal.entity.commission.OrderCommissonCheck
;
import
com.yd.dal.entity.customer.AclCustomerFortune
;
import
com.yd.dal.entity.order.PoOrder
;
import
com.yd.dal.mapper.commission.AgPoOrderCommissionMapper
;
import
com.yd.dal.mapper.lifecommission.LifeCommissionMapper
;
import
com.yd.dal.service.customer.AclCustomerFortuneDALService
;
import
com.yd.dal.service.order.PoOrderDALService
;
import
com.yd.rmi.ali.send.service.SendService
;
import
com.yd.rmi.cache.SystemConfigService
;
import
com.yd.util.CommonUtil
;
import
com.yd.util.config.ZHBErrorConfig
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.lang.StringUtils
;
...
...
@@ -40,6 +43,8 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
private
SystemConfigService
systemConfigService
;
@Autowired
private
SendService
sendService
;
@Autowired
private
AgPoOrderCommissionMapper
orderCommissionMapper
;
@Override
...
...
@@ -71,46 +76,21 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
@Override
public
CheckComeCommissionResponseVO
updateCommissionCheckStatus
(
CheckComeCommissionRequestVO
requestVO
)
{
CheckComeCommissionResponseVO
resp
=
new
CheckComeCommissionResponseVO
();
List
<
Long
>
orderIds
=
requestVO
.
getOrderIds
();
List
<
ComeCommissionParams
>
paramsList
=
requestVO
.
getOrderIds
();
String
status
=
requestVO
.
getCheckStatus
();
String
loginId
=
requestVO
.
getLoginId
();
String
checkBatch
=
requestVO
.
getCheckBatch
();
List
<
String
>
commissionNos
=
requestVO
.
getCommissionNos
();
if
(
StringUtils
.
isBlank
(
checkBatch
))
{
resp
.
setCommonResult
(
new
CommonResult
(
false
,
"检核日期不能为空"
));
return
resp
;
}
try
{
// 操作前先检查是否已关账
// 查询对应订单记录
List
<
PoOrder
>
orders
=
poOrderDALService
.
findByIds
(
orderIds
);
// 查询保单下的所有寿险经纪人的fortune记录
List
<
AclCustomerFortune
>
fortuneList
=
customerFortuneDalService
.
queryLifeFortuneListByOrderIds
(
orderIds
);
// 已关帐的订单,则该笔订单来佣比对状态不能改为待来佣和已比对,但能改为已退保
// 处理历史记录,暂时关闭
// this.validateClosed(orders, fortuneList, status);
String
fortuneCommissionPayoutStatus
;
if
(
"2"
.
equals
(
status
))
{
//已比对
fortuneCommissionPayoutStatus
=
"2"
;
}
else
if
(
"3"
.
equals
(
status
))
{
//已退保
fortuneCommissionPayoutStatus
=
"1"
;
// 1.更新财富等信息
this
.
processOrderAndFortune
(
paramsList
,
status
,
loginId
,
checkBatch
);
}
else
{
//待来佣
fortuneCommissionPayoutStatus
=
"1"
;
}
this
.
updateOrderAndFortune
(
orderIds
,
fortuneList
,
status
,
fortuneCommissionPayoutStatus
,
loginId
,
checkBatch
);
// 更新多年期佣金
this
.
updateOrderCommission
(
commissionNos
,
status
,
loginId
,
checkBatch
);
// 订单已退保后发送邮件通知运营
if
(
"3"
.
equals
(
status
))
{
//已比对
this
.
orderCommissionCheckCancelSendMail
(
orders
);
}
// 2.更新多年期佣金
this
.
updateOrderCommission
(
paramsList
,
status
,
loginId
,
checkBatch
);
resp
.
setCommonResult
(
new
CommonResult
(
true
,
ZHBErrorConfig
.
getErrorInfo
(
"800000"
)));
...
...
@@ -121,10 +101,68 @@ public class LifeCommissionServiceImpl implements LifeCommissionService {
return
resp
;
}
private
void
updateOrderCommission
(
List
<
String
>
commissionNos
,
String
status
,
String
loginId
,
String
checkBatch
)
{
private
void
processOrderAndFortune
(
List
<
ComeCommissionParams
>
paramsList
,
String
status
,
String
loginId
,
String
checkBatch
)
{
// 获取首年度佣金的orderId
List
<
Long
>
orderIds
=
new
ArrayList
<>();
for
(
ComeCommissionParams
params:
paramsList
)
{
if
(
"1"
.
equals
(
params
.
getCommissionPeriod
()))
{
orderIds
.
add
(
params
.
getOrderId
());
}
}
// 操作前先检查是否已关账
// 查询对应订单记录
List
<
PoOrder
>
orders
=
poOrderDALService
.
findByIds
(
orderIds
);
// 查询保单下的所有寿险经纪人的fortune记录
List
<
AclCustomerFortune
>
fortuneList
=
customerFortuneDalService
.
queryLifeFortuneListByOrderIds
(
orderIds
);
// 已关帐的订单,则该笔订单来佣比对状态不能改为待来佣和已比对,但能改为已退保
// 处理历史记录,暂时关闭
// this.validateClosed(orders, fortuneList, status);
String
fortuneCommissionPayoutStatus
;
if
(
"2"
.
equals
(
status
))
{
//已比对
fortuneCommissionPayoutStatus
=
"2"
;
}
else
if
(
"3"
.
equals
(
status
))
{
//已退保
fortuneCommissionPayoutStatus
=
"1"
;
}
else
{
//待来佣
fortuneCommissionPayoutStatus
=
"1"
;
}
this
.
updateOrderAndFortune
(
orderIds
,
fortuneList
,
status
,
fortuneCommissionPayoutStatus
,
loginId
,
checkBatch
);
// 订单已退保后发送邮件通知运营
if
(
"3"
.
equals
(
status
))
{
//已比对
this
.
orderCommissionCheckCancelSendMail
(
orders
);
}
}
private
void
updateOrderCommission
(
List
<
ComeCommissionParams
>
paramsList
,
String
status
,
String
loginId
,
String
checkBatch
)
{
if
(!
"2"
.
equals
(
status
))
{
return
;
}
// 获取续年度来佣编号
List
<
String
>
commissionNos
=
new
ArrayList
<>();
for
(
ComeCommissionParams
params:
paramsList
)
{
if
(
StringUtils
.
isNotBlank
(
params
.
getCommissionNo
()))
{
commissionNos
.
add
(
params
.
getCommissionNo
());
}
}
// 获取批次号(如2020-11的字符串)
Long
checkBatchId
=
this
.
getOrderCommissionCheckBatch
(
checkBatch
,
loginId
);
AgPoOrderCommission
orderCommission
=
new
AgPoOrderCommission
();
orderCommission
.
setCommissionCheckId
(
checkBatchId
);
orderCommission
.
setCommissionStatus
(
"1"
);
orderCommission
.
setCommissionTime
(
CommonUtil
.
dateParseString
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
));
orderCommission
.
setUpdatedBy
(
Long
.
valueOf
(
loginId
));
orderCommission
.
setUpdatedAt
(
new
Date
());
orderCommissionMapper
.
updateBatchBycommissionNo
(
commissionNos
,
orderCommission
);
}
...
...
yd-api/src/main/java/com/yd/api/commission/vo/lifecommission/CheckComeCommissionRequestVO.java
View file @
60e9aa9e
...
...
@@ -3,20 +3,19 @@ package com.yd.api.commission.vo.lifecommission;
import
java.util.List
;
public
class
CheckComeCommissionRequestVO
{
private
List
<
Long
>
orderIds
;
private
List
<
ComeCommissionParams
>
orderIds
;
private
String
checkStatus
;
private
List
<
String
>
commissionNos
;
private
String
loginId
;
/**
* 来佣比对批次
*/
private
String
checkBatch
;
public
List
<
Long
>
getOrderIds
()
{
public
List
<
ComeCommissionParams
>
getOrderIds
()
{
return
orderIds
;
}
public
void
setOrderIds
(
List
<
Long
>
orderIds
)
{
public
void
setOrderIds
(
List
<
ComeCommissionParams
>
orderIds
)
{
this
.
orderIds
=
orderIds
;
}
...
...
@@ -44,11 +43,4 @@ public class CheckComeCommissionRequestVO {
this
.
checkBatch
=
checkBatch
;
}
public
List
<
String
>
getCommissionNos
()
{
return
commissionNos
;
}
public
void
setCommissionNos
(
List
<
String
>
commissionNos
)
{
this
.
commissionNos
=
commissionNos
;
}
}
yd-api/src/main/java/com/yd/api/commission/vo/lifecommission/ComeCommissionParams.java
0 → 100644
View file @
60e9aa9e
package
com
.
yd
.
api
.
commission
.
vo
.
lifecommission
;
import
lombok.Data
;
@Data
public
class
ComeCommissionParams
{
private
Long
orderId
;
private
String
commissionNo
;
private
String
commissionPeriod
;
}
yd-api/src/main/java/com/yd/dal/entity/commission/AgPoOrderCommission.java
0 → 100644
View file @
60e9aa9e
This diff is collapsed.
Click to expand it.
yd-api/src/main/java/com/yd/dal/mapper/commission/AgPoOrderCommissionMapper.java
0 → 100644
View file @
60e9aa9e
package
com
.
yd
.
dal
.
mapper
.
commission
;
import
com.yd.dal.entity.commission.AgPoOrderCommission
;
import
org.apache.ibatis.annotations.Param
;
import
java.util.List
;
public
interface
AgPoOrderCommissionMapper
{
int
deleteByPrimaryKey
(
Long
id
);
int
insert
(
AgPoOrderCommission
record
);
int
insertSelective
(
AgPoOrderCommission
record
);
AgPoOrderCommission
selectByPrimaryKey
(
Long
id
);
int
updateByPrimaryKeySelective
(
AgPoOrderCommission
record
);
int
updateByPrimaryKey
(
AgPoOrderCommission
record
);
void
updateBatchBycommissionNo
(
@Param
(
"list"
)
List
<
String
>
commissionNos
,
AgPoOrderCommission
orderCommission
);
}
\ No newline at end of file
yd-api/src/main/resources/src/main/resources/commission/AgPoOrderCommissionMapper.xml
0 → 100644
View file @
60e9aa9e
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment