Exemplo n.º 1
0
async def get_publish(self, cityName, classes=1):
    result = None
    if not cityName:
        return {
            'status': False,
            'msg': '请选择城市',
            "code": StatusCode.error.value
        }
    if classes == 1 or classes == '1':
        row = EpidemicPublishModel.by_city(cityName)
        if row:
            result = parser(row)
        return {
            'status': True,
            'msg': '业务操作成功',
            "code": StatusCode.success.value,
            'data': result
        }
    else:
        row = EpidemicPublishModel.by_city(cityName)
        if row:
            result = to_json(row)
        return {
            'status': True,
            'msg': '业务操作成功',
            "code": StatusCode.success.value,
            'data': result
        }
Exemplo n.º 2
0
async def get_hospital(self, district, latitude, longitude, limit):
    result = None
    if not latitude and not longitude:
        rows = SyStoreModel.by_address(district, limit)
        if rows:
            result = to_json(rows)
    elif district:
        if latitude and longitude:
            rows = SyStoreModel.filter(district, latitude, longitude, limit)
            if rows:
                result = rows
        else:
            rows = SyStoreModel.by_address(district, limit)
            if rows:
                result = to_json(rows)
    return {'status': True, 'msg': "获取成功", "data": result, "code": StatusCode.success.value}
Exemplo n.º 3
0
async def news(self, page, page_size, position):
    rows = SariNews.paginate(page, page_size, position)
    return {
        "status": True,
        "code": StatusCode.success.value,
        "msg": "获取成功",
        "data": to_json(rows)
    }
Exemplo n.º 4
0
async def get_auto_replay(self, page, page_size):
    rows = AuthReplyModel.paginate(page, page_size)
    return {
        "status": True,
        "code": StatusCode.success.value,
        "msg": "获取成功",
        "data": to_json(rows)
    }
Exemplo n.º 5
0
async def get_user(self, enterprise_id=None, user_id=None):
    if user_id:
        rows = [User.by_id(user_id)]
    elif enterprise_id:
        rows = User.by_enterprise_id(enterprise_id)     # 查询该企业下的所有用户
    else:
        rows = User.all()
    return {"status": True, "code": StatusCode.success.value, "msg": "获取成功", "data": to_json(rows)}
Exemplo n.º 6
0
async def get_news(self, page, page_size):
    rows = NewsModel.paginate(page, page_size)
    return {
        "status": True,
        "code": StatusCode.success.value,
        "msg": "获取成功",
        "data": to_json(rows)
    }
Exemplo n.º 7
0
async def record_by_province(self, province):
    rows = SariRecord.by_province(province)
    result = parse_single_data(to_json(rows))
    return {
        "status": True,
        "code": StatusCode.success.value,
        "msg": "获取成功",
        "data": result
    }
Exemplo n.º 8
0
async def get_user(self, userid=None):
    if userid:
        rows = User.by_id(userid)
    else:
        rows = User.all()
    return {
        "status": True,
        "code": StatusCode.success.value,
        "msg": "获取成功",
        "data": to_json(rows)
    }
Exemplo n.º 9
0
async def get_check_in_records(self, page=1, page_size=10, userId=None):
    if userId:
        rows = CheckInRecordModel.by_user_id(userId, page, page_size)
    else:
        rows = CheckInRecordModel.paginate(userId, page, page_size)
    return {
        "status": True,
        "code": StatusCode.success.value,
        "msg": "获取成功",
        "data": to_json(rows)
    }
Exemplo n.º 10
0
async def overalls(self, num=1):
    if num == 1:
        rows = [SariOverall.by_lasted()]
    else:
        rows = SariOverall.by_limit(num)
    return {
        "status": True,
        "code": StatusCode.success.value,
        "msg": "获取成功",
        "data": to_json(rows)
    }
Exemplo n.º 11
0
async def records(self):
    rows = SariRecord.all()
    need_parse = dict()
    result = list()
    for row in to_json(rows):
        if not need_parse.get(row.get('provinceName')):
            need_parse.setdefault(row.get('provinceName'), [row])
        else:
            need_parse[row.get('provinceName')].append(row)
    for v in need_parse.values():
        result.append(parse_single_data(v))
    return {"status": True, "code": StatusCode.success.value, "msg": "获取成功", "data": result}
Exemplo n.º 12
0
async def get_check_in_records(self, page=1, page_size=10):
    """查询个人签到轨迹"""
    user = self.current_user
    if not user:
        return auth_failed()
    rows = CheckInRecordModel.by_user_id(user.id, page, page_size)

    return {
        "status": True,
        "code": StatusCode.success.value,
        "msg": "获取成功",
        "data": to_json(rows)
    }
Exemplo n.º 13
0
async def get_users(self, residentId, phone):
    results = None
    rows, t = OrderUser.filter(residentId, phone)
    if rows:
        if t == 'dict':
            results = rows.to_dict()
        elif t == 'list':
            results = to_json(rows)
    return {
        'status': True,
        'msg': "获取成功",
        "data": results,
        "code": StatusCode.success.value
    }
