Subversion Repositories SmartDukaan

Rev

Rev 13709 | Rev 14862 | 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))
14780 manish.sha 359
    isVoiListed = Field(Boolean)
360
    voiSellingPrice = Field(Float)
361
    suppressVoiPriceFeed = Field(Boolean)
362
    voiPriceLastUpdatedOn = Field(DateTime)
363
    voiSkuAtSnapdeal = Field(String(255))
364
    minimumPossibleSpVoi = Field(Float)
365
    minimumPossibleTpVoi = Field(Float)
366
    courierCostVoi = Field(Float)
367
    serviceTaxVoi = Field(Float)
368
    transferPriceVoi = Field(Float)
369
    commissionVoi = Field(Float)
8739 vikram.rag 370
    using_options(shortnames=True)
371
    using_table_options(mysql_engine="InnoDB")
9242 kshitij.so 372
 
10097 kshitij.so 373
class MarketPlaceUpdateHistory(Entity):
9242 kshitij.so 374
    id  = Field(Integer, primary_key=True, autoincrement = True)
375
    item_id = Field(Integer)
10097 kshitij.so 376
    source = Field(Integer)
377
    isListedOnSource = Field(Boolean)
9242 kshitij.so 378
    exceptionPrice = Field(Float)
379
    warehouseId = Field(Integer)
380
    transferPrice = Field(Float)
381
    sellingPrice = Field(Float)
382
    courierCost =  Field(Float)
11095 kshitij.so 383
    courierCostMarketplace = Field(Float)
9242 kshitij.so 384
    commission  =  Field(Float)
385
    serviceTax  =  Field(Float)
386
    suppressPriceFeed = Field(Boolean)
387
    suppressInventoryFeed = Field(Boolean)
9478 kshitij.so 388
    maxNlc = Field(Float)
10097 kshitij.so 389
    skuAtSource = Field(String(255))
9242 kshitij.so 390
    updatedOn = Field(DateTime)
10097 kshitij.so 391
    marketPlaceSerialNumber = Field(String(255))
9779 kshitij.so 392
    priceUpdatedBy = Field(String(255))
9242 kshitij.so 393
    using_options(shortnames=True)
394
    using_table_options(mysql_engine="InnoDB")
9724 kshitij.so 395
 
396
class MarketplaceItems(Entity):
397
    itemId = Field(Integer,primary_key=True, autoincrement = False)
398
    source = Field(Integer,primary_key=True, autoincrement = False)
399
    emiFee = Field(Float)
400
    courierCost = Field(Float)
11095 kshitij.so 401
    courierCostMarketplace = Field(Float)
9724 kshitij.so 402
    closingFee = Field(Float)
403
    returnProvision = Field(Float)
404
    commission = Field(Float)
10287 kshitij.so 405
    pgFee = Field(Float)
9724 kshitij.so 406
    vat = Field(Float)
407
    packagingCost = Field(Float)
408
    otherCost = Field(Float)
409
    serviceTax = Field(Float)
410
    autoIncrement = Field(Boolean)
411
    autoDecrement = Field(Boolean)
412
    manualFavourite = Field(Boolean)
413
    autoFavourite = Field(Boolean)
414
    currentSp = Field(Float)
415
    currentTp = Field(Float)
416
    minimumPossibleSp = Field(Float)
417
    minimumPossibleTp = Field(Float)
9909 kshitij.so 418
    maximumSellingPrice = Field(Float)
9724 kshitij.so 419
    lastCheckedTimestamp = Field(DateTime)
420
    using_options(shortnames=True)
421
    using_table_options(mysql_engine="InnoDB")
7977 kshitij.so 422
 
9621 manish.sha 423
class ProductFeedSubmit(Entity):
424
    catalogItemId = Field(Integer, primary_key=True)
425
    stockLinkedFeed = Field(Boolean)
426
    using_options(shortnames=True)
427
    using_table_options(mysql_engine="InnoDB")
9776 vikram.rag 428
 
429
class MarketPlaceItemPrice(Entity):    
430
    item_id = Field(Integer, primary_key=True, autoincrement=False)
431
    source = Field(Integer, primary_key=True, autoincrement=False)
432
    sellingPrice = Field(Float)
433
    lastUpdatedOn = Field(DateTime)
434
    lastUpdatedOnMarketplace = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 15:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
435
    suppressPriceFeed = Field(Boolean)
436
    isListedOnSource =  Field(Boolean)
