コード例 #1
0
def driver_review_ban():
    """封禁驾驶员"""
    form = forms.DriverReview(request.args).validate_()
    form.driver.verify = -2
    core_api.clear_token(uuid=form.driver.uuid, port=config.driver_port)
    form.driver.direct_update_()
    return result_format()
コード例 #2
0
ファイル: primary.py プロジェクト: Neo-python/HYcore
def upload_credentials():
    """腾讯cos上传凭证
    文档:https://github.com/tencentyun/qcloud-cos-sts-sdk/tree/master/python
    """
    result = cos_sts.get_credential()
    data = result['credentials']
    data.update({'expiredTime': result['expiredTime']})
    return ordinary.result_format(data=data)
コード例 #3
0
def driver_review_prevent():
    """不同意驾驶员申请"""
    form = forms.DriverReview(request.args).validate_()
    form.driver.verify = -1
    form.driver.direct_update_()
    core_api.clear_token(uuid=form.driver.uuid, port=config.driver_port)
    core_api.batch_sms(phone_list=[form.driver.phone], params=["申请失败"],
                       template_id=config.SMS_TEMPLATE_REGISTERED['review'])
    return result_format()
コード例 #4
0
ファイル: primary.py プロジェクト: Neo-python/HYcore
def token_clear():
    """清除其他应用用户token"""
    form = forms.TokenClearForm(request.args).validate_()

    redis = apps_redis.get_redis(port=form.port.data)

    redis_key = f'UserInfo_{form.uuid.data}'
    redis.delete(redis_key)

    return ordinary.result_format()
コード例 #5
0
ファイル: primary.py プロジェクト: Neo-python/HYcore
def position_distance():
    """计算位置距离
    origin原点只支持单点
    destinations目标点支持多点
    :return:
    """
    form = forms.PositionDistanceForm().validate_()
    result = position.distance(origin=form.origin.data,
                               destinations=form.destinations.data)

    return ordinary.result_format(data=result)
コード例 #6
0
def driver_order_list():
    """驾驶员订单列表"""
    form = forms.DriverOrderListForm(request.args).validate_()

    query = DriverOrder.query.filter_by(driver_uuid=form.driver.uuid)

    paginate = query.paginate(form.page.data, form.limit.data, error_out=False)

    data = paginate_info(paginate, items=[item.customize_serialization() for item in paginate.items])

    return result_format(data=data)
コード例 #7
0
ファイル: factory.py プロジェクト: Neo-python/HYmanager
def factory_list():
    """厂家列表"""
    form = forms.FactoryListFrom(request.args).validate_()

    query = Factory.query

    paginate = query.paginate(form.page.data, form.limit.data, error_out=False)

    data = paginate_info(
        paginate, items=[item.serialization() for item in paginate.items])

    return result_format(data=data)
コード例 #8
0
ファイル: primary.py プロジェクト: Neo-python/HYcore
def send_sms():
    """发送短信接口
    params:统一规范 验证码 + 时效(分钟)
    """
    form = forms.SMSCodeForm().validate_()

    sms.send(template_id=form.template_id.data,
             phone_number=form.phone.data,
             sms_sign=config.SMS_SIGN,
             params=[form.code.data, 5])

    return ordinary.result_format()
コード例 #9
0
ファイル: primary.py プロジェクト: Neo-python/HYcore
def batch_sms():
    """批量发送短信"""

    form = forms.SMSBatchForm().validate_()

    tasks.batch_sms.apply_async(
        kwargs={
            'template_id': form.template_id.data,
            'phone_list': form.phone_list.data,
            'params': form.params.data
        })

    return ordinary.result_format()
コード例 #10
0
ファイル: primary.py プロジェクト: Neo-python/HYcore
def notice_manager():
    """通知管理员"""
    form = forms.NoticeManagerForm().validate_()

    admins = Admin.query.filter_by(sms_status=1).all()
    phone_numbers = [admin.phone for admin in admins]

    if phone_numbers:
        sms.multi_send(template_id=form.template_id.data,
                       phone_numbers=phone_numbers,
                       params=form.params.data,
                       sms_sign=config.SMS_SIGN)

    return ordinary.result_format()
