Closed wangzhenhui1991 closed 7 years ago
PS:<核保及订单确认>的测试需要从<申请询价>获得insureFlowCode,并经过<实际车辆价格查询>及<报价>接口之后,才能走通正常流程。
PS:由于异步回调需要提供个众安一个外网可访问的服务地址,并且由系统接受处理。
通过泛型和JSON.parseObject(),解决从JSON大量字段转为POJO的过程,详见ZhongAnApiServiceImpl.getResponseEntity();
public static <T> T getResponseEntity(CommonResponse response, Class<T> clazz){ //TODO 对错误异常的判断 if(StringUtil.isNotBlank(response.getErrorCode())){ return null; } return getResponseEntity(JSON.parseObject(response.getBizContent()).getJSONObject("responseResult"),clazz); } public static <T> T getResponseEntity(JSONObject json, Class<T> clazz) { return JSONObject.parseObject(json.toString(),clazz); }
完成对众安API接口(除收银台外)的流程测试,发现存在大量公共逻辑,对其进行抽象到callApiService(ZhongAnServiceEnum service, ZhongAnBaseRequest serviceRequest, Class<T> serviceResponse)中
callApiService(ZhongAnServiceEnum service, ZhongAnBaseRequest serviceRequest, Class<T> serviceResponse)
private <T> T callApiService(ZhongAnServiceEnum service, ZhongAnBaseRequest serviceRequest, Class<T> serviceResponse) throws ZhongAnOpenException { CommonRequest request = new CommonRequest(service.serviceUrl); //业务参数 JSONObject param = new JSONObject(); param.put("requestParam", JSON.toJSONString(serviceRequest)); request.setParams(param); //调用 logger.info("开始调用众安API-{},request={}",service.serviceShowName,serviceRequest); CommonResponse response = (CommonResponse) getZhongAnApiClient().call(request); logger.info("结束调用众安API-{},response={}",service.serviceShowName,response); return getResponseEntity(response,serviceResponse); }
众安对接
通过泛型和JSON.parseObject(),解决从JSON大量字段转为POJO的过程,详见ZhongAnApiServiceImpl.getResponseEntity();
完成对众安API接口(除收银台外)的流程测试,发现存在大量公共逻辑,对其进行抽象到
callApiService(ZhongAnServiceEnum service, ZhongAnBaseRequest serviceRequest, Class<T> serviceResponse)
中车险项目重构
下周(4.17-4.21)工作 TODO