437
    using_options(shortnames=True)
438
    using_table_options(mysql_engine="InnoDB")
9242 kshitij.so 439
 
9779 kshitij.so 440
class SourcePercentageMaster(Entity):
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)
9884 kshitij.so 447
    competitorCommissionAccessory = Field(Float)
448
    competitorCommissionOther = Field(Float)
9779 kshitij.so 449
    serviceTax = Field(Float)
450
    using_options(shortnames=True)
451
    using_table_options(mysql_engine="InnoDB")
452
 
453
class SourceItemPercentage(Entity):
454
    item_id = Field(Integer, primary_key=True, autoincrement=False)
455
    source = Field(Integer, primary_key=True, autoincrement=False)
456
    emiFee = Field(Float)
457
    closingFee = Field(Float)
458
    returnProvision = Field(Float)
459
    commission = Field(Float)
10287 kshitij.so 460
    pgFee = Field(Float)
9884 kshitij.so 461
    competitorCommissionAccessory = Field(Float)
462
    competitorCommissionOther = Field(Float)
9779 kshitij.so 463
    serviceTax = Field(Float)
10097 kshitij.so 464
    startDate = Field(DateTime, primary_key=True, autoincrement=False)
465
    expiryDate = Field(DateTime)
9779 kshitij.so 466
    using_options(shortnames=True)
467
    using_table_options(mysql_engine="InnoDB")
468
 
10097 kshitij.so 469
class SourceCategoryPercentage(Entity):
470
    category_id = Field(Integer, primary_key=True, autoincrement=False)
471
    source = Field(Integer, primary_key=True, autoincrement=False)
472
    emiFee = Field(Float)
473
    closingFee = Field(Float)
474
    returnProvision = Field(Float)
475
    commission = Field(Float)
10287 kshitij.so 476
    pgFee = Field(Float)
10097 kshitij.so 477
    competitorCommissionAccessory = Field(Float)
478
    competitorCommissionOther = Field(Float)
479
    serviceTax = Field(Float)
480
    startDate = Field(DateTime, primary_key=True, autoincrement=False)
481
    expiryDate = Field(DateTime)
482
    using_options(shortnames=True)
483
    using_table_options(mysql_engine="InnoDB")
484
 
9884 kshitij.so 485
class MarketPlaceHistory(Entity):
486
    item_id = Field(Integer, primary_key=True, autoincrement=False)
487
    source = Field(Integer, primary_key=True, autoincrement=False)
488
    lowestPossibleTp = Field(Float)
489
    lowestPossibleSp = Field(Float)
490
    ourInventory = Field(Integer)
491
    otherInventory = Field(Integer)
492
    secondLowestInventory = Field(Integer)
493
    ourRank = Field(Integer)
11193 kshitij.so 494
    ourOfferPrice = Field(Float)
495
    ourSellingPrice = Field(Float)
496
    ourTp = Field(Float)
497
    ourNlc = Field(Float)
498
    ourRating = Field(Float)
499
    ourShippingTime = Field(String(10))
9884 kshitij.so 500
    competitionBasis = Field(Integer)
501
    competitiveCategory = Field(Integer)
502
    risky = Field(Boolean)
503
    lowestOfferPrice = Field(Float)
504
    lowestSellingPrice = Field(Float)
11193 kshitij.so 505
    lowestTp = Field(Float)
9884 kshitij.so 506
    lowestSellerName = Field(String(255))
507
    lowestSellerCode = Field(String(255))
11193 kshitij.so 508
    lowestSellerRating = Field(Float)
509
    lowestSellerShippingTime = Field(String(10))
9884 kshitij.so 510
    proposedSellingPrice = Field(Float)
511
    proposedTp = Field(Float)
512
    targetNlc = Field(Float)
513
    salesPotential = Field(Integer)
514
    secondLowestSellerName = Field(String(255))
515
    secondLowestSellerCode = Field(String(255))
516
    secondLowestSellingPrice = Field(Float)
517
    secondLowestOfferPrice = Field(Float)
518
    secondLowestTp = Field(Float)
11193 kshitij.so 519
    secondLowestSellerRating = Field(Float)
520
    secondLowestSellerShippingTime = Field(String(10))
521
    prefferedSellerName = Field(String(255))
522
    prefferedSellerCode = Field(String(255))
523
    prefferedSellerSellingPrice = Field(Float)
524
    prefferedSellerOfferPrice = Field(Float)
