Subversion Repositories SmartDukaan

Rev

Rev 12133 | Rev 12256 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
94 ashish 1
'''
2
Created on 22-Mar-2010
3
 
4
@author: ashish
5
'''
4873 mandeep.dh 6
from elixir import metadata, setup_all
94 ashish 7
from elixir.entity import Entity
8
from elixir.fields import Field
4873 mandeep.dh 9
from elixir.options import using_options, using_table_options
5318 rajveer 10
from elixir.relationships import OneToMany, ManyToOne
4873 mandeep.dh 11
from sqlalchemy import create_engine
6903 anupam.sin 12
from sqlalchemy.types import Integer, String, DateTime, Float, Boolean, Text, Enum, BigInteger
4873 mandeep.dh 13
import datetime
14
import elixir
94 ashish 15
 
626 chandransh 16
class EntityIDGenerator(Entity):
17
    id=Field(Integer, primary_key=True)
18
    using_options(shortnames=True)
746 rajveer 19
    using_table_options(mysql_engine="InnoDB")
122 ashish 20
 
94 ashish 21
class Item(Entity):
122 ashish 22
    id = Field(Integer, primary_key=True, autoincrement=True)
963 chandransh 23
    product_group = Field(String(100))
4917 phani.kuma 24
    brand = Field(String(100), default='', server_default='')
25
    model_number = Field(String(50), default='', server_default='')
26
    model_name = Field(String(100), default='', server_default='')
27
    color = Field(String(20), default='', server_default='')
28
    category = Field(Integer, default=0, server_default="0")
483 rajveer 29
    comments = Field(String(200))
122 ashish 30
    catalog_item_id = Field(Integer)
31
    feature_id = Field(Integer)
32
    feature_description = Field(String(200))
483 rajveer 33
    mrp = Field(Float)
34
    sellingPrice = Field(Float)
35
    weight = Field(Float)
122 ashish 36
    addedOn = Field(DateTime)
609 chandransh 37
    updatedOn = Field(DateTime)
122 ashish 38
    startDate = Field(DateTime)
39
    retireDate = Field(DateTime)
5217 amit.gupta 40
    comingSoonStartDate = Field(DateTime)
41
    expectedArrivalDate = Field(DateTime)
483 rajveer 42
    status = Field(Integer)
2035 rajveer 43
    status_description = Field(String(100))
609 chandransh 44
    bestDealText = Field(String(100))
6777 vikram.rag 45
    bestDealsDetailsText = Field(String(1000))
46
    bestDealsDetailsLink = Field(String(200))
630 chandransh 47
    bestDealValue = Field(Float)
621 chandransh 48
    bestSellingRank = Field(Integer)
103 ashish 49
    statusChangeLog = OneToMany("ItemChangeLog")
1910 varun.gupt 50
    defaultForEntity = Field(Boolean)
2251 ankur.sing 51
    risky = Field(Boolean)
3355 chandransh 52
    expectedDelay = Field(Integer)
4295 varun.gupt 53
    warranty_period = Field(Integer)
4406 anupam.sin 54
    isWarehousePreferenceSticky = Field(Boolean)
4506 phani.kuma 55
    preferredVendor = Field(Integer)
5135 mandeep.dh 56
    type = Field(Enum('SERIALIZED', 'NON_SERIALIZED'), default = 'NON_SERIALIZED', server_default='NON_SERIALIZED')
5385 phani.kuma 57
    hasItemNo = Field(Boolean)
7256 rajveer 58
    activeOnStore = Field(Boolean)
6241 amit.gupta 59
    showSellingPrice = Field(Boolean)
6805 anupam.sin 60
    preferredInsurer = Field(Integer)
7291 vikram.rag 61
    asin = Field(String(20))
62
    holdInventory = Field(Integer, default=0, server_default="0")
63
    defaultInventory = Field(Integer, default=0, server_default="0")
9841 rajveer 64
    holdOverride = Field(Boolean)
746 rajveer 65
    using_options(shortnames=True)
