Exemple #1
0
def addMachines(args):
    userId = args.get("UserId", '')
    phone = args.get('Phone', '')
    user = User.getUserByIdOrPhoneOrMail(id=userId, phone=phone)
    if not user:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': "UserId {} does't exist".format(userId)
        }), 400
    machine = request.get_json().get("Machines")
    result = Machine.getMachineByMac(machine.get('Mac', ''))
    if not result:
        machine = Machine(**machine)
        db.session.add(machine)
        db.session.flush()
        db.session.add(QuanXian(user.id, machine.id,
                                permission=QuanXian.Admin))
        db.session.commit()
        return jsonify({
            'Status': 'Success',
            'StatusCode': 0,
            'Msg': '操作成功!',
            'Machine': machine.toJson()
        }), 200
    else:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': '操作失败,改机器已被添加!'
        }), 400
Exemple #2
0
def addUserPermission(args):
    userList = request.get_json().get("UserList")
    userId   = userList.get('UserId', None)
    phone    = userList.get('Phone', None)
    user     = User.getUserByIdOrPhoneOrMail(userId, phone)
    if not user:
        if phone:
            return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "User phone={} does't exist".format(phone)}), 400
        if userId:
            return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "User id={} does't exist".format(userId)}), 400
            
    macAddress = userList.get('Mac', '')
    machine    = Machine.getMachineByMac(macAddress)
    if not machine:
        return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "MacAddress {} does't exist".format(macAddress)}), 400
    
    permisson  = userList.get('Permission')
    startTime  = userList.get('StartTime', None) 
    endTime    = userList.get('EndTime', None) 
    money      = userList.get('Money', 0.0)
    
    quanXian = QuanXian(user.id, machine.id, permission=permisson, startTime=startTime, endTime=endTime, money=money)
    db.session.merge(quanXian)
    db.session.commit()
    
    pushContent = {'Action': 'addUserPermission', 'Permission': permisson, 'Mac': macAddress, 'StartTime': startTime, 'EndTime': endTime, 'Money': money}
    pushMessageToSingle([user.pushToken], TransmissionTemplateDemo( json.dumps(pushContent) ))
    
    return jsonify({'Status' :  'Success', 'StatusCode':0, 'Msg' : '操作成功!'}), 200
Exemple #3
0
def updateMachineInfo(args):
    userId = args.get("UserId", '')
    user = User.getUserByIdOrPhoneOrMail(id=userId)
    if not user:
        return jsonify({'Status': 'Failed', 'StatusCode': -1, 'Msg': "UserId {} does't exist".format(userId)}), 400
    macAddress = args.get('MachineInfo').get('Mac')
    machine = Machine.getMachineByMac(macAddress)
    if not machine:
        return jsonify({'Status': 'Failed', 'StatusCode': -1, 'Msg': "MacAddress {} does't exist".format(macAddress)}), 400

    res = []
    for element in QuanXian.query.filter_by(userId=userId, machineId=machine.id):
        if element.permission in [QuanXian.Producer, QuanXian.SuperAdmin, QuanXian.Admin]:
            res.append(element)

    if res == []:
        return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': u"无权更新该机器的信息"}), 400

    for fieldName in ['MachineName', 'MachineMoney', 'AdminPass', 'UserPass', 'MachineType']:
        if args.get('MachineInfo').has_key(fieldName):
            setattr(machine, fieldName[0].lower() + fieldName[1:], args.get('MachineInfo').get(fieldName))

    db.session.merge(machine)
    db.session.commit()

    return jsonify({'Status':  'Success', 'StatusCode': 0, 'Msg': '操作成功!', 'Machine': machine.toJson()}), 200
Exemple #4
0
def addMachines(args):
    userId = args.get("UserId", '')
    phone  = args.get('Phone', '')
    user = User.getUserByIdOrPhoneOrMail(id=userId, phone=phone)
    if not user:
        return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "UserId {} does't exist".format(userId)}), 400
    machine = request.get_json().get("Machines")
    result = Machine.getMachineByMac(machine.get('Mac', ''))
    if not result:
        machine = Machine(**machine)
        db.session.add(machine)
        db.session.flush()
        db.session.add(QuanXian(user.id, machine.id, permission=QuanXian.Admin))
        db.session.commit()
        return  jsonify({'Status' :  'Success', 'StatusCode':0, 'Msg' : '操作成功!', 'Machine': machine.toJson()}), 200
    else:
        return  jsonify({'Status' :  'Failed', 'StatusCode':-1, 'Msg' : '操作失败,改机器已被添加!'}), 400