525
    prefferedSellerTp = Field(Float)
526
    prefferedSellerRating = Field(Float)
527
    prefferedSellerShippingTime = Field(String(10))
9884 kshitij.so 528
    marginIncreasedPotential = Field(Float)
529
    margin = Field(Float)
530
    competitorEnoughStock = Field(Boolean)
531
    ourEnoughStock = Field(Boolean)
532
    totalSeller = Field(Integer)
533
    avgSales = Field(Float)
534
    decision = Field(Integer)
9909 kshitij.so 535
    reason = Field(String(255))
9949 kshitij.so 536
    run = Field(Integer)
11193 kshitij.so 537
    toGroup = Field(Boolean)
9884 kshitij.so 538
    timestamp =Field(DateTime, primary_key=True, autoincrement=False)
539
    using_options(shortnames=True)
540
    using_table_options(mysql_engine="InnoDB")
11193 kshitij.so 541
 
9884 kshitij.so 542
 
9945 vikram.rag 543
class FlipkartItem(Entity):
544
    item_id = Field(Integer, primary_key=True, autoincrement = False)
545
    exceptionPrice = Field(Float)
546
    warehouseId = Field(Integer)
547
    commissionValue  =  Field(Float)
548
    serviceTaxValue  =  Field(Float)
549
    maxNlc = Field(Float)
550
    skuAtFlipkart = Field(String(255))
551
    isListedOnFlipkart = Field(Boolean)
552
    suppressPriceFeed = Field(Boolean)
553
    suppressInventoryFeed = Field(Boolean)
10097 kshitij.so 554
    flipkartSerialNumber = Field(String(255))
9945 vikram.rag 555
    updatedOn = Field(DateTime)
556
    updatedBy = Field(String(255))
14780 manish.sha 557
    isFaListed = Field(Boolean)
9945 vikram.rag 558
    using_options(shortnames=True)
559
    using_table_options(mysql_engine="InnoDB")
13709 manish.sha 560
 
561
'''    
562
class DealTag(Entity):
563
    id = Field(Integer, primary_key=True, autoincrement = True)
564
    name = Field(String(100))
565
    using_options(shortnames=True)
566
    using_table_options(mysql_engine="InnoDB")
567
 
568
class ItemTag(Entity): 
569
    itemId= Field(Integer, primary_key=True)
570
    tagId = Field(Integer, primary_key=True)
571
    startDate = Field(DateTime)
572
    endDate = Field(DateTime)
573
    status = Field(Boolean)
574
    using_options(shortnames=True)
575
    using_table_options(mysql_engine="InnoDB")
576
'''
577
 
11531 vikram.rag 578
class PrivateDeals(Entity):   
579
    item_id = Field(Integer, primary_key=True, autoincrement = False)
580
    dealFreebieItemId =  Field(Integer)
581
    dealPrice = Field(Float)
582
    startDate = Field(DateTime)
583
    endDate = Field(DateTime)
11566 vikram.rag 584
    dealTextOption = Field(Integer)
11531 vikram.rag 585
    dealText = Field(String(500))
586
    isCod =  Field(Boolean)
587
    rank = Field(Integer)
11566 vikram.rag 588
    dealFreebieOption = Field(Integer)
11606 vikram.rag 589
    isActive = Field(Boolean)
13493 amit.gupta 590
    minLot = Field(Integer)
591
    lotDealPrice = Field(Float)
11531 vikram.rag 592
    using_options(shortnames=True)
593
    using_table_options(mysql_engine="InnoDB")
11816 kshitij.so 594
 
595
class AmazonOutOfSync(Entity):
596
    item_id = Field(Integer, primary_key=True, autoincrement = False)
597
    mfn = Field(Boolean)
598
    fba = Field(Boolean)
599
    fbb = Field(Boolean)
600
    using_options(shortnames=True)
601
    using_table_options(mysql_engine="InnoDB")
11531 vikram.rag 602
 
11905 kshitij.so 603
class PrivateDealsPriceComparison(Entity):
604
    item_id= Field(Integer, primary_key=True, autoincrement=False)
12133 kshitij.so 605
    asin = Field(String(20))
606
    fsn = Field(String(20))
607
    supc = Field(String(20))
11905 kshitij.so 608
    sdPrice = Field(Float)
609
    fkPrice  = Field(Float)
610
    amazonPrice = Field(Float)
611
    dealPrice = Field(Float)
612
    saholicPrice = Field(Float)
613
    lastProcessedTimestamp = Field(DateTime)
614
    using_options(shortnames=True)
615
    using_table_options(mysql_engine="InnoDB")
11531 vikram.rag 616
 
12133 kshitij.so 617
class SourceReturnPercentage(Entity):
618
    source = Field(Integer)
619
    brand = Field(String(100))
620
    category_id = Field(Integer)
621
    returnProvision = Field(Float)
622
    using_options(shortnames=True)
623
    using_table_options(mysql_engine="InnoDB")
12256 kshitij.so 624
 
625
class CompetitorPricingRequest(Entity):
626
    requestId = Field(BigInteger, primary_key=True,autoincrement=False)
627
    user = Field(String(50))
628
    isProcessed = Field(Boolean)
629
    competitorPricing = OneToMany("CompetitorPricing")
630
    using_options(shortnames=True)
631
    using_table_options(mysql_engine="InnoDB")
12243 kshitij.so 632
 
633
class CompetitorPricing(Entity):
634
    item_id = Field(Integer)
635
    snapdealScraping = Field(Boolean)
636
    flipkartScraping = Field(Boolean)
637
    amazonScraping = Field(Boolean)
12256 kshitij.so 638
    ourSnapdealPrice = Field(Float)
639
    ourSnapdealOfferPrice = Field(Float)
640
    ourSnapdealInventory = Field(Integer)
12243 kshitij.so 641
    lowestSnapdealPrice = Field(Float)
12256 kshitij.so 642
    lowestSnapdealOfferPrice = Field(Float)
643
    lowestSnapdealSeller = Field(String(255))
644
    lowestSnapdealSellerInventory = Field(Integer)
645
    ourFlipkartPrice = Field(Float)
646
    ourFlipkartInventory = Field(Integer)
12243 kshitij.so 647
    lowestFlipkartPrice = Field(Float)
12256 kshitij.so 648
    lowestFlipkartSeller = Field(String(255))
649
    ourMfnPrice = Field(Float)
650
    ourFbaPrice = Field(Float)
651
    ourMfnInventory = Field(Integer)
652
    ourFbaInventory = Field(Integer)
653
    lowestAmazonPrice = Field(Float)
654
    lowestAmazonSeller = Field(String(255))
655
    competitorPricing = ManyToOne("CompetitorPricingRequest")
12243 kshitij.so 656
    using_options(shortnames=True)
657
    using_table_options(mysql_engine="InnoDB")
12363 kshitij.so 658
 
659
class AmazonPromotion(Entity):
660
    sku = Field(String(20))
661
    standardPrice = Field(Float)
662
    salePrice = Field(Float)
12431 kshitij.so 663
    subsidy = Field(Float)
12363 kshitij.so 664
    startDate = Field(DateTime)
665
    endDate = Field(DateTime)
666
    addedOn = Field(DateTime)
667
    updatedOnMarketplace = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 00:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
668
    promotionActive = Field(Boolean)
669
    stateId = Field(Integer)
670
    promotionType = Field(Integer)
671
    using_options(shortnames=True)
672
    using_table_options(mysql_engine="InnoDB")
12133 kshitij.so 673
 
12363 kshitij.so 674
class AmazonScrapingHistory(Entity):
675
    item_id = Field(Integer, primary_key=True, autoincrement=False)
12472 kshitij.so 676
    asin = Field(String(255))
12363 kshitij.so 677
    warehouseLocation = Field(Integer, primary_key=True, autoincrement=False)
12396 kshitij.so 678
    parentCategoryId = Field(Integer)
12363 kshitij.so 679
    ourSellingPrice = Field(Float)
12474 kshitij.so 680
    promoPrice = Field(Float)
12511 kshitij.so 681
    subsidy = Field(Float)
12363 kshitij.so 682
    lowestPossibleSp = Field(Float)
683
    ourRank = Field(Integer)
684
    ourInventory = Field(Integer)
685
    lowestSellerName = Field(String(255))
686
    lowestSellerSp = Field(Float)
12431 kshitij.so 687
    lowestSellerShippingTime = Field(String(10))
688
    lowestSellerRating = Field(String(10))
689
    lowestSellerType = Field(String(20))
12363 kshitij.so 690
    secondLowestSellerName = Field(String(255))
691
    secondLowestSellerSp = Field(Float)
12431 kshitij.so 692
    secondLowestSellerShippingTime = Field(String(10))
693
    secondLowestSellerRating = Field(String(10))
694
    secondLowestSellerType = Field(String(20))
12363 kshitij.so 695
    thirdLowestSellerName = Field(String(255))
696
    thirdLowestSellerSp = Field(Float)
12431 kshitij.so 697
    thirdLowestSellerShippingTime = Field(String(10))
698
    thirdLowestSellerRating = Field(String(10))
699
    thirdLowestSellerType = Field(String(20))
12363 kshitij.so 700
    competitiveCategory = Field(Integer)
12448 kshitij.so 701
    otherCost = Field(Float)
12597 kshitij.so 702
    isLowestMfnIgnored = Field(Boolean)
703
    lowestMfnIgnoredOffer = Field(Float)
704
    isLowestMfn = Field(Boolean)
705
    lowestMfnOffer = Field(Float)
706
    isLowestFba = Field(Boolean)
707
    lowestFbaOffer = Field(Float)
708
    competitivePrice = Field(Float)
709
    cheapestMfnCount = Field(Boolean)
12363 kshitij.so 710
    wanlc = Field(Float)
711
    commission = Field(Float)
712
    competitorCommission = Field(Float)
713
    returnProvision = Field(Float)
12511 kshitij.so 714
    vatRate = Field(Float)
12363 kshitij.so 715
    courierCost = Field(Float)
716
    risky = Field(Boolean)
717
    runType = Field(Integer)
718
    totalSeller = Field(Integer)
719
    ourEnoughStock = Field(Boolean)
720
    marginIncreasedPotential = Field(Float)
721
    avgSale = Field(Float)
722
    multipleListings = Field(Boolean)
12431 kshitij.so 723
    isPromotion = Field(Boolean)
12363 kshitij.so 724
    proposedSp = Field(Float)
725
    proposedTp = Field(Float)
726
    targetNlc = Field(Float)
727
    decision = Field(Integer)
728
    reason = Field(String(255))
12841 kshitij.so 729
    exceptionType = Field(Integer)
12843 kshitij.so 730
    isNlcOverridden = Field(Boolean)
12363 kshitij.so 731
    timestamp =Field(DateTime, primary_key=True, autoincrement=False)
732
    using_options(shortnames=True)
733
    using_table_options(mysql_engine="InnoDB")
734
 
735
 
12620 amit.gupta 736
class ExclusiveAffiliateItemInfo(Entity):
737
    itemId = Field(Integer, primary_key=True, autoincrement=False)
738
    affiliateId = Field(Integer)
739
    offerText = Field(String(1023))
740
    offerUrl = Field(String(255))
741
    mOfferText = Field(String(1023))
742
    mOfferUrl = Field(String(255))
743
    affiliateSku = Field(String(255))
744
    affiliateUrl = Field(String(255))
745
    addedOn = Field(DateTime)
746
    updatedOn = Field(DateTime)
747
    isActive = Field(Boolean)
748
    using_options(shortnames=True)
749
    using_table_options(mysql_engine="InnoDB")
750
 
751
class OutboundAffiliateMaster(Entity):
752
    id = Field(Integer, primary_key=True, autoincrement=True)
753
    name = Field(String(100))
754
    using_options(shortnames=True)
755
    using_table_options(mysql_engine="InnoDB")
13709 manish.sha 756
 
757
class HsItem(Entity):
758
    hsItemId = Field(String(32), primary_key=True)
759
    itemId = Field(Integer, primary_key=True, autoincrement = False)
760
    hsProductId = Field(String(32))
761
    listingPrice = Field(Float)
762
    defaultWarehouseId = Field(Integer)
763
    addedTimestamp = Field(DateTime)
764
    addedBy = Field(String(100))
765
    using_options(shortnames=True)
766
    using_table_options(mysql_engine="InnoDB")
12620 amit.gupta 767
 
3187 rajveer 768
def initialize(dbname='catalog', db_hostname="localhost"):
746 rajveer 769
    #metadata.bind = "sqlite:///inventory-new.sqlite" #need to read it from configserver.
1122 chandransh 770
    #metadata.bind = 'mysql://root:shop2020@localhost/catalog'
6532 amit.gupta 771
    cengine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200)
772
    metadata.bind = cengine
13034 amit.gupta 773
    metadata.bind.echo = False
94 ashish 774
    setup_all(True)
115 ashish 775
 
776
if __name__=="__main__":
9242 kshitij.so 777
    initialize()