Subversion Repositories SmartDukaan

Rev

Rev 12448 | Rev 12474 | 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
12363 kshitij.so 12
from sqlalchemy.types import Integer, String, DateTime, Float, Boolean, Text, Enum, BigInteger, Date
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)
12448 kshitij.so 259
    otherCost = Field(Float, default=0.0, server_default="0.0")
7281 kshitij.so 260
    color = Field(String(255))
261
    category = Field(String(255))
7367 kshitij.so 262
    handlingTime = Field(Integer)
263
    isCustomTime = Field(Boolean)
7516 vikram.rag 264
    category_code = Field(Integer, default=0, server_default="0")
10920 vikram.rag 265
    fbbListedOn = Field(DateTime)
7770 kshitij.so 266
    mfnPriceLastUpdatedOn = Field(DateTime)
267
    fbaPriceLastUpdatedOn = Field(DateTime)
10909 vikram.rag 268
    fbbPriceLastUpdatedOn = Field(DateTime)
7770 kshitij.so 269
    mfnPriceLastUpdatedOnSc = Field(DateTime)
270
    fbaPriceLastUpdatedOnSc = Field(DateTime)
10909 vikram.rag 271
    fbbPriceLastUpdatedOnSc = Field(DateTime)
8139 kshitij.so 272
    suppressMfnPriceUpdate = Field(Boolean)
8140 kshitij.so 273
    suppressFbaPriceUpdate = Field(Boolean)
10909 vikram.rag 274
    suppressFbbPriceUpdate = Field(Boolean)
8619 kshitij.so 275
    taxCode = Field(String(255))
10909 vikram.rag 276
    fbbtaxCode = Field(String(255))
12363 kshitij.so 277
    overrrideWanlc = Field(Boolean)
278
    exceptionalWanlc = Field(Float)
12396 kshitij.so 279
    autoDecrement = Field(Boolean)
280
    autoIncrement = Field(Boolean)
281
    autoFavourite = Field(Boolean)
282
    manualFavourite = Field(Boolean)
7281 kshitij.so 283
    using_options(shortnames=True)
284
    using_table_options(mysql_engine="InnoDB")
285
 
7977 kshitij.so 286
class PageViewEvents(Entity):
287
    id = Field(Integer, primary_key=True, autoincrement=True)
8139 kshitij.so 288
    catalogId = Field(Integer,index=True)
289
    url = Field(String(255),index=True)
7977 kshitij.so 290
    sellingPrice = Field(Float)
291
    comingSoon = Field(Boolean)
292
    ip = Field(String(255))
293
    sessionId = Field(String(255))
8139 kshitij.so 294
    eventTimestamp = Field(DateTime,index=True)
7977 kshitij.so 295
    using_options(shortnames=True)
296
    using_table_options(mysql_engine="InnoDB")
297
 
298
class CartEvents(Entity):
299
    id = Field(Integer, primary_key=True, autoincrement=True)
8139 kshitij.so 300
    catalogId = Field(Integer,index=True)
301
    itemId = Field(Integer,index=True)
7977 kshitij.so 302
    sellingPrice = Field(Float)
303
    inStock = Field(Boolean)
304
    comingSoon = Field(Boolean)
305
    ip = Field(String(255))
306
    sessionId = Field(String(255))
8139 kshitij.so 307
    eventTimestamp = Field(DateTime,index=True)
7977 kshitij.so 308
    using_options(shortnames=True)
309
    using_table_options(mysql_engine="InnoDB")
310
 
8182 amar.kumar 311
class EbayItem(Entity):
312
    ebayListingId = Field(String(32), primary_key=True)
313
    itemId = Field(Integer, primary_key=True, autoincrement = False)
314
    listingName = Field(String(255))
315
    listingPrice = Field(Float)
316
    listingExpiryDate = Field(DateTime)
317
    subsidy = Field(Float)
318
    defaultWarehouseId = Field(Integer)
319
    using_options(shortnames=True)
