Exemplo n.º 1
0
def data_entry():
    # 获取请求头信息
    if request.content_type != "application/json":
        return invalid(detail="请在请求头中指定: Content-Type: application/json")
    try:
        data_dict = request.get_json(force=True)
    except Exception as e:
        logging.error("json data parse failed, error:[{}]".format(e))
        return invalid(detail="json 数据解析失败, 请检查数据内容")
    # 数据校验
    data_dict, error_str = data_verify(data_dict)
    if error_str:
        return invalid(detail=error_str)

    # 将图片保存在本地
    image_bytes = data_dict["image_bytes"]

    # 根据违法时间分目录存储
    illegal_time = data_dict["illegal_time"]
    date_folder = illegal_time.split(" ")[0]

    # 判断目录是否存在,不存在则创建目录
    # current_path = os.path.join(os.path.expanduser('~'), "hbase_image/{}".format(date_folder))
    current_path = os.path.join(cons.IMAGE_SAVE_PATH, date_folder)
    is_exist = os.path.exists(current_path)
    if not is_exist:
        os.makedirs(current_path)

    # 保存图片,以 record_id 命名
    record_id = data_dict["record_id"]
    with open("{}/{}.jpg".format(current_path, record_id), "wb") as f:
        f.write(image_bytes)
    logging.info("image downloaded, recordId:[{}], illegalCode:[{}]".format(
        data_dict["record_id"], data_dict["illegal_code"]))
    # 删除图片参数, 增加定制化参数
    data_dict.pop("image_bytes")
    data_dict["img_path"] = date_folder + "/" + record_id + ".jpg"
    # 处理机关code前4位
    data_dict["correct_sector_code"] = data_dict["office_code"][:4]

    # is exist
    wf_record = db.session.query(WfRecord).filter(
        WfRecord.record_id == record_id).first()
    if wf_record:
        return invalid(detail="数据重复推送, record_id:{}".format(record_id))
    # save mysql
    try:
        db.session.add(WfRecord(**data_dict))
        db.session.commit()
    except Exception as e:
        logging.error("data insertion into db failed, error:[{}]".format(e))
        return server_error(detail="数据库错误, 请联系系统管理员")
    #
    return success(detail="接收成功, 数量 1")
Exemplo n.º 2
0
def update_manual_status():
    data = request.get_json(force=True)
    ids = data.get('ids', [])
    manual_check_status = data.get('manual_check_status', 0)
    if not ids:
        return response.invalid('no ids')

    # 查询的同时直接更新
    # [(s.query(Wfrecord).filter(Wfrecord.id == id).update({"manual_check_status": manual_check_status})) for id in ids]
    for id in ids:
        db.session.query(Wfrecord).filter(Wfrecord.id == id).update(
            {"manual_check_status": manual_check_status})
    # 手动提交事务
    db.session.commit()

    return response.success()
Exemplo n.º 3
0
def pause_job():
    flask_scheduler.pause_job('job2')
    return response.success()
Exemplo n.º 4
0
def start_job():
    flask_scheduler.resume_job('job2')
    return response.success()