66
    using_table_options(mysql_engine="InnoDB")
103 ashish 67
 
94 ashish 68
    def __repr__(self):
122 ashish 69
        return "<Item>%d</item>" % (self.id)
1308 chandransh 70
 
7330 amit.gupta 71
class ItemVatMaster(Entity):
72
    itemId = Field(Integer, primary_key=True,  autoincrement=False)
73
    stateId = Field(Integer, primary_key=True,  autoincrement=False)
74
    vatPercentage = Field(Float)
75
    using_options(shortnames=True)
76
    using_table_options(mysql_engine="InnoDB")
77
 
78
 
103 ashish 79
class ItemChangeLog(Entity):
122 ashish 80
    id = Field(Integer, primary_key=True, autoincrement=True)
103 ashish 81
    old_status = Field(Integer)
82
    new_status = Field(Integer)
1308 chandransh 83
    timestamp = Field(DateTime)
103 ashish 84
    item = ManyToOne("Item")
746 rajveer 85
    using_options(shortnames=True)
86
    using_table_options(mysql_engine="InnoDB")
94 ashish 87
 
103 ashish 88
    def __repr__(self):
89
        return "<Log><id>%d</id><item>%d</item><old_status>%d</old_status><new_status>%d</new_status></Log>" %(self.id,self.item.id, self.old_status, self.new_status)    
94 ashish 90
 
635 rajveer 91
class Category(Entity):
1970 rajveer 92
    id = Field(Integer, primary_key=True, autoincrement=False)
93
    label = Field(String(50))
94
    description = Field(String(200))
95
    parent_category_id = Field(Integer)
4762 phani.kuma 96
    display_name = Field(String(50))
746 rajveer 97
    using_options(shortnames=True)
98
    using_table_options(mysql_engine="InnoDB")
1970 rajveer 99
 
3008 rajveer 100
class SimilarItems(Entity):
101
    item = ManyToOne('Item', primary_key=True)
102
    catalog_item_id = Field(Integer, primary_key=True, autoincrement=False)
103
    using_options(shortnames=True)
104
    using_table_options(mysql_engine="InnoDB")
105
 
3079 rajveer 106
class ProductNotification(Entity):
107
    item = ManyToOne('Item', primary_key=True)
108
    email = Field(String(100), primary_key=True, autoincrement=False)
109
    addedOn = Field(DateTime, primary_key=True, autoincrement=False) 
110
    using_options(shortnames=True)
111
    using_table_options(mysql_engine="InnoDB")
3557 rajveer 112
 
113
class Source(Entity):
114
    id = Field(Integer, primary_key=True, autoincrement=True)
115
    name = Field(String(50))
116
    identifier = Field(String(100))
117
    using_options(shortnames=True)
118
    using_table_options(mysql_engine="InnoDB")
6511 kshitij.so 119
 
3557 rajveer 120
class SourceItemPricing(Entity):
121
    source = ManyToOne('Source', primary_key=True)
122
    item = ManyToOne('Item', primary_key=True)
123
    mrp = Field(Float)
124
    sellingPrice = Field(Float)
125
    using_options(shortnames=True)
126
    using_table_options(mysql_engine="InnoDB")
746 rajveer 127
 
4649 phani.kuma 128
class AuthorizationLog(Entity):
129
    id = Field(Integer, primary_key=True, autoincrement = True)    
130
    timestamp = Field(DateTime, default=datetime.datetime.now())
131
    item = ManyToOne('Item')
132
    username = Field(String(30))
133
    reason = Field(Text)
134
    using_options(shortnames=True)
135
    using_table_options(mysql_engine="InnoDB")
136
 
5504 phani.kuma 137
class VoucherItemMapping(Entity):
5512 rajveer 138
    voucherType = Field(Integer, primary_key=True)
5504 phani.kuma 139
    item = ManyToOne('Item', primary_key=True)
140
    amount = Field(Integer, default=0, server_default="0")
141
    using_options(shortnames=True)
142
    using_table_options(mysql_engine="InnoDB")