Exemple #5
0
def infoUseMachine(args):
    macAddress = args.get('Mac', '')
    userId     = args.get('UserId')
    machine    = Machine.getMachineByMac(macAddress)
    if not machine:
        return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "MacAddress {} does't exist".format(macAddress)}), 400
    machineUsage = MachineUsage(userId=userId, machineId=machine.id, action=MachineUsage.InfoUse)
    db.session.add(machineUsage)
    db.session.commit()
    return jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': '操作成功!'}), 200
Exemple #6
0
def addUserPermission(args):
    userList = request.get_json().get("UserList")
    userId = userList.get('UserId', None)
    phone = userList.get('Phone', None)
    user = User.getUserByIdOrPhoneOrMail(userId, phone)
    if not user:
        if phone:
            return jsonify({
                'Status': 'Failed',
                'StatusCode': -1,
                'Msg': "User phone={} does't exist".format(phone)
            }), 400
        if userId:
            return jsonify({
                'Status': 'Failed',
                'StatusCode': -1,
                'Msg': "User id={} does't exist".format(userId)
            }), 400

    macAddress = userList.get('Mac', '')
    machine = Machine.getMachineByMac(macAddress)
    if not machine:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': "MacAddress {} does't exist".format(macAddress)
        }), 400

    permisson = userList.get('Permission')
    startTime = userList.get('StartTime', None)
    endTime = userList.get('EndTime', None)
    money = userList.get('Money', 0.0)

    quanXian = QuanXian(user.id,
                        machine.id,
                        permission=permisson,
                        startTime=startTime,
                        endTime=endTime,
                        money=money)
    db.session.merge(quanXian)
    db.session.commit()

    pushContent = {
        'Action': 'addUserPermission',
        'Permission': permisson,
        'Mac': macAddress,
        'StartTime': startTime,
        'EndTime': endTime,
        'Money': money
    }
    pushMessageToSingle([user.pushToken],
                        TransmissionTemplateDemo(json.dumps(pushContent)))

    return jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': '操作成功!'}), 200
Exemple #7
0
def infoOperateMachine(args):
    macAddress = args.get('Mac', '')
    userId     = args.get('UserId')
    action     = args.get('Action')
    machine    = Machine.getMachineByMac(macAddress)
    if not machine:
        return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "MacAddress {} does't exist".format(macAddress)}), 400
    if action not in ['Use', 'Stop']:
        return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "无效的action \"{}\"".format(action)}), 400
    machineUsage = MachineUsage(userId=userId, machineId=machine.id, action=action)
    db.session.add(machineUsage)
    db.session.commit()
    return jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': '操作成功!'}), 200
Exemple #8
0
def updateMachineInfo(args):
    userId = args.get("UserId", '')
    user = User.getUserByIdOrPhoneOrMail(id=userId)
    if not user:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': "UserId {} does't exist".format(userId)
        }), 400
    macAddress = args.get('MachineInfo').get('Mac')
    machine = Machine.getMachineByMac(macAddress)
    if not machine:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': "MacAddress {} does't exist".format(macAddress)
        }), 400

    res = []
    for element in QuanXian.query.filter_by(userId=userId,
                                            machineId=machine.id):
        if element.permission in [
                QuanXian.Producer, QuanXian.SuperAdmin, QuanXian.Admin
        ]:
            res.append(element)

    if res == []:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': u"无权更新该机器的信息"
        }), 400

    for fieldName in [
            'MachineName', 'MachineMoney', 'AdminPass', 'UserPass',
            'MachineType'
    ]:
        if args.get('MachineInfo').has_key(fieldName):
            setattr(machine, fieldName[0].lower() + fieldName[1:],
                    args.get('MachineInfo').get(fieldName))

    db.session.merge(machine)
    db.session.commit()

    return jsonify({
        'Status': 'Success',
        'StatusCode': 0,
        'Msg': '操作成功!',
        'Machine': machine.toJson()
    }), 200
Exemple #9
0
def infoUseMachine(args):
    macAddress = args.get('Mac', '')
    userId = args.get('UserId')
    machine = Machine.getMachineByMac(macAddress)
    if not machine:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': "MacAddress {} does't exist".format(macAddress)
        }), 400
    machineUsage = MachineUsage(userId=userId,
                                machineId=machine.id,
                                action=MachineUsage.InfoUse)
    db.session.add(machineUsage)
    db.session.commit()
    return jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': '操作成功!'}), 200
