Commit 1c0779c9 by jianan

调用N22查询保单接口和查询佣金明细接口

parent c17f6262
package com.yd.api.practitioner;
import com.alibaba.fastjson.JSONObject;
import com.yd.api.practitioner.service.PractitionerBasicInfoService;
import com.yd.api.practitioner.service.PractitionerService;
import com.yd.api.practitioner.service.ScheduleTrackService;
......@@ -30,6 +31,11 @@ import com.yd.api.practitioner.vo.subordinate.QueryTeamMemberDetailResponseVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryRequestVO;
import com.yd.api.practitioner.vo.subordinate.SubordinateSystemMemberQueryResponseVO;
import com.yd.api.result.JsonResult;
import com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryRequestBody;
import com.yd.rmi.n22.policy.service.N22PolicyService;
import com.yd.rmi.n22.staff.pojo.GetStaffNewRequestBody;
import com.yd.rmi.n22.staff.pojo.GetStaffNewResponseVO;
import com.yd.rmi.n22.staff.service.N22StaffService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;
......@@ -48,6 +54,8 @@ public class PractitionerController {
private PractitionerBasicInfoService practitionerBasicInfoService;
@Autowired
private ScheduleTrackService scheduleTrackService;
@Autowired
private N22PolicyService n22PolicyService;
/**
* 经纪人登录
* @param requestVO 请求数据
......@@ -613,4 +621,16 @@ public class PractitionerController {
result.setData(responseVO);
return result;
}
/**
* test
* @param obj
* @return
*/
@RequestMapping("/test")
public Object test(@RequestBody PolicyListQueryRequestBody obj){
com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryResponseVO policyListQueryResponseVO = n22PolicyService.policyList(obj);
return policyListQueryResponseVO;
}
}
......@@ -52,6 +52,10 @@ import com.yd.dal.service.meta.MdDropOptionsDALService;
import com.yd.rmi.ali.mail.service.MailService;
import com.yd.rmi.ali.oss.service.OssService;
import com.yd.rmi.cache.SystemConfigService;
import com.yd.rmi.n22.staff.pojo.GetStaffNewRequestBody;
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.tencent.wechat.service.WechatService;
import com.yd.rmi.tencent.wechat.vo.WeChatInfoByENV;
import com.yd.rmi.tencent.wechatinterf.pojo.ticket.TicketRequest;
......@@ -160,6 +164,8 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
private MktLeadsExpertAssignDALService mktLeadsExpertAssignDALService;
@Autowired
private MailService mailService;
@Autowired
private N22StaffService n22StaffService;
@Override
public PractitionerLoginResponseVO practitionerLogin(PractitionerLoginRequestVO requestVO) {
......@@ -183,7 +189,6 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
isSpecial = mobileSpecials.contains(mobileNo);
}
// if(28L == practitionerType || isSpecial){//只有寿险的经纪人和注册为经纪人的员工才能登录
PractitionerBasicInfo practitionerBasicInfo = aclPractitionerDALService.findByMobileNoE(mobileNo);
Long practitionerId = practitionerInfo.getPractitionerId();
Long customerId = practitionerInfo.getCustomerId();
AclCustomer customer = aclCustomerDALService.findById(customerId);
......@@ -203,9 +208,24 @@ public class PractitionerServiceImpl implements com.yd.api.practitioner.service.
basicInfo.setSubordinateLeader(subordinateInfo.getSubordinateLeader());
}
}
if(practitionerBasicInfo != null){
responseVO.setPractitionerIdEG(practitionerBasicInfo.getPractitionerId());
// 1.根据手机号查询经纪人在N22系统的Agent_id
GetStaffNewRequestBody getStaffNewRequestBody = new GetStaffNewRequestBody();
getStaffNewRequestBody.setMobile(mobileNo);
GetStaffNewResponseVO resp = n22StaffService.getStaffNew(getStaffNewRequestBody);
if(resp != null){
if ("查询成功".equals(resp.getResponseHead().getMessage())){
List<Staff> staffList = resp.getResponseBody().getStaff();
if (staffList.size() > 0) {
Staff staff = staffList.get(0);
String agent_id = staff.getAgent_id();
responseVO.setPractitionerIdEG(agent_id);
}
}
}
//获取用户的登录次数
List<AclCustomerLog> customerLogList = aclCustomerLogDALService.findLogInfoByCustomerId(customerId);
int logTimes = (customerLogList.isEmpty()) ? 0 : customerLogList.size();
......
......@@ -21,7 +21,7 @@ public class N22Utils {
* @param requestJson 请求报文
* @return 响应报文
*/
private static String postTransaction(String url,String requestJson){
public static String postTransaction(String url,String requestJson){
String responseJson = null;
if(!Strings.isNullOrEmpty(url) && !Strings.isNullOrEmpty(requestJson)){
HttpClient httpClient = new HttpClient();
......
package com.yd.rmi.n22.policy.pojo.policylist;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
/**
......@@ -9,68 +10,68 @@ import lombok.Data;
@Data
public class PolicyListQueryRequestBody {
@JsonProperty("epid")
private String epId;//epid :saas为当前库的代码如_e00008 非saas忽略
@JsonProperty("policyno")
private String policyNo;//保单号
@JsonProperty("policystatus")
private String policyStatus;//保单状态
@JsonProperty("staffInfo")
private String epid;//epid :saas为当前库的代码如_e00008 非saas忽略
private String policyno;//保单号
private String policystatus;//保单状态
private String staffInfo;//可填员工内部唯一编号staffId
@JsonProperty("loginname")
private String loginName;//登录工号
@JsonProperty("staff_name")
private String staffName;//员工姓名
@JsonProperty("staffInfo2")
private String loginname;//登录工号
private String staff_name;//员工姓名
private String staffInfo2;//MyPolicyType=1时,选填
@JsonProperty("insurance_guid")
private String insuranceGuid;//投保人唯一ID
@JsonProperty("insured_guid")
private String insuredGuid;//被保人唯一ID
@JsonProperty("insurancename")
private String insuranceName;//投保人姓名
@JsonProperty("insuredname")
private String insuredName;//被保人姓名
@JsonProperty("starttime")
private String starttTime;//保险起期
@JsonProperty("endtime")
private String endTime;//保险止期
@JsonProperty("MyPolicyType")
private String myPolicyType;//我管的1、我的2
@JsonProperty("RolegroupId")
private String roleGroupId;//部门ID
@JsonProperty("IsInsuredArray")
private String insurance_guid;//投保人唯一ID
private String insured_guid;//被保人唯一ID
private String insurancename;//投保人姓名
private String insuredname;//被保人姓名
private String starttime;//保险起期
private String endtime;//保险止期
@JSONField(name="MyPolicyType")
private String MyPolicyType;//我管的1、我的2
private String RolegroupId;//部门ID
private String IsInsuredArray;//是否需要被保人列表,1需要,0不需要
@JsonProperty("product_name")
private String productName;//保单险种名称
@JsonProperty("order_player")
private String orderPlayer;//打单员
@JsonProperty("MyTrustPolicy")
private String myTrustPolicy;//我托管的保单,填1查询,其他不查
@JsonProperty("chanelCode")
private String channelCode;//渠道编码
@JsonProperty("buyer_id")
private String buyerId;//订单编号
@JsonProperty("relationType")
private String product_name;//保单险种名称
private String order_player;//打单员
private String MyTrustPolicy;//我托管的保单,填1查询,其他不查
private String chanelCode;//渠道编码
private String buyer_id;//订单编号
private String relationType;//保单关联人类型,保单投保人或被保人同: 1投保人,2投保人,3投保人或被保人
@JsonProperty("insuranceID")
private String insuranceID;//投保人证件号码
@JsonProperty("insurdId")
private String insuredId;//被保人证件号码
@JsonProperty("beneficiary_GUID")
private String beneficiaryGUID;//受益人唯一ID
@JsonProperty("beneficiaryName")
private String insurdId;//被保人证件号码
private String beneficiary_GUID;//受益人唯一ID
private String beneficiaryName;//受益人姓名
@JsonProperty("beneficiaryId")
private String beneficiaryId;//受益人证件号码
@JsonProperty("source_code")
private String sourceCode;//保单来源,保单同步时会传进来
@JsonProperty("appl_num")
private String applyNum;//投保单号
@JsonProperty("butler")
private String source_code;//保单来源,保单同步时会传进来
private String appl_num;//投保单号
private String butler;//管家
@JsonProperty("IsInsureArray")
private String isInsureArray;//
private String IsInsureArray;//
}
package com.yd.rmi.n22.policy.service;
import com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryRequestBody;
import com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryResponseVO;
public interface N22PolicyService {
PolicyListQueryResponseVO policyList(PolicyListQueryRequestBody requestBody);
}
package com.yd.rmi.n22.policy.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.yd.rmi.n22.common.utils.N22Utils;
import com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryRequestBody;
import com.yd.rmi.n22.policy.pojo.policylist.PolicyListQueryResponseVO;
import com.yd.rmi.n22.policy.service.N22PolicyService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.util.UUID;
@Service
public class N22PolicyServiceImpl implements N22PolicyService {
private final static Logger logger = LoggerFactory.getLogger(N22PolicyServiceImpl.class);
@Override
public PolicyListQueryResponseVO policyList(PolicyListQueryRequestBody requestBody) {
JSONObject obj = new JSONObject(); //传参
PolicyListQueryResponseVO 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/PolicyList";
String result = N22Utils.postTransaction(url, obj.toString());
logger.info("N22查询保单列表响应报文:"+result);
rObj = JSONObject.parseObject(result, PolicyListQueryResponseVO.class);
return rObj;
}
}
package com.yd.rmi.n22.salary.pojo;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
@Data
public class SalaryDetails {
private String SalaryName;
private String Appl_No;
private String CustomerName;
private String SalaryType;
private String PayPeriod;
private String Pol_Name_Chn;
private double commission;
private double tax_commission;
private int Tax;
private double AfterTaxCommissionTax;
private String GrantDate;
private String Paid_Status;
private int Year;
private String Month;
private String RoleGroupDescription;
private String LoginName;
private String StaffName;
@JSONField(name="Class")
private String grade;
private String AddFyc;
private int CheckStatus;
private String CheckDate;
}
package com.yd.rmi.n22.salary.pojo;
import lombok.Data;
@Data
public class SalaryDetailsSearchRequestBody {
private String Epid ; //saas为当前库的代码如_e00008 非saas忽略
private String LoginName; //员工工号(登录工号)
private String StartDate; //业绩开始时间,格式为:2019-02-01
private String EndDate; //业绩结束时间,格式为:2019-03-31
private String Paid_Status; //发放状态:0未生效,1未发放,2发放中,3.1已发放(paid不为空),3.2发放中(paid为空),4审核中
private String SearchType; //1.我的,2.我管的
private String CheckStatus; //对账状态:1对账,2未对账。
private String TokenID; //签名ID(待开发)
private String StaffID; //Staffed和loginname任一必填
}
package com.yd.rmi.n22.salary.pojo;
import lombok.Data;
import java.util.List;
@Data
public class SalaryDetailsSearchResponseBody {
private List<SalaryDetails> SalaryDetailsLIST;
}
package com.yd.rmi.n22.salary.pojo;
import com.yd.rmi.n22.common.pojo.ResponseHead;
public class SalaryDetailsSearchResponseVO {
private ResponseHead responseHead;
private SalaryDetailsSearchResponseBody responseBody;
public ResponseHead getResponseHead() {
return responseHead;
}
public void setResponseHead(ResponseHead responseHead) {
this.responseHead = responseHead;
}
public SalaryDetailsSearchResponseBody getResponseBody() {
return responseBody;
}
public void setResponseBody(SalaryDetailsSearchResponseBody responseBody) {
this.responseBody = responseBody;
}
}
package com.yd.rmi.n22.salary.service;
import com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchRequestBody;
import com.yd.rmi.n22.salary.pojo.SalaryDetailsSearchResponseVO;
public interface N22SalaryService {
SalaryDetailsSearchResponseVO salaryDetailsSearch(SalaryDetailsSearchRequestBody salaryDetailsSearchRequestBody);
}
package com.yd.rmi.n22.salary.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.yd.rmi.n22.common.utils.N22Utils;
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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.util.UUID;
@Service
public class N22SalaryServiceImpl implements N22SalaryService {
private final static Logger logger = LoggerFactory.getLogger(N22SalaryServiceImpl.class);
@Override
public SalaryDetailsSearchResponseVO salaryDetailsSearch(SalaryDetailsSearchRequestBody salaryDetailsSearchRequestBody) {
JSONObject obj = new JSONObject(); //传参
JSONObject rObj; //返回结果
JSONObject requestHead = new JSONObject();
requestHead.put("seqNo", UUID.randomUUID().toString());
obj.put("requestHead", requestHead);
obj.put("requestBody", salaryDetailsSearchRequestBody);
logger.info("N22佣金明细查询请求报文:"+obj.toString());
String url = "https://life.ydinsurance.cn/EliteGeneralHttpTask/GeneralService/SalaryDetailsSearch";
String result = N22Utils.postTransaction(url, obj.toString());
logger.info("N22佣金明细查询响应报文:"+result);
SalaryDetailsSearchResponseVO response = JSONObject.parseObject(result, SalaryDetailsSearchResponseVO.class);
return response;
}
}
package com.yd.rmi.n22.staff.pojo;
import lombok.Data;
@Data
public class GetStaffNewRequestBody {
private String epid; //默认空
private String staffname; ///销售姓名
private String loginname; //销售在本系统中的工号
private String mobile; //销售电话 与loginname任一必传
private String IdentifiedID; //身份证号码
private String mgnt_org_code; //所属机构
private String role; //人员角色
private String director_level; //总监等级
private String OrgAgentRole; //机构负责人角色
private String Rolegroup_id; //员工所在的组ID
private String Channel_id; //根据渠道id可找到渠道所关联的渠道机构下的的人员信息
private String Employeddate_start; //入职时间(起)
private String Employeddate_end; //入职时间(止)
private String createddate_start; //创建时间(起)
private String createddate_end; //创建时间(止)
private String modifieddate_start; //修改时间(起)
private String modifieddate_end; //修改时间(止)
}
package com.yd.rmi.n22.staff.pojo;
import lombok.Data;
import java.util.List;
@Data
public class GetStaffNewResponseBody {
private List<Staff> staff;
}
package com.yd.rmi.n22.staff.pojo;
import com.yd.rmi.n22.common.pojo.ResponseHead;
public class GetStaffNewResponseVO {
private ResponseHead responseHead;
private GetStaffNewResponseBody responseBody;
public ResponseHead getResponseHead() {
return responseHead;
}
public void setResponseHead(ResponseHead responseHead) {
this.responseHead = responseHead;
}
public GetStaffNewResponseBody getResponseBody() {
return responseBody;
}
public void setResponseBody(GetStaffNewResponseBody responseBody) {
this.responseBody = responseBody;
}
}
package com.yd.rmi.n22.staff.service;
import com.yd.rmi.n22.staff.pojo.GetStaffNewRequestBody;
import com.yd.rmi.n22.staff.pojo.GetStaffNewResponseVO;
public interface N22StaffService {
GetStaffNewResponseVO getStaffNew(GetStaffNewRequestBody getStaffNewRequestBody);
}
package com.yd.rmi.n22.staff.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.yd.rmi.n22.common.utils.N22Utils;
import com.yd.rmi.n22.policy.service.impl.N22PolicyServiceImpl;
import com.yd.rmi.n22.staff.pojo.GetStaffNewRequestBody;
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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import java.util.UUID;
@Service
public class N22StaffServiceImpl implements N22StaffService {
private final static Logger logger = LoggerFactory.getLogger(N22PolicyServiceImpl.class);
@Override
public GetStaffNewResponseVO getStaffNew(GetStaffNewRequestBody getStaffNewRequestBody) {
JSONObject obj = new JSONObject(); //传参
JSONObject rObj; //返回结果
JSONObject requestHead = new JSONObject();
requestHead.put("seqNo", UUID.randomUUID().toString());
obj.put("requestHead", requestHead);
obj.put("requestBody", getStaffNewRequestBody);
logger.info("N22查询保单列表请求报文:"+obj.toString());
String url = "https://life.ydinsurance.cn/EliteGeneralHttpTask/GeneralService/getStaffNew";
String result = N22Utils.postTransaction(url, obj.toString());
logger.info("N22查询保单列表响应报文:"+result);
GetStaffNewResponseVO response = JSONObject.parseObject(result, GetStaffNewResponseVO.class);
return response;
}
}
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