143
 
6039 amit.gupta 144
class CategoryVatMaster(Entity):
7330 amit.gupta 145
    categoryId = Field(Integer, primary_key=True, autoincrement=False)
146
    stateId = Field(Integer, primary_key=True, autoincrement=False)
147
    minVal = Field(Integer, primary_key=True,  autoincrement=False)
148
    maxVal = Field(Integer, primary_key=True,  autoincrement=False)
6039 amit.gupta 149
    vatPercent = Field(Float)
150
    using_options(shortnames=True)
151
    using_table_options(mysql_engine="InnoDB")
152
 
6255 rajveer 153
class OOSTracker(Entity):
154
    itemId = Field(Integer, primary_key=True)
155
    using_options(shortnames=True)
156
    using_table_options(mysql_engine="InnoDB")
6532 amit.gupta 157
 
158
class EntityTag(Entity):
159
    tag = Field(String(100),primary_key=True)
160
    entityId = Field(Integer, primary_key=True, autoincrement=False)
161
    using_options(shortnames=True)
162
    using_table_options(mysql_engine="InnoDB")
6848 kshitij.so 163
 
164
class Banner(Entity):
165
    bannerName = Field(String(100),primary_key=True)
166
    imageName = Field(String(100))
167
    link = Field(String(400))
168
    priority = Field(Integer)
169
    hasMap = Field(Boolean)
9156 amit.gupta 170
    bannerType = Field(Integer,primary_key=True, autoincrement=False)
6848 kshitij.so 171
    using_options(shortnames=True)
172
    using_table_options(mysql_engine="InnoDB")
173
 
174
class BannerMap(Entity):
175
    bannerName = Field(String(100))
176
    mapLink = Field(String(400))
177
    coordinates = Field(String(20))
9155 kshitij.so 178
    bannerType = Field(Integer)
6848 kshitij.so 179
    using_options(shortnames=True)
180
    using_table_options(mysql_engine="InnoDB")
8579 kshitij.so 181
 
182
class BannerUriMapping(Entity):
183
    bannerName = Field(String(100))
184
    uri = Field(String(100))
185
    isActive = Field(Boolean)
9155 kshitij.so 186
    bannerType = Field(Integer)
10097 kshitij.so 187
    target = Field(Boolean)
8579 kshitij.so 188
    using_options(shortnames=True)
189
    using_table_options(mysql_engine="InnoDB")
190
 
191
class Campaign(Entity):
192
    id = Field(Integer,primary_key=True)
193
    campaignName = Field(String(255))
194
    imageName = Field(String(255))
195
    using_options(shortnames=True)
196
    using_table_options(mysql_engine="InnoDB")
6255 rajveer 197
 
6805 anupam.sin 198
class ItemInsurerMapping(Entity):
199
    id = Field(Integer, primary_key=True, autoincrement=True)
200
    itemId = Field(Integer)
201
    insurerId = Field(Integer)
202
    premiumType = Field(Integer)
203
    premiumAmount = Field(Float)
9299 kshitij.so 204
    insurerType = Field(Integer)
6805 anupam.sin 205
    using_options(shortnames=True)
206
    using_table_options(mysql_engine="InnoDB")
207
 
208
class Insurer(Entity):
209
    id = Field(Integer, primary_key=True, autoincrement=True)
210
    name = Field(String(255))
211
    address = Field(String(255))
6903 anupam.sin 212
    declaredAmount = Field(BigInteger)
213
    creditedAmount = Field(BigInteger)
9299 kshitij.so 214
    insurerType = Field(Integer)
6805 anupam.sin 215
    using_options(shortnames=True)
216
    using_table_options(mysql_engine="InnoDB")
7190 amar.kumar 217
 
218
class FreebieItem(Entity):
219
    itemId = Field(Integer, primary_key=True)
220
    freebieItemId = Field(Integer)
221
    using_options(shortnames=True)
222
    using_table_options(mysql_engine="InnoDB")
7256 rajveer 223
 
