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
0d5a0caf
Commit
0d5a0caf
authored
Apr 27, 2021
by
jianan
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev_20210305_N22new' into dev
parents
bd54e1f6
6c06ae70
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
650 additions
and
196 deletions
+650
-196
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerServiceImpl.java
+244
-146
yd-api/src/main/java/com/yd/api/practitioner/vo/rank/PractitionerRankRequestVO.java
+10
-1
yd-api/src/main/java/com/yd/dal/entity/customer/practitioner/PractitionerInfo.java
+18
-0
yd-api/src/main/java/com/yd/dal/entity/customer/practitioner/SubordinateSystemMemberInfoE.java
+9
-0
yd-api/src/main/java/com/yd/dal/mapper/customer/AclPractitionerMapper.java
+6
-0
yd-api/src/main/java/com/yd/dal/service/customer/AclPractitionerDALService.java
+11
-0
yd-api/src/main/java/com/yd/dal/service/customer/impl/AclPractitionerDALServiceImpl.java
+15
-0
yd-api/src/main/java/com/yd/rmi/n22/salary/pojo/Achieve.java
+20
-0
yd-api/src/main/java/com/yd/rmi/n22/salary/pojo/SearchStaffAchievementRequestBody.java
+76
-0
yd-api/src/main/java/com/yd/rmi/n22/salary/pojo/SearchStaffAchievementResponseBody.java
+10
-0
yd-api/src/main/java/com/yd/rmi/n22/salary/pojo/SearchStaffAchievementResponseVO.java
+10
-0
yd-api/src/main/java/com/yd/rmi/n22/salary/service/N22SalaryService.java
+2
-4
yd-api/src/main/java/com/yd/rmi/n22/salary/service/impl/N22SalaryServiceImpl.java
+15
-33
yd-api/src/main/java/com/yd/rmi/n22/staff/pojo/MyStaff.java
+20
-0
yd-api/src/main/java/com/yd/rmi/n22/staff/pojo/MyStaffSearchRequestBody.java
+13
-0
yd-api/src/main/java/com/yd/rmi/n22/staff/pojo/MyStaffSearchResponseBody.java
+10
-0
yd-api/src/main/java/com/yd/rmi/n22/staff/pojo/MyStaffSearchResponseVO.java
+10
-0
yd-api/src/main/java/com/yd/rmi/n22/staff/service/N22StaffService.java
+16
-3
yd-api/src/main/java/com/yd/rmi/n22/staff/service/impl/N22StaffServiceImpl.java
+44
-9
yd-api/src/main/resources/mapper/customer/AclPractitionerMapper.xml
+91
-0
No files found.
yd-api/src/main/java/com/yd/api/practitioner/service/impl/PractitionerServiceImpl.java
View file @
0d5a0caf
...
@@ -5,7 +5,6 @@ import com.yd.api.customer.service.CustomerService;
...
@@ -5,7 +5,6 @@ import com.yd.api.customer.service.CustomerService;
import
com.yd.api.customer.vo.register.RegisterRequestVO
;
import
com.yd.api.customer.vo.register.RegisterRequestVO
;
import
com.yd.api.customer.vo.register.RegisterResponseVO
;
import
com.yd.api.customer.vo.register.RegisterResponseVO
;
import
com.yd.api.practitioner.vo.login.CanSeeSalaryListResponseVO
;
import
com.yd.api.practitioner.vo.login.CanSeeSalaryListResponseVO
;
import
com.yd.api.practitioner.vo.payscale.PayScaleInfo
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsUpdateResponseVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsActionsUpdateResponseVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsQueryResponseVO
;
import
com.yd.api.practitioner.vo.recruit.PotentialGoalsQueryResponseVO
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginBasicInfo
;
import
com.yd.api.practitioner.vo.login.PractitionerLoginBasicInfo
;
...
@@ -53,17 +52,12 @@ import com.yd.dal.service.meta.MdDropOptionsDALService;
...
@@ -53,17 +52,12 @@ import com.yd.dal.service.meta.MdDropOptionsDALService;
import
com.yd.rmi.ali.mail.service.MailService
;
import
com.yd.rmi.ali.mail.service.MailService
;
import
com.yd.rmi.ali.oss.service.OssService
;
import
com.yd.rmi.ali.oss.service.OssService
;
import
com.yd.rmi.cache.SystemConfigService
;
import
com.yd.rmi.cache.SystemConfigService
;
import
com.yd.rmi.n22.policy.pojo.policydetail.PolicyDetailQueryRequestBody
;
import
com.yd.rmi.n22.policy.pojo.policydetail.PolicyDetailQueryResponseVO
;
import
com.yd.rmi.n22.policy.pojo.policylist.PolicyInfoN22
;
import
com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryRequestBody
;
import
com.yd.rmi.n22.policy.service.N22PolicyService
;
import
com.yd.rmi.n22.policy.service.N22PolicyService
;
import
com.yd.rmi.n22.salary.pojo.SalaryDetails
;
import
com.yd.rmi.n22.salary.pojo.*
;
import
com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchRequestBody
;
import
com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchResponseVO
;
import
com.yd.rmi.n22.salary.service.N22SalaryService
;
import
com.yd.rmi.n22.salary.service.N22SalaryService
;
import
com.yd.rmi.n22.staff.pojo.GetStaffNewRequestBody
;
import
com.yd.rmi.n22.staff.pojo.MyStaff
;
import
com.yd.rmi.n22.staff.pojo.GetStaffNewResponseVO
;
import
com.yd.rmi.n22.staff.pojo.MyStaffSearchRequestBody
;
import
com.yd.rmi.n22.staff.pojo.MyStaffSearchResponseVO
;
import
com.yd.rmi.n22.staff.pojo.Staff
;
import
com.yd.rmi.n22.staff.pojo.Staff
;
import
com.yd.rmi.n22.staff.service.N22StaffService
;
import
com.yd.rmi.n22.staff.service.N22StaffService
;
import
com.yd.rmi.tencent.wechat.service.WechatService
;
import
com.yd.rmi.tencent.wechat.service.WechatService
;
...
@@ -97,6 +91,8 @@ import java.util.concurrent.ConcurrentHashMap;
...
@@ -97,6 +91,8 @@ import java.util.concurrent.ConcurrentHashMap;
import
java.util.concurrent.ConcurrentMap
;
import
java.util.concurrent.ConcurrentMap
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
java
.
util
.
stream
.
Collectors
.
toList
;
@Service
(
"practitionerService"
)
@Service
(
"practitionerService"
)
public
class
PractitionerServiceImpl
implements
com
.
yd
.
api
.
practitioner
.
service
.
PractitionerService
{
public
class
PractitionerServiceImpl
implements
com
.
yd
.
api
.
practitioner
.
service
.
PractitionerService
{
...
@@ -279,24 +275,21 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -279,24 +275,21 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
type
=
(
type
==
null
)
?
1
:
type
;
//默认:保费
type
=
(
type
==
null
)
?
1
:
type
;
//默认:保费
time
=
(
time
==
null
)
?
1
:
time
;
//默认:本月
time
=
(
time
==
null
)
?
1
:
time
;
//默认:本月
platform
=
(
platform
==
null
)
?
1
:
platform
;
platform
=
(
platform
==
null
)
?
1
:
platform
;
if
(!
Strings
.
isNullOrEmpty
(
mobileNo
))
{
if
(!
Strings
.
isNullOrEmpty
(
mobileNo
))
{
//查询该手机号码的经纪人id,是否存在
//查询该手机号码的经纪人id,是否存在
Map
<
Integer
,
PractitionerBasicInfo
>
practitionerBasicInfoMap
=
getPractitionerBasicInfo
(
mobileNo
);
Map
<
Integer
,
PractitionerBasicInfo
>
practitionerBasicInfoMap
=
getPractitionerBasicInfo
(
mobileNo
);
if
(!
practitionerBasicInfoMap
.
isEmpty
())
{
if
(!
practitionerBasicInfoMap
.
isEmpty
())
{
Long
practitionerTypeId
=
practitionerBasicInfoMap
.
get
(
1
).
getPractitionerTypeId
();
PractitionerBasicInfo
practitionerBasicInfo
=
practitionerBasicInfoMap
.
get
(
platform
);
PractitionerBasicInfo
practitionerBasicInfo
=
practitionerBasicInfoMap
.
get
(
platform
);
Long
practitionerTypeId
=
null
;
if
(
platform
==
1
)
{
practitionerTypeId
=
practitionerBasicInfo
.
getPractitionerTypeId
();
}
else
{
PractitionerBasicInfo
practitionerBasicInfoYD
=
practitionerBasicInfoMap
.
get
(
1
);
if
(
practitionerBasicInfoYD
!=
null
)
{
practitionerTypeId
=
practitionerBasicInfoYD
.
getPractitionerTypeId
();
}
}
if
(
practitionerBasicInfo
!=
null
&&
practitionerTypeId
!=
null
)
{
if
(
practitionerBasicInfo
!=
null
&&
practitionerTypeId
!=
null
)
{
String
practitionerId
=
practitionerBasicInfo
.
getPractitionerId
();
String
practitionerId
=
practitionerBasicInfo
.
getPractitionerId
();
if
(!
Strings
.
isNullOrEmpty
(
practitionerId
))
{
if
(!
Strings
.
isNullOrEmpty
(
practitionerId
))
{
List
<
PractitionerRankInfo
>
rankInfoList
=
getPractitionerRankInfo
(
time
,
platform
,
practitionerTypeId
);
List
<
PractitionerRankInfo
>
rankInfoList
=
getPractitionerRankInfo
(
requestVO
,
practitionerTypeId
,
practitionerId
);
//按照指定类型排序并获取前10个元素
rankInfoList
=
this
.
sortByTypeAndGetElement
(
rankInfoList
,
type
,
practitionerBasicInfo
);
//按照指定类型排序
//按照指定类型排序
getPractitionerRankResult
(
responseVO
,
rankInfoList
,
type
,
practitionerBasicInfoMap
,
time
,
platform
,
practitionerTypeId
);
getPractitionerRankResult
(
responseVO
,
rankInfoList
,
type
,
practitionerBasicInfoMap
,
time
,
platform
,
practitionerTypeId
);
responseVO
.
setCommonResult
(
new
CommonResult
(
true
,
ZHBErrorConfig
.
getErrorInfo
(
"800000"
)));
responseVO
.
setCommonResult
(
new
CommonResult
(
true
,
ZHBErrorConfig
.
getErrorInfo
(
"800000"
)));
...
@@ -312,7 +305,50 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -312,7 +305,50 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
return
responseVO
;
return
responseVO
;
}
}
private
List
<
PractitionerRankInfo
>
getPractitionerRankInfo
(
Integer
time
,
Integer
platform
,
Long
practitionerTypeId
)
{
private
List
<
PractitionerRankInfo
>
sortByTypeAndGetElement
(
List
<
PractitionerRankInfo
>
rankInfoList
,
Integer
type
,
PractitionerBasicInfo
practitionerBasicInfo
)
{
String
name
=
practitionerBasicInfo
.
getName
();
// 获取本人的数据
BeanPropertyValueEqualsPredicate
predicate
=
new
BeanPropertyValueEqualsPredicate
(
"name"
,
name
);
List
<
PractitionerRankInfo
>
list
=
(
List
<
PractitionerRankInfo
>)
CollectionUtils
.
select
(
rankInfoList
,
predicate
);
PractitionerRankInfo
info
=
null
;
if
(
CollectionUtils
.
isNotEmpty
(
list
))
{
info
=
list
.
get
(
0
);
info
.
setPractitionerId
(
practitionerBasicInfo
.
getPractitionerId
());
}
// 排序---1-保费,2-佣金,3-件数
if
(
2
==
type
)
{
rankInfoList
.
sort
(
Comparator
.
comparingDouble
(
PractitionerRankInfo:
:
getFyc
).
reversed
());
}
else
if
(
3
==
type
)
{
rankInfoList
.
sort
(
Comparator
.
comparingInt
(
PractitionerRankInfo:
:
getCount
).
reversed
());
}
else
{
rankInfoList
.
sort
(
Comparator
.
comparingDouble
(
PractitionerRankInfo:
:
getFyp
).
reversed
());
}
// 集合元素过多,只获取排序后的前10个元素
List
<
PractitionerRankInfo
>
subList
=
rankInfoList
;
if
(
rankInfoList
!=
null
&&
rankInfoList
.
size
()
>
10
)
{
subList
=
rankInfoList
.
subList
(
0
,
10
);
}
System
.
out
.
println
(
"看看截取后的集合个数"
);
System
.
out
.
println
(
subList
.
size
());
if
(
null
!=
info
)
{
subList
.
add
(
info
);
}
return
subList
;
}
private
List
<
PractitionerRankInfo
>
getPractitionerRankInfo
(
PractitionerRankRequestVO
requestVO
,
Long
practitionerTypeId
,
String
practitionerId
)
{
Integer
time
=
requestVO
.
getTime
();
Integer
isPersonal
=
requestVO
.
getIsPersonal
();
Integer
platform
=
requestVO
.
getPlatform
();
time
=
(
time
==
null
)
?
1
:
time
;
//默认:本月
platform
=
(
platform
==
null
)
?
1
:
platform
;
List
<
PractitionerRankInfo
>
rankInfoList
=
new
ArrayList
<>();
List
<
PractitionerRankInfo
>
rankInfoList
=
new
ArrayList
<>();
if
(
platform
==
1
){
if
(
platform
==
1
){
rankInfoList
=
aclPractitionerDALService
.
getPractitionerRankInfoForOnline
(
time
,
practitionerTypeId
);
rankInfoList
=
aclPractitionerDALService
.
getPractitionerRankInfoForOnline
(
time
,
practitionerTypeId
);
...
@@ -324,19 +360,19 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -324,19 +360,19 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
rankInfoList
.
addAll
(
rankInfoListSpecials
);
rankInfoList
.
addAll
(
rankInfoListSpecials
);
}
}
}
else
{
}
else
{
rankInfoList
=
aclPractitionerDALService
.
getPractitionerRankInfoForOffline
(
time
);
//
rankInfoList = aclPractitionerDALService.getPractitionerRankInfoForOffline(time);
// 调用N22接口查寿险
// 调用N22接口查寿险
//
try {
try
{
// rankInfoList = this.getPractitionerRankInfoFromN22(time
);
rankInfoList
=
this
.
getPractitionerRankInfoFromN22
(
time
,
isPersonal
,
practitionerId
);
//
} catch (Exception e) {
}
catch
(
Exception
e
)
{
//
e.printStackTrace();
e
.
printStackTrace
();
//
}
}
}
}
return
rankInfoList
;
return
rankInfoList
;
}
}
private
List
<
PractitionerRankInfo
>
getPractitionerRankInfoFromN22
(
Integer
time
)
throws
Exception
{
private
List
<
PractitionerRankInfo
>
getPractitionerRankInfoFromN22
(
Integer
time
,
Integer
isPersonal
,
String
loginName
)
throws
Exception
{
// 根据查询时间范围获取查询开始时间和结束时间
// 根据查询时间范围获取查询开始时间和结束时间
String
startTime
;
String
startTime
;
String
endTime
;
String
endTime
;
...
@@ -350,130 +386,59 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -350,130 +386,59 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
startTime
=
CommonUtil
.
getBeginDayOfYear
();
startTime
=
CommonUtil
.
getBeginDayOfYear
();
endTime
=
CommonUtil
.
getEndDayOfYear
();
endTime
=
CommonUtil
.
getEndDayOfYear
();
}
}
// 循环查询每个经纪人的数据
List
<
AclPractitioner
>
list
=
aclPractitionerDALService
.
queryAllLifePractitioner
();
List
<
PractitionerRankInfo
>
rankInfoList
=
this
.
queryN22RankInfoList
(
loginName
,
isPersonal
,
startTime
,
endTime
);
List
<
PractitionerRankInfo
>
rankInfoList
=
new
ArrayList
<>();
for
(
AclPractitioner
practitioner
:
list
)
{
PractitionerRankInfo
rankInfo
=
this
.
queryPersonalRankInfoFromN22
(
practitioner
.
getMobileNo
(),
startTime
,
endTime
);
if
(
rankInfo
!=
null
)
{
rankInfoList
.
add
(
rankInfo
);
}
}
return
rankInfoList
;
return
rankInfoList
;
}
}
private
PractitionerRankInfo
queryPersonalRankInfoFromN22
(
String
mobileNo
,
String
startTime
,
String
endTime
)
throws
Exception
{
private
List
<
PractitionerRankInfo
>
queryN22RankInfoList
(
String
loginName
,
Integer
isPersonal
,
String
startTime
,
String
endTime
)
throws
Exception
{
// 1.根据手机号查询经纪人在N22系统的Agent_id
GetStaffNewRequestBody
getStaffNewRequestBody
=
new
GetStaffNewRequestBody
();
getStaffNewRequestBody
.
setMobile
(
mobileNo
);
GetStaffNewResponseVO
resp
=
n22StaffService
.
getStaffNew
(
getStaffNewRequestBody
);
if
(
"未查询到该坐席"
.
equals
(
resp
.
getResponseHead
().
getMessage
())){
// 1.根据Agent_id当前经纪人的佣金明细
return
null
;
SearchStaffAchievementRequestBody
searchStaffAchievementRequestBody
=
new
SearchStaffAchievementRequestBody
();
}
if
(
Integer
.
valueOf
(
"0"
).
equals
(
isPersonal
))
{
if
(!
"查询成功"
.
equals
(
resp
.
getResponseHead
().
getMessage
())){
searchStaffAchievementRequestBody
.
setAgent_id
(
loginName
);
throw
new
Exception
(
"查询N22的Agent_id错误"
);
}
}
List
<
Staff
>
staffList
=
resp
.
getResponseBody
().
getStaff
();
searchStaffAchievementRequestBody
.
setSearchtype
(
"1"
);
if
(
staffList
.
size
()
==
0
)
{
searchStaffAchievementRequestBody
.
setIsdown
(
"0"
);
throw
new
Exception
(
"查询N22的经纪人错误"
);
searchStaffAchievementRequestBody
.
setPolicystatus
(
"201"
);
}
searchStaffAchievementRequestBody
.
setIssuedatestart
(
startTime
);
Staff
staff
=
staffList
.
get
(
0
);
searchStaffAchievementRequestBody
.
setIssuedateend
(
endTime
);
String
agent_id
=
staff
.
getAgent_id
();
SearchStaffAchievementResponseVO
searchStaffAchievementResponseVO
=
n22SalaryService
.
searchStaffAchievement
(
searchStaffAchievementRequestBody
);
// 2.根据Agent_id当前经纪人的佣金明细
SalaryDetailsSearchRequestBody
salaryDetailsSearchRequestBody
=
new
SalaryDetailsSearchRequestBody
();
salaryDetailsSearchRequestBody
.
setLoginName
(
agent_id
);
salaryDetailsSearchRequestBody
.
setSearchType
(
"1"
);
salaryDetailsSearchRequestBody
.
setCheckStatus
(
"1"
);
salaryDetailsSearchRequestBody
.
setStartDate
(
startTime
);
salaryDetailsSearchRequestBody
.
setEndDate
(
endTime
);
SalaryDetailsSearchResponseVO
salaryDetailsSearchResponseVO
=
n22SalaryService
.
salaryDetailsSearch
(
salaryDetailsSearchRequestBody
);
if
(!
"查询成功"
.
equals
(
s
alaryDetailsSearch
ResponseVO
.
getResponseHead
().
getMessage
())){
if
(!
"查询成功"
.
equals
(
s
earchStaffAchievement
ResponseVO
.
getResponseHead
().
getMessage
())){
throw
new
Exception
(
"
查询N22佣金明细列表
错误"
);
throw
new
Exception
(
"
N22寿险业绩统计查询
错误"
);
}
}
List
<
SalaryDetails
>
salaryDetailsList
=
salaryDetailsSearchResponseVO
.
getResponseBody
().
getSalaryDetailsLIST
();
List
<
Achieve
>
achieveList
=
searchStaffAchievementResponseVO
.
getResponseBody
().
getAchieveList
();
// 3.按年月分组
Map
<
String
,
List
<
SalaryDetails
>>
group
=
n22SalaryService
.
groupByYearmonth
(
salaryDetailsList
);
// 4.统计FYC,FYP,count
// 2.组装返回报文
List
<
PractitionerRankInfo
>
rankInfoList
=
new
ArrayList
<>();
List
<
String
>
nameList
=
new
ArrayList
<>();
PractitionerRankInfo
rankInfo
=
null
;
PractitionerRankInfo
rankInfo
=
null
;
for
(
String
key
:
group
.
keySet
())
{
for
(
Achieve
achieve
:
achieveList
)
{
System
.
out
.
println
(
"Key = "
+
key
);
List
<
SalaryDetails
>
list
=
group
.
get
(
key
);
// 计算每组FYC,FYP,count
rankInfo
=
this
.
getFypAndFycAndCount
(
list
);
}
return
rankInfo
;
}
private
Double
getFyp
(
String
policyNo
)
throws
Exception
{
// 请求参数
PolicyDetailQueryRequestBody
policyInfoRequestBody
=
new
PolicyDetailQueryRequestBody
();
policyInfoRequestBody
.
setPolicyNo
(
policyNo
);
PolicyDetailQueryResponseVO
policyDetailQueryResponseVO
=
n22PolicyService
.
policyInfo
(
policyInfoRequestBody
);
if
(!
"查询成功"
.
equals
(
policyDetailQueryResponseVO
.
getResponseHead
().
getMessage
())){
throw
new
Exception
(
"查询N22经纪人保单详情错误"
);
}
Double
premium
=
policyDetailQueryResponseVO
.
getResponseBody
().
getPremium
();
return
premium
;
rankInfo
=
new
PractitionerRankInfo
();
rankInfo
.
setCount
(
achieve
.
getSucNumber
());
rankInfo
.
setFyp
(
achieve
.
getFYP
());
rankInfo
.
setFyc
(
achieve
.
getFYC
());
rankInfo
.
setName
(
achieve
.
getDescription
());
rankInfoList
.
add
(
rankInfo
);
// 获取nameList
nameList
.
add
(
achieve
.
getDescription
());
}
}
private
PractitionerRankInfo
getFypAndFycAndCount
(
List
<
SalaryDetails
>
list
)
throws
Exception
{
// 3.根据姓名查询经纪人所属体系名称
List
<
PractitionerInfo
>
practitionerInfoList
=
aclPractitionerDALService
.
findPractitionerInfoByNameList
(
nameList
);
Integer
count
=
0
;
for
(
PractitionerRankInfo
rankInfo1
:
rankInfoList
)
{
Double
fyc
=
0
D
;
for
(
PractitionerInfo
practitionerInfo
:
practitionerInfoList
)
{
Double
fyp
=
0
D
;
if
(
rankInfo1
.
getName
().
equals
(
practitionerInfo
.
getName
()))
{
// 判断list中是否存在保单佣金
rankInfo1
.
setSpcDivName
(
practitionerInfo
.
getSubsystem
());
boolean
isFYCExist
=
false
;
for
(
SalaryDetails
s
:
list
)
{
// 1.计算FYC
if
(
"FYC"
.
equals
(
s
.
getSalaryName
()))
{
fyc
=
BigDecimal
.
valueOf
(
s
.
getCommission
())
.
add
(
BigDecimal
.
valueOf
(
fyc
))
.
doubleValue
();
count
=
count
+
1
;
isFYCExist
=
true
;
}
}
if
(!
isFYCExist
)
{
return
null
;
}
}
// FYP
Double
premium
=
0
D
;
for
(
SalaryDetails
s
:
list
)
{
// 2.调用N22保单接口获取每个保单的保费
if
(
"FYC"
.
equals
(
s
.
getSalaryName
()))
{
premium
=
this
.
getFyp
(
s
.
getAppl_No
());
fyp
=
BigDecimal
.
valueOf
(
premium
)
.
add
(
BigDecimal
.
valueOf
(
fyp
))
.
doubleValue
();
}
}
}
}
PractitionerRankInfo
rankInfo
=
new
PractitionerRankInfo
();
return
rankInfoList
;
rankInfo
.
setCount
(
count
);
rankInfo
.
setFyp
(
fyp
);
rankInfo
.
setFyc
(
fyc
);
rankInfo
.
setName
(
list
.
get
(
0
).
getStaffName
());
rankInfo
.
setSpcDivName
(
list
.
get
(
0
).
getRoleGroupDescription
());
return
rankInfo
;
}
}
private
Map
<
Integer
,
PractitionerBasicInfo
>
getPractitionerBasicInfo
(
String
mobileNo
)
{
private
Map
<
Integer
,
PractitionerBasicInfo
>
getPractitionerBasicInfo
(
String
mobileNo
)
{
...
@@ -486,24 +451,33 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -486,24 +451,33 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
practitionerBasicInfoMap
.
put
(
1
,
practitionerBasicInfo1
);
practitionerBasicInfoMap
.
put
(
1
,
practitionerBasicInfo1
);
}
}
}
}
PractitionerBasicInfo
practitionerBasicInfo2
=
aclPractitionerDALService
.
getPractitionerBasicInfoForOffline
(
mobileNo
);
// PractitionerBasicInfo practitionerBasicInfo2 = aclPractitionerDALService.getPractitionerBasicInfoForOffline(mobileNo);
// N22查询经纪人信息接口
PractitionerBasicInfo
practitionerBasicInfo2
=
this
.
queryN22PractitionerBasicInfo
(
mobileNo
);
practitionerBasicInfoMap
.
put
(
2
,
practitionerBasicInfo2
);
practitionerBasicInfoMap
.
put
(
2
,
practitionerBasicInfo2
);
return
practitionerBasicInfoMap
;
return
practitionerBasicInfoMap
;
}
}
private
PractitionerBasicInfo
queryN22PractitionerBasicInfo
(
String
mobileNo
)
{
Staff
staff
=
n22StaffService
.
queryN22StaffByMobileNo
(
mobileNo
);
if
(
staff
!=
null
)
{
PractitionerBasicInfo
practitionerBasicInfo
=
new
PractitionerBasicInfo
();
practitionerBasicInfo
.
setPractitionerId
(
staff
.
getAgent_id
());
practitionerBasicInfo
.
setName
(
staff
.
getStaffname
());
return
practitionerBasicInfo
;
}
return
null
;
}
private
void
getPractitionerRankResult
(
PractitionerRankResponseVO
responseVO
,
List
<
PractitionerRankInfo
>
rankInfoList
,
Integer
type
,
Map
<
Integer
,
PractitionerBasicInfo
>
practitionerBasicInfoMap
,
Integer
time
,
Integer
platform
,
Long
practitionerTypeId
)
{
private
void
getPractitionerRankResult
(
PractitionerRankResponseVO
responseVO
,
List
<
PractitionerRankInfo
>
rankInfoList
,
Integer
type
,
Map
<
Integer
,
PractitionerBasicInfo
>
practitionerBasicInfoMap
,
Integer
time
,
Integer
platform
,
Long
practitionerTypeId
)
{
PractitionerInfoForAchievement
practitionerInfo
=
new
PractitionerInfoForAchievement
(
0
D
,
0
D
,
0
);
PractitionerInfoForAchievement
practitionerInfo
=
new
PractitionerInfoForAchievement
(
0
D
,
0
D
,
0
);
List
<
AclCustomerFortuneStatistics
>
rankList
=
new
ArrayList
<>();
List
<
AclCustomerFortuneStatistics
>
rankList
=
new
ArrayList
<>();
String
practitionerId
=
practitionerBasicInfoMap
.
get
(
platform
).
getPractitionerId
();
String
practitionerId
=
practitionerBasicInfoMap
.
get
(
platform
).
getPractitionerId
();
if
(!
rankInfoList
.
isEmpty
()){
if
(!
rankInfoList
.
isEmpty
()){
//排序---1-保费,2-佣金,3-件数
if
(
2
==
type
){
rankInfoList
.
sort
(
Comparator
.
comparingDouble
(
PractitionerRankInfo:
:
getFyc
).
reversed
());
}
else
if
(
3
==
type
){
rankInfoList
.
sort
(
Comparator
.
comparingInt
(
PractitionerRankInfo:
:
getCount
).
reversed
());
}
else
{
rankInfoList
.
sort
(
Comparator
.
comparingDouble
(
PractitionerRankInfo:
:
getFyp
).
reversed
());
}
AclCustomerFortuneStatistics
fortuneStatistics
;
AclCustomerFortuneStatistics
fortuneStatistics
;
int
rank
=
1
;
int
rank
=
1
;
Long
practitionerIdForOnLine
;
Long
practitionerIdForOnLine
;
...
@@ -2048,7 +2022,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -2048,7 +2022,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
practitionerIdList
.
addAll
(
practitionerIdList2
);
practitionerIdList
.
addAll
(
practitionerIdList2
);
}
}
practitionerIdList
=
practitionerIdList
.
stream
().
distinct
().
collect
(
Collectors
.
toList
());
practitionerIdList
=
practitionerIdList
.
stream
().
distinct
().
collect
(
toList
());
return
practitionerIdList
;
return
practitionerIdList
;
}
}
...
@@ -2574,8 +2548,12 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -2574,8 +2548,12 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
Map
<
String
,
SubordinateSystemMemberInfo
>
memberInfoMap
=
new
HashMap
<>();
Map
<
String
,
SubordinateSystemMemberInfo
>
memberInfoMap
=
new
HashMap
<>();
//银盾保险在线
//银盾保险在线
getMemberInfoForOnLine
(
memberInfoMap
,
practitionerId
,
time
);
getMemberInfoForOnLine
(
memberInfoMap
,
practitionerId
,
time
);
//eGolden
//N22
getMemberInfoForEGolden
(
memberInfoMap
,
practitionerId
,
time
);
try
{
this
.
getMemberInfoFromN22
(
memberInfoMap
,
practitionerId
,
time
,
mobileNo
);
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
//20210303增加逻辑,已离职经纪人没有数据不显示
//20210303增加逻辑,已离职经纪人没有数据不显示
//查询这个团队已离职经纪人电话
//查询这个团队已离职经纪人电话
List
<
String
>
leaveOfficeList
=
aclPractitionerDALService
.
findLeaveOfficeByPractitionerId
(
practitionerId
);
List
<
String
>
leaveOfficeList
=
aclPractitionerDALService
.
findLeaveOfficeByPractitionerId
(
practitionerId
);
...
@@ -2620,6 +2598,126 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
...
@@ -2620,6 +2598,126 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
return
responseVO
;
return
responseVO
;
}
}
private
void
getMemberInfoFromN22
(
Map
<
String
,
SubordinateSystemMemberInfo
>
memberInfoMap
,
Long
practitionerId
,
Integer
time
,
String
mobileNo
)
throws
Exception
{
// 1.查询N22我管的人
Staff
staff
=
n22StaffService
.
queryN22StaffByMobileNo
(
mobileNo
);
MyStaffSearchRequestBody
myStaffSearchRequestBody
=
new
MyStaffSearchRequestBody
();
myStaffSearchRequestBody
.
setLoginName
(
staff
.
getAgent_id
());
MyStaffSearchResponseVO
myStaffSearchResponseVO
=
n22StaffService
.
myStaffSearch
(
myStaffSearchRequestBody
);
if
(!
"查询成功"
.
equals
(
myStaffSearchResponseVO
.
getResponseHead
().
getMessage
()))
{
throw
new
Exception
(
"N22查询我管的人错误"
);
}
if
(
myStaffSearchResponseVO
.
getResponseBody
()
==
null
||
CollectionUtils
.
isEmpty
(
myStaffSearchResponseVO
.
getResponseBody
().
getStaffArray
()))
{
throw
new
Exception
(
"N22未查询到我管的人"
);
}
List
<
MyStaff
>
staffArray
=
myStaffSearchResponseVO
.
getResponseBody
().
getStaffArray
();
List
<
String
>
loginNameList
=
new
ArrayList
<>();
for
(
MyStaff
myStaff
:
staffArray
)
{
loginNameList
.
add
(
myStaff
.
getManage_LoginName
());
}
System
.
out
.
println
(
loginNameList
);
// 2.根据Agent_id当前经纪人的佣金明细
// 2.1.根据查询时间范围获取查询开始时间和结束时间
String
startTime
;
String
endTime
;
if
(
Integer
.
valueOf
(
"1"
)
==
time
)
{
startTime
=
CommonUtil
.
getBeginDayOfMonth
();
endTime
=
CommonUtil
.
getEndDayOfMonth
();
}
else
if
(
Integer
.
valueOf
(
"3"
)
==
time
)
{
startTime
=
CommonUtil
.
getStartOrEndDayOfQuarter
(
true
);
endTime
=
CommonUtil
.
getStartOrEndDayOfQuarter
(
false
);
}
else
{
startTime
=
CommonUtil
.
getBeginDayOfYear
();
endTime
=
CommonUtil
.
getEndDayOfYear
();
}
SearchStaffAchievementRequestBody
searchStaffAchievementRequestBody
=
new
SearchStaffAchievementRequestBody
();
searchStaffAchievementRequestBody
.
setSearchtype
(
"1"
);
searchStaffAchievementRequestBody
.
setIsdown
(
"0"
);
searchStaffAchievementRequestBody
.
setPolicystatus
(
"201"
);
searchStaffAchievementRequestBody
.
setIssuedatestart
(
startTime
);
searchStaffAchievementRequestBody
.
setIssuedateend
(
endTime
);
// 2.2.根据loginName循环查询N22业绩接口
List
<
SubordinateSystemMemberInfoE
>
subordinateSystemMemberInfoEList
=
new
ArrayList
<>();
SubordinateSystemMemberInfoE
info
=
null
;
Achieve
achieve
=
null
;
List
<
String
>
mobileList
=
new
ArrayList
<>();
for
(
String
loginName
:
loginNameList
)
{
searchStaffAchievementRequestBody
.
setAgent_id
(
loginName
);
SearchStaffAchievementResponseVO
searchStaffAchievementResponseVO
=
n22SalaryService
.
searchStaffAchievement
(
searchStaffAchievementRequestBody
);
if
(!
"查询成功"
.
equals
(
searchStaffAchievementResponseVO
.
getResponseHead
().
getMessage
()))
{
throw
new
Exception
(
searchStaffAchievementResponseVO
.
getResponseHead
().
getMessage
());
}
List
<
Achieve
>
resultList
=
searchStaffAchievementResponseVO
.
getResponseBody
().
getAchieveList
();
if
(
CollectionUtils
.
isNotEmpty
(
resultList
))
{
achieve
=
resultList
.
get
(
0
);
info
=
new
SubordinateSystemMemberInfoE
();
info
.
setCount
(
achieve
.
getSucNumber
());
info
.
setFyp
(
achieve
.
getFYP
());
info
.
setFyc
(
achieve
.
getFYC
());
info
.
setName
(
achieve
.
getDescription
());
info
.
setLoginName
(
loginName
);
// 查询N22的电话号码
Staff
staff1
=
n22StaffService
.
queryN22StaffByLoginName
(
loginName
);
if
(
staff1
!=
null
)
{
info
.
setMobileNo
(
staff1
.
getMobile
());
mobileList
.
add
(
staff1
.
getMobile
());
}
subordinateSystemMemberInfoEList
.
add
(
info
);
}
}
// 3.通过姓名查询手机号
List
<
PractitionerInfo
>
practitionerInfoList
=
aclPractitionerDALService
.
findPractitionerInfoByMobileList
(
mobileList
);
for
(
SubordinateSystemMemberInfoE
infoE
:
subordinateSystemMemberInfoEList
)
{
for
(
PractitionerInfo
item
:
practitionerInfoList
)
{
if
(
infoE
.
getMobileNo
().
equals
(
item
.
getMobileNo
()))
{
BeanUtils
.
copyProperties
(
item
,
infoE
);
}
}
}
System
.
out
.
println
(
"看看根据手机号查询的N22"
);
System
.
out
.
println
(
subordinateSystemMemberInfoEList
);
if
(!
subordinateSystemMemberInfoEList
.
isEmpty
()){
String
mobileNoForMember
;
SubordinateSystemMemberInfo
memberInfo
;
Double
fyp
,
fyc
;
Integer
count
;
//4、根据id查询出所有的成员的fyc和fyp
for
(
SubordinateSystemMemberInfoE
item
:
subordinateSystemMemberInfoEList
){
mobileNoForMember
=
item
.
getMobileNo
();
if
(
memberInfoMap
.
containsKey
(
mobileNoForMember
)){
memberInfo
=
memberInfoMap
.
get
(
mobileNoForMember
);
fyp
=
memberInfo
.
getFyp
();
fyc
=
memberInfo
.
getFyc
();
count
=
memberInfo
.
getCount
();
memberInfo
.
setFyc
(
CommonUtil
.
doubleFormat
(
fyc
+
item
.
getFyc
(),
2
));
memberInfo
.
setFyp
(
CommonUtil
.
doubleFormat
(
fyp
+
item
.
getFyp
(),
2
));
memberInfo
.
setCount
(
count
+
item
.
getCount
());
}
else
{
memberInfo
=
new
SubordinateSystemMemberInfo
();
BeanUtils
.
copyProperties
(
item
,
memberInfo
);
memberInfoMap
.
put
(
mobileNoForMember
,
memberInfo
);
}
}
}
}
/**
/**
* EGolden中的体系成员成员或被辅导人信息
* EGolden中的体系成员成员或被辅导人信息
* @param memberInfoMap
* @param memberInfoMap
...
...
yd-api/src/main/java/com/yd/api/practitioner/vo/rank/PractitionerRankRequestVO.java
View file @
0d5a0caf
...
@@ -2,9 +2,10 @@ package com.yd.api.practitioner.vo.rank;
...
@@ -2,9 +2,10 @@ package com.yd.api.practitioner.vo.rank;
public
class
PractitionerRankRequestVO
{
public
class
PractitionerRankRequestVO
{
private
String
mobileNo
;
private
String
mobileNo
;
private
Integer
platform
;
//1-online,2-offline
private
Integer
platform
;
//1-online,2-offline
(N22)
private
Integer
time
;
//1-month,2-year,3-quarter
private
Integer
time
;
//1-month,2-year,3-quarter
private
Integer
type
;
//1-保费,2-佣金,3-件数
private
Integer
type
;
//1-保费,2-佣金,3-件数
private
Integer
isPersonal
;
//0-查询当前经纪人的个人数据,1-查询所有经纪人的数据
public
String
getMobileNo
()
{
public
String
getMobileNo
()
{
return
mobileNo
;
return
mobileNo
;
...
@@ -37,4 +38,12 @@ public class PractitionerRankRequestVO {
...
@@ -37,4 +38,12 @@ public class PractitionerRankRequestVO {
public
void
setType
(
Integer
type
)
{
public
void
setType
(
Integer
type
)
{
this
.
type
=
type
;
this
.
type
=
type
;
}
}
public
Integer
getIsPersonal
()
{
return
isPersonal
;
}
public
void
setIsPersonal
(
Integer
isPersonal
)
{
this
.
isPersonal
=
isPersonal
;
}
}
}
yd-api/src/main/java/com/yd/dal/entity/customer/practitioner/PractitionerInfo.java
View file @
0d5a0caf
...
@@ -10,10 +10,12 @@ public class PractitionerInfo {
...
@@ -10,10 +10,12 @@ public class PractitionerInfo {
private
String
levelName
;
//级别
private
String
levelName
;
//级别
private
String
insurerBranchName
;
//分公司名称
private
String
insurerBranchName
;
//分公司名称
private
Long
subordinateId
;
//体系ID
private
Long
subordinateId
;
//体系ID
private
String
subsystem
;
private
String
weChatId
;
private
String
weChatId
;
private
String
qqId
;
private
String
qqId
;
private
String
practitionerRegNo
;
private
String
practitionerRegNo
;
private
Long
canSeeSalaryList
;
private
Long
canSeeSalaryList
;
private
String
mobileNo
;
public
Long
getCustomerId
()
{
public
Long
getCustomerId
()
{
return
customerId
;
return
customerId
;
...
@@ -118,4 +120,20 @@ public class PractitionerInfo {
...
@@ -118,4 +120,20 @@ public class PractitionerInfo {
public
void
setCanSeeSalaryList
(
Long
canSeeSalaryList
)
{
public
void
setCanSeeSalaryList
(
Long
canSeeSalaryList
)
{
this
.
canSeeSalaryList
=
canSeeSalaryList
;
this
.
canSeeSalaryList
=
canSeeSalaryList
;
}
}
public
String
getSubsystem
()
{
return
subsystem
;
}
public
void
setSubsystem
(
String
subsystem
)
{
this
.
subsystem
=
subsystem
;
}
public
String
getMobileNo
()
{
return
mobileNo
;
}
public
void
setMobileNo
(
String
mobileNo
)
{
this
.
mobileNo
=
mobileNo
;
}
}
}
yd-api/src/main/java/com/yd/dal/entity/customer/practitioner/SubordinateSystemMemberInfoE.java
View file @
0d5a0caf
...
@@ -9,6 +9,7 @@ public class SubordinateSystemMemberInfoE {
...
@@ -9,6 +9,7 @@ public class SubordinateSystemMemberInfoE {
private
Double
fyc
;
private
Double
fyc
;
private
Integer
count
;
private
Integer
count
;
private
String
mobileNo
;
private
String
mobileNo
;
private
String
loginName
;
public
Long
getPractitionerId
()
{
public
Long
getPractitionerId
()
{
return
practitionerId
;
return
practitionerId
;
...
@@ -73,4 +74,12 @@ public class SubordinateSystemMemberInfoE {
...
@@ -73,4 +74,12 @@ public class SubordinateSystemMemberInfoE {
public
void
setMobileNo
(
String
mobileNo
)
{
public
void
setMobileNo
(
String
mobileNo
)
{
this
.
mobileNo
=
mobileNo
;
this
.
mobileNo
=
mobileNo
;
}
}
public
String
getLoginName
()
{
return
loginName
;
}
public
void
setLoginName
(
String
loginName
)
{
this
.
loginName
=
loginName
;
}
}
}
yd-api/src/main/java/com/yd/dal/mapper/customer/AclPractitionerMapper.java
View file @
0d5a0caf
...
@@ -81,4 +81,9 @@ public interface AclPractitionerMapper {
...
@@ -81,4 +81,9 @@ public interface AclPractitionerMapper {
List
<
AclPractitioner
>
queryAllLifePractitioner
();
List
<
AclPractitioner
>
queryAllLifePractitioner
();
List
<
PractitionerInfo
>
findPractitionerInfoByPractitionerCode
(
List
<
String
>
paramList
);
List
<
PractitionerInfo
>
findPractitionerInfoByNameList
(
List
<
String
>
nameList
);
List
<
PractitionerInfo
>
findPractitionerInfoByMobileList
(
List
<
String
>
mobileList
);
}
}
\ No newline at end of file
yd-api/src/main/java/com/yd/dal/service/customer/AclPractitionerDALService.java
View file @
0d5a0caf
...
@@ -65,6 +65,13 @@ public interface AclPractitionerDALService {
...
@@ -65,6 +65,13 @@ public interface AclPractitionerDALService {
PractitionerInfo
findPractitionerInfoByLogin
(
String
mobileNo
);
PractitionerInfo
findPractitionerInfoByLogin
(
String
mobileNo
);
/**
/**
* 经纪人基本信息查询
* @param paramList
* @return
*/
List
<
PractitionerInfo
>
findPractitionerInfoByPractitionerCode
(
List
<
String
>
paramList
);
/**
* 通过经纪人id查找经纪人
* 通过经纪人id查找经纪人
* @param practitionerId
* @param practitionerId
* @return
* @return
...
@@ -196,4 +203,8 @@ public interface AclPractitionerDALService {
...
@@ -196,4 +203,8 @@ public interface AclPractitionerDALService {
* @return
* @return
*/
*/
List
<
AclPractitioner
>
queryAllLifePractitioner
();
List
<
AclPractitioner
>
queryAllLifePractitioner
();
List
<
PractitionerInfo
>
findPractitionerInfoByNameList
(
List
<
String
>
nameList
);
List
<
PractitionerInfo
>
findPractitionerInfoByMobileList
(
List
<
String
>
mobileList
);
}
}
yd-api/src/main/java/com/yd/dal/service/customer/impl/AclPractitionerDALServiceImpl.java
View file @
0d5a0caf
...
@@ -74,6 +74,11 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
...
@@ -74,6 +74,11 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
}
}
@Override
@Override
public
List
<
PractitionerInfo
>
findPractitionerInfoByPractitionerCode
(
List
<
String
>
paramList
)
{
return
aclPractitionerMapper
.
findPractitionerInfoByPractitionerCode
(
paramList
);
}
@Override
@TargetDataSource
(
dataSourceKey
=
DataSourceKey
.
DB_MASTER
)
@TargetDataSource
(
dataSourceKey
=
DataSourceKey
.
DB_MASTER
)
public
AclPractitioner
findPractitionerById
(
Long
practitionerId
)
{
public
AclPractitioner
findPractitionerById
(
Long
practitionerId
)
{
return
aclPractitionerMapper
.
selectByPrimaryKey
(
practitionerId
);
return
aclPractitionerMapper
.
selectByPrimaryKey
(
practitionerId
);
...
@@ -211,4 +216,14 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
...
@@ -211,4 +216,14 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
public
List
<
AclPractitioner
>
queryAllLifePractitioner
()
{
public
List
<
AclPractitioner
>
queryAllLifePractitioner
()
{
return
aclPractitionerMapper
.
queryAllLifePractitioner
();
return
aclPractitionerMapper
.
queryAllLifePractitioner
();
}
}
@Override
public
List
<
PractitionerInfo
>
findPractitionerInfoByNameList
(
List
<
String
>
nameList
)
{
return
aclPractitionerMapper
.
findPractitionerInfoByNameList
(
nameList
);
}
@Override
public
List
<
PractitionerInfo
>
findPractitionerInfoByMobileList
(
List
<
String
>
mobileList
)
{
return
aclPractitionerMapper
.
findPractitionerInfoByMobileList
(
mobileList
);
}
}
}
yd-api/src/main/java/com/yd/rmi/n22/salary/pojo/Achieve.java
0 → 100644
View file @
0d5a0caf
package
com
.
yd
.
rmi
.
n22
.
salary
.
pojo
;
import
lombok.Data
;
@Data
public
class
Achieve
{
private
String
ID
;
private
String
Description
;
private
String
SearchType
;
private
Double
FYC
;
private
Double
FYP
;
private
int
SucNumber
;
private
Double
StandardPREMIUM
;
}
yd-api/src/main/java/com/yd/rmi/n22/salary/pojo/SearchStaffAchievementRequestBody.java
0 → 100644
View file @
0d5a0caf
package
com
.
yd
.
rmi
.
n22
.
salary
.
pojo
;
public
class
SearchStaffAchievementRequestBody
{
private
String
Epid
;
private
String
issuedatestart
;
private
String
issuedateend
;
private
String
searchtype
;
private
String
policystatus
;
private
String
isdown
;
private
String
agent_id
;
private
String
rolegroup_id
;
private
String
organization_id
;
public
void
setEpid
(
String
Epid
){
this
.
Epid
=
Epid
;
}
public
String
getEpid
(){
return
this
.
Epid
;
}
public
void
setIssuedatestart
(
String
issuedatestart
){
this
.
issuedatestart
=
issuedatestart
;
}
public
String
getIssuedatestart
(){
return
this
.
issuedatestart
;
}
public
void
setIssuedateend
(
String
issuedateend
){
this
.
issuedateend
=
issuedateend
;
}
public
String
getIssuedateend
(){
return
this
.
issuedateend
;
}
public
void
setSearchtype
(
String
searchtype
){
this
.
searchtype
=
searchtype
;
}
public
String
getSearchtype
(){
return
this
.
searchtype
;
}
public
void
setPolicystatus
(
String
policystatus
){
this
.
policystatus
=
policystatus
;
}
public
String
getPolicystatus
(){
return
this
.
policystatus
;
}
public
void
setIsdown
(
String
isdown
){
this
.
isdown
=
isdown
;
}
public
String
getIsdown
(){
return
this
.
isdown
;
}
public
void
setAgent_id
(
String
agent_id
){
this
.
agent_id
=
agent_id
;
}
public
String
getAgent_id
(){
return
this
.
agent_id
;
}
public
void
setRolegroup_id
(
String
rolegroup_id
){
this
.
rolegroup_id
=
rolegroup_id
;
}
public
String
getRolegroup_id
(){
return
this
.
rolegroup_id
;
}
public
void
setOrganization_id
(
String
organization_id
){
this
.
organization_id
=
organization_id
;
}
public
String
getOrganization_id
(){
return
this
.
organization_id
;
}
}
yd-api/src/main/java/com/yd/rmi/n22/salary/pojo/SearchStaffAchievementResponseBody.java
0 → 100644
View file @
0d5a0caf
package
com
.
yd
.
rmi
.
n22
.
salary
.
pojo
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
SearchStaffAchievementResponseBody
{
private
List
<
Achieve
>
AchieveList
;
}
yd-api/src/main/java/com/yd/rmi/n22/salary/pojo/SearchStaffAchievementResponseVO.java
0 → 100644
View file @
0d5a0caf
package
com
.
yd
.
rmi
.
n22
.
salary
.
pojo
;
import
com.yd.rmi.n22.common.pojo.ResponseHead
;
import
lombok.Data
;
@Data
public
class
SearchStaffAchievementResponseVO
{
private
ResponseHead
responseHead
;
private
SearchStaffAchievementResponseBody
responseBody
;
}
yd-api/src/main/java/com/yd/rmi/n22/salary/service/N22SalaryService.java
View file @
0d5a0caf
package
com
.
yd
.
rmi
.
n22
.
salary
.
service
;
package
com
.
yd
.
rmi
.
n22
.
salary
.
service
;
import
com.yd.rmi.n22.salary.pojo.SalaryDetails
;
import
com.yd.rmi.n22.salary.pojo.*
;
import
com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchRequestBody
;
import
com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchResponseVO
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
...
@@ -10,5 +8,5 @@ import java.util.Map;
...
@@ -10,5 +8,5 @@ import java.util.Map;
public
interface
N22SalaryService
{
public
interface
N22SalaryService
{
SalaryDetailsSearchResponseVO
salaryDetailsSearch
(
SalaryDetailsSearchRequestBody
salaryDetailsSearchRequestBody
);
SalaryDetailsSearchResponseVO
salaryDetailsSearch
(
SalaryDetailsSearchRequestBody
salaryDetailsSearchRequestBody
);
Map
<
String
,
List
<
SalaryDetails
>>
groupByYearmonth
(
List
<
SalaryDetails
>
salaryDetailsList
);
SearchStaffAchievementResponseVO
searchStaffAchievement
(
SearchStaffAchievementRequestBody
searchStaffAchievementRequestBody
);
}
}
yd-api/src/main/java/com/yd/rmi/n22/salary/service/impl/N22SalaryServiceImpl.java
View file @
0d5a0caf
...
@@ -3,9 +3,7 @@ package com.yd.rmi.n22.salary.service.impl;
...
@@ -3,9 +3,7 @@ package com.yd.rmi.n22.salary.service.impl;
import
com.alibaba.fastjson.JSONObject
;
import
com.alibaba.fastjson.JSONObject
;
import
com.yd.rmi.cache.SystemConfigService
;
import
com.yd.rmi.cache.SystemConfigService
;
import
com.yd.rmi.n22.common.utils.N22Utils
;
import
com.yd.rmi.n22.common.utils.N22Utils
;
import
com.yd.rmi.n22.salary.pojo.SalaryDetails
;
import
com.yd.rmi.n22.salary.pojo.*
;
import
com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchRequestBody
;
import
com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchResponseVO
;
import
com.yd.rmi.n22.salary.service.N22SalaryService
;
import
com.yd.rmi.n22.salary.service.N22SalaryService
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -17,8 +15,6 @@ import java.util.*;
...
@@ -17,8 +15,6 @@ import java.util.*;
@Service
@Service
public
class
N22SalaryServiceImpl
implements
N22SalaryService
{
public
class
N22SalaryServiceImpl
implements
N22SalaryService
{
private
final
static
Logger
logger
=
LoggerFactory
.
getLogger
(
N22SalaryServiceImpl
.
class
);
@Autowired
@Autowired
private
SystemConfigService
systemConfigService
;
private
SystemConfigService
systemConfigService
;
...
@@ -31,44 +27,30 @@ public class N22SalaryServiceImpl implements N22SalaryService {
...
@@ -31,44 +27,30 @@ public class N22SalaryServiceImpl implements N22SalaryService {
obj
.
put
(
"requestHead"
,
requestHead
);
obj
.
put
(
"requestHead"
,
requestHead
);
obj
.
put
(
"requestBody"
,
salaryDetailsSearchRequestBody
);
obj
.
put
(
"requestBody"
,
salaryDetailsSearchRequestBody
);
logger
.
info
(
"N22佣金明细查询请求报文:"
+
obj
.
toString
());
String
url
=
systemConfigService
.
getSingleConfigValue
(
"N22_URL_Salary_Details_Search"
);
String
url
=
systemConfigService
.
getSingleConfigValue
(
"N22_URL_Salary_Details_Search"
);
String
result
=
N22Utils
.
postTransaction
(
url
,
obj
.
toString
());
String
result
=
N22Utils
.
postTransaction
(
url
,
obj
.
toString
());
logger
.
info
(
"N22佣金明细查询响应报文:"
+
result
);
SalaryDetailsSearchResponseVO
response
=
JSONObject
.
parseObject
(
result
,
SalaryDetailsSearchResponseVO
.
class
);
SalaryDetailsSearchResponseVO
response
=
JSONObject
.
parseObject
(
result
,
SalaryDetailsSearchResponseVO
.
class
);
return
response
;
return
response
;
}
}
@Override
@Override
public
Map
<
String
,
List
<
SalaryDetails
>>
groupByYearmonth
(
List
<
SalaryDetails
>
salaryDetailsList
)
{
public
SearchStaffAchievementResponseVO
searchStaffAchievement
(
SearchStaffAchievementRequestBody
searchStaffAchievementRequestBody
)
{
Map
<
String
,
List
<
SalaryDetails
>>
result
=
new
HashMap
<
String
,
List
<
SalaryDetails
>>();
JSONObject
obj
=
new
JSONObject
();
//接口传参
int
year
=
0
;
String
month
=
""
;
String
key
=
""
;
for
(
SalaryDetails
SalaryDetails
:
salaryDetailsList
)
{
year
=
SalaryDetails
.
getYear
();
month
=
SalaryDetails
.
getMonth
();
key
=
year
+
month
;
List
<
SalaryDetails
>
childList
=
result
.
get
(
key
);
if
(
childList
==
null
)
{
childList
=
new
ArrayList
<
SalaryDetails
>();
result
.
put
(
key
,
childList
);
}
childList
.
add
(
SalaryDetails
);
JSONObject
requestHead
=
new
JSONObject
();
}
requestHead
.
put
(
"seqNo"
,
UUID
.
randomUUID
().
toString
());
result
.
forEach
((
cc
,
list
)
->
{
System
.
out
.
println
(
"CheckDate is:"
+
cc
);
obj
.
put
(
"requestHead"
,
requestHead
);
list
.
forEach
((
SalaryDetails
)
->
{
obj
.
put
(
"requestBody"
,
searchStaffAchievementRequestBody
);
System
.
out
.
println
(
"SalaryDetails is:"
+
SalaryDetails
);
});
String
url
=
systemConfigService
.
getSingleConfigValue
(
"N22_URL_Search_Staff_Achievement"
);
});
String
result
=
N22Utils
.
postTransaction
(
url
,
obj
.
toString
());
return
result
;
SearchStaffAchievementResponseVO
response
=
JSONObject
.
parseObject
(
result
,
SearchStaffAchievementResponseVO
.
class
);
return
response
;
}
}
}
}
yd-api/src/main/java/com/yd/rmi/n22/staff/pojo/MyStaff.java
0 → 100644
View file @
0d5a0caf
package
com
.
yd
.
rmi
.
n22
.
staff
.
pojo
;
import
lombok.Data
;
@Data
public
class
MyStaff
{
private
String
Staff_ID
;
private
String
StaffName
;
private
String
LoginName
;
private
String
Manage_Staff_Id
;
private
String
Manage_StaffName
;
private
String
Manage_LoginName
;
private
String
Manage_StaffStatus
;
}
yd-api/src/main/java/com/yd/rmi/n22/staff/pojo/MyStaffSearchRequestBody.java
0 → 100644
View file @
0d5a0caf
package
com
.
yd
.
rmi
.
n22
.
staff
.
pojo
;
import
lombok.Data
;
@Data
public
class
MyStaffSearchRequestBody
{
private
String
Epid
;
//默认空
private
String
loginName
;
//销售在本系统中的工号
private
String
staffId
;
//内部唯一ID
private
String
StaffStatus
;
//人员状态,ONLINE在职QUIT离职
private
String
TokenID
;
//签名ID(待开发)
}
yd-api/src/main/java/com/yd/rmi/n22/staff/pojo/MyStaffSearchResponseBody.java
0 → 100644
View file @
0d5a0caf
package
com
.
yd
.
rmi
.
n22
.
staff
.
pojo
;
import
lombok.Data
;
import
java.util.List
;
@Data
public
class
MyStaffSearchResponseBody
{
private
List
<
MyStaff
>
StaffArray
;
}
yd-api/src/main/java/com/yd/rmi/n22/staff/pojo/MyStaffSearchResponseVO.java
0 → 100644
View file @
0d5a0caf
package
com
.
yd
.
rmi
.
n22
.
staff
.
pojo
;
import
com.yd.rmi.n22.common.pojo.ResponseHead
;
import
lombok.Data
;
@Data
public
class
MyStaffSearchResponseVO
{
private
ResponseHead
responseHead
;
private
MyStaffSearchResponseBody
responseBody
;
}
yd-api/src/main/java/com/yd/rmi/n22/staff/service/N22StaffService.java
View file @
0d5a0caf
package
com
.
yd
.
rmi
.
n22
.
staff
.
service
;
package
com
.
yd
.
rmi
.
n22
.
staff
.
service
;
import
com.yd.rmi.n22.staff.pojo.GetStaffNewRequestBody
;
import
com.yd.rmi.n22.staff.pojo.*
;
import
com.yd.rmi.n22.staff.pojo.GetStaffNewResponseVO
;
public
interface
N22StaffService
{
public
interface
N22StaffService
{
GetStaffNewResponseVO
getStaffNew
(
GetStaffNewRequestBody
getStaffNewRequestBody
);
GetStaffNewResponseVO
getStaffNew
(
GetStaffNewRequestBody
getStaffNewRequestBody
);
String
queryN22LoginNameByMobileNo
(
String
mobileNo
);
/**
* 根据手机号查询N22经纪人信息
* @param mobileNo
* @return
*/
Staff
queryN22StaffByMobileNo
(
String
mobileNo
);
/**
* 根据N22员工编号查询N22经纪人信息
* @param loginName
* @return
*/
Staff
queryN22StaffByLoginName
(
String
loginName
);
MyStaffSearchResponseVO
myStaffSearch
(
MyStaffSearchRequestBody
myStaffSearchRequestBody
);
}
}
yd-api/src/main/java/com/yd/rmi/n22/staff/service/impl/N22StaffServiceImpl.java
View file @
0d5a0caf
...
@@ -4,9 +4,7 @@ import com.alibaba.fastjson.JSONObject;
...
@@ -4,9 +4,7 @@ import com.alibaba.fastjson.JSONObject;
import
com.yd.rmi.cache.SystemConfigService
;
import
com.yd.rmi.cache.SystemConfigService
;
import
com.yd.rmi.n22.common.utils.N22Utils
;
import
com.yd.rmi.n22.common.utils.N22Utils
;
import
com.yd.rmi.n22.policy.service.impl.N22PolicyServiceImpl
;
import
com.yd.rmi.n22.policy.service.impl.N22PolicyServiceImpl
;
import
com.yd.rmi.n22.staff.pojo.GetStaffNewRequestBody
;
import
com.yd.rmi.n22.staff.pojo.*
;
import
com.yd.rmi.n22.staff.pojo.GetStaffNewResponseVO
;
import
com.yd.rmi.n22.staff.pojo.Staff
;
import
com.yd.rmi.n22.staff.service.N22StaffService
;
import
com.yd.rmi.n22.staff.service.N22StaffService
;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
...
@@ -42,23 +40,60 @@ public class N22StaffServiceImpl implements N22StaffService {
...
@@ -42,23 +40,60 @@ public class N22StaffServiceImpl implements N22StaffService {
}
}
@Override
@Override
public
St
ring
queryN22LoginName
ByMobileNo
(
String
mobileNo
)
{
public
St
aff
queryN22Staff
ByMobileNo
(
String
mobileNo
)
{
// 根据手机号查询经纪人在N22系统的Agent_id
GetStaffNewRequestBody
getStaffNewRequestBody
=
new
GetStaffNewRequestBody
();
GetStaffNewRequestBody
getStaffNewRequestBody
=
new
GetStaffNewRequestBody
();
getStaffNewRequestBody
.
setMobile
(
mobileNo
);
getStaffNewRequestBody
.
setMobile
(
mobileNo
);
GetStaffNewResponseVO
resp
=
this
.
getStaffNew
(
getStaffNewRequestBody
);
GetStaffNewResponseVO
resp
=
this
.
getStaffNew
(
getStaffNewRequestBody
);
String
agent_id
=
null
;
Staff
staff
=
null
;
if
(
resp
!=
null
){
if
(
"查询成功"
.
equals
(
resp
.
getResponseHead
().
getMessage
())){
List
<
Staff
>
staffList
=
resp
.
getResponseBody
().
getStaff
();
if
(
staffList
.
size
()
>
0
)
{
staff
=
staffList
.
get
(
0
);
}
}
}
return
staff
;
}
@Override
public
Staff
queryN22StaffByLoginName
(
String
loginName
)
{
GetStaffNewRequestBody
getStaffNewRequestBody
=
new
GetStaffNewRequestBody
();
getStaffNewRequestBody
.
setLoginname
(
loginName
);
GetStaffNewResponseVO
resp
=
this
.
getStaffNew
(
getStaffNewRequestBody
);
Staff
staff
=
null
;
if
(
resp
!=
null
){
if
(
resp
!=
null
){
if
(
"查询成功"
.
equals
(
resp
.
getResponseHead
().
getMessage
())){
if
(
"查询成功"
.
equals
(
resp
.
getResponseHead
().
getMessage
())){
List
<
Staff
>
staffList
=
resp
.
getResponseBody
().
getStaff
();
List
<
Staff
>
staffList
=
resp
.
getResponseBody
().
getStaff
();
if
(
staffList
.
size
()
>
0
)
{
if
(
staffList
.
size
()
>
0
)
{
Staff
staff
=
staffList
.
get
(
0
);
staff
=
staffList
.
get
(
0
);
agent_id
=
staff
.
getAgent_id
();
}
}
}
}
}
return
staff
;
}
}
return
agent_id
;
@Override
public
MyStaffSearchResponseVO
myStaffSearch
(
MyStaffSearchRequestBody
myStaffSearchRequestBody
)
{
JSONObject
obj
=
new
JSONObject
();
//传参
JSONObject
requestHead
=
new
JSONObject
();
requestHead
.
put
(
"seqNo"
,
UUID
.
randomUUID
().
toString
());
obj
.
put
(
"requestHead"
,
requestHead
);
obj
.
put
(
"requestBody"
,
myStaffSearchRequestBody
);
String
url
=
systemConfigService
.
getSingleConfigValue
(
"N22_URL_My_Staff_Search"
);
String
result
=
N22Utils
.
postTransaction
(
url
,
obj
.
toString
());
MyStaffSearchResponseVO
response
=
JSONObject
.
parseObject
(
result
,
MyStaffSearchResponseVO
.
class
);
return
response
;
}
}
}
}
yd-api/src/main/resources/mapper/customer/AclPractitionerMapper.xml
View file @
0d5a0caf
...
@@ -1340,10 +1340,12 @@
...
@@ -1340,10 +1340,12 @@
<result
column=
"levelName"
property=
"levelName"
/>
<result
column=
"levelName"
property=
"levelName"
/>
<result
column=
"insurerBranchName"
property=
"insurerBranchName"
/>
<result
column=
"insurerBranchName"
property=
"insurerBranchName"
/>
<result
column=
"subordinateId"
property=
"subordinateId"
/>
<result
column=
"subordinateId"
property=
"subordinateId"
/>
<result
column=
"subsystem"
property=
"subsystem"
/>
<result
column=
"weChatId"
property=
"weChatId"
/>
<result
column=
"weChatId"
property=
"weChatId"
/>
<result
column=
"qqId"
property=
"qqId"
/>
<result
column=
"qqId"
property=
"qqId"
/>
<result
column=
"practitionerRegNo"
property=
"practitionerRegNo"
/>
<result
column=
"practitionerRegNo"
property=
"practitionerRegNo"
/>
<result
column=
"canSeeSalaryList"
property=
"canSeeSalaryList"
/>
<result
column=
"canSeeSalaryList"
property=
"canSeeSalaryList"
/>
<result
column=
"mobile_no"
jdbcType=
"VARCHAR"
property=
"mobileNo"
typeHandler=
"com.yd.util.deshandler.DESTypeHandler"
/>
</resultMap>
</resultMap>
<select
id=
"findPractitionerInfoByLogin"
resultMap=
"practitioner_info_map"
>
<select
id=
"findPractitionerInfoByLogin"
resultMap=
"practitioner_info_map"
>
...
@@ -1717,4 +1719,92 @@
...
@@ -1717,4 +1719,92 @@
and p.is_active=1
and p.is_active=1
</select>
</select>
<select
id=
"findPractitionerInfoByPractitionerCode"
resultMap=
"practitioner_info_map"
>
select
p.customer_id as customerId,
p.id as practitionerId,
p.name as name,
p.gender as gender,
s.practitioner_type_id as practitionerType,
sys.name as subsystem,
o.drop_option_code as levelCode,
o.drop_option_name as levelName,
b.branch_name as insurerBranchName,
p.subordinate_system_id as subordinateId,
p.wechat_id as weChatId,
p.qq_id as qqId,
p.practitioner_reg_no as practitionerRegNo,
p.mobile_no,
p.can_see_salary_list as canSeeSalaryList
from ag_acl_practitioner p
left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id
left join ag_acl_practitioner_subordinate_system sys on p.subordinate_system_id = sys.id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
left join ag_md_drop_options o on s.practitioner_level = o.id
where p.practitioner_code in
<foreach
collection=
"list"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
and p.is_active = 1
</select>
<select
id=
"findPractitionerInfoByNameList"
resultMap=
"practitioner_info_map"
>
select
p.customer_id as customerId,
p.id as practitionerId,
p.name as name,
p.gender as gender,
s.practitioner_type_id as practitionerType,
sys.name as subsystem,
o.drop_option_code as levelCode,
o.drop_option_name as levelName,
b.branch_name as insurerBranchName,
p.subordinate_system_id as subordinateId,
p.wechat_id as weChatId,
p.qq_id as qqId,
p.practitioner_reg_no as practitionerRegNo,
p.mobile_no,
p.can_see_salary_list as canSeeSalaryList
from ag_acl_practitioner p
left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id
left join ag_acl_practitioner_subordinate_system sys on p.subordinate_system_id = sys.id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
left join ag_md_drop_options o on s.practitioner_level = o.id
where p.name in
<foreach
collection=
"list"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
and p.is_active = 1
</select>
<select
id=
"findPractitionerInfoByMobileList"
resultMap=
"practitioner_info_map"
>
select
p.customer_id as customerId,
p.id as practitionerId,
p.name as name,
p.gender as gender,
s.practitioner_type_id as practitionerType,
sys.name as subsystem,
o.drop_option_code as levelCode,
o.drop_option_name as levelName,
b.branch_name as insurerBranchName,
p.subordinate_system_id as subordinateId,
p.wechat_id as weChatId,
p.qq_id as qqId,
p.practitioner_reg_no as practitionerRegNo,
p.mobile_no,
p.can_see_salary_list as canSeeSalaryList
from ag_acl_practitioner p
left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id
left join ag_acl_practitioner_subordinate_system sys on p.subordinate_system_id = sys.id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
left join ag_md_drop_options o on s.practitioner_level = o.id
where p.mobile_no in
<foreach
collection=
"list"
index=
"index"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item,typeHandler=com.yd.util.deshandler.DESTypeHandler}
</foreach>
and p.is_active = 1
</select>
</mapper>
</mapper>
\ No newline at end of file
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