def deleteVehicle(request): res = {} if request.method == 'POST': info = json.loads(request.body) if VehicleAccess.getVehicleById(info['id']): final = VehicleAccess.deleteVehicleById(info['id']) res['result'] = final['result'] res['message'] = final['message'] else: res['result'] = 0 res['message'] = 'The vehicle does not exist!' else: res['result'] = 0 res['message'] = 'Wrong request.' return HttpResponse(json.dumps(res), content_type="application/json")
def login(request): res = {} if request.session.session_key: res['result'] = 0 res['message'] = 'The user has logon.' elif request.method == 'POST': info = json.loads(request.body) user_name = info['user_name'] password = info['password'] vehicle_id = info['vehicle_id'] user = UserAccess.getUserByName(user_name) vehicle = VehicleAccess.getVehicleById(vehicle_id) if user: if vehicle['user_id'] != user['id']: res['result'] = 0 res['message'] = 'The user login wrong vehicle or no vehicle assigned to the user.' elif hashlib.sha1( info['password']).hexdigest() == user['password']: request.session['user_id'] = user['id'] request.session['vehicle_id'] = vehicle_id res['result'] = 1 res['data'] = {} res['data']['user_id'] = user['id'] res['data']['user_type'] = user['type'] res['data']['name'] = user['name'] if vehicle['task']: user['status'] = 3 vehicle['status'] = 3 else: user['status'] = 2 vehicle['status'] = 2 UserAccess.editUser(user) VehicleAccess.editVehicle(vehicle) else: res['result'] = 0 res['message'] = 'The password is wrong.' else: res['result'] = 0 res['message'] = 'The user does not exist.' else: res['result'] = 0 res['message'] = 'Wrong request.' return HttpResponse(json.dumps(res), content_type="application/json")
def assignTask(request): res = {} if request.method == 'POST': info = json.loads(request.body) vehicle = VehicleAccess.getVehicleById(info['vehicle_id']) user = UserAccess.getUserById(vehicle['user_id']) if vehicle: path = getPath(info['task']) if path: task = { 'origin' : info['task']['origin'], 'dest' : info['task']['dest'], 'path' : path } record = { 'id' : uuid.uuid1().hex, 'vehicle_id' : vehicle['id'], 'user_id' : user['id'], 'time' : datetime.now(), 'task' : task } TaskRecordAccess.addTaskRecord(record) res['result'] = 1 res['data'] = path vehicle['accept'] = 1 vehicle['task'] = task if user['status'] == 2: user['status'] = 3 vehicle['status'] = 3 UserAccess.editUser(user) VehicleAccess.editVehicle(vehicle) else: res['result'] = 0 res['message'] = 'Can not get the path from baidu map.' else: res['result'] = 0 res['message'] = 'The vehicle does not exist!' else: res['result'] = 0 res['message'] = 'Wrong request.' return HttpResponse(json.dumps(res), content_type="application/json")
def login(request): res = {} if request.session.session_key: res['result'] = 0 res['message'] = 'The user has logon.' elif request.method == 'POST': info = json.loads(request.body) user_name = info['user_name'] password = info['password'] vehicle_id = info['vehicle_id'] user = UserAccess.getUserByName(user_name) vehicle = VehicleAccess.getVehicleById(vehicle_id) if user: if vehicle['user_id'] != user['id']: res['result'] = 0 res['message'] = 'The user login wrong vehicle or no vehicle assigned to the user.' elif hashlib.sha1(info['password']).hexdigest() == user['password']: request.session['user_id'] = user['id'] request.session['vehicle_id'] = vehicle_id res['result'] = 1 res['data'] = {} res['data']['user_id'] = user['id'] res['data']['user_type'] = user['type'] res['data']['name'] = user['name'] if vehicle['task']: user['status'] = 3 vehicle['status'] = 3 else: user['status'] = 2 vehicle['status'] = 2 UserAccess.editUser(user) VehicleAccess.editVehicle(vehicle) else: res['result'] = 0 res['message'] = 'The password is wrong.' else: res['result'] = 0 res['message'] = 'The user does not exist.' else: res['result'] = 0 res['message'] = 'Wrong request.' return HttpResponse(json.dumps(res), content_type="application/json")
def assignProject(request): res = {} if request.method == 'POST': info = json.loads(request.body) vehicle = VehicleAccess.getVehicleById(info['vehicle_id']) if vehicle: if info['op'] == 1: vehicle['project_id'] = info['project_id'] vehicle['status'] = 1 project_vehicle_record = { "id" : uuid.uuid1().hex, "project_id" : info['project_id'], "vehicle_id" : vehicle["id"], "start_time" : datetime.now(), "end_time" : "" } ProjectVehicleRecordAccess.addProjectVehicleRecord(project_vehicle_record) else: vehicle['project_id'] = '' vehicle['status'] = 0 vehicle_record_list = ProjectVehicleRecordAccess.getAllProjectVehicleRecord() for item in vehicle_record_list: if item['vehicle_id'] == vehicle['id'] and item['end_time'] == "": vehicle_record = item vehicle_record['end_time'] = datetime.now() ProjectVehicleRecordAccess.editProjectVehicleRecord(vehicle_record) break final = VehicleAccess.editVehicle(vehicle) res['result'] = final['result'] res['message'] = final['message'] else: res['result'] = 0 res['message'] = 'The vehicle does not exist!' else: res['result'] = 0 res['message'] = 'Wrong request.' return HttpResponse(json.dumps(res), content_type="application/json")
def logout(request): res = {} if not request.session.session_key: res['result'] = 0 res['message'] = 'The user does not log in' elif request.method == 'GET': request.session.flush() res['result'] = 1 user = UserAccess.getUserById(request.session['user_id']) vehicle = VehicleAccess.getVehicleById(request.session['vehicle_id']) user['status'] = 1 vehicle['status'] = 1 UserAccess.editUser(user) VehicleAccess.editVehicle(vehicle) else: res['result'] = 0 res['message'] = 'Wrong request.' return HttpResponse(json.dumps(res), content_type="application/json")
def vehicleData(request): res = {} if request.method == 'POST': info = json.loads(request.body) vehicle_id = info['vehicle_id'] vehicle = VehicleAccess.getVehicleById(vehicle_id) if vehicle: vehicle['data'] = info['data'] vehicle_record = { 'id' : uuid.uuid1().hex, 'vehicle_id' : vehicle_id, 'time' : datetime.now(), 'data' : info['data'] } VehicleRecordAccess.addVehicleRecord(vehicle_record) if vehicle['status'] == 3 \ and info['data']['location']['lat'] == vehicle['task']['dest']['lat'] \ and info['data']['location']['lng'] == vehicle['task']['dest']['lng']: vehicle['task'] = {} vehicle['status'] = 2 user = UserAccess.getUserBuId(vehicle['user_id']) user['status'] =2 UserAccess.editUser(user) res['data'] = {} res['result'] = 1 VehicleAccess.editVehicle(vehicle) else: res['result'] = 0 res['message'] = 'The vehicle does noe exist.' else: res['result'] = 0 res['message'] = 'Wrong request.' return HttpResponse(json.dumps(res), content_type="application/json")
def vehicleData(request): res = {} if request.method == 'POST': info = json.loads(request.body) vehicle_id = info['vehicle_id'] vehicle = VehicleAccess.getVehicleById(vehicle_id) if vehicle: vehicle['data'] = info['data'] vehicle_record = { 'id': uuid.uuid1().hex, 'vehicle_id': vehicle_id, 'time': datetime.now(), 'data': info['data'] } VehicleRecordAccess.addVehicleRecord(vehicle_record) if vehicle['status'] == 3 \ and info['data']['location']['lat'] == vehicle['task']['dest']['lat'] \ and info['data']['location']['lng'] == vehicle['task']['dest']['lng']: vehicle['task'] = {} vehicle['status'] = 2 user = UserAccess.getUserBuId(vehicle['user_id']) user['status'] = 2 UserAccess.editUser(user) res['data'] = {} res['result'] = 1 VehicleAccess.editVehicle(vehicle) else: res['result'] = 0 res['message'] = 'The vehicle does noe exist.' else: res['result'] = 0 res['message'] = 'Wrong request.' return HttpResponse(json.dumps(res), content_type="application/json")
def vehicleTask(request): res = {} if request.method == 'GET': info = request.GET vehicle_id = info['vehicle_id'] vehicle = VehicleAccess.getVehicleById(vehicle_id) if vehicle: if vehicle['accept']== 1: res['result'] = 1 res['data'] = vehicle['task'] vehicle['accept'] = 0 else: res['result'] = 0 res['message'] = 'No new task.' VehicleAccess.editVehicle(vehicle) else: res['result'] = 0 res['message'] = 'The vehicle does not exist.' else: res['result'] = 0 res['message'] = 'Wrong request.' return HttpResponse(json.dumps(res), content_type="application/json")
def vehicleTask(request): res = {} if request.method == 'GET': info = request.GET vehicle_id = info['vehicle_id'] vehicle = VehicleAccess.getVehicleById(vehicle_id) if vehicle: if vehicle['accept'] == 1: res['result'] = 1 res['data'] = vehicle['task'] vehicle['accept'] = 0 else: res['result'] = 0 res['message'] = 'No new task.' VehicleAccess.editVehicle(vehicle) else: res['result'] = 0 res['message'] = 'The vehicle does not exist.' else: res['result'] = 0 res['message'] = 'Wrong request.' return HttpResponse(json.dumps(res), content_type="application/json")