|
|
@@ -7,6 +7,7 @@ import com.jzg.quotation.commons.entity.vo.quote.RiskInfoVo;
|
|
|
import com.jzg.quotation.commons.entity.vo.quote.VehicleAndVesselTaxVo;
|
|
|
import com.jzg.quotation.commons.filter.CarModelsFilterUtils;
|
|
|
import com.jzg.quotation.taikang.client.HttpService;
|
|
|
+import com.jzg.quotation.taikang.model.TKLoginSession;
|
|
|
import com.jzg.quotation.taikang.model.api.*;
|
|
|
import com.jzg.quotation.taikang.model.entity.*;
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
|
@@ -21,6 +22,30 @@ public class TKSimpleService {
|
|
|
|
|
|
private HttpService httpService;
|
|
|
|
|
|
+ public TKLoginSession login(String username, String password) {
|
|
|
+ IdentityTokenResult identityTokenResult = httpService.identityToken(null);
|
|
|
+
|
|
|
+ // 登录
|
|
|
+ // 先获取到一个匿名登录的 `临时token`
|
|
|
+ String token = identityTokenResult.getTkCarRequestToken();
|
|
|
+
|
|
|
+ LoginResult loginInfo = httpService.login(username, password, token);
|
|
|
+
|
|
|
+ String tplatformId = loginInfo.getTplatformId();
|
|
|
+
|
|
|
+ identityTokenResult = httpService.identityToken(tplatformId);
|
|
|
+
|
|
|
+ token = identityTokenResult.getTkCarRequestToken();
|
|
|
+
|
|
|
+ TKLoginSession session = new TKLoginSession();
|
|
|
+ session.setUsername(loginInfo.getWebsysUserVo().getUsername());
|
|
|
+ session.setTplatformId(tplatformId);
|
|
|
+ session.setTplatLoginKey(loginInfo.getTplatLoginKey());
|
|
|
+ session.setToken(token);
|
|
|
+
|
|
|
+ return session;
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 参考自以下 JS 代码:
|
|
|
@@ -208,13 +233,13 @@ public class TKSimpleService {
|
|
|
* <p>
|
|
|
* 注意,此逻辑仅能处理车是非上海、非验证码、非蚂蚁渠道的查询
|
|
|
*
|
|
|
- * @param result
|
|
|
+ * @param session
|
|
|
* @param mainOrderId
|
|
|
* @param commonCarInfoVo
|
|
|
* @param area
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<TKCarModel> queryCarModelsByLicenseNo(LoginResult result, String mainOrderId, CarInfoVo commonCarInfoVo, TKAreaInfoVo area) {
|
|
|
+ public List<TKCarModel> queryCarModelsByLicenseNo(TKLoginSession session, String mainOrderId, CarInfoVo commonCarInfoVo, TKAreaInfoVo area) {
|
|
|
if (StringUtils.isBlank(commonCarInfoVo.getLicenseNo())) {
|
|
|
return null;
|
|
|
}
|
|
|
@@ -231,8 +256,8 @@ public class TKSimpleService {
|
|
|
String tempOrderId = newOrderId();
|
|
|
|
|
|
CarModelinfoQueryParam carModelinfoQueryParam = new CarModelinfoQueryParam();
|
|
|
- carModelinfoQueryParam.setTplatformId(result.getTplatformId());
|
|
|
- carModelinfoQueryParam.setFromId(result.getWebsysUserVo().getFromid());
|
|
|
+ carModelinfoQueryParam.setTplatformId(session.getTplatformId());
|
|
|
+ carModelinfoQueryParam.setFromId(session.getFromid());
|
|
|
// 不知道为什么,抓包观察到每次查车型前,都要获取一个新的订单id
|
|
|
carModelinfoQueryParam.setOrderID(tempOrderId);
|
|
|
carModelinfoQueryParam.setOrderOldID(mainOrderId);
|
|
|
@@ -255,13 +280,13 @@ public class TKSimpleService {
|
|
|
* <p>
|
|
|
* 注意,此逻辑仅能处理车是非上海、非验证码、非蚂蚁渠道的查询
|
|
|
*
|
|
|
- * @param result
|
|
|
+ * @param session
|
|
|
* @param mainOrderId
|
|
|
* @param commonCarInfoVo
|
|
|
* @param area
|
|
|
* @return
|
|
|
*/
|
|
|
- public List<TKCarModel> queryCarModelsByVinNo(LoginResult result, String mainOrderId, CarInfoVo commonCarInfoVo, TKAreaInfoVo area) {
|
|
|
+ public List<TKCarModel> queryCarModelsByVinNo(TKLoginSession session, String mainOrderId, CarInfoVo commonCarInfoVo, TKAreaInfoVo area) {
|
|
|
if (StringUtils.isBlank(commonCarInfoVo.getLicenseNo())) {
|
|
|
return null;
|
|
|
}
|
|
|
@@ -274,8 +299,8 @@ public class TKSimpleService {
|
|
|
carInfoVo.setVinNo(commonCarInfoVo.getVinNo());
|
|
|
|
|
|
CarModelinfoQueryParam carModelinfoQueryParam = new CarModelinfoQueryParam();
|
|
|
- carModelinfoQueryParam.setTplatformId(result.getTplatformId());
|
|
|
- carModelinfoQueryParam.setFromId(result.getWebsysUserVo().getFromid());
|
|
|
+ carModelinfoQueryParam.setTplatformId(session.getTplatformId());
|
|
|
+ carModelinfoQueryParam.setFromId(session.getFromid());
|
|
|
carModelinfoQueryParam.setOrderID(mainOrderId);
|
|
|
carModelinfoQueryParam.setChannelCode("OffWeb");
|
|
|
carModelinfoQueryParam.setAreaInfoVo(area);
|
|
|
@@ -292,19 +317,19 @@ public class TKSimpleService {
|
|
|
/**
|
|
|
* 查车型
|
|
|
*
|
|
|
- * @param result
|
|
|
+ * @param session
|
|
|
* @param mainOrderId
|
|
|
* @param commonCarInfoVo
|
|
|
* @param area
|
|
|
* @return
|
|
|
*/
|
|
|
- public TKCarModel queryCarModel(LoginResult result, String mainOrderId, CarInfoVo commonCarInfoVo, TKAreaInfoVo area) {
|
|
|
+ public TKCarModel queryCarModel(TKLoginSession session, String mainOrderId, CarInfoVo commonCarInfoVo, TKAreaInfoVo area) {
|
|
|
// 第一次查车型,使用车牌号的方式
|
|
|
- List<TKCarModel> TKCarModels = queryCarModelsByLicenseNo(result, mainOrderId, commonCarInfoVo, area);
|
|
|
+ List<TKCarModel> TKCarModels = queryCarModelsByLicenseNo(session, mainOrderId, commonCarInfoVo, area);
|
|
|
|
|
|
if (TKCarModels == null) {
|
|
|
// 第二次查车型,如果第一次没查到,使用车架号的方式
|
|
|
- TKCarModels = queryCarModelsByVinNo(result, mainOrderId, commonCarInfoVo, area);
|
|
|
+ TKCarModels = queryCarModelsByVinNo(session, mainOrderId, commonCarInfoVo, area);
|
|
|
}
|
|
|
|
|
|
if (TKCarModels == null) {
|
|
|
@@ -317,12 +342,12 @@ public class TKSimpleService {
|
|
|
return TKCarModel;
|
|
|
}
|
|
|
|
|
|
- public TKAreaInfoVo dataCreateArea(LoginResult result, String mainOrderId,
|
|
|
+ public TKAreaInfoVo dataCreateArea(TKLoginSession session, String mainOrderId,
|
|
|
TKAgentFuzzy agentFuzzy,
|
|
|
String agentCode, TKAgentQueryResult agentQueryResult,
|
|
|
AreaUserResult province, CarInfoVo commonCarInfoVo) {
|
|
|
- String tplatformId = result.getTplatformId();
|
|
|
- String fromId = result.getWebsysUserVo().getFromid();
|
|
|
+ String tplatformId = session.getTplatformId();
|
|
|
+ String fromId = session.getFromid();
|
|
|
|
|
|
AreaUserResult.CityInfo city = province.getCityList().get(0);
|
|
|
|
|
|
@@ -465,21 +490,21 @@ public class TKSimpleService {
|
|
|
/**
|
|
|
* 保存车险投保单
|
|
|
*
|
|
|
- * @param result
|
|
|
+ * @param session
|
|
|
* @param mainOrderId
|
|
|
* @param tkCarModel
|
|
|
* @param tkAreaInfoVo
|
|
|
* @param commonCarInfoVo
|
|
|
*/
|
|
|
- public void orderCreate(LoginResult result,
|
|
|
+ public void orderCreate(TKLoginSession session,
|
|
|
String mainOrderId,
|
|
|
TKCarModel tkCarModel,
|
|
|
TKAreaInfoVo tkAreaInfoVo,
|
|
|
CarInfoVo commonCarInfoVo) {
|
|
|
// 全局固定参数
|
|
|
- String tplatformId = result.getTplatformId();
|
|
|
- String tplatLoginKey = result.getTplatLoginKey();
|
|
|
- String fromId = result.getWebsysUserVo().getFromid();
|
|
|
+ String tplatformId = session.getTplatformId();
|
|
|
+ String tplatLoginKey = session.getTplatLoginKey();
|
|
|
+ String fromId = session.getFromid();
|
|
|
|
|
|
|
|
|
String passengerSeat = "";
|
|
|
@@ -677,14 +702,14 @@ public class TKSimpleService {
|
|
|
/**
|
|
|
* 初始化车险投保单
|
|
|
*
|
|
|
- * @param result
|
|
|
+ * @param session
|
|
|
* @param mainOrderId
|
|
|
*/
|
|
|
- public PreciseInitResult orderInit(LoginResult result,
|
|
|
+ public PreciseInitResult orderInit(TKLoginSession session,
|
|
|
String mainOrderId) {
|
|
|
// 全局固定参数
|
|
|
- String tplatformId = result.getTplatformId();
|
|
|
- String tplatLoginKey = result.getTplatLoginKey();
|
|
|
+ String tplatformId = session.getTplatformId();
|
|
|
+ String tplatLoginKey = session.getTplatLoginKey();
|
|
|
|
|
|
PreciseInitResult preciseInitResult = httpService.preciseInitToInit(tplatformId, tplatLoginKey, mainOrderId);
|
|
|
|
|
|
@@ -698,21 +723,21 @@ public class TKSimpleService {
|
|
|
/**
|
|
|
* 车险投保单报价
|
|
|
*
|
|
|
- * @param result
|
|
|
+ * @param session
|
|
|
* @param mainOrderId
|
|
|
* @param preciseInitResult
|
|
|
* @param commonQuoteVo
|
|
|
*/
|
|
|
- public PreciseInitResult orderQuote(LoginResult result,
|
|
|
+ public PreciseInitResult orderQuote(TKLoginSession session,
|
|
|
String mainOrderId,
|
|
|
PreciseInitResult preciseInitResult,
|
|
|
QuoteVo commonQuoteVo) {
|
|
|
PreciseInitParam preciseInitParam = Converter.Instance.convertToParam(preciseInitResult);
|
|
|
|
|
|
// 全局固定参数
|
|
|
- String tplatformId = result.getTplatformId();
|
|
|
- String tplatLoginKey = result.getTplatLoginKey();
|
|
|
- String fromId = result.getWebsysUserVo().getFromid();
|
|
|
+ String tplatformId = session.getTplatformId();
|
|
|
+ String tplatLoginKey = session.getTplatLoginKey();
|
|
|
+ String fromId = session.getFromid();
|
|
|
|
|
|
{
|
|
|
TKFlag flag = preciseInitParam.getFlag();
|