コード例 #11
0
def driver_list():
    """驾驶员列表"""

    form = forms.DriverListFrom(request.args).validate_()

    query = Driver.query

    if form.verify_status.data != 99:
        query = query.filter_by(verify=form.verify_status.data)

    paginate = query.paginate(form.page.data, form.limit.data, error_out=False)

    data = paginate_info(paginate, items=[item.serialization() for item in paginate.items])

    return result_format(data=data)
コード例 #12
0
ファイル: primary.py プロジェクト: Neo-python/HYcore
def upload_url():
    """获取上传图片授权地址"""
    form = forms.UploadUrlForm(request.args).validate_()

    if not form.genre.data and not form.suffix.data:
        raise ViewException(error_code=5005,
                            message='<genre>图片用途类型或<suffix>图片文件类型,不能为空.')
    name = uuid.uuid1().hex
    path = f'/test/{name}.{form.suffix.data}'
    url = client.get_presigned_url(config.Bucket, path, Method='POST')
    image_url = f'{config.cos_base_url}{path}'
    Images(user_uuid=form.user_uuid.data,
           url=image_url,
           genre=form.genre.data,
           status=1).direct_commit_()
    return ordinary.result_format(data={
        'upload_url': url,
        'image_url': image_url
    })
コード例 #13
0
ファイル: primary.py プロジェクト: Neo-python/HYcore
def factory_get_token():
    """获取厂家端token
    写入随机码,以此验证请求.
    参数:
    factory_uuid:str
    """
    form = forms.GetFactoryToken(request.args).validate_()

    try:
        random = generate_verify_code(12)
        redis = apps_redis.get_redis('8091')
        redis.set(f"CoreRandom_{random}", "1", ex=10)
        resp = requests.get(
            url=
            f'https://factory.tzhjyysyxgs.com/user/token/internal_use/?factory_uuid={form.factory_uuid.data}&random={random}'
        )
        return jsonify(json.loads(resp.content.decode()))
    except Exception:
        return ordinary.result_format(error_code=5000, message='服务器未知错误')
コード例 #14
0
ファイル: factory.py プロジェクト: Neo-python/HYmanager
def factory_order_list():
    """厂家订单列表"""
    form = forms.FactoryOrderListForm(request.args).validate_()

    query = FactoryOrder.query

    if form.factory_uuid.data:
        query = query.filter_by(factory_uuid=form.factory.uuid)

    if form.schedule.data is not None:
        query = query.filter_by(schedule=form.schedule.data)

    query = query.order_by(FactoryOrder.id.desc())

    paginate = query.paginate(form.page.data, form.limit.data, error_out=False)

    data = paginate_info(
        paginate, items=[item.serialization() for item in paginate.items])

    return result_format(data=data)
コード例 #15
0
ファイル: factory.py プロジェクト: Neo-python/HYmanager
def factory_order_info():
    """订单详情"""

    form = forms.FactoryOrderInfoForm(request.args).validate_()

    return result_format(data=form.order.factory_serialization())
コード例 #16
0
def driver_info():
    """驾驶员详情"""

    form = forms.DriverInfoForm(request.args).validate_()

    return result_format(data=form.driver.serialization())
コード例 #17
0
ファイル: business.py プロジェクト: Neo-python/HYmanager
def order_info():
    """订单详情"""

    form = forms.FactoryOrderInfoForm(request.args).validate_()

    return result_format(data=form.order.serialization(remove={"id"}))
コード例 #18
0
ファイル: factory.py プロジェクト: Neo-python/HYmanager
def factory_info():
    """厂家详情"""

    form = forms.FactoryInfoForm(request.args).validate_()

    return result_format(data=form.factory.serialization())
コード例 #19
0
ファイル: primary.py プロジェクト: Neo-python/HYcore
def get_open_id():
    """获取open_id"""
    form = forms.GetOpenIdForm(request.args).validate_()
    return ordinary.result_format(
        data=wechat_api.get_open_id(form.code.data, port=form.port.data))