Exemple #10
0
def updateUserPermission(args):
    userPermissonList = request.get_json().get("UserPermissionList")
    userId = userPermissonList.get('UserId', None)
    phone  = userPermissonList.get('Phone',  None)
    user   = User.getUserByIdOrPhoneOrMail(userId, phone)   
    if not user:
        if phone:
            return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "User phone={} does't exist".format(phone)}), 400
        if userId:
            return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "User id={} does't exist".format(userId)}), 400
        
    macAddress = userPermissonList.get('Mac', '')
    machine = Machine.getMachineByMac(macAddress)
    if not machine:
        return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "MacAddress {} does't exist".format(macAddress)}), 400
    permission = userPermissonList.get('Permission')
    startTime  = userPermissonList.get('StartTime', None) 
    endTime    = userPermissonList.get('EndTime', None)
    money      = userPermissonList.get('Money', -1)

    quanXian = QuanXian.query.filter_by(userId=user.id, machineId=machine.id).order_by('id desc').first()
    quanXian.permission = permission
    if not quanXian:
        return jsonify({'Status': 'Failed', 'StatusCode':-1, 'Msg': "User {} don't use machine {}".format(user.id, macAddress)}), 400
    if money != -1:
        quanXian.money = money
    if startTime != None:
        quanXian.startTime = startTime
    if endTime != None:
        quanXian.endTime = endTime
        
    db.session.merge(quanXian)
    db.session.commit()
    
    pushContent = {'Action': 'updateUserPermission', 'Permission': permission, 'Mac': macAddress, 'Money':money, 'StartTime':startTime, 'EndTime':endTime}
    pushMessageToSingle([user.pushToken], TransmissionTemplateDemo( json.dumps(pushContent) ))
    
    return jsonify({'Status' :  'Success', 'StatusCode':0, 'Msg' : '操作成功!'}), 200
Exemple #11
0
def infoOperateMachine(args):
    macAddress = args.get('Mac', '')
    userId = args.get('UserId')
    action = args.get('Action')
    machine = Machine.getMachineByMac(macAddress)
    if not machine:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': "MacAddress {} does't exist".format(macAddress)
        }), 400
    if action not in ['Use', 'Stop']:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': "无效的action \"{}\"".format(action)
        }), 400
    machineUsage = MachineUsage(userId=userId,
                                machineId=machine.id,
                                action=action)
    db.session.add(machineUsage)
    db.session.commit()
    return jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': '操作成功!'}), 200
Exemple #12
0
def updateUserPermission(args):
    userPermissonList = request.get_json().get("UserPermissionList")
    userId = userPermissonList.get('UserId', None)
    phone = userPermissonList.get('Phone', None)
    user = User.getUserByIdOrPhoneOrMail(userId, phone)
    if not user:
        if phone:
            return jsonify({
                'Status': 'Failed',
                'StatusCode': -1,
                'Msg': "User phone={} does't exist".format(phone)
            }), 400
        if userId:
            return jsonify({
                'Status': 'Failed',
                'StatusCode': -1,
                'Msg': "User id={} does't exist".format(userId)
            }), 400

    macAddress = userPermissonList.get('Mac', '')
    machine = Machine.getMachineByMac(macAddress)
    if not machine:
        return jsonify({
            'Status': 'Failed',
            'StatusCode': -1,
            'Msg': "MacAddress {} does't exist".format(macAddress)
        }), 400
    permission = userPermissonList.get('Permission')
    startTime = userPermissonList.get('StartTime', None)
    endTime = userPermissonList.get('EndTime', None)
    money = userPermissonList.get('Money', -1)

    quanXian = QuanXian.query.filter_by(
        userId=user.id, machineId=machine.id).order_by('id desc').first()
    quanXian.permission = permission
    if not quanXian:
        return jsonify({
            'Status':
            'Failed',
            'StatusCode':
            -1,
            'Msg':
            "User {} don't use machine {}".format(user.id, macAddress)
        }), 400
    if money != -1:
        quanXian.money = money
    if startTime != None:
        quanXian.startTime = startTime
    if endTime != None:
        quanXian.endTime = endTime

    db.session.merge(quanXian)
    db.session.commit()

    pushContent = {
        'Action': 'updateUserPermission',
        'Permission': permission,
        'Mac': macAddress,
        'Money': money,
        'StartTime': startTime,
        'EndTime': endTime
    }
    pushMessageToSingle([user.pushToken],
                        TransmissionTemplateDemo(json.dumps(pushContent)))

    return jsonify({'Status': 'Success', 'StatusCode': 0, 'Msg': '操作成功!'}), 200