Commit 59c38dc3 authored by 王向伟's avatar 王向伟

用户综合查询,添加ka调用

parent b3952aee
package cn.quantgroup.customer.model.kaordermapping;
import lombok.Data;
import java.sql.Timestamp;
/**
* @author Wang Xiangwei
* @version 2020/3/9
*/
@Data
public class LoanOrderMapping {
private Long id;
private String channelOrderNo;
private String channelPaymentNo;
private String applyNo;
private Long loanId;
private Long registeredFrom;
private String orderExtend;
private String businessType;
private Timestamp paymentAt;
private Long qgUserId;
private Timestamp createdAt;
private Timestamp updatedAt;
}
package cn.quantgroup.customer.rest.param.ordermapping;
import lombok.Data;
/**
* @author Wang Xiangwei
* @version 2020/3/9
*/
@Data
public class OrderMappingQueryParam {
private Long loanId;
private String channelOrderNo;
private String applyOrderNo;
}
package cn.quantgroup.customer.service;
import cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping;
import cn.quantgroup.customer.rest.param.ordermapping.OrderMappingQueryParam;
import cn.quantgroup.customer.rest.vo.JsonResult;
/**
* @author Wang Xiangwei
* @version 2020/3/9
*/
public interface IKaService {
JsonResult<LoanOrderMapping> findOrderMapping(OrderMappingQueryParam orderMappingQueryParam);
}
package cn.quantgroup.customer.service.impl;
import cn.quantgroup.customer.enums.ErrorCodeEnum;
import cn.quantgroup.customer.exception.BusinessException;
import cn.quantgroup.customer.model.kaordermapping.LoanOrderMapping;
import cn.quantgroup.customer.rest.param.ordermapping.OrderMappingQueryParam;
import cn.quantgroup.customer.rest.vo.JsonResult;
import cn.quantgroup.customer.service.IKaService;
import cn.quantgroup.customer.service.http.IHttpService;
import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.Map;
import java.util.Objects;
import static cn.quantgroup.customer.constant.Constant.GSON;
/**
* @author Wang Xiangwei
* @version 2020/3/9
*/
@Slf4j
@Service
public class KaServiceImpl implements IKaService {
@Value("${ka.api.http}")
private String kaSysUrl;
@Autowired
private IHttpService httpService;
@Override
public JsonResult<LoanOrderMapping> findOrderMapping(OrderMappingQueryParam orderMappingQueryParam) {
String logPre = "KaServiceImpl.findOrderMapping";
log.info("{},获得orderMapping orderMappingQueryParam={}",logPre,orderMappingQueryParam);
if(Objects.isNull(orderMappingQueryParam)){
log.error("{} 查询参数为空 orderMappingQueryParam={}",logPre,orderMappingQueryParam);
return JsonResult.buildErrorStateResult("查询参数为空",null);
}
String applyOrderNo = orderMappingQueryParam.getApplyOrderNo();
String channelOrderNo = orderMappingQueryParam.getChannelOrderNo();
Long loanId = orderMappingQueryParam.getLoanId();
String url = kaSysUrl + "/api/order_mapping/get";
try {
Map<String, Object> param = Maps.newHashMap();
if(!Objects.isNull(applyOrderNo)){
param.put("applyOrderNo", applyOrderNo);
}
if(StringUtils.isNotBlank(channelOrderNo)){
param.put("channelOrderNo", channelOrderNo);
}
if(StringUtils.isNotBlank(channelOrderNo)){
param.put("loanId", loanId);
}
String result = httpService.get(url, param);
log.info("{} 请求ka系统返回值:{}",logPre, result);
JsonResult jsonResult = GSON.fromJson(result, JsonResult.class);
if(Objects.isNull(jsonResult) || !jsonResult.isSuccess()){
log.error("{} 查询orderMapping失败 jsonResult={}",logPre,jsonResult);
return JsonResult.buildErrorStateResult("查询orderMapping失败",null);
}
Object data = jsonResult.getData();
LoanOrderMapping loanOrderMapping = GSON.fromJson(data.toString(), LoanOrderMapping.class);
jsonResult.setData(loanOrderMapping);
return jsonResult;
} catch (Exception e) {
log.error("{} 网络通讯异常,orderMappingQueryParam:{},ex:{}", orderMappingQueryParam, ExceptionUtils.getStackTrace(e));
throw new BusinessException(ErrorCodeEnum.NET_ERROR);
}
}
}
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