7272 amit.gupta 224
class BrandInfo(Entity):
225
    name = Field(String(255), primary_key=True)
226
    serviceCenterLocatorUrl = Field(String(255))
227
    using_options(shortnames=True)
228
    using_table_options(mysql_engine="InnoDB")
229
 
7256 rajveer 230
class StorePricing(Entity):
231
    item = ManyToOne('Item', primary_key=True)
232
    recommendedPrice = Field(Float)
233
    minPrice = Field(Float)
234
    maxPrice = Field(Float)
235
    minAdvancePrice = Field(Float)
7308 rajveer 236
    freebieItemId = Field(Integer)
7351 rajveer 237
    absoluteMinPrice = Field(Float)
7308 rajveer 238
    bestDealText = Field(String(100))
7256 rajveer 239
    using_options(shortnames=True)
7291 vikram.rag 240
    using_table_options(mysql_engine="InnoDB")    
241
 
7281 kshitij.so 242
class Amazonlisted(Entity):
7396 kshitij.so 243
    itemId = Field(Integer, primary_key=True, autoincrement=False)
7281 kshitij.so 244
    asin = Field(String(255))
245
    name = Field(String(255))
246
    brand = Field(String(255))
247
    model = Field(String(255))
248
    manufacturer_name = Field(String(255))
249
    part_number = Field(String(255))
250
    ean = Field(String(255))
251
    upc = Field(String(255))
252
    fbaPrice = Field(Float)
10909 vikram.rag 253
    fbbPrice = Field(Float)
7281 kshitij.so 254
    sellingPrice = Field(Float)
255
    isFba = Field(Boolean)
256
    isNonFba = Field(Boolean)
10909 vikram.rag 257
    isFbb = Field(Boolean)
7281 kshitij.so 258
    isInventoryOverride = Field(Boolean)
259
    color = Field(String(255))
260
    category = Field(String(255))
7367 kshitij.so 261
    handlingTime = Field(Integer)
262
    isCustomTime = Field(Boolean)
7516 vikram.rag 263
    category_code = Field(Integer, default=0, server_default="0")
10920 vikram.rag 264
    fbbListedOn = Field(DateTime)
7770 kshitij.so 265
    mfnPriceLastUpdatedOn = Field(DateTime)
266
    fbaPriceLastUpdatedOn = Field(DateTime)
10909 vikram.rag 267
    fbbPriceLastUpdatedOn = Field(DateTime)
7770 kshitij.so 268
    mfnPriceLastUpdatedOnSc = Field(DateTime)
269
    fbaPriceLastUpdatedOnSc = Field(DateTime)
10909 vikram.rag 270
    fbbPriceLastUpdatedOnSc = Field(DateTime)
8139 kshitij.so 271
    suppressMfnPriceUpdate = Field(Boolean)
8140 kshitij.so 272
    suppressFbaPriceUpdate = Field(Boolean)
10909 vikram.rag 273
    suppressFbbPriceUpdate = Field(Boolean)
8619 kshitij.so 274
    taxCode = Field(String(255))
10909 vikram.rag 275
    fbbtaxCode = Field(String(255))
7281 kshitij.so 276
    using_options(shortnames=True)
277
    using_table_options(mysql_engine="InnoDB")
278
 
7977 kshitij.so 279
class PageViewEvents(Entity):
280
    id = Field(Integer, primary_key=True, autoincrement=True)
8139 kshitij.so 281
    catalogId = Field(Integer,index=True)
282
    url = Field(String(255),index=True)
7977 kshitij.so 283
    sellingPrice = Field(Float)
284
    comingSoon = Field(Boolean)
285
    ip = Field(String(255))
286
    sessionId = Field(String(255))
8139 kshitij.so 287
    eventTimestamp = Field(DateTime,index=True)
7977 kshitij.so 288
    using_options(shortnames=True)
289
    using_table_options(mysql_engine="InnoDB")
290
 
291
class CartEvents(Entity):
292
    id = Field(Integer, primary_key=True, autoincrement=True)