320
    using_table_options(mysql_engine="InnoDB")
8739 vikram.rag 321
 
322
class SnapdealItem(Entity):
323
    item_id = Field(Integer, primary_key=True, autoincrement = False)
324
    exceptionPrice = Field(Float)
325
    warehouseId = Field(Integer)
9242 kshitij.so 326
    transferPrice = Field(Float)
327
    sellingPrice = Field(Float)
328
    courierCost =  Field(Float)
11095 kshitij.so 329
    courierCostMarketplace = Field(Float)
9242 kshitij.so 330
    commission  =  Field(Float)
331
    serviceTax  =  Field(Float)
332
    updatedOn = Field(DateTime)
9404 vikram.rag 333
    maxNlc = Field(Float)
9478 kshitij.so 334
    skuAtSnapdeal = Field(String(255))
9242 kshitij.so 335
    isListedOnSnapdeal = Field(Boolean)
336
    suppressPriceFeed = Field(Boolean)
337
    suppressInventoryFeed = Field(Boolean)
9568 kshitij.so 338
    supc = Field(String(255))
9724 kshitij.so 339
    shippingTime = Field(Integer)
9779 kshitij.so 340
    priceUpdatedBy = Field(String(255))
8739 vikram.rag 341
    using_options(shortnames=True)
342
    using_table_options(mysql_engine="InnoDB")
9242 kshitij.so 343
 
10097 kshitij.so 344
class MarketPlaceUpdateHistory(Entity):
9242 kshitij.so 345
    id  = Field(Integer, primary_key=True, autoincrement = True)
346
    item_id = Field(Integer)
10097 kshitij.so 347
    source = Field(Integer)
348
    isListedOnSource = Field(Boolean)
9242 kshitij.so 349
    exceptionPrice = Field(Float)
350
    warehouseId = Field(Integer)
351
    transferPrice = Field(Float)
352
    sellingPrice = Field(Float)
353
    courierCost =  Field(Float)
11095 kshitij.so 354
    courierCostMarketplace = Field(Float)
9242 kshitij.so 355
    commission  =  Field(Float)
356
    serviceTax  =  Field(Float)
357
    suppressPriceFeed = Field(Boolean)
358
    suppressInventoryFeed = Field(Boolean)
9478 kshitij.so 359
    maxNlc = Field(Float)
10097 kshitij.so 360
    skuAtSource = Field(String(255))
9242 kshitij.so 361
    updatedOn = Field(DateTime)
10097 kshitij.so 362
    marketPlaceSerialNumber = Field(String(255))
9779 kshitij.so 363
    priceUpdatedBy = Field(String(255))
9242 kshitij.so 364
    using_options(shortnames=True)
365
    using_table_options(mysql_engine="InnoDB")
9724 kshitij.so 366
 
367
class MarketplaceItems(Entity):
368
    itemId = Field(Integer,primary_key=True, autoincrement = False)
369
    source = Field(Integer,primary_key=True, autoincrement = False)
370
    emiFee = Field(Float)
371
    courierCost = Field(Float)
11095 kshitij.so 372
    courierCostMarketplace = Field(Float)
9724 kshitij.so 373
    closingFee = Field(Float)
374
    returnProvision = Field(Float)
375
    commission = Field(Float)
10287 kshitij.so 376
    pgFee = Field(Float)
9724 kshitij.so 377
    vat = Field(Float)
378
    packagingCost = Field(Float)
379
    otherCost = Field(Float)
380
    serviceTax = Field(Float)
381
    autoIncrement = Field(Boolean)
382
    autoDecrement = Field(Boolean)
383
    manualFavourite = Field(Boolean)
384
    autoFavourite = Field(Boolean)
385
    currentSp = Field(Float)
386
    currentTp = Field(Float)
387
    minimumPossibleSp = Field(Float)
388
    minimumPossibleTp = Field(Float)
9909 kshitij.so 389
    maximumSellingPrice = Field(Float)
