def keep_alive_session():
    try:
        sessiondt = ""
        sessiondt = getSession()
        requestcic = sessiondt['4']
        loginRes = sessiondt['5']
        pingansession = sessiondt['1']
        ancheng_session = sessiondt['12']
        hn_session = sessiondt['13']
        '''
        rsp = pingansession.get(url="https://icore-pts.pingan.com.cn/ebusiness/query/queryUserInfo.do",
                                headers=pinganset.headers,
                                verify=False)
        if "1069004717001" in rsp.text:
            print(u"pingan SESSION IS ALIVE")
        else:
            print(u"pingan SESSION IS DEATH")'
        pinganrsp = pingansession.get(url="https://icore-pts.pingan.com.cn/ebusiness/", headers=pinganset.headers,
                                      verify=False)
        if "安全退出" in pinganrsp.text:
            print(u"pingan SESSION IS ALIVE")
        else:
            print(u"pingan SESSION IS DEATH")'''

        cicrsp = requestcic.get("http://carply.cic.cn/pcis/core/header.jsp",
                                headers=cicset.headers)
        if "今日验车码" in cicrsp.text:
            print(u"cic SESSION IS ALIVE")
        else:
            print(u"cic SESSION IS DEATH")
            logincic()
        loginRes = loginRes[0]
        ciccrsp = loginRes.get("http://b2b.ccic-net.com.cn/mss/index.jsp",
                               headers=cicset.headers)
        if "欢迎光临" in ciccrsp.text:
            print(u"大地SESSION IS ALIVE")
        else:
            print(u"大地SESSION IS DEATH")

        hnrsp = hn_session.get(
            "http://qcar.chinahuanong.com.cn/menu/orgMenus.do",
            headers=cicset.headers)
        if "暂存单管理" in hnrsp.text:
            print(u"华农SESSION IS ALIVE")
        else:
            print(u"华农SESSION IS DEATH")

        ancheng = ancheng_session.get(
            "http://ply.e-acic.com/pcis/core/header.jsp",
            headers=cicset.headers)
        if "欢迎您" in ancheng.text:
            print(u"安城SESSION IS ALIVE")
        else:
            print(u"安城SESSION IS DEATH")
        #is_renewal(pingansession)
    except Exception, e:
        print(e)
 def consume(self, client, frame):
     try:
         sessiondt = getSession()
         session = sessiondt['4']
         body = json.loads(frame.body.decode())
         log.info(u'收到队列消息 开始执行')
         for data in body:
             data['client'] = client
             threads.deferToThread(getData, session, data)
     except Exception as e:
         log.error(e)
         log.error(traceback.format_exc())
def get_car_model(searchVin, requesteicc=None):
    try:
        if requesteicc is None:
            requesteicc = getSession()['4']
        headers = SE.headers
        #获取查询车辆精确信息的MD5
        res3 = requesteicc.get(
            url=
            'http://carply.cic.cn/pcis/policy/universal/quickapp/quick_offer.jsp?isOffer=1&prodNo=0360&dptCde=32010101&CUnionMrk=0'
        )
        res_body = res3.text
        if res3.status_code == 200:
            md5byJy = re.findall(r"md5byJy = \"(.+?)\";", res_body, re.S)[0]
        else:
            res_body = requesteicc.get(
                url=
                'http://carply.cic.cn/pcis/policy/universal/quickapp/quick_offer.jsp?isOffer=1&prodNo=0360&dptCde=32010101&CUnionMrk=0'
            )
            res_body = res3.text
            md5byJy = re.findall(r"md5byJy = \"(.+?)\";", res_body, re.S)[0]
        request114 = requests.session()
        headers114 = SE.headers
        request114.headers.update(headers114)
        #车架号
        #searchVin='LMVHEKFD6EA029484'
        #searchVin='LFV2A11K8F4192886'
        validNo = md5byJy
        #vehicleId='I0000000000000000230000000000033'
        search_url = 'http://114.251.1.161/zccx/search?regionCode=00000000&jyFlag=0&businessNature=A&operatorCode=0000000000&returnUrl=http://carply.cic.cn/pcis/offerAcceptResult&vname=&searchVin=' + searchVin + '&vinflag=1&validNo=' + validNo
        repon114 = request114.get(url=search_url)
        if "没有找到符合条件的数据" in repon114.text:
            log.error(u"没有找到符合条件的数据")
            return None
        else:
            carlist = parseCarInfo(repon114.text)
            return carlist[0]
    except Exception as e:
        log.error(e)
        import traceback
        log.error(traceback.format_exc())
def batch_repair(onedata):
    plateNumber = onedata['plateNumber']
    sessiondt = ""
    sessiondt = getSession()
    requestcic = sessiondt['4']
    pingansession = sessiondt['1']

    carInfo = 0
    sql_carInfo = query_user_renewal(plateNumber)
    # print(sql_carInfo)
    if sql_carInfo != 0:
        onedata['vinNo'] = sql_carInfo['vinNo']
        onedata['endDate'] = sql_carInfo['endDate']
        onedata['preminuEndDate'] = sql_carInfo['endDate']
        onedata['custName'] = sql_carInfo['insuredName']
        onedata['carInfo'] = sql_carInfo
        return
    if sql_carInfo == 0:
        g1 = gevent.spawn(cic_entrance_renwal, requestcic, plateNumber)
        g2 = gevent.spawn(is_pingan_renwal, pingansession, plateNumber)
        # 通过行业协会进行查询
        g3 = gevent.spawn(cjbx_start, plateNumber)
        gevent.joinall([g1, g2, g3])
        cic_out = g1.value
        pingan_out = g2.value
        cjbx_out = g3.value
        # cjbx_out=0
        if cic_out != 0 or pingan_out != 0:
            if isinstance(cic_out, dict):
                carInfo = cic_out
                inser_user_renewal(carInfo)
                onedata['vinNo'] = carInfo['vinNo']
                onedata['endDate'] = carInfo['endDate']
                onedata['preminuEndDate'] = carInfo['endDate']
                onedata['identitCard'] = carInfo['identifyNumber']
                onedata['custName'] = carInfo['insuredName']
                onedata['phone'] = carInfo['mobile']
                onedata['engineNo'] = carInfo['engineNo']
                onedata['carInfo'] = cic_out
                return
            if isinstance(pingan_out, dict):
                carInfo = pingan_out
                inser_user_renewal(carInfo)
                onedata['vinNo'] = carInfo['vinNo']
                onedata['endDate'] = carInfo['endDate']
                onedata['preminuEndDate'] = carInfo['endDate']
                onedata['custName'] = carInfo['insuredName']
                onedata['engineNo'] = carInfo['engineNo']
                onedata['carInfo'] = pingan_out
                return
        epicc_out = query_user_renewal(plateNumber)
        if epicc_out != 0:
            carInfo = epicc_out
            onedata['vinNo'] = carInfo['vinNo']
            onedata['endDate'] = carInfo['endDate']
            onedata['preminuEndDate'] = carInfo['endDate']
            onedata['custName'] = carInfo['insuredName']
            onedata['engineNo'] = carInfo['engineNo']
            onedata['carInfo'] = epicc_out
            return
        if cjbx_out != 0:
            carInfo = cjbx_out
            onedata['vinNo'] = carInfo['vinNo']
            onedata['endDate'] = carInfo['endDate']
            onedata['preminuEndDate'] = carInfo['endDate']
            onedata['custName'] = carInfo['insuredName']
            onedata['engineNo'] = carInfo['engineNo']
            onedata['carInfo'] = cjbx_out
            return
    else:
        return