RailwayThirdManagerImpl.java 3 KB
/*
 * @(#)ApiLogManagerImpl.java
 *
 * Copyright (c) 2014-2017  xiniunet 版权所有
 * xiniunet. All rights reserved.
 *
 * This software is the confidential and proprietary
 * information of  xiniunet.
 * ("Confidential Information"). You shall not disclose
 * such Confidential Information and shall use it only
 * in accordance with the terms of the contract agreement
 * you entered into with xiniunet.
 */
package com.xiniunet.service.railway.biz;

import com.alibaba.fastjson.JSON;
import com.xiniunet.framework.base.BaseManagerImpl;
import com.xiniunet.framework.base.BaseResponse;
import com.xiniunet.framework.exception.ErrorType;
import com.xiniunet.framework.security.Passport;
import com.xiniunet.railway.request.ApiLogCreateRequest;
import com.xiniunet.railway.request.RailwayGetPositionRequest;
import com.xiniunet.railway.response.RailwayGetPositionResponse;
import com.xiniunet.service.railway.dal.ApiLogMapper;
import com.xiniunet.service.railway.po.ApiLogPO;
import com.xiniunet.service.railway.util.RailwayThirdTools;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 远程调用日志的管理方法实现.
 *
 * @author xiniunet
 */
@Transactional
public class RailwayThirdManagerImpl extends BaseManagerImpl implements RailwayThirdManager {


    @Autowired
    private ApiLogManager apiLogManager;
    /**
     * 调用第三方接口
     * @param request
     * @return
     */
    @Override
    public RailwayGetPositionResponse getPosition(RailwayGetPositionRequest request,Passport passport){
        RailwayGetPositionResponse response = new RailwayGetPositionResponse();
        String url = "http://222.66.139.92:8080/positionService/getPosition.action";
        try
        {
            response = JSON.toJavaObject(RailwayThirdTools.railwayThird(url, request), response.getClass());
        }
        catch(Exception e)
        {
            response.addError(ErrorType.SYSTEM_ERROR, e.getMessage());
        }
        //插入日志信息
        ApiLogCreateRequest apiLogCreateRequest = new ApiLogCreateRequest();
        apiLogCreateRequest.setApiMethod("getPosition");
        SimpleDateFormat myFmt1=new SimpleDateFormat("yyyy-MM-dd  hh:mm:ss");
        Date now=new Date();
        String invokeTime=myFmt1.format(now);
        apiLogCreateRequest.setInvokeTime(invokeTime);
        apiLogCreateRequest.setRequestParam(com.alibaba.fastjson.JSON.toJSONString(request));
        apiLogCreateRequest.setResponse(com.alibaba.fastjson.JSON.toJSONString(response));
        apiLogCreateRequest.setDescription("调用第三方接口,获取行车位置");
        apiLogManager.create(apiLogCreateRequest,passport);
        return  response;
    }
    /**
     * 验证对象
     *
     * @param apiLog   远程调用日志
     * @param passport 用户护照
     */
    private void checkValidate(ApiLogPO apiLog, Passport passport, BaseResponse response) {
        // TODO
    }
}