9724 kshitij.so 390
    lastCheckedTimestamp = Field(DateTime)
391
    using_options(shortnames=True)
392
    using_table_options(mysql_engine="InnoDB")
7977 kshitij.so 393
 
9621 manish.sha 394
class ProductFeedSubmit(Entity):
395
    catalogItemId = Field(Integer, primary_key=True)
396
    stockLinkedFeed = Field(Boolean)
397
    using_options(shortnames=True)
398
    using_table_options(mysql_engine="InnoDB")
9776 vikram.rag 399
 
400
class MarketPlaceItemPrice(Entity):    
401
    item_id = Field(Integer, primary_key=True, autoincrement=False)
402
    source = Field(Integer, primary_key=True, autoincrement=False)
403
    sellingPrice = Field(Float)
404
    lastUpdatedOn = Field(DateTime)
405
    lastUpdatedOnMarketplace = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 15:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
406
    suppressPriceFeed = Field(Boolean)
407
    isListedOnSource =  Field(Boolean)
408
    using_options(shortnames=True)
409
    using_table_options(mysql_engine="InnoDB")
9242 kshitij.so 410
 
9779 kshitij.so 411
class SourcePercentageMaster(Entity):
412
    source = Field(Integer, primary_key=True, autoincrement=False)
413
    emiFee = Field(Float)
414
    closingFee = Field(Float)
415
    returnProvision = Field(Float)
416
    commission = Field(Float)
10287 kshitij.so 417
    pgFee = Field(Float)
9884 kshitij.so 418
    competitorCommissionAccessory = Field(Float)
419
    competitorCommissionOther = Field(Float)
9779 kshitij.so 420
    serviceTax = Field(Float)
421
    using_options(shortnames=True)
422
    using_table_options(mysql_engine="InnoDB")
423
 
424
class SourceItemPercentage(Entity):
425
    item_id = Field(Integer, primary_key=True, autoincrement=False)
426
    source = Field(Integer, primary_key=True, autoincrement=False)
427
    emiFee = Field(Float)
428
    closingFee = Field(Float)
429
    returnProvision = Field(Float)
430
    commission = Field(Float)
10287 kshitij.so 431
    pgFee = Field(Float)
9884 kshitij.so 432
    competitorCommissionAccessory = Field(Float)
433
    competitorCommissionOther = Field(Float)
9779 kshitij.so 434
    serviceTax = Field(Float)
10097 kshitij.so 435
    startDate = Field(DateTime, primary_key=True, autoincrement=False)
436
    expiryDate = Field(DateTime)
9779 kshitij.so 437
    using_options(shortnames=True)
438
    using_table_options(mysql_engine="InnoDB")
439
 
10097 kshitij.so 440
class SourceCategoryPercentage(Entity):
441
    category_id = Field(Integer, primary_key=True, autoincrement=False)
442
    source = Field(Integer, primary_key=True, autoincrement=False)
443
    emiFee = Field(Float)
444
    closingFee = Field(Float)
445
    returnProvision = Field(Float)
446
    commission = Field(Float)
10287 kshitij.so 447
    pgFee = Field(Float)
10097 kshitij.so 448
    competitorCommissionAccessory = Field(Float)
449
    competitorCommissionOther = Field(Float)
450
    serviceTax = Field(Float)
451
    startDate = Field(DateTime, primary_key=True, autoincrement=False)
452
    expiryDate = Field(DateTime)
453
    using_options(shortnames=True)
454
    using_table_options(mysql_engine="InnoDB")
455
 
9884 kshitij.so 456
class MarketPlaceHistory(Entity):
457
    item_id = Field(Integer, primary_key=True, autoincrement=False)
458
    source = Field(Integer, primary_key=True, autoincrement=False)
459
    lowestPossibleTp = Field(Float)
460
    lowestPossibleSp = Field(Float)
461
    ourInventory = Field(Integer)
462
    otherInventory = Field(Integer)