8139 kshitij.so 293
    catalogId = Field(Integer,index=True)
294
    itemId = Field(Integer,index=True)
7977 kshitij.so 295
    sellingPrice = Field(Float)
296
    inStock = Field(Boolean)
297
    comingSoon = Field(Boolean)
298
    ip = Field(String(255))
299
    sessionId = Field(String(255))
8139 kshitij.so 300
    eventTimestamp = Field(DateTime,index=True)
7977 kshitij.so 301
    using_options(shortnames=True)
302
    using_table_options(mysql_engine="InnoDB")
303
 
8182 amar.kumar 304
class EbayItem(Entity):
305
    ebayListingId = Field(String(32), primary_key=True)
306
    itemId = Field(Integer, primary_key=True, autoincrement = False)
307
    listingName = Field(String(255))
308
    listingPrice = Field(Float)
309
    listingExpiryDate = Field(DateTime)
310
    subsidy = Field(Float)
311
    defaultWarehouseId = Field(Integer)
312
    using_options(shortnames=True)
313
    using_table_options(mysql_engine="InnoDB")
8739 vikram.rag 314
 
315
class SnapdealItem(Entity):
316
    item_id = Field(Integer, primary_key=True, autoincrement = False)
317
    exceptionPrice = Field(Float)
318
    warehouseId = Field(Integer)
9242 kshitij.so 319
    transferPrice = Field(Float)
320
    sellingPrice = Field(Float)
321
    courierCost =  Field(Float)
11095 kshitij.so 322
    courierCostMarketplace = Field(Float)
9242 kshitij.so 323
    commission  =  Field(Float)
324
    serviceTax  =  Field(Float)
325
    updatedOn = Field(DateTime)
9404 vikram.rag 326
    maxNlc = Field(Float)
9478 kshitij.so 327
    skuAtSnapdeal = Field(String(255))
9242 kshitij.so 328
    isListedOnSnapdeal = Field(Boolean)
329
    suppressPriceFeed = Field(Boolean)
330
    suppressInventoryFeed = Field(Boolean)
9568 kshitij.so 331
    supc = Field(String(255))
9724 kshitij.so 332
    shippingTime = Field(Integer)
9779 kshitij.so 333
    priceUpdatedBy = Field(String(255))
8739 vikram.rag 334
    using_options(shortnames=True)
335
    using_table_options(mysql_engine="InnoDB")
9242 kshitij.so 336
 
10097 kshitij.so 337
class MarketPlaceUpdateHistory(Entity):
9242 kshitij.so 338
    id  = Field(Integer, primary_key=True, autoincrement = True)
339
    item_id = Field(Integer)
10097 kshitij.so 340
    source = Field(Integer)
341
    isListedOnSource = Field(Boolean)
9242 kshitij.so 342
    exceptionPrice = Field(Float)
343
    warehouseId = Field(Integer)
344
    transferPrice = Field(Float)
345
    sellingPrice = Field(Float)
346
    courierCost =  Field(Float)
11095 kshitij.so 347
    courierCostMarketplace = Field(Float)
9242 kshitij.so 348
    commission  =  Field(Float)
349
    serviceTax  =  Field(Float)
350
    suppressPriceFeed = Field(Boolean)
351
    suppressInventoryFeed = Field(Boolean)
9478 kshitij.so 352
    maxNlc = Field(Float)
10097 kshitij.so 353
    skuAtSource = Field(String(255))
9242 kshitij.so 354
    updatedOn = Field(DateTime)
10097 kshitij.so 355
    marketPlaceSerialNumber = Field(String(255))
9779 kshitij.so 356
    priceUpdatedBy = Field(String(255))
9242 kshitij.so 357
    using_options(shortnames=True)
358
    using_table_options(mysql_engine="InnoDB")
9724 kshitij.so 359
 
360
class MarketplaceItems(Entity):
361
    itemId = Field(Integer,primary_key=True, autoincrement = False)
362
    source = Field(Integer,primary_key=True, autoincrement = False)
363
    emiFee = Field(Float)
