Exemple #1
0
async def do_different_administrative_division2(ad_code_list: list):
    """
    区分行政区划等级
    :param ad_code_list: 行政区划编码列表
    :return: (省份, 城市, 区/县)
    """
    province_code_list, city_code_list, district_code_list = [], [], []

    if not ad_code_list:
        raise ValueError('There are no manageable areas for this account.')

    ad_cursor = AdministrativeDivision.find({'code': {'$in': ad_code_list}})
    while await ad_cursor.fetch_next:
        ad: AdministrativeDivision = ad_cursor.next_object()
        if ad:
            if ad.level == 'P':
                province_code_list.append(ad.code)
                city_code_list += await AdministrativeDivision.distinct(
                    'code', {'parent_code': ad.code})
            elif ad.level == 'C':
                city_code_list.append(ad.code)
                province_code_list.append(ad.parent_code)
            elif ad.level == 'D':
                district_code_list.append(ad.code)
    province_code_list.sort()
    city_code_list.sort()
    district_code_list.sort()
    return list(set(province_code_list)), list(set(city_code_list)), list(
        set(district_code_list))
Exemple #2
0
 async def get(self):
     race_cid = self.get_argument('race_cid', '')
     menu_list = await get_menu(self, 'report', race_cid, tag=1)
     region_code_list = []
     manage_region_code_list = self.current_user.manage_region_code_list
     ad_cursor = AdministrativeDivision.find(
         {'code': {
             '$in': self.current_user.manage_region_code_list
         }})
     while await ad_cursor.fetch_next:
         ad = ad_cursor.next_object()
         if ad:
             if ad.level == 'P':
                 region_code_list.append('[p]%s' % ad.code)
             elif ad.level == 'C':
                 region_code_list.append('[c]%s' % ad.code)
             elif ad.level == 'D':
                 region_code_list.append('[d]%s' % ad.code)
     subject_dimension_list = await SubjectDimension.aggregate([
         MatchStage(
             dict(status=STATUS_SUBJECT_DIMENSION_ACTIVE, parent_cid=None)),
         LookupStage(SubjectDimension, 'cid', 'parent_cid',
                     'sub_subject_dimension_list')
     ]).to_list(None)
     return locals()
    async def get(self):
        dark_skin = self.get_argument('dark_skin')
        dark_skin = True if dark_skin == 'True' else False
        region_code_list = []
        manage_region_code_list = self.current_user.manage_region_code_list
        ad_cursor = AdministrativeDivision.find(
            {'code': {
                '$in': self.current_user.manage_region_code_list
            }})
        while await ad_cursor.fetch_next:
            ad = ad_cursor.next_object()
            if ad:
                if ad.level == 'P':
                    region_code_list.append('[p]%s' % ad.code)
                elif ad.level == 'C':
                    region_code_list.append('[c]%s' % ad.code)
                elif ad.level == 'D':
                    region_code_list.append('[d]%s' % ad.code)

        source_list = await GameMemberSource.find({
            'status':
            STATUS_MEMBER_SOURCE_ACTIVE
        }).sort('code').to_list(None)
        source_dict = {source.code: source.title for source in source_list}
        # fix: http://code.wenjuan.com/WolvesAU/CRSPN/issues/13
        source_dict = adjust_source(source_dict)

        return locals()
Exemple #4
0
 async def get(self):
     dark_skin = self.get_argument('dark_skin')
     dark_skin = True if dark_skin == 'True' else False
     region_code_list = []
     manage_region_code_list = self.current_user.manage_region_code_list
     ad_cursor = AdministrativeDivision.find({'code': {'$in': self.current_user.manage_region_code_list}})
     while await ad_cursor.fetch_next:
         ad = ad_cursor.next_object()
         if ad:
             if ad.level == 'P':
                 region_code_list.append('[p]%s' % ad.code)
             elif ad.level == 'C':
                 region_code_list.append('[c]%s' % ad.code)
             elif ad.level == 'D':
                 region_code_list.append('[d]%s' % ad.code)
     return locals()
Exemple #5
0
async def do_different_administrative_division(ad_code_list: list):
    """
    区分行政区划等级
    :param ad_code_list: 行政区划编码列表
    :return: (省份, 城市, 区/县)
    """
    province_code_list, city_code_list, district_code_list = [], [], []
    if ad_code_list:
        ad_cursor = AdministrativeDivision.find(
            {'code': {
                '$in': ad_code_list
            }})
        while await ad_cursor.fetch_next:
            ad: AdministrativeDivision = ad_cursor.next_object()
            if ad:
                if ad.level == 'P':
                    province_code_list.append(ad.code)
                elif ad.level == 'C':
                    city_code_list.append(ad.code)
                elif ad.level == 'D':
                    district_code_list.append(ad.code)
    return province_code_list, city_code_list, district_code_list
Exemple #6
0
    async def get(self, user_id):
        res = {'code': 0}
        user = await User.get_by_id(user_id)
        if user:
            data = []
            ad_cursor = AdministrativeDivision.find(
                {'code': {
                    '$in': user.manage_region_code_list
                }})
            while await ad_cursor.fetch_next:
                ad = ad_cursor.next_object()
                if ad:
                    if ad.level == 'P':
                        data.append('[p]%s' % ad.code)
                    elif ad.level == 'C':
                        data.append('[c]%s' % ad.code)
                    elif ad.level == 'D':
                        data.append('[d]%s' % ad.code)
            res['data'] = data
            res['code'] = 1
        else:
            res['code'] = -1

        return res