463
    secondLowestInventory = Field(Integer)
464
    ourRank = Field(Integer)
11193 kshitij.so 465
    ourOfferPrice = Field(Float)
466
    ourSellingPrice = Field(Float)
467
    ourTp = Field(Float)
468
    ourNlc = Field(Float)
469
    ourRating = Field(Float)
470
    ourShippingTime = Field(String(10))
9884 kshitij.so 471
    competitionBasis = Field(Integer)
472
    competitiveCategory = Field(Integer)
473
    risky = Field(Boolean)
474
    lowestOfferPrice = Field(Float)
475
    lowestSellingPrice = Field(Float)
11193 kshitij.so 476
    lowestTp = Field(Float)
9884 kshitij.so 477
    lowestSellerName = Field(String(255))
478
    lowestSellerCode = Field(String(255))
11193 kshitij.so 479
    lowestSellerRating = Field(Float)
480
    lowestSellerShippingTime = Field(String(10))
9884 kshitij.so 481
    proposedSellingPrice = Field(Float)
482
    proposedTp = Field(Float)
483
    targetNlc = Field(Float)
484
    salesPotential = Field(Integer)
485
    secondLowestSellerName = Field(String(255))
486
    secondLowestSellerCode = Field(String(255))
487
    secondLowestSellingPrice = Field(Float)
488
    secondLowestOfferPrice = Field(Float)
489
    secondLowestTp = Field(Float)
11193 kshitij.so 490
    secondLowestSellerRating = Field(Float)
491
    secondLowestSellerShippingTime = Field(String(10))
492
    prefferedSellerName = Field(String(255))
493
    prefferedSellerCode = Field(String(255))
494
    prefferedSellerSellingPrice = Field(Float)
495
    prefferedSellerOfferPrice = Field(Float)
496
    prefferedSellerTp = Field(Float)
497
    prefferedSellerRating = Field(Float)
498
    prefferedSellerShippingTime = Field(String(10))
9884 kshitij.so 499
    marginIncreasedPotential = Field(Float)
500
    margin = Field(Float)
501
    competitorEnoughStock = Field(Boolean)
502
    ourEnoughStock = Field(Boolean)
503
    totalSeller = Field(Integer)
504
    avgSales = Field(Float)
505
    decision = Field(Integer)
9909 kshitij.so 506
    reason = Field(String(255))
9949 kshitij.so 507
    run = Field(Integer)
11193 kshitij.so 508
    toGroup = Field(Boolean)
9884 kshitij.so 509
    timestamp =Field(DateTime, primary_key=True, autoincrement=False)
510
    using_options(shortnames=True)
511
    using_table_options(mysql_engine="InnoDB")
11193 kshitij.so 512
 
9884 kshitij.so 513
 
9945 vikram.rag 514
class FlipkartItem(Entity):
515
    item_id = Field(Integer, primary_key=True, autoincrement = False)
516
    exceptionPrice = Field(Float)
517
    warehouseId = Field(Integer)
518
    commissionValue  =  Field(Float)
519
    serviceTaxValue  =  Field(Float)
520
    maxNlc = Field(Float)
521
    skuAtFlipkart = Field(String(255))
522
    isListedOnFlipkart = Field(Boolean)
523
    suppressPriceFeed = Field(Boolean)
524
    suppressInventoryFeed = Field(Boolean)
10097 kshitij.so 525
    flipkartSerialNumber = Field(String(255))
9945 vikram.rag 526
    updatedOn = Field(DateTime)
527
    updatedBy = Field(String(255))
528
    using_options(shortnames=True)
529
    using_table_options(mysql_engine="InnoDB")
530
 
11531 vikram.rag 531
class PrivateDeals(Entity):   
532
    item_id = Field(Integer, primary_key=True, autoincrement = False)
533
    dealFreebieItemId =  Field(Integer)
534
    dealPrice = Field(Float)
535
    startDate = Field(DateTime)
