Пример #1
0
def subscribe_save_user():
    code = 200
    data = {}
    message = 'success'

    register = False
    user_info = request.json['userInfo']

    with session_manager.session_execute() as session:
        user = session.query(UserInfo).filter(
            UserInfo.openId == user_info['openId']).first()
        if not user:
            user = UserInfo(nick_name=user_info.get('nickName'),
                            gender=user_info.get('gender'),
                            language=user_info.get('language'),
                            city=user_info.get('city'),
                            province=user_info.get('province'),
                            country=user_info.get('country'),
                            avatar_url=user_info.get('avatarUrl'),
                            openId=user_info.get('openId'))
            session.add(user)
            message = '用户信息保存成功!'
            register = True

        data['user_info'] = object_to_dict(user)

    if register:
        common_task.mail_send.delay(subject='Mp',
                                    sender='MincoX',
                                    recipients=['*****@*****.**'],
                                    body=f'【MincoX】新用户注册,用户信息: {user_info} ')

    res = {'code': code, 'data': data, 'msg': message}

    return jsonify(res)
Пример #2
0
def get_users():
    code = 200
    data = {}
    message = ''

    from apps.common.user.models import Admin, AdminLoginLog, SessionManager as cmSessionManager
    cmSession_manager = cmSessionManager()

    with cmSession_manager.session_execute() as session:
        admins = session.query(Admin).filter().all()
        data['admins'] = [object_to_dict(admin) for admin in admins]

    with session_manager.session_execute() as session:
        proxies = session.query(Proxy).filter().all()
        data['proxies'] = [object_to_dict(proxy) for proxy in proxies]

    res = {'code': code, 'data': data, 'msg': message}

    return jsonify(res)
Пример #3
0
def subscribe_audit_user():
    code = 200
    data = {}
    message = 'success'

    request_data = json.loads(request.data)
    openid = request_data.get('openId')
    operate = request_data.get('operate')

    with session_manager.session_execute() as session:
        user = session.query(UserInfo).filter(
            UserInfo.openId == openid).first()

        if operate == '2':
            user.apply_status = 2
            result = True
            message = '已拒绝下发用户'

            common_task.mail_send.delay(
                subject='Mp',
                sender='MincoX',
                recipients=[user.email],
                body=f'【MincoX】管理员拒绝了您 {user.apply_date} 的预约')
            logger.info(f' 已拒绝用户 {user.real_name} 的下发 ')

        else:
            result, reason = user_to_device(user)
            if result:
                user.apply_status = 1
                message = '用户已成下发设备'
                common_task.mail_send.delay(
                    subject='Mp',
                    sender='MincoX',
                    recipients=[user.email],
                    body=f'【MincoX】恭喜你预约 {user.apply_date} 成功')
                logger.info(f' 用户 {user.real_name} 下发成功,已发送邮件通知对方 ')

            else:
                message = reason
                user.fail_reason = reason

                # 利用 mq 实现任务延迟重试
                mq = new_routing('routingExchange', 'routingQueue', 'task')
                mq.routing_producer(json.dumps(object_to_dict(user)), 'task')

    res = {'code': code, 'data': data, 'msg': message, 'status': result}

    return jsonify(res)
Пример #4
0
def subscribe_get_users():
    code = 200
    data = {}
    message = 'success'

    request_data = request.args
    filter_type = request_data.get('filterType')

    with session_manager.session_execute() as session:
        users = session.query(UserInfo).filter(
            UserInfo.apply_status == filter_type).all()
        if len(users) >= 1:
            data = [object_to_dict(user) for user in users]

    res = {'code': code, 'data': data, 'msg': message}

    return jsonify(res)