Subversion Repositories SmartDukaan

Rev

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