Esempio n. 1
0
class TripSerializer(commonserializer.CommonSerializer):
    tripId = serializers.IntegerField()
    carId = serializers.IntegerField()
    driverId = serializers.IntegerField()
    sourceLocation = PointField()
    destinationLocation = PointField()
    startTimeInEpochs = serializers.IntegerField()
    endTimeInEpochs = serializers.IntegerField()
    tripPrice = serializers.FloatField(min_value=0.0)
    tripStatus = serializers.ChoiceField(choices=utils.enumTuples(TripStatus))
    paymentMode = serializers.ChoiceField(choices=utils.enumTuples(PaymentMode))
Esempio n. 2
0
 def initTripAndRatingsTable(self):
     latBoundaries = [12.870595, 13.039963]
     lonBoundaries = [77.481075, 77.700260]
     currentTime = time.time()
     feedbacks = [
         "Perfect ride! Very fast!",
         "Nidaanavaagi chalisi",
         "Great conversation about Pokemon",
         "The driver never took the road not taken",
     ]
     tripTableRowObjs = []
     ratingTableRowObjs = []
     for i in range(self.numRows * 3):
         modNum = i % 4
         if modNum == 2:
             startTimeInEpochs = currentTime - random.randrange(900, 3601)
             endTimeInEpochs = currentTime
         elif modNum == 3:
             startTimeInEpochs = currentTime - random.randrange(15, 901)
             endTimeInEpochs = currentTime
         else:
             startTimeInEpochs = currentTime - random.randrange(60, 901)
             endTimeInEpochs = None
         sourceLocation = self._createLocationWithinBoundary(
             latBoundaries, lonBoundaries)
         destinationLocation = self._createLocationWithinBoundary(
             latBoundaries, lonBoundaries)
         tripTableRowObj = TripTable(
             tripId=i + 500,
             carId_id=i % self.numRows,
             driverId_id=i % self.numRows,
             customerId_id=2,
             sourceLocation=sourceLocation,
             destinationLocation=destinationLocation,
             startTimeInEpochs=startTimeInEpochs,
             endTimeInEpochs=endTimeInEpochs,
             tripPrice=random.randrange(39, 300),
             tripStatus=utils.enumTuples(TripStatus)[i % 4 + 1][0],
             paymentMode=utils.enumTuples(PaymentMode)[i % 3 + 1][0])
         # if i % 4 + 1 == 4:
         ratingTableRowObj = RatingTable(
             tripId_id=i + 500,
             rating=random.randrange(3, 6),
             feedback=feedbacks[random.randrange(0, 4)])
         ratingTableRowObjs.append(ratingTableRowObj)
         tripTableRowObjs.append(tripTableRowObj)
     TripTable.objects.bulk_create(tripTableRowObjs)
     RatingTable.objects.bulk_create(ratingTableRowObjs)
Esempio n. 3
0
class CarDetailsTable(models.Model):
    carId = models.AutoField(primary_key=True)
    carType = models.IntegerField(choices=utils.enumTuples(CarType),
                                  default=CarType.UNKNOWN.value)
    carModel = models.CharField(max_length=64)
    carLicense = models.CharField(max_length=16)

    class Meta:
        verbose_name_plural = "CarDetailsTable"
Esempio n. 4
0
 def _positionCarsWithinBoundary(self, latBoundaries, lonBoundaries):
     for i in range(self.numRows):
         geoLocation = self._createLocationWithinBoundary(
             latBoundaries, lonBoundaries)
         carStatusRow = CarStatusTable(
             carId_id=i,
             carAvailability=utils.enumTuples(CarAvailability)[i % 3 +
                                                               1][0],
             geoLocation=geoLocation)
         carStatusRow.save()
Esempio n. 5
0
class CarStatusTable(models.Model):
    carId = models.ForeignKey(CarDetailsTable,
                              verbose_name="carId",
                              on_delete=models.DO_NOTHING)
    carAvailability = models.IntegerField(
        choices=utils.enumTuples(CarAvailability),
        default=CarAvailability.UNKNOWN.value)
    geoLocation = models.PointField()
    objects = CarStatusManager()

    class Meta:
        verbose_name_plural = "CarStatusTable"
