Subversion Repositories SmartDukaan

Rev

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