Example #1
0
def get_finance_all_county(city_id=None):
    """
        通过城市ID获取县区的数据

        参数
        ----
        city_id : int
            城市ID

        返回值
        ------
        result_list : list
            所有县区的数据的数组
    """
    city_id = common_utils.to_int(city_id)
    county_list = list_objs(model=ModelName.T_BASE_COUNTY,
                            is_enable=1,
                            is_show=1,
                            city_id=city_id)
    if not county_list:
        return None
    result_list = []
    for county in county_list:
        county_info = place_utils.get_county_by_id(county_id=county.county_id)
        if county_info:
            result_list.append(county_info)
    return result_list
Example #2
0
def county_name(county_id):
    '''
        县区名字
    '''
    if not county_id:
        return ""
    county = place_utils.get_county_by_id(
        county_id=county_id
    )
    if not county:
        return ""
    return county['county_name']
Example #3
0
def get_dealer_id_list_by_county(county_id=None,
                                 car_brand_id=None,
                                 car_series_id=None):
    """
        根据县区ID查找
    """
    county_id = common_utils.to_int(county_id)
    car_brand_id = common_utils.to_int(car_brand_id)
    car_series_id = common_utils.to_int(car_series_id)
    dealer_sql_template = '''
        SELECT 
            id
        FROM 
            t_base_dealer
        WHERE 
            is_enable=1
            AND is_frozen=0
            {% if county_id %} 
                AND county_id={{county_id}} 
            {% endif %}
            {% if car_series_id %} 
                AND car_series_ids like '%,{{car_series_id}},%'
            {% elif car_brand_id %} 
                AND cbb_car_brand_code like '%,{{car_brand_id}},%'
            {% endif %}
    '''
    param = {
        'county_id': county_id,
        'car_brand_id': car_brand_id,
        'car_series_id': car_series_id,
    }
    dealer_sql = Template(dealer_sql_template).render(param)
    cursor = connection().cursor()
    cursor.execute(dealer_sql)
    dealer_list = dictfetchall(cursor)
    if not dealer_list:
        # 根据城市ID查找
        county_info = place_utils.get_county_by_id(county_id=county_id)
        if not county_info:
            return None
        city_id = county_info['city_id']
        return get_dealer_id_list_by_city(city_id=city_id,
                                          car_brand_id=car_brand_id,
                                          car_series_id=car_series_id)
    dealer_id_list = []
    for tmp_dealer in dealer_list:
        dealer_id_list.append(tmp_dealer['id'])
    return dealer_id_list
Example #4
0
def get_finance_dealer_county(city_id=None):
    """
        通过城市ID获取所有包含经销商的县区的数据

        参数
        ----
        city_id : int
            城市ID

        返回值
        ------
        result_list : list
            所有县区的数据的数组
    """
    city_id = common_utils.to_int(city_id)
    dealer_id_list = dealer_utils.get_dealer_id_list(city_id=city_id)
    if not dealer_id_list:
        return None

    dealer_sql_template = '''
        SELECT 
            DISTINCT county_id
        FROM 
            t_base_dealer
        WHERE 
            is_enable=1
            AND is_frozen=0
            AND id in ({{dealer_id_list}})
        ORDER BY 
            county_id
    '''
    param = {
        'dealer_id_list': common_utils.int_list_to_str(dealer_id_list),
    }
    dealer_sql = Template(dealer_sql_template).render(param)
    cursor = connection().cursor()
    cursor.execute(dealer_sql, param)
    dealers = dictfetchall(cursor)
    if not dealers:
        return None
    result_list = []
    for dealer in dealers:
        county_info = place_utils.get_county_by_id(
            county_id=dealer['county_id'])
        if county_info:
            result_list.append(county_info)
    return result_list
Example #5
0
def get_place_county_by_id(county_id=None):
    """
        根据县区ID获取县区基本数据

        参数
        ----
        city_id : int
            县区ID

        返回值
        ------
        result_dict : dict
            县区基本数据
    """
    county_id = common_utils.to_int(county_id)
    county = place_utils.get_county_by_id(county_id=county_id)
    return county
Example #6
0
def get_finance_province_city_county(province_id=None,
                                     city_id=None,
                                     county_id=None):
    """
        根据城市ID或者县区ID返回省和城市信息
        province_id, city_id, county_id都是可选,最少有一个

        参数
        ----
        province_id : int, 可选
            省ID
        city_id : int, 可选
            城市ID
        county_id : int, 可选
            县区ID

        返回值
        ------
        result_dict : dict
            返回省或者城市信息
    """
    city_id = common_utils.to_int(city_id)
    county_id = common_utils.to_int(county_id)
    province_id = common_utils.to_int(province_id)
    result_dict = {}
    if county_id:
        county_info = place_utils.get_county_by_id(county_id=county_id)
        if not county_info:
            return None
        city_id = county_info['city_id']
        result_dict['county'] = county_info
    if city_id:
        city_info = place_utils.get_city_by_id(city_id=city_id)
        if not city_info:
            return None
        province_id = city_info['province_id']
        result_dict['city'] = city_info
    if province_id:
        province_info = place_utils.get_province_by_id(province_id=province_id)
        if not province_info:
            return None
        result_dict['province'] = province_info
    return result_dict