Esempio n. 6
0
class TripTable(models.Model):
    tripId = models.AutoField(primary_key=True)
    carId = models.ForeignKey(CarDetailsTable,
                              verbose_name="carId",
                              on_delete=models.DO_NOTHING)
    driverId = models.ForeignKey(DriverDetailsTable,
                                 verbose_name="driverId",
                                 on_delete=models.DO_NOTHING)
    customerId = models.ForeignKey(User,
                                   verbose_name="customerId",
                                   on_delete=models.DO_NOTHING,
                                   default=None)  #see how to fit this
    sourceLocation = models.PointField()
    destinationLocation = models.PointField()
    startTimeInEpochs = models.PositiveIntegerField()
    endTimeInEpochs = models.PositiveIntegerField(null=True)
    tripPrice = models.FloatField()
    tripStatus = models.IntegerField(choices=utils.enumTuples(TripStatus),
                                     default=TripStatus.UNKNOWN.value)
    paymentMode = models.IntegerField(choices=utils.enumTuples(PaymentMode),
                                      default=PaymentMode.UNKNOWN.value)

    class Meta:
        verbose_name_plural = "TripTable"
Esempio n. 7
0
    def initCarDetailsTable(self):
        carModelsRows = self._read_csv("car-models.csv")
        rtoCodes = self._read_csv("bengaluru-rto-codes.csv")
        carTypeDict = dict(utils.enumTuples(CarType, valueFirst=False))

        carDetailsRowObjs = []
        for i in range(self.numRows):
            row = random.choice(carModelsRows)
            carLicense = random.choice(rtoCodes)[0] + " " + chr(
                i % 26 + 65) + " " + str(random.randrange(1000, 10000))
            carDetailsRowObj = CarDetailsTable(
                carId=i,
                carType=carTypeDict["CAR_TYPE_" + row[-1]],
                carModel=row[0] + " " + row[1],
                carLicense=carLicense)
            carDetailsRowObjs.append(carDetailsRowObj)
        CarDetailsTable.objects.bulk_create(carDetailsRowObjs)
Esempio n. 8
0
class CompleteTripRequestSerializer(commonserializer.CommonSerializer):
    tripId = serializers.IntegerField()
    completeTripOption = serializers.IntegerField()
    finishLocation = PointField()
    paymentMode = serializers.ChoiceField(
        choices=utils.enumTuples(PaymentMode))
Esempio n. 9
0
class CompleteTripResponseSerializer(commonserializer.CommonSerializer):
    completeTripStatus = serializers.ChoiceField(
        choices=utils.enumTuples(CompleteTripTransactionStatus))
    trip = TripSerializer()
Esempio n. 10
0
class CarSerializer(commonserializer.CommonSerializer):
    carId = serializers.IntegerField()
    carType = serializers.ChoiceField(choices=utils.enumTuples(CarType))
    carModel = serializers.CharField(max_length=64)
    carLicense = serializers.CharField(max_length=16)
Esempio n. 11
0
class CarStatusSerializer(commonserializer.CommonSerializer):
    carId = serializers.IntegerField()
    geoLocation = PointField()
    carAvailability = serializers.ChoiceField(
        choices=utils.enumTuples(CarAvailability))
Esempio n. 12
0
class ScheduleTripRequestSerializer(commonserializer.CommonSerializer):
    carType = serializers.ChoiceField(choices=utils.enumTuples(CarType))
    tripPrice = serializers.FloatField(min_value=0.0)
    sourceLocation = PointField()
    destinationLocation = PointField()
Esempio n. 13
0
class ScheduleTripTransactionResultSerializer(commonserializer.CommonSerializer):
    scheduleTripTransactionStatus = serializers.ChoiceField(choices=utils.enumTuples(ScheduleTripTransactionStatus))
    trip = TripSerializer()
Esempio n. 14
0
class EstimateForCarTypeSerializer(commonserializer.CommonSerializer):
    carType = serializers.ChoiceField(choices=utils.enumTuples(CarType))
    tripPrice = serializers.FloatField(min_value=0.0)
    discountAmount = serializers.FloatField(min_value=0.0)