536
    endDate = Field(DateTime)
11566 vikram.rag 537
    dealTextOption = Field(Integer)
11531 vikram.rag 538
    dealText = Field(String(500))
539
    isCod =  Field(Boolean)
540
    rank = Field(Integer)
11566 vikram.rag 541
    dealFreebieOption = Field(Integer)
11606 vikram.rag 542
    isActive = Field(Boolean)
11531 vikram.rag 543
    using_options(shortnames=True)
544
    using_table_options(mysql_engine="InnoDB")
11816 kshitij.so 545
 
546
class AmazonOutOfSync(Entity):
547
    item_id = Field(Integer, primary_key=True, autoincrement = False)
548
    mfn = Field(Boolean)
549
    fba = Field(Boolean)
550
    fbb = Field(Boolean)
551
    using_options(shortnames=True)
552
    using_table_options(mysql_engine="InnoDB")
11531 vikram.rag 553
 
11905 kshitij.so 554
class PrivateDealsPriceComparison(Entity):
555
    item_id= Field(Integer, primary_key=True, autoincrement=False)
12133 kshitij.so 556
    asin = Field(String(20))
557
    fsn = Field(String(20))
558
    supc = Field(String(20))
11905 kshitij.so 559
    sdPrice = Field(Float)
560
    fkPrice  = Field(Float)
561
    amazonPrice = Field(Float)
562
    dealPrice = Field(Float)
563
    saholicPrice = Field(Float)
564
    lastProcessedTimestamp = Field(DateTime)
565
    using_options(shortnames=True)
566
    using_table_options(mysql_engine="InnoDB")
11531 vikram.rag 567
 
12133 kshitij.so 568
class SourceReturnPercentage(Entity):
569
    source = Field(Integer)
570
    brand = Field(String(100))
571
    category_id = Field(Integer)
572
    returnProvision = Field(Float)
573
    using_options(shortnames=True)
574
    using_table_options(mysql_engine="InnoDB")
12256 kshitij.so 575
 
576
class CompetitorPricingRequest(Entity):
577
    requestId = Field(BigInteger, primary_key=True,autoincrement=False)
578
    user = Field(String(50))
579
    isProcessed = Field(Boolean)
580
    competitorPricing = OneToMany("CompetitorPricing")
581
    using_options(shortnames=True)
582
    using_table_options(mysql_engine="InnoDB")
12243 kshitij.so 583
 
584
class CompetitorPricing(Entity):
585
    item_id = Field(Integer)
586
    snapdealScraping = Field(Boolean)
587
    flipkartScraping = Field(Boolean)
588
    amazonScraping = Field(Boolean)
12256 kshitij.so 589
    ourSnapdealPrice = Field(Float)
590
    ourSnapdealOfferPrice = Field(Float)
591
    ourSnapdealInventory = Field(Integer)
12243 kshitij.so 592
    lowestSnapdealPrice = Field(Float)
12256 kshitij.so 593
    lowestSnapdealOfferPrice = Field(Float)
594
    lowestSnapdealSeller = Field(String(255))
595
    lowestSnapdealSellerInventory = Field(Integer)
596
    ourFlipkartPrice = Field(Float)
597
    ourFlipkartInventory = Field(Integer)
12243 kshitij.so 598
    lowestFlipkartPrice = Field(Float)
12256 kshitij.so 599
    lowestFlipkartSeller = Field(String(255))
600
    ourMfnPrice = Field(Float)
601
    ourFbaPrice = Field(Float)
602
    ourMfnInventory = Field(Integer)
603
    ourFbaInventory = Field(Integer)
604
    lowestAmazonPrice = Field(Float)
605
    lowestAmazonSeller = Field(String(255))
606
    competitorPricing = ManyToOne("CompetitorPricingRequest")
12243 kshitij.so 607
    using_options(shortnames=True)
608
    using_table_options(mysql_engine="InnoDB")
12363 kshitij.so 609
 