Exemplo n.º 14
0
async def get_product(self, _type):
    result = []
    if _type == 'all':
        rows = Products.all()
    else:
        rows = Products.hot_product()
    if rows:
        result = to_json(rows)
    return {
        'status': True,
        'msg': "获取成功",
        "data": result,
        "code": StatusCode.success.value
    }
Exemplo n.º 15
0
async def get_user(self, page=1, page_size=10, enterprise_id=None):
    """查询用户"""
    user = self.current_user
    if not user:
        return auth_failed()
    if not enterprise_id:
        rows = user
        rows = [rows] if rows else []
    else:
        company_user = CompanyUser.by_company_user_id(user.id, enterprise_id)
        if not company_user or company_user.role_type == RoleTypeEnum.member:   # 该企业下的管理员可查看
            return permission_deny()
        rows = User.by_enterprise_id(enterprise_id, page=page, page_size=page_size)     # 查询该企业下的所有用户
    return {"status": True, "code": StatusCode.success.value, "msg": "获取成功", "data": to_json(rows)}
Exemplo n.º 16
0
async def get_company(self, name=None):
    if name:
        rows = Company.by_name(name)
    else:
        rows = Company.all()

    result = list()
    for row in to_json(rows):
        result.append(row)
    return {
        "status": True,
        "code": StatusCode.success.value,
        "msg": "获取成功",
        "data": result
    }
Exemplo n.º 17
0
async def get_orders(self, residentId):
    result = []
    if not residentId:
        return {
            'status': False,
            'msg': "缺少参数",
            "code": StatusCode.miss_params_error.value
        }
    user = OrderUser.by_id_card(residentId)
    if user:
        rows = Orders.by_user_id(user.id)
        if rows:
            result = to_json(rows)
    return {
        'status': True,
        'msg': "获取成功",
        "code": StatusCode.success.value,
        "data": result
    }
Exemplo n.º 18
0
async def get_company(self, enterprise_id):
    """查询企业"""
    user = self.current_user
    if not user:
        return auth_failed()
    if not enterprise_id:
        rows = Company.by_user_id(user.id)
        if not rows:
            return permission_deny()
    else:
        company_user = CompanyUser.by_company_user_id(user.id, enterprise_id)
        if not company_user:  # 该企业下的所有用户均可查看
            return permission_deny()
        rows = Company.by_id(enterprise_id)
        rows = [rows] if rows else []

    return {
        "status": True,
        "code": StatusCode.success.value,
        "msg": "获取成功",
        "data": to_json(rows)
    }
Exemplo n.º 19
0
async def get_statistics_checked(self, enterprise_id=None):
    """统计数据"""
    if enterprise_id:
        users = User.by_enterprise_id(enterprise_id)    # 根据企业搜索用户
    else:
        users = User.all()
    checked_data = []
    for user in users:
        checked_models = CheckInRecordModel.by_user_id_today(user.id)
        if checked_models:
            checked_data.extend(to_json([checked_models]))

    checked_data.sort(key=itemgetter('province'))   # 按省排序
    logger.debug(f'checked_data: {checked_data}')
    result = []
    for province, items in groupby(checked_data, key=itemgetter('province')):   # 按省分割
        isolated_count = 0
        suspected_count = 0
        confirmed_count = 0
        items = list(items)
        items.sort(key=itemgetter('status'))  # 按健康状态分割
        logger.debug(f'items sort by {province}: {items}')
        for status, sub_items in groupby(items, key=itemgetter('status')):
            length = get_length(sub_items)
            if status == StatusEnum.isolated:
                isolated_count = length
            elif status == StatusEnum.suspected:
                suspected_count = length
            elif status == StatusEnum.confirmed:
                confirmed_count = length

        checked_count = get_length(items)  # 打卡数量
        result.append({
            'province': province, 'checked_count': checked_count, 'isolated_count': isolated_count,
            'suspected_count': suspected_count, 'confirmed_count': confirmed_count
        })

    return {"status": True, "code": StatusCode.success.value, "msg": "获取成功", "data": result}
Exemplo n.º 20
0
async def get_company(self, enterprise_id=None):
    if enterprise_id:
        rows = [Company.by_id(enterprise_id)]
    else:
        rows = Company.all()
    return {"status": True, "code": StatusCode.success.value, "msg": "获取成功", "data": to_json(rows)}
Exemplo n.º 21
0
 def orders(self):
     rows = Orders.by_user_id(self.id)
     return to_json(rows) if rows else None
Exemplo n.º 22
0
async def get_area(self, parent_code, region_code):
    results = []
    rows = Areas.filter(parent_code, region_code)
    if rows:
        results = to_json(rows)
    return {'status': True, 'msg': "获取成功", "data": results, "code": StatusCode.success.value}