364
    courierCost = Field(Float)
11095 kshitij.so 365
    courierCostMarketplace = Field(Float)
9724 kshitij.so 366
    closingFee = Field(Float)
367
    returnProvision = Field(Float)
368
    commission = Field(Float)
10287 kshitij.so 369
    pgFee = Field(Float)
9724 kshitij.so 370
    vat = Field(Float)
371
    packagingCost = Field(Float)
372
    otherCost = Field(Float)
373
    serviceTax = Field(Float)
374
    autoIncrement = Field(Boolean)
375
    autoDecrement = Field(Boolean)
376
    manualFavourite = Field(Boolean)
377
    autoFavourite = Field(Boolean)
378
    currentSp = Field(Float)
379
    currentTp = Field(Float)
380
    minimumPossibleSp = Field(Float)
381
    minimumPossibleTp = Field(Float)
9909 kshitij.so 382
    maximumSellingPrice = Field(Float)
9724 kshitij.so 383
    lastCheckedTimestamp = Field(DateTime)
384
    using_options(shortnames=True)
385
    using_table_options(mysql_engine="InnoDB")
7977 kshitij.so 386
 
9621 manish.sha 387
class ProductFeedSubmit(Entity):
388
    catalogItemId = Field(Integer, primary_key=True)
389
    stockLinkedFeed = Field(Boolean)
390
    using_options(shortnames=True)
391
    using_table_options(mysql_engine="InnoDB")
9776 vikram.rag 392
 
393
class MarketPlaceItemPrice(Entity):    
394
    item_id = Field(Integer, primary_key=True, autoincrement=False)
395
    source = Field(Integer, primary_key=True, autoincrement=False)
396
    sellingPrice = Field(Float)
397
    lastUpdatedOn = Field(DateTime)
398
    lastUpdatedOnMarketplace = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 15:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
399
    suppressPriceFeed = Field(Boolean)
400
    isListedOnSource =  Field(Boolean)
401
    using_options(shortnames=True)
402
    using_table_options(mysql_engine="InnoDB")
9242 kshitij.so 403
 
9779 kshitij.so 404
class SourcePercentageMaster(Entity):
405
    source = Field(Integer, primary_key=True, autoincrement=False)
406
    emiFee = Field(Float)
407
    closingFee = Field(Float)
408
    returnProvision = Field(Float)
409
    commission = Field(Float)
10287 kshitij.so 410
    pgFee = Field(Float)
9884 kshitij.so 411
    competitorCommissionAccessory = Field(Float)
412
    competitorCommissionOther = Field(Float)
9779 kshitij.so 413
    serviceTax = Field(Float)
414
    using_options(shortnames=True)
415
    using_table_options(mysql_engine="InnoDB")
416
 
417
class SourceItemPercentage(Entity):
418
    item_id = Field(Integer, primary_key=True, autoincrement=False)
419
    source = Field(Integer, primary_key=True, autoincrement=False)
420
    emiFee = Field(Float)
421
    closingFee = Field(Float)
422
    returnProvision = Field(Float)
423
    commission = Field(Float)
10287 kshitij.so 424
    pgFee = Field(Float)
9884 kshitij.so 425
    competitorCommissionAccessory = Field(Float)
426
    competitorCommissionOther = Field(Float)
9779 kshitij.so 427
    serviceTax = Field(Float)
10097 kshitij.so 428
    startDate = Field(DateTime, primary_key=True, autoincrement=False)
429
    expiryDate = Field(DateTime)
9779 kshitij.so 430
    using_options(shortnames=True)
431
    using_table_options(mysql_engine="InnoDB")
432
 
10097 kshitij.so 433
class SourceCategoryPercentage(Entity):
434
    category_id = Field(Integer, primary_key=True, autoincrement=False)
435
    source = Field(Integer, primary_key=True, autoincrement=False)
436
    emiFee = Field(Float)
437
    closingFee = Field(Float)
438
    returnProvision = Field(Float)
439
    commission = Field(Float)
