Subversion Repositories SmartDukaan

Rev

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