示例#1
0
    def idcardProvince(self):
        """idcardProvince 申请人身份证号省份"""
        hit = ""
        result1 = self.mysql.queryall_by_customer_id(
            db='customer_center',
            sql=
            "select identity_card from customer_identiy_%s where customer_id='%s' and delete_flag=0"
            % (self.info.customer_id % 20, self.info.customer_id))

        if not result1:
            return self.SET_DEFAULT_VALUE_INT_9999999
        else:
            idCard = factor_decrypt_identity(result1[0].get('identity_card'))
            proList = ["省", "市", "特别行政区", "壮族自治区", "回族自治区", "维吾尔自治区", "自治区"]
            idCard = str(idCard)[:6]
            result = self.mysql.queryall_by_customer_id(
                db='skynet',
                sql="select province from dict_idcard_location where code = %s"
                % (idCard))
            if not result:
                return self.SET_DEFAULT_VALUE_INT_9999999
            else:
                province = result[0].get('province')
                province = province.encode('utf-8')
                for i in proList:
                    if i in province:
                        hit = i
                        break
                proLen = len(hit)
                if proLen == 0:
                    return province
                else:
                    return str(province)[:-proLen]
示例#2
0
 def phoneHitOverdueContactsCertIdCnt(self):
     """phoneHitOverdueContactsCertIdCnt 申请人手机号命中逾期客户联系人手机号个数  产品:全产品"""
     cn_list = []
     mysql = "select * from rota_overdue where relative_phone='{0}' or friend_phone='{0}' or colleague_phone='{0}'  and is_deleted=0".format(
         self.info.phone)
     result = self.mysql.queryall_by_customer_id(db='skynet_rota', sql=mysql)
     for row in result:
         cn_list.append(factor_decrypt_identity(row.get('cert_id')))
     return len(list(set(cn_list)))
示例#3
0
 def phoneHitFraudPhoneCnt(self):
     """phoneHitFraudPhoneCnt 申请人手机号命中欺诈客户手机号个数"""
     phoneList = []
     sql = "select * from rota_fraud where phone='%s' and is_deleted=0" % self.info.phone
     rota_result = self.mysql.queryall_by_customer_id('skynet_rota', sql)
     if rota_result:
         for fra in rota_result:
             phoneList.append(factor_decrypt_identity(fra.get('cert_id')))
         return len(list(set(phoneList)))
     return self.SET_DEFAULT_VALUE_INT_0
示例#4
0
 def phoneHitFrozenCertIdCnt(self):
     """phoneHitFrozenCertIdCnt 申请人手机号命中冻结客户手机号个数"""
     sql = "select * from rota_freeze where is_deleted=0 and encryption_phone='%s'" % factor_encrypt_identity(self.info.phone)
     rota_result = self.mysql.queryall_by_customer_id('skynet_rota', sql)
     if not rota_result:
         return self.SET_DEFAULT_VALUE_INT_0
     cardIds = []
     for card in rota_result:
         if card.get('cert_id'):
             cardIds.append(factor_decrypt_identity(card.get('cert_id')))
     return len(list(set(cardIds)))
示例#5
0
 def identityDigit(self):
     """identityDigit 身份证号位数"""
     result1 = self.mysql.queryall_by_customer_id(
         db='customer_center',
         sql=
         "select identity_card from customer_identiy_%s where customer_id='%s' and delete_flag=0"
         % (self.info.customer_id % 20, self.info.customer_id))
     if not result1:
         return self.SET_DEFAULT_VALUE_INT_9999999
     else:
         idCard = factor_decrypt_identity(result1[0].get('identity_card'))
         return len(idCard)
示例#6
0
 def idcardCity(self):
     """idcardCity 申请人身份证号市"""
     result1 = self.mysql.queryall_by_customer_id(
         db='customer_center',
         sql=
         "select identity_card from customer_identiy_%s where customer_id='%s' and delete_flag=0"
         % (self.info.customer_id % 20, self.info.customer_id))
     if not result1:
         return self.SET_DEFAULT_VALUE_INT_9999999
     else:
         idCard = factor_decrypt_identity(result1[0].get('identity_card'))
         proList = [
             "地区", "市", "回族自治州", "彝族自治州", "藏族自治州", "土家族苗族自治州", "哈尼族彝族自治州",
             "傣族自治州", "藏族羌族自治州", "苗族侗族自治州", "布依族苗族自治州", "哈萨克自治州", "柯尔克孜自治州",
             "朝鲜族自治州", "蒙古族藏族自治州", "蒙古自治州", "白族自治州", "傣族景颇族自治州", "傈僳族自治州",
             "壮族苗族自治州"
         ]
         idCard = str(idCard)[:6]
         result = self.mysql.queryall_by_customer_id(
             db='skynet',
             sql="select city from dict_idcard_location where code = %s" %
             (idCard))
         if not result:
             return self.SET_DEFAULT_VALUE_INT_9999999
         else:
             city = result[0].get('city')
             city = city.encode('utf-8')
             hit = ''
             for i in proList:
                 if i in city:
                     hit = i
                     break
             proLen = len(hit)
             if proLen == 0:
                 cityResult = city
             else:
                 cityResult = str(city)[:-proLen]
             if cityResult == "滁县":
                 cityResult = "滁州"
             elif cityResult == "乌兰察布":
                 cityResult = "乌兰察布市"
             elif cityResult == "宿县":
                 cityResult = "宿州"
             return cityResult
示例#7
0
 def devicenoHitOverdueMaxCertIdCnt(self):
     """devicenoHitOverdueMaxCertIdCnt  申请人的设备号命中逾期客户设备号的个数  产品:全产品"""
     result = self.mongo.query_all_by_userId_inXdays(db='lake', collection='s_user_mobile_device_info_{0}'.format(
         int(self.info.user_id) % 4),
                                                     find={'user_id': self.info.user_id}, serial_no=self.serial_no,
                                                     start_days=1, end_days=0)
     if not result:
         return self.SET_DEFAULT_VALUE_INT_9999999
     devices = []
     for data in result[:20]:
         if data.get('device_no') and data.get('device_no') not in devices:
             devices.append(data.get('device_no'))
     if len(devices) > 5:
         return self.SET_DEFAULT_VALUE_INT_9999997
     count = []
     for device_no in devices:
         cardId = []
         device_mysql = "select cert_id  from  rota_overdue where device_no='{0}' and is_deleted=0".format(device_no)
         result = self.mysql.queryall_by_customer_id(db='skynet_rota', sql=device_mysql)
         for card in result:
             cardId.append(factor_decrypt_identity(card.get('cert_id')))
         count.append(len(cardId))
     return max(count)