10287 kshitij.so 440
    pgFee = Field(Float)
10097 kshitij.so 441
    competitorCommissionAccessory = Field(Float)
442
    competitorCommissionOther = Field(Float)
443
    serviceTax = Field(Float)
444
    startDate = Field(DateTime, primary_key=True, autoincrement=False)
445
    expiryDate = Field(DateTime)
446
    using_options(shortnames=True)
447
    using_table_options(mysql_engine="InnoDB")
448
 
9884 kshitij.so 449
class MarketPlaceHistory(Entity):
450
    item_id = Field(Integer, primary_key=True, autoincrement=False)
451
    source = Field(Integer, primary_key=True, autoincrement=False)
452
    lowestPossibleTp = Field(Float)
453
    lowestPossibleSp = Field(Float)
454
    ourInventory = Field(Integer)
455
    otherInventory = Field(Integer)
456
    secondLowestInventory = Field(Integer)
457
    ourRank = Field(Integer)
11193 kshitij.so 458
    ourOfferPrice = Field(Float)
459
    ourSellingPrice = Field(Float)
460
    ourTp = Field(Float)
461
    ourNlc = Field(Float)
462
    ourRating = Field(Float)
463
    ourShippingTime = Field(String(10))
9884 kshitij.so 464
    competitionBasis = Field(Integer)
465
    competitiveCategory = Field(Integer)
466
    risky = Field(Boolean)
467
    lowestOfferPrice = Field(Float)
468
    lowestSellingPrice = Field(Float)
11193 kshitij.so 469
    lowestTp = Field(Float)
9884 kshitij.so 470
    lowestSellerName = Field(String(255))
471
    lowestSellerCode = Field(String(255))
11193 kshitij.so 472
    lowestSellerRating = Field(Float)
473
    lowestSellerShippingTime = Field(String(10))
9884 kshitij.so 474
    proposedSellingPrice = Field(Float)
475
    proposedTp = Field(Float)
476
    targetNlc = Field(Float)
477
    salesPotential = Field(Integer)
478
    secondLowestSellerName = Field(String(255))
479
    secondLowestSellerCode = Field(String(255))
480
    secondLowestSellingPrice = Field(Float)
481
    secondLowestOfferPrice = Field(Float)
482
    secondLowestTp = Field(Float)
11193 kshitij.so 483
    secondLowestSellerRating = Field(Float)
484
    secondLowestSellerShippingTime = Field(String(10))
485
    prefferedSellerName = Field(String(255))
486
    prefferedSellerCode = Field(String(255))
487
    prefferedSellerSellingPrice = Field(Float)
488
    prefferedSellerOfferPrice = Field(Float)
489
    prefferedSellerTp = Field(Float)
490
    prefferedSellerRating = Field(Float)
491
    prefferedSellerShippingTime = Field(String(10))
9884 kshitij.so 492
    marginIncreasedPotential = Field(Float)
493
    margin = Field(Float)
494
    competitorEnoughStock = Field(Boolean)
495
    ourEnoughStock = Field(Boolean)
496
    totalSeller = Field(Integer)
497
    avgSales = Field(Float)
498
    decision = Field(Integer)
9909 kshitij.so 499
    reason = Field(String(255))
9949 kshitij.so 500
    run = Field(Integer)
11193 kshitij.so 501
    toGroup = Field(Boolean)
9884 kshitij.so 502
    timestamp =Field(DateTime, primary_key=True, autoincrement=False)
503
    using_options(shortnames=True)
504
    using_table_options(mysql_engine="InnoDB")
11193 kshitij.so 505
 
9884 kshitij.so 506
 
9945 vikram.rag 507
class FlipkartItem(Entity):
508
    item_id = Field(Integer, primary_key=True, autoincrement = False)
509
    exceptionPrice = Field(Float)
510
    warehouseId = Field(Integer)
511
    commissionValue  =  Field(Float)
512
    serviceTaxValue  =  Field(Float)
513
    maxNlc = Field(Float)
514
    skuAtFlipkart = Field(String(255))
515
    isListedOnFlipkart = Field(Boolean)
516
    suppressPriceFeed = Field(Boolean)
517
    suppressInventoryFeed = Field(Boolean)
10097 kshitij.so 518
    flipkartSerialNumber = Field(String(255))
9945 vikram.rag 519
    updatedOn = Field(DateTime)
520
    updatedBy = Field(String(255))
521
    using_options(shortnames=True)
522
    using_table_options(mysql_engine="InnoDB")
523
 
11531 vikram.rag 524
class PrivateDeals(Entity):   
525
    item_id = Field(Integer, primary_key=True, autoincrement = False)
526
    dealFreebieItemId =  Field(Integer)
527
    dealPrice = Field(Float)
528
    startDate = Field(DateTime)
529
    endDate = Field(DateTime)
11566 vikram.rag 530
    dealTextOption = Field(Integer)
11531 vikram.rag 531
    dealText = Field(String(500))
532
    isCod =  Field(Boolean)
533
    rank = Field(Integer)
11566 vikram.rag 534
    dealFreebieOption = Field(Integer)
11606 vikram.rag 535
    isActive = Field(Boolean)
11531 vikram.rag 536
    using_options(shortnames=True)
537
    using_table_options(mysql_engine="InnoDB")
11816 kshitij.so 538
 
539
class AmazonOutOfSync(Entity):
540
    item_id = Field(Integer, primary_key=True, autoincrement = False)
541
    mfn = Field(Boolean)
542
    fba = Field(Boolean)
543
    fbb = Field(Boolean)
544
    using_options(shortnames=True)
545
    using_table_options(mysql_engine="InnoDB")
11531 vikram.rag 546
 
11905 kshitij.so 547
class PrivateDealsPriceComparison(Entity):
548
    item_id= Field(Integer, primary_key=True, autoincrement=False)
12133 kshitij.so 549
    asin = Field(String(20))
550
    fsn = Field(String(20))
551
    supc = Field(String(20))
11905 kshitij.so 552
    sdPrice = Field(Float)
553
    fkPrice  = Field(Float)
554
    amazonPrice = Field(Float)
555
    dealPrice = Field(Float)
556
    saholicPrice = Field(Float)
557
    lastProcessedTimestamp = Field(DateTime)
558
    using_options(shortnames=True)
559
    using_table_options(mysql_engine="InnoDB")
11531 vikram.rag 560
 
12133 kshitij.so 561
class SourceReturnPercentage(Entity):
562
    source = Field(Integer)
563
    brand = Field(String(100))
564
    category_id = Field(Integer)
565
    returnProvision = Field(Float)
566
    using_options(shortnames=True)
567
    using_table_options(mysql_engine="InnoDB")
12243 kshitij.so 568
 
569
class CompetitorPricing(Entity):
570
    item_id = Field(Integer)
571
    snapdealScraping = Field(Boolean)
572
    flipkartScraping = Field(Boolean)
573
    amazonScraping = Field(Boolean)
574
    lowestSnapdealPrice = Field(Float)
575
    lowestFlipkartPrice = Field(Float)
576
    lowestMfnPrice = Field(Float)
577
    lowestFbaPrice = Field(Float)
578
    isProcessed = Field(Boolean)
579
    uploadId = Field(BigInteger)
580
    using_options(shortnames=True)
581
    using_table_options(mysql_engine="InnoDB")
582
 
12133 kshitij.so 583
 
3187 rajveer 584
def initialize(dbname='catalog', db_hostname="localhost"):
746 rajveer 585
    #metadata.bind = "sqlite:///inventory-new.sqlite" #need to read it from configserver.
1122 chandransh 586
    #metadata.bind = 'mysql://root:shop2020@localhost/catalog'
6532 amit.gupta 587
    cengine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200)
588
    metadata.bind = cengine
94 ashish 589
    metadata.bind.echo = True
590
    setup_all(True)
115 ashish 591
 
592
if __name__=="__main__":
9242 kshitij.so 593
    initialize()