610
class AmazonPromotion(Entity):
611
    sku = Field(String(20))
612
    standardPrice = Field(Float)
613
    salePrice = Field(Float)
12431 kshitij.so 614
    subsidy = Field(Float)
12363 kshitij.so 615
    startDate = Field(DateTime)
616
    endDate = Field(DateTime)
617
    addedOn = Field(DateTime)
618
    updatedOnMarketplace = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 00:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
619
    promotionActive = Field(Boolean)
620
    stateId = Field(Integer)
621
    promotionType = Field(Integer)
622
    using_options(shortnames=True)
623
    using_table_options(mysql_engine="InnoDB")
12133 kshitij.so 624
 
12363 kshitij.so 625
class AmazonScrapingHistory(Entity):
626
    item_id = Field(Integer, primary_key=True, autoincrement=False)
12472 kshitij.so 627
    asin = Field(String(255))
12363 kshitij.so 628
    warehouseLocation = Field(Integer, primary_key=True, autoincrement=False)
12396 kshitij.so 629
    parentCategoryId = Field(Integer)
12363 kshitij.so 630
    ourSellingPrice = Field(Float)
631
    lowestPossibleSp = Field(Float)
632
    ourRank = Field(Integer)
633
    ourInventory = Field(Integer)
634
    lowestSellerName = Field(String(255))
635
    lowestSellerSp = Field(Float)
12431 kshitij.so 636
    lowestSellerShippingTime = Field(String(10))
637
    lowestSellerRating = Field(String(10))
638
    lowestSellerType = Field(String(20))
12363 kshitij.so 639
    secondLowestSellerName = Field(String(255))
640
    secondLowestSellerSp = Field(Float)
12431 kshitij.so 641
    secondLowestSellerShippingTime = Field(String(10))
642
    secondLowestSellerRating = Field(String(10))
643
    secondLowestSellerType = Field(String(20))
12363 kshitij.so 644
    thirdLowestSellerName = Field(String(255))
645
    thirdLowestSellerSp = Field(Float)
12431 kshitij.so 646
    thirdLowestSellerShippingTime = Field(String(10))
647
    thirdLowestSellerRating = Field(String(10))
648
    thirdLowestSellerType = Field(String(20))
12363 kshitij.so 649
    competitiveCategory = Field(Integer)
12448 kshitij.so 650
    otherCost = Field(Float)
12363 kshitij.so 651
    wanlc = Field(Float)
652
    commission = Field(Float)
653
    competitorCommission = Field(Float)
654
    returnProvision = Field(Float)
655
    courierCost = Field(Float)
656
    risky = Field(Boolean)
657
    runType = Field(Integer)
658
    totalSeller = Field(Integer)
659
    ourEnoughStock = Field(Boolean)
660
    marginIncreasedPotential = Field(Float)
661
    avgSale = Field(Float)
662
    multipleListings = Field(Boolean)
12431 kshitij.so 663
    isPromotion = Field(Boolean)
12363 kshitij.so 664
    proposedSp = Field(Float)
665
    proposedTp = Field(Float)
666
    targetNlc = Field(Float)
667
    decision = Field(Integer)
668
    reason = Field(String(255))
669
    timestamp =Field(DateTime, primary_key=True, autoincrement=False)
670
    using_options(shortnames=True)
671
    using_table_options(mysql_engine="InnoDB")
672
 
673
 
3187 rajveer 674
def initialize(dbname='catalog', db_hostname="localhost"):
746 rajveer 675
    #metadata.bind = "sqlite:///inventory-new.sqlite" #need to read it from configserver.
1122 chandransh 676
    #metadata.bind = 'mysql://root:shop2020@localhost/catalog'
6532 amit.gupta 677
    cengine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200)
678
    metadata.bind = cengine
94 ashish 679
    metadata.bind.echo = True
680
    setup_all(True)
115 ashish 681
 
682
if __name__=="__main__":
9242 kshitij.so 683
    initialize()