Commit 6392c1fc by Water Wang

optimize yi practitioner rank query

parent cf4edb4f
...@@ -261,12 +261,21 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -261,12 +261,21 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
Map<Integer,PractitionerBasicInfo> practitionerBasicInfoMap = getPractitionerBasicInfo(mobileNo); Map<Integer,PractitionerBasicInfo> practitionerBasicInfoMap = getPractitionerBasicInfo(mobileNo);
if(!practitionerBasicInfoMap.isEmpty()){ if(!practitionerBasicInfoMap.isEmpty()){
PractitionerBasicInfo practitionerBasicInfo = practitionerBasicInfoMap.get(platform); PractitionerBasicInfo practitionerBasicInfo = practitionerBasicInfoMap.get(platform);
if(practitionerBasicInfo != null){ 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){
String practitionerId = practitionerBasicInfo.getPractitionerId(); String practitionerId = practitionerBasicInfo.getPractitionerId();
if(!Strings.isNullOrEmpty(practitionerId)){ if(!Strings.isNullOrEmpty(practitionerId)){
List<PractitionerRankInfo> rankInfoList = getPractitionerRankInfo(time,platform); List<PractitionerRankInfo> rankInfoList = getPractitionerRankInfo(time,platform,practitionerTypeId);
//按照指定类型排序 //按照指定类型排序
getPractitionerRankResult(responseVO,rankInfoList,type,practitionerBasicInfoMap,time,platform); getPractitionerRankResult(responseVO,rankInfoList,type,practitionerBasicInfoMap,time,platform,practitionerTypeId);
responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000"))); responseVO.setCommonResult(new CommonResult(true, ZHBErrorConfig.getErrorInfo("800000")));
} }
} }
...@@ -280,10 +289,9 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -280,10 +289,9 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
return responseVO; return responseVO;
} }
private List<PractitionerRankInfo> getPractitionerRankInfo(Integer time, Integer platform) { private List<PractitionerRankInfo> getPractitionerRankInfo(Integer time, Integer platform,Long practitionerTypeId) {
List<PractitionerRankInfo> rankInfoList; List<PractitionerRankInfo> rankInfoList;
if(platform == 1){ if(platform == 1){
Long practitionerTypeId = 28L;
rankInfoList = aclPractitionerDALService.getPractitionerRankInfoForOnline(time,practitionerTypeId); rankInfoList = aclPractitionerDALService.getPractitionerRankInfoForOnline(time,practitionerTypeId);
//特殊人员处理 //特殊人员处理
String mobileSpecialStr = mdCodeDALService.findCodeByType("special_practitioner_mobile"); String mobileSpecialStr = mdCodeDALService.findCodeByType("special_practitioner_mobile");
...@@ -313,7 +321,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -313,7 +321,7 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
return practitionerBasicInfoMap; return practitionerBasicInfoMap;
} }
private void getPractitionerRankResult(PractitionerRankResponseVO responseVO, List<PractitionerRankInfo> rankInfoList, Integer type, Map<Integer,PractitionerBasicInfo> practitionerBasicInfoMap,Integer time,Integer platform) { private void getPractitionerRankResult(PractitionerRankResponseVO responseVO, List<PractitionerRankInfo> rankInfoList, Integer type, Map<Integer,PractitionerBasicInfo> practitionerBasicInfoMap,Integer time,Integer platform,Long practitionerTypeId) {
PractitionerInfoForAchievement practitionerInfo = new PractitionerInfoForAchievement(0D,0D,0); PractitionerInfoForAchievement practitionerInfo = new PractitionerInfoForAchievement(0D,0D,0);
List<AclCustomerFortuneStatistics> rankList = new ArrayList<>(); List<AclCustomerFortuneStatistics> rankList = new ArrayList<>();
String practitionerId = practitionerBasicInfoMap.get(platform).getPractitionerId(); String practitionerId = practitionerBasicInfoMap.get(platform).getPractitionerId();
...@@ -356,7 +364,9 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service. ...@@ -356,7 +364,9 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
} }
disposalPractitionerInfo(practitionerInfo,practitionerBasicInfoMap,time,platform); disposalPractitionerInfo(practitionerInfo,practitionerBasicInfoMap,time,platform);
responseVO.setPractitionerInfo(practitionerInfo); responseVO.setPractitionerInfo(practitionerInfo);
responseVO.setRank(rankList); if(practitionerTypeId == 28){
responseVO.setRank(rankList);
}
} }
private void disposalPractitionerInfo(PractitionerInfoForAchievement practitionerInfo, Map<Integer,PractitionerBasicInfo> practitionerBasicInfoMap, Integer time, Integer platform) { private void disposalPractitionerInfo(PractitionerInfoForAchievement practitionerInfo, Map<Integer,PractitionerBasicInfo> practitionerBasicInfoMap, Integer time, Integer platform) {
......
...@@ -9,6 +9,7 @@ public class PractitionerBasicInfo { ...@@ -9,6 +9,7 @@ public class PractitionerBasicInfo {
private String titleName; private String titleName;
private String gender; private String gender;
private String mobileNo; private String mobileNo;
private Long practitionerTypeId;
public Long getCustomerId() { public Long getCustomerId() {
return customerId; return customerId;
...@@ -73,4 +74,12 @@ public class PractitionerBasicInfo { ...@@ -73,4 +74,12 @@ public class PractitionerBasicInfo {
public void setMobileNo(String mobileNo) { public void setMobileNo(String mobileNo) {
this.mobileNo = mobileNo; this.mobileNo = mobileNo;
} }
public Long getPractitionerTypeId() {
return practitionerTypeId;
}
public void setPractitionerTypeId(Long practitionerTypeId) {
this.practitionerTypeId = practitionerTypeId;
}
} }
...@@ -518,7 +518,8 @@ ...@@ -518,7 +518,8 @@
p.name as name, p.name as name,
o.drop_option_code as titleCode, o.drop_option_code as titleCode,
o.drop_option_name as titleName, o.drop_option_name as titleName,
p.gender as gender p.gender as gender,
s.practitioner_type_id as practitionerTypeId
from ag_acl_customer c inner join ag_acl_practitioner p on c.id = p.customer_id from ag_acl_customer c inner join ag_acl_practitioner p on c.id = p.customer_id
left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id left join ag_acl_insurer_branch b on p.insurer_branch_id = b.id
left join ag_acl_practitioner_setting s on p.id = s.practitioner_id left join ag_acl_practitioner_setting s on p.id = s.practitioner_id
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment