GraphVerifyService.java 3.42 KB
package com.yohoufo.user.service.risk;

import com.yoho.service.model.uic.request.VerifiedGraphicReqBO;
import com.yohoufo.common.interceptor.RemoteIPInterceptor;
import com.yohoufo.user.helper.RestTemplateHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;
import org.springframework.stereotype.Service;
import org.springframework.web.client.RestTemplate;

import javax.annotation.Resource;
import java.util.List;

/**
 * Created by xinfei on 17/9/19.
 */
@Service
public class GraphVerifyService implements ApplicationEventPublisherAware {

    private Logger logger = LoggerFactory.getLogger(GraphVerifyService.class);

    private ApplicationEventPublisher publisher;

    @Autowired
    private RestTemplateHelper restTemplateHelper;

    @Value("${uic.service.url}")
    private String uicServiceUrl;

    /**
     * 验证图形验证码
     * @param clientType
     * @param appVersion
     * @param fromPage
     * @param udid
     * @param degrees
     */
    public void checkAndVerifyGrap(String appType, String clientType, String appVersion, String fromPage,
                                   String udid, List<Integer> degrees) {

        String ip = RemoteIPInterceptor.getRemoteIP();

        //ip="172.16.6.90";

        logger.info("checkAndVerifyGrap, clientType is {}, appVersion is {}, fromPage is {}, udid is {}, degrees is {}, ip is {}, appType is {}", clientType, appVersion, fromPage, udid, degrees, ip, appType);
        VerifiedGraphicReqBO reqBO = new VerifiedGraphicReqBO();
        reqBO.setUdid(udid);
        reqBO.setAppType(appType);
        reqBO.setFromPage(fromPage);
        reqBO.setDegrees(degrees);
        reqBO.setApp_version(appVersion);
        reqBO.setClient_type(clientType);
        reqBO.setIp(ip);
        reqBO.setBusinessLine("ufo");

        restTemplateHelper.postByJson(uicServiceUrl+"/VerifiedGraphicRest/checkAndVerifyGrap",reqBO,Object.class);
    }

    /**
     * 调研uic接口,开启图像验证码
     * @param clientType
     * @param appVersion
     * @param fromPage
     * @param udid
     * @param degrees
     */
    public void triggerUfoGraphVerifySwitch(String appType, String clientType, String appVersion, String fromPage,
                                       String udid, List<Integer> degrees) {

        String ip = RemoteIPInterceptor.getRemoteIP();

        //ip="172.16.6.90";

        logger.info("triggerUfoGraphVerifySwitch, clientType is {}, appVersion is {}, fromPage is {}, udid is {}, degrees is {}, ip is {}, appType is {}", clientType, appVersion, fromPage, udid, degrees, ip, appType);
        VerifiedGraphicReqBO reqBO = new VerifiedGraphicReqBO();
        reqBO.setUdid(udid);
        reqBO.setAppType(appType);
        reqBO.setFromPage(fromPage);
        reqBO.setDegrees(degrees);
        reqBO.setApp_version(appVersion);
        reqBO.setClient_type(clientType);
        reqBO.setIp(ip);
        reqBO.setBusinessLine("ufo");

        restTemplateHelper.postByJson(uicServiceUrl+"/VerifiedGraphicRest/triggerUfoGraphVerifySwitch",reqBO,Object.class);
    }

    @Override
    public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
        this.publisher = applicationEventPublisher;
    }
}