Commit ae679169 by jianan

龙虎榜调N22接口

parent 6276df5c
package com.yd.api.practitioner; package com.yd.api.practitioner;
import com.alibaba.fastjson.JSONObject;
import com.yd.api.practitioner.service.PractitionerBasicInfoService; import com.yd.api.practitioner.service.PractitionerBasicInfoService;
import com.yd.api.practitioner.service.PractitionerService; import com.yd.api.practitioner.service.PractitionerService;
import com.yd.api.practitioner.service.ScheduleTrackService; import com.yd.api.practitioner.service.ScheduleTrackService;
...@@ -31,6 +30,8 @@ import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailResponseVO; ...@@ -31,6 +30,8 @@ import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailResponseVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRequestVO; import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRequestVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO; import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO;
import com.yd.api.result.JsonResult; import com.yd.api.result.JsonResult;
import com.yd.rmi.n22.policy.pojo.policydetail.PolicyDetailQueryRequestBody;
import com.yd.rmi.n22.policy.pojo.policydetail.PolicyDetailQueryResponseVO;
import com.yd.rmi.n22.policy.service.N22PolicyService; import com.yd.rmi.n22.policy.service.N22PolicyService;
import com.yd.rmi.n22.staff.service.N22StaffService; import com.yd.rmi.n22.staff.service.N22StaffService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
...@@ -627,11 +628,11 @@ public class PractitionerController { ...@@ -627,11 +628,11 @@ public class PractitionerController {
* @return * @return
*/ */
@RequestMapping("/test") @RequestMapping("/test")
public Object test(@RequestBody PolicyListQueryRequestVO requestVO) throws Exception{ public Object test(@RequestBody PractitionerRankRequestVO requestVO){
JsonResult result = new JsonResult(); JsonResult result = new JsonResult();
PolicyListQueryResponseVO responseVO = practitionerBasicInfoService.policyListQuery(requestVO); PractitionerRankResponseVO responseVO = practitionerService.practitionerRank(requestVO);
result.setData(responseVO);
result.addResult(responseVO); result.addResult(responseVO);
result.setData(responseVO);
return result; return result;
} }
......
...@@ -242,7 +242,7 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe ...@@ -242,7 +242,7 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
List<SalaryDetails> salaryDetailsList = salaryDetailsSearchResponseVO.getResponseBody().getSalaryDetailsLIST(); List<SalaryDetails> salaryDetailsList = salaryDetailsSearchResponseVO.getResponseBody().getSalaryDetailsLIST();
// list分组 // list分组
Map<String, List<SalaryDetails>> group = this.groupByCheckDate(salaryDetailsList); Map<String, List<SalaryDetails>> group = n22SalaryService.groupByYearmonth(salaryDetailsList);
// 组装返回参数 // 组装返回参数
List<PayScaleInfo> resultList = new ArrayList<>(); List<PayScaleInfo> resultList = new ArrayList<>();
...@@ -332,37 +332,6 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe ...@@ -332,37 +332,6 @@ public class PractitionerBasicInfoServiceImpl implements PractitionerBasicInfoSe
return sum; return sum;
} }
/**
* 通过for循环逻辑,编程上会麻烦点,但是效率上高很多
*/
private Map<String, List<SalaryDetails>> groupByCheckDate(List<SalaryDetails> salaryDetailsList) {
Map<String, List<SalaryDetails>> result = new HashMap<String, List<SalaryDetails>>();
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);
}
result.forEach((cc, list) -> {
System.out.println("CheckDate is:" + cc);
list.forEach((SalaryDetails) -> {
System.out.println("SalaryDetails is:" + SalaryDetails);
});
});
return result;
}
@Override @Override
public PayScalePdfResponseVO payScalePdf(PayScalePdfRequestVO requestVO) { public PayScalePdfResponseVO payScalePdf(PayScalePdfRequestVO requestVO) {
PayScalePdfResponseVO responseVO = new PayScalePdfResponseVO(); PayScalePdfResponseVO responseVO = new PayScalePdfResponseVO();
......
...@@ -78,4 +78,7 @@ public interface AclPractitionerMapper { ...@@ -78,4 +78,7 @@ public interface AclPractitionerMapper {
List<TeamMemberDetail> queryTeamMemberDetailList(List<Long> practitionerIdList); List<TeamMemberDetail> queryTeamMemberDetailList(List<Long> practitionerIdList);
List<String> findLeaveOfficeByPractitionerId(Long practitionerId); List<String> findLeaveOfficeByPractitionerId(Long practitionerId);
List<AclPractitioner> queryAllLifePractitioner();
} }
\ No newline at end of file
...@@ -190,4 +190,10 @@ public interface AclPractitionerDALService { ...@@ -190,4 +190,10 @@ public interface AclPractitionerDALService {
List<TeamMemberDetail> queryTeamMemberDetailList(List<Long> practitionerIdList); List<TeamMemberDetail> queryTeamMemberDetailList(List<Long> practitionerIdList);
List<String> findLeaveOfficeByPractitionerId(Long practitionerId); List<String> findLeaveOfficeByPractitionerId(Long practitionerId);
/**
* 查询所有寿险经纪人
* @return
*/
List<AclPractitioner> queryAllLifePractitioner();
} }
...@@ -206,4 +206,9 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService ...@@ -206,4 +206,9 @@ public class AclPractitionerDALServiceImpl implements AclPractitionerDALService
mobileNos.forEach(m -> mobileNoList.add(jpaCryptoConverter.decode(m))); mobileNos.forEach(m -> mobileNoList.add(jpaCryptoConverter.decode(m)));
return mobileNoList; return mobileNoList;
} }
@Override
public List<AclPractitioner> queryAllLifePractitioner() {
return aclPractitionerMapper.queryAllLifePractitioner();
}
} }
package com.yd.rmi.n22.policy.pojo.policydetail; package com.yd.rmi.n22.policy.pojo.policydetail;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
@Data @Data
public class BuryingPointN22 { public class BuryingPointN22 {
@JsonProperty("Pointname") private String Pointname;//埋点名称
private String pointName;//埋点名称 private String PointStartDate;//埋点开始时间
@JsonProperty("PointStartDate") private String PointEndDate;//埋点结束时间
private String pointStartDate;//埋点开始时间
@JsonProperty("PointEndDate")
private String pointEndDate;//埋点结束时间
} }
package com.yd.rmi.n22.policy.pojo.policydetail; package com.yd.rmi.n22.policy.pojo.policydetail;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
@Data @Data
public class InstallmentPremiumN22 { public class InstallmentPremiumN22 {
private String periods;//期数 private String periods;//期数
@JsonProperty("share_ratio") private String share_ratio;//分期比率
private String shareRatio;//分期比率
private String premium;//分期金额 private String premium;//分期金额
@JsonProperty("chargedate") private String chargedate;//分期付款时间
private String chargeDate;//分期付款时间
} }
...@@ -6,12 +6,12 @@ import java.util.List; ...@@ -6,12 +6,12 @@ import java.util.List;
@Data @Data
public class InsuredDetailN22 { public class InsuredDetailN22 {
private Long feeId;//费用序列号, 内部使用.目前该字段无需填写. private String feeId;//费用序列号, 内部使用.目前该字段无需填写.
private Long sgp;//毛保费 private String sgp;//毛保费
private Long agp;//调整后毛保费 private String agp;//调整后毛保费
private Long snp;//净保费 private String snp;//净保费
private Long anp;//调整后净保费 private String anp;//调整后净保费
private Long app;//实付保费 private String app;//实付保费
private Object feeAmounts;//费用明细清单 private Object feeAmounts;//费用明细清单
private String insuredId;//标的序列号, 内部使用.如果是第三方输入数据, 该字段无需填写. private String insuredId;//标的序列号, 内部使用.如果是第三方输入数据, 该字段无需填写.
private String insuredType;//标的类型. 参考标的类型 private String insuredType;//标的类型. 参考标的类型
......
package com.yd.rmi.n22.policy.pojo.policydetail; package com.yd.rmi.n22.policy.pojo.policydetail;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data; import lombok.Data;
@Data @Data
public class PolicyDetailQueryRequestBody { public class PolicyDetailQueryRequestBody {
@JsonProperty("Epid") private String Epid; //epid :saas为当前库的代码如e00008 非saas忽略
private String epId;//epid :saas为当前库的代码如e00008 非saas忽略 private String Loginname; //员工ID
@JsonProperty("Loginname") private String policyNo; //保单号
private String loginName;//员工ID private String relation_id; //保单工单guid
@JsonProperty("policyNo") private String staff_id; //员工内部ID
private String policyNo;//保单号 private Integer clearDataFlag; //是否明文数据:1是,0否,数据脱敏时有效
} }
...@@ -9,19 +9,19 @@ import java.util.List; ...@@ -9,19 +9,19 @@ import java.util.List;
@Data @Data
public class PolicyDetailQueryResponseBody { public class PolicyDetailQueryResponseBody {
private Long policyId;//保单序列号, 内部使用.如果是第三方输入数据, 该字段无需填写. private String policyId;//保单序列号, 内部使用.如果是第三方输入数据, 该字段无需填写.
private Long productId;//产品序列号, 内部使用.如果是第三方输入数据, 该字段无需填写. private String productId;//产品序列号, 内部使用.如果是第三方输入数据, 该字段无需填写.
private String vendorCode;//产品提供商代码, 必须提供 private String vendorCode;//产品提供商代码, 必须提供
private String vendorName;//产品供应商名称(保司名称) private String vendorName;//产品供应商名称(保司名称)
private String productCode;//产品代码, 必须提供 private String productCode;//产品代码, 必须提供
private String productName;//产品名称 private String productName;//产品名称
private String productVersion;//产品版本, 必须提供. private String productVersion;//产品版本, 必须提供.
private Date effectiveDate;//保单生效日2017/10/18 00:00:00 private String effectiveDate;//保单生效日2017/10/18 00:00:00
private Date expiryDate;//保单失效日2017/10/18 00:00:00 private String expiryDate;//保单失效日2017/10/18 00:00:00
private Date quotationNo;//订单号, 内部使用. private String quotationNo;//订单号, 内部使用.
private String policyNo;//保单号. private String policyNo;//保单号.
private Date issueDate;//出单日 private String issueDate;//出单日
private Date quoteDate;//首次报价日 private String quoteDate;//首次报价日
private String thirdQuoteNo;//第三方(例如:保司)报价单号 private String thirdQuoteNo;//第三方(例如:保司)报价单号
private String thirdOrderNo;//第三方(例如:保司)订单号 private String thirdOrderNo;//第三方(例如:保司)订单号
private String ePolicyDownloadUrl;//电子保单下载地址 private String ePolicyDownloadUrl;//电子保单下载地址
...@@ -37,17 +37,13 @@ public class PolicyDetailQueryResponseBody { ...@@ -37,17 +37,13 @@ public class PolicyDetailQueryResponseBody {
private AgentN22 agent;//代理人. 参考 代理人 说明 private AgentN22 agent;//代理人. 参考 代理人 说明
private String thirdPartyAgentId;//第三方代理人号,对于第三方的只做保存,用于报表显示. private String thirdPartyAgentId;//第三方代理人号,对于第三方的只做保存,用于报表显示.
private String thirdPartyAgentName;//第三方代理人姓名,对于第三方的只做保存,用于报表显示. private String thirdPartyAgentName;//第三方代理人姓名,对于第三方的只做保存,用于报表显示.
@JsonProperty("order_player")
private String orderPlayer;//打单员 private String order_player;//打单员
@JsonProperty("beto_rolegroup") private String beto_rolegroup;//机构code
private String betoRoleGroup;//机构code private String beto_rolegroupdesc;//机构名称
@JsonProperty("beto_rolegroupdesc")
private String betoRoleGroupDesc;//机构名称
private List<BuryingPointN22> buryingPointList;//互联网产品埋点列表,用于记录在投保过程中各个阶段的时间点 private List<BuryingPointN22> buryingPointList;//互联网产品埋点列表,用于记录在投保过程中各个阶段的时间点
@JsonProperty("BuryingVideo") private String BuryingVideo;//埋点视频编号
private String buryingVideo;//埋点视频编号 private List<InstallmentPremiumN22> installment_premium;//保单分期列表
@JsonProperty("installment_premium")
private List<InstallmentPremiumN22> installmentPremium;//保单分期列表
private String sourceCode;//保单来源,如XXAPP下单,在保单同步时填写后,会在这里体现 private String sourceCode;//保单来源,如XXAPP下单,在保单同步时填写后,会在这里体现
private String butler;//管家 private String butler;//管家
} }
package com.yd.rmi.n22.policy.service; package com.yd.rmi.n22.policy.service;
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.PolicyListQueryRequestBody; import com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryRequestBody;
import com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryResponseVO; import com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryResponseVO;
...@@ -7,4 +9,5 @@ public interface N22PolicyService { ...@@ -7,4 +9,5 @@ public interface N22PolicyService {
PolicyListQueryResponseVO policyList(PolicyListQueryRequestBody requestBody); PolicyListQueryResponseVO policyList(PolicyListQueryRequestBody requestBody);
PolicyDetailQueryResponseVO policyInfo(PolicyDetailQueryRequestBody requestBody);
} }
...@@ -2,6 +2,8 @@ package com.yd.rmi.n22.policy.service.impl; ...@@ -2,6 +2,8 @@ package com.yd.rmi.n22.policy.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.yd.rmi.n22.common.utils.N22Utils; import com.yd.rmi.n22.common.utils.N22Utils;
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.PolicyListQueryRequestBody; import com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryRequestBody;
import com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryResponseVO; import com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryResponseVO;
import com.yd.rmi.n22.policy.service.N22PolicyService; import com.yd.rmi.n22.policy.service.N22PolicyService;
...@@ -35,4 +37,25 @@ public class N22PolicyServiceImpl implements N22PolicyService { ...@@ -35,4 +37,25 @@ public class N22PolicyServiceImpl implements N22PolicyService {
return rObj; return rObj;
} }
@Override
public PolicyDetailQueryResponseVO policyInfo(PolicyDetailQueryRequestBody requestBody) {
JSONObject obj = new JSONObject(); //传参
PolicyDetailQueryResponseVO rObj; //返回结果
JSONObject requestHead = new JSONObject();
requestHead.put("seqNo", UUID.randomUUID().toString());
obj.put("requestHead", requestHead);
obj.put("requestBody", requestBody);
logger.info("N22查询保单详情请求报文:"+obj.toString());
String url = "https://life.ydinsurance.cn/EliteGeneralHttpTask/GeneralService/PolicyInfo";
String result = N22Utils.postTransaction(url, obj.toString());
logger.info("N22查询保单详情响应报文:"+result);
rObj = JSONObject.parseObject(result, PolicyDetailQueryResponseVO.class);
return rObj;
}
} }
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.SalaryDetailsSearchRequestBody; import com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchRequestBody;
import com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchResponseVO; import com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchResponseVO;
import java.util.List;
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);
} }
...@@ -2,6 +2,7 @@ package com.yd.rmi.n22.salary.service.impl; ...@@ -2,6 +2,7 @@ package com.yd.rmi.n22.salary.service.impl;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
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.SalaryDetailsSearchRequestBody; import com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchRequestBody;
import com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchResponseVO; import com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchResponseVO;
import com.yd.rmi.n22.salary.service.N22SalaryService; import com.yd.rmi.n22.salary.service.N22SalaryService;
...@@ -9,7 +10,8 @@ import org.slf4j.Logger; ...@@ -9,7 +10,8 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.UUID; import java.util.*;
@Service @Service
public class N22SalaryServiceImpl implements N22SalaryService { public class N22SalaryServiceImpl implements N22SalaryService {
...@@ -36,4 +38,32 @@ public class N22SalaryServiceImpl implements N22SalaryService { ...@@ -36,4 +38,32 @@ public class N22SalaryServiceImpl implements N22SalaryService {
return response; return response;
} }
@Override
public Map<String, List<SalaryDetails>> groupByYearmonth(List<SalaryDetails> salaryDetailsList) {
Map<String, List<SalaryDetails>> result = new HashMap<String, List<SalaryDetails>>();
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);
}
result.forEach((cc, list) -> {
System.out.println("CheckDate is:" + cc);
list.forEach((SalaryDetails) -> {
System.out.println("SalaryDetails is:" + SalaryDetails);
});
});
return result;
}
} }
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