Subversion Repositories SmartDukaan

Rev

Rev 17770 | Rev 18150 | 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)
18002 kshitij.so 65
    packQuantity = Field(Integer)
746 rajveer 66
    using_options(shortnames=True)
67
    using_table_options(mysql_engine="InnoDB")
103 ashish 68
 
94 ashish 69
    def __repr__(self):
122 ashish 70
        return "<Item>%d</item>" % (self.id)
1308 chandransh 71
 
7330 amit.gupta 72
class ItemVatMaster(Entity):
73
    itemId = Field(Integer, primary_key=True,  autoincrement=False)
74
    stateId = Field(Integer, primary_key=True,  autoincrement=False)
75
    vatPercentage = Field(Float)
76
    using_options(shortnames=True)
77
    using_table_options(mysql_engine="InnoDB")
78
 
79
 
103 ashish 80
class ItemChangeLog(Entity):
122 ashish 81
    id = Field(Integer, primary_key=True, autoincrement=True)
103 ashish 82
    old_status = Field(Integer)
83
    new_status = Field(Integer)
1308 chandransh 84
    timestamp = Field(DateTime)
103 ashish 85
    item = ManyToOne("Item")
746 rajveer 86
    using_options(shortnames=True)
87
    using_table_options(mysql_engine="InnoDB")
94 ashish 88
 
103 ashish 89
    def __repr__(self):
90
        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 91
 
635 rajveer 92
class Category(Entity):
1970 rajveer 93
    id = Field(Integer, primary_key=True, autoincrement=False)
94
    label = Field(String(50))
95
    description = Field(String(200))
96
    parent_category_id = Field(Integer)
4762 phani.kuma 97
    display_name = Field(String(50))
746 rajveer 98
    using_options(shortnames=True)
99
    using_table_options(mysql_engine="InnoDB")
1970 rajveer 100
 
3008 rajveer 101
class SimilarItems(Entity):
102
    item = ManyToOne('Item', primary_key=True)
103
    catalog_item_id = Field(Integer, primary_key=True, autoincrement=False)
104
    using_options(shortnames=True)
105
    using_table_options(mysql_engine="InnoDB")
106
 
3079 rajveer 107
class ProductNotification(Entity):
108
    item = ManyToOne('Item', primary_key=True)
109
    email = Field(String(100), primary_key=True, autoincrement=False)
110
    addedOn = Field(DateTime, primary_key=True, autoincrement=False) 
111
    using_options(shortnames=True)
112
    using_table_options(mysql_engine="InnoDB")
3557 rajveer 113
 
114
class Source(Entity):
115
    id = Field(Integer, primary_key=True, autoincrement=True)
116
    name = Field(String(50))
117
    identifier = Field(String(100))
118
    using_options(shortnames=True)
119
    using_table_options(mysql_engine="InnoDB")
6511 kshitij.so 120
 
3557 rajveer 121
class SourceItemPricing(Entity):
122
    source = ManyToOne('Source', primary_key=True)
123
    item = ManyToOne('Item', primary_key=True)
124
    mrp = Field(Float)
125
    sellingPrice = Field(Float)
126
    using_options(shortnames=True)
127
    using_table_options(mysql_engine="InnoDB")
746 rajveer 128
 
4649 phani.kuma 129
class AuthorizationLog(Entity):
130
    id = Field(Integer, primary_key=True, autoincrement = True)    
131
    timestamp = Field(DateTime, default=datetime.datetime.now())
132
    item = ManyToOne('Item')
133
    username = Field(String(30))
134
    reason = Field(Text)
135
    using_options(shortnames=True)
136
    using_table_options(mysql_engine="InnoDB")
137
 
5504 phani.kuma 138
class VoucherItemMapping(Entity):
5512 rajveer 139
    voucherType = Field(Integer, primary_key=True)
5504 phani.kuma 140
    item = ManyToOne('Item', primary_key=True)
141
    amount = Field(Integer, default=0, server_default="0")
142
    using_options(shortnames=True)
143
    using_table_options(mysql_engine="InnoDB")
144
 
6039 amit.gupta 145
class CategoryVatMaster(Entity):
7330 amit.gupta 146
    categoryId = Field(Integer, primary_key=True, autoincrement=False)
147
    stateId = Field(Integer, primary_key=True, autoincrement=False)
148
    minVal = Field(Integer, primary_key=True,  autoincrement=False)
149
    maxVal = Field(Integer, primary_key=True,  autoincrement=False)
6039 amit.gupta 150
    vatPercent = Field(Float)
151
    using_options(shortnames=True)
152
    using_table_options(mysql_engine="InnoDB")
153
 
6255 rajveer 154
class OOSTracker(Entity):
155
    itemId = Field(Integer, primary_key=True)
156
    using_options(shortnames=True)
157
    using_table_options(mysql_engine="InnoDB")
6532 amit.gupta 158
 
159
class EntityTag(Entity):
160
    tag = Field(String(100),primary_key=True)
161
    entityId = Field(Integer, primary_key=True, autoincrement=False)
162
    using_options(shortnames=True)
163
    using_table_options(mysql_engine="InnoDB")
6848 kshitij.so 164
 
165
class Banner(Entity):
166
    bannerName = Field(String(100),primary_key=True)
167
    imageName = Field(String(100))
168
    link = Field(String(400))
169
    priority = Field(Integer)
170
    hasMap = Field(Boolean)
9156 amit.gupta 171
    bannerType = Field(Integer,primary_key=True, autoincrement=False)
6848 kshitij.so 172
    using_options(shortnames=True)
173
    using_table_options(mysql_engine="InnoDB")
174
 
175
class BannerMap(Entity):
176
    bannerName = Field(String(100))
177
    mapLink = Field(String(400))
178
    coordinates = Field(String(20))
9155 kshitij.so 179
    bannerType = Field(Integer)
6848 kshitij.so 180
    using_options(shortnames=True)
181
    using_table_options(mysql_engine="InnoDB")
8579 kshitij.so 182
 
183
class BannerUriMapping(Entity):
184
    bannerName = Field(String(100))
185
    uri = Field(String(100))
186
    isActive = Field(Boolean)
9155 kshitij.so 187
    bannerType = Field(Integer)
10097 kshitij.so 188
    target = Field(Boolean)
8579 kshitij.so 189
    using_options(shortnames=True)
190
    using_table_options(mysql_engine="InnoDB")
191
 
192
class Campaign(Entity):
193
    id = Field(Integer,primary_key=True)
194
    campaignName = Field(String(255))
195
    imageName = Field(String(255))
196
    using_options(shortnames=True)
197
    using_table_options(mysql_engine="InnoDB")
6255 rajveer 198
 
6805 anupam.sin 199
class ItemInsurerMapping(Entity):
200
    id = Field(Integer, primary_key=True, autoincrement=True)
201
    itemId = Field(Integer)
202
    insurerId = Field(Integer)
203
    premiumType = Field(Integer)
204
    premiumAmount = Field(Float)
9299 kshitij.so 205
    insurerType = Field(Integer)
6805 anupam.sin 206
    using_options(shortnames=True)
207
    using_table_options(mysql_engine="InnoDB")
208
 
209
class Insurer(Entity):
210
    id = Field(Integer, primary_key=True, autoincrement=True)
211
    name = Field(String(255))
212
    address = Field(String(255))
6903 anupam.sin 213
    declaredAmount = Field(BigInteger)
214
    creditedAmount = Field(BigInteger)
9299 kshitij.so 215
    insurerType = Field(Integer)
6805 anupam.sin 216
    using_options(shortnames=True)
217
    using_table_options(mysql_engine="InnoDB")
7190 amar.kumar 218
 
219
class FreebieItem(Entity):
220
    itemId = Field(Integer, primary_key=True)
221
    freebieItemId = Field(Integer)
222
    using_options(shortnames=True)
223
    using_table_options(mysql_engine="InnoDB")
7256 rajveer 224
 
7272 amit.gupta 225
class BrandInfo(Entity):
226
    name = Field(String(255), primary_key=True)
227
    serviceCenterLocatorUrl = Field(String(255))
228
    using_options(shortnames=True)
229
    using_table_options(mysql_engine="InnoDB")
230
 
7256 rajveer 231
class StorePricing(Entity):
232
    item = ManyToOne('Item', primary_key=True)
233
    recommendedPrice = Field(Float)
234
    minPrice = Field(Float)
235
    maxPrice = Field(Float)
236
    minAdvancePrice = Field(Float)
7308 rajveer 237
    freebieItemId = Field(Integer)
7351 rajveer 238
    absoluteMinPrice = Field(Float)
7308 rajveer 239
    bestDealText = Field(String(100))
7256 rajveer 240
    using_options(shortnames=True)
7291 vikram.rag 241
    using_table_options(mysql_engine="InnoDB")    
242
 
7281 kshitij.so 243
class Amazonlisted(Entity):
7396 kshitij.so 244
    itemId = Field(Integer, primary_key=True, autoincrement=False)
7281 kshitij.so 245
    asin = Field(String(255))
246
    name = Field(String(255))
247
    brand = Field(String(255))
248
    model = Field(String(255))
249
    manufacturer_name = Field(String(255))
250
    part_number = Field(String(255))
251
    ean = Field(String(255))
252
    upc = Field(String(255))
253
    fbaPrice = Field(Float)
10909 vikram.rag 254
    fbbPrice = Field(Float)
12888 kshitij.so 255
    fbgPrice = Field(Float)
15687 kshitij.so 256
    fbdPrice = Field(Float)
7281 kshitij.so 257
    sellingPrice = Field(Float)
258
    isFba = Field(Boolean)
259
    isNonFba = Field(Boolean)
10909 vikram.rag 260
    isFbb = Field(Boolean)
12888 kshitij.so 261
    isFbg = Field(Boolean)
15687 kshitij.so 262
    isFbd = Field(Boolean)
7281 kshitij.so 263
    isInventoryOverride = Field(Boolean)
12448 kshitij.so 264
    otherCost = Field(Float, default=0.0, server_default="0.0")
7281 kshitij.so 265
    color = Field(String(255))
266
    category = Field(String(255))
7367 kshitij.so 267
    handlingTime = Field(Integer)
268
    isCustomTime = Field(Boolean)
7516 vikram.rag 269
    category_code = Field(Integer, default=0, server_default="0")
10920 vikram.rag 270
    fbbListedOn = Field(DateTime)
7770 kshitij.so 271
    mfnPriceLastUpdatedOn = Field(DateTime)
272
    fbaPriceLastUpdatedOn = Field(DateTime)
10909 vikram.rag 273
    fbbPriceLastUpdatedOn = Field(DateTime)
12888 kshitij.so 274
    fbgPriceLastUpdatedOn = Field(DateTime)
15687 kshitij.so 275
    fbdPriceLastUpdatedOn = Field(DateTime)
7770 kshitij.so 276
    mfnPriceLastUpdatedOnSc = Field(DateTime)
277
    fbaPriceLastUpdatedOnSc = Field(DateTime)
10909 vikram.rag 278
    fbbPriceLastUpdatedOnSc = Field(DateTime)
12888 kshitij.so 279
    fbgPriceLastUpdatedOnSc = Field(DateTime)
15687 kshitij.so 280
    fbdPriceLastUpdatedOnSc = Field(DateTime)
8139 kshitij.so 281
    suppressMfnPriceUpdate = Field(Boolean)
8140 kshitij.so 282
    suppressFbaPriceUpdate = Field(Boolean)
10909 vikram.rag 283
    suppressFbbPriceUpdate = Field(Boolean)
12888 kshitij.so 284
    suppressFbgPriceUpdate = Field(Boolean)
15687 kshitij.so 285
    suppressFbdPriceUpdate = Field(Boolean)
8619 kshitij.so 286
    taxCode = Field(String(255))
10909 vikram.rag 287
    fbbtaxCode = Field(String(255))
12888 kshitij.so 288
    fbgtaxCode = Field(String(255))
15687 kshitij.so 289
    fbdtaxCode = Field(String(255))
12363 kshitij.so 290
    overrrideWanlc = Field(Boolean)
291
    exceptionalWanlc = Field(Float)
12396 kshitij.so 292
    autoDecrement = Field(Boolean)
293
    autoIncrement = Field(Boolean)
294
    autoFavourite = Field(Boolean)
295
    manualFavourite = Field(Boolean)
12663 kshitij.so 296
    fbaPromoPrice = Field(Float, default=0.0, server_default="0.0")
297
    fbbPromoPrice = Field(Float, default=0.0, server_default="0.0")
12888 kshitij.so 298
    fbgPromoPrice = Field(Float, default=0.0, server_default="0.0")
15687 kshitij.so 299
    fbdPromoPrice = Field(Float, default=0.0, server_default="0.0")
12719 kshitij.so 300
    fbaPromoStartDate = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 00:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
301
    fbaPromoEndDate = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 00:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
302
    fbbPromoStartDate = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 00:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
303
    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 304
    fbgPromoStartDate = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 00:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
305
    fbgPromoEndDate = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 00:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
15687 kshitij.so 306
    fbdPromoStartDate = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 00:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
307
    fbdPromoEndDate = 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 308
    fbaPromotionActive = Field(Boolean)
309
    fbbPromotionActive = Field(Boolean)
12888 kshitij.so 310
    fbgPromotionActive = Field(Boolean)
15687 kshitij.so 311
    fbdPromotionActive = Field(Boolean)
312
    packagingHeight = Field(Float)
313
    packagingLength = Field(Float)
314
    packagingWidth = Field(Float)
315
    packagingWeight = Field(Float)
7281 kshitij.so 316
    using_options(shortnames=True)
317
    using_table_options(mysql_engine="InnoDB")
318
 
7977 kshitij.so 319
class PageViewEvents(Entity):
320
    id = Field(Integer, primary_key=True, autoincrement=True)
8139 kshitij.so 321
    catalogId = Field(Integer,index=True)
322
    url = Field(String(255),index=True)
7977 kshitij.so 323
    sellingPrice = Field(Float)
324
    comingSoon = Field(Boolean)
325
    ip = Field(String(255))
326
    sessionId = Field(String(255))
8139 kshitij.so 327
    eventTimestamp = Field(DateTime,index=True)
7977 kshitij.so 328
    using_options(shortnames=True)
329
    using_table_options(mysql_engine="InnoDB")
330
 
331
class CartEvents(Entity):
332
    id = Field(Integer, primary_key=True, autoincrement=True)
8139 kshitij.so 333
    catalogId = Field(Integer,index=True)
334
    itemId = Field(Integer,index=True)
7977 kshitij.so 335
    sellingPrice = Field(Float)
336
    inStock = Field(Boolean)
337
    comingSoon = Field(Boolean)
338
    ip = Field(String(255))
339
    sessionId = Field(String(255))
8139 kshitij.so 340
    eventTimestamp = Field(DateTime,index=True)
7977 kshitij.so 341
    using_options(shortnames=True)
342
    using_table_options(mysql_engine="InnoDB")
343
 
8182 amar.kumar 344
class EbayItem(Entity):
345
    ebayListingId = Field(String(32), primary_key=True)
346
    itemId = Field(Integer, primary_key=True, autoincrement = False)
347
    listingName = Field(String(255))
348
    listingPrice = Field(Float)
349
    listingExpiryDate = Field(DateTime)
350
    subsidy = Field(Float)
351
    defaultWarehouseId = Field(Integer)
352
    using_options(shortnames=True)
353
    using_table_options(mysql_engine="InnoDB")
8739 vikram.rag 354
 
355
class SnapdealItem(Entity):
356
    item_id = Field(Integer, primary_key=True, autoincrement = False)
357
    exceptionPrice = Field(Float)
358
    warehouseId = Field(Integer)
9242 kshitij.so 359
    transferPrice = Field(Float)
360
    sellingPrice = Field(Float)
361
    courierCost =  Field(Float)
11095 kshitij.so 362
    courierCostMarketplace = Field(Float)
9242 kshitij.so 363
    commission  =  Field(Float)
364
    serviceTax  =  Field(Float)
365
    updatedOn = Field(DateTime)
9404 vikram.rag 366
    maxNlc = Field(Float)
9478 kshitij.so 367
    skuAtSnapdeal = Field(String(255))
9242 kshitij.so 368
    isListedOnSnapdeal = Field(Boolean)
369
    suppressPriceFeed = Field(Boolean)
370
    suppressInventoryFeed = Field(Boolean)
9568 kshitij.so 371
    supc = Field(String(255))
9724 kshitij.so 372
    shippingTime = Field(Integer)
9779 kshitij.so 373
    priceUpdatedBy = Field(String(255))
14780 manish.sha 374
    isVoiListed = Field(Boolean)
375
    voiSellingPrice = Field(Float)
376
    suppressVoiPriceFeed = Field(Boolean)
377
    voiPriceLastUpdatedOn = Field(DateTime)
378
    voiSkuAtSnapdeal = Field(String(255))
379
    minimumPossibleSpVoi = Field(Float)
380
    minimumPossibleTpVoi = Field(Float)
381
    courierCostVoi = Field(Float)
382
    serviceTaxVoi = Field(Float)
383
    transferPriceVoi = Field(Float)
384
    commissionVoi = Field(Float)
14862 manish.sha 385
    courierCostMarketplaceVoi = Field(Float)
386
    commissionPercentageVoi = Field(Float)
8739 vikram.rag 387
    using_options(shortnames=True)
388
    using_table_options(mysql_engine="InnoDB")
9242 kshitij.so 389
 
10097 kshitij.so 390
class MarketPlaceUpdateHistory(Entity):
9242 kshitij.so 391
    id  = Field(Integer, primary_key=True, autoincrement = True)
392
    item_id = Field(Integer)
10097 kshitij.so 393
    source = Field(Integer)
394
    isListedOnSource = Field(Boolean)
9242 kshitij.so 395
    exceptionPrice = Field(Float)
396
    warehouseId = Field(Integer)
397
    transferPrice = Field(Float)
398
    sellingPrice = Field(Float)
399
    courierCost =  Field(Float)
11095 kshitij.so 400
    courierCostMarketplace = Field(Float)
9242 kshitij.so 401
    commission  =  Field(Float)
402
    serviceTax  =  Field(Float)
403
    suppressPriceFeed = Field(Boolean)
404
    suppressInventoryFeed = Field(Boolean)
9478 kshitij.so 405
    maxNlc = Field(Float)
10097 kshitij.so 406
    skuAtSource = Field(String(255))
9242 kshitij.so 407
    updatedOn = Field(DateTime)
10097 kshitij.so 408
    marketPlaceSerialNumber = Field(String(255))
9779 kshitij.so 409
    priceUpdatedBy = Field(String(255))
9242 kshitij.so 410
    using_options(shortnames=True)
411
    using_table_options(mysql_engine="InnoDB")
9724 kshitij.so 412
 
413
class MarketplaceItems(Entity):
414
    itemId = Field(Integer,primary_key=True, autoincrement = False)
415
    source = Field(Integer,primary_key=True, autoincrement = False)
416
    emiFee = Field(Float)
417
    courierCost = Field(Float)
11095 kshitij.so 418
    courierCostMarketplace = Field(Float)
9724 kshitij.so 419
    closingFee = Field(Float)
420
    returnProvision = Field(Float)
421
    commission = Field(Float)
10287 kshitij.so 422
    pgFee = Field(Float)
9724 kshitij.so 423
    vat = Field(Float)
424
    packagingCost = Field(Float)
425
    otherCost = Field(Float)
426
    serviceTax = Field(Float)
427
    autoIncrement = Field(Boolean)
428
    autoDecrement = Field(Boolean)
429
    manualFavourite = Field(Boolean)
430
    autoFavourite = Field(Boolean)
431
    currentSp = Field(Float)
432
    currentTp = Field(Float)
433
    minimumPossibleSp = Field(Float)
434
    minimumPossibleTp = Field(Float)
9909 kshitij.so 435
    maximumSellingPrice = Field(Float)
9724 kshitij.so 436
    lastCheckedTimestamp = Field(DateTime)
437
    using_options(shortnames=True)
438
    using_table_options(mysql_engine="InnoDB")
7977 kshitij.so 439
 
9621 manish.sha 440
class ProductFeedSubmit(Entity):
441
    catalogItemId = Field(Integer, primary_key=True)
442
    stockLinkedFeed = Field(Boolean)
443
    using_options(shortnames=True)
444
    using_table_options(mysql_engine="InnoDB")
9776 vikram.rag 445
 
446
class MarketPlaceItemPrice(Entity):    
447
    item_id = Field(Integer, primary_key=True, autoincrement=False)
448
    source = Field(Integer, primary_key=True, autoincrement=False)
449
    sellingPrice = Field(Float)
450
    lastUpdatedOn = Field(DateTime)
451
    lastUpdatedOnMarketplace = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 15:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
452
    suppressPriceFeed = Field(Boolean)
453
    isListedOnSource =  Field(Boolean)
454
    using_options(shortnames=True)
455
    using_table_options(mysql_engine="InnoDB")
9242 kshitij.so 456
 
9779 kshitij.so 457
class SourcePercentageMaster(Entity):
458
    source = Field(Integer, primary_key=True, autoincrement=False)
459
    emiFee = Field(Float)
460
    closingFee = Field(Float)
461
    returnProvision = Field(Float)
462
    commission = Field(Float)
10287 kshitij.so 463
    pgFee = Field(Float)
9884 kshitij.so 464
    competitorCommissionAccessory = Field(Float)
465
    competitorCommissionOther = Field(Float)
9779 kshitij.so 466
    serviceTax = Field(Float)
467
    using_options(shortnames=True)
468
    using_table_options(mysql_engine="InnoDB")
469
 
470
class SourceItemPercentage(Entity):
471
    item_id = Field(Integer, primary_key=True, autoincrement=False)
472
    source = Field(Integer, primary_key=True, autoincrement=False)
473
    emiFee = Field(Float)
474
    closingFee = Field(Float)
475
    returnProvision = Field(Float)
476
    commission = Field(Float)
10287 kshitij.so 477
    pgFee = Field(Float)
9884 kshitij.so 478
    competitorCommissionAccessory = Field(Float)
479
    competitorCommissionOther = Field(Float)
9779 kshitij.so 480
    serviceTax = Field(Float)
10097 kshitij.so 481
    startDate = Field(DateTime, primary_key=True, autoincrement=False)
482
    expiryDate = Field(DateTime)
9779 kshitij.so 483
    using_options(shortnames=True)
484
    using_table_options(mysql_engine="InnoDB")
485
 
10097 kshitij.so 486
class SourceCategoryPercentage(Entity):
487
    category_id = Field(Integer, primary_key=True, autoincrement=False)
488
    source = Field(Integer, primary_key=True, autoincrement=False)
489
    emiFee = Field(Float)
490
    closingFee = Field(Float)
491
    returnProvision = Field(Float)
492
    commission = Field(Float)
10287 kshitij.so 493
    pgFee = Field(Float)
10097 kshitij.so 494
    competitorCommissionAccessory = Field(Float)
495
    competitorCommissionOther = Field(Float)
496
    serviceTax = Field(Float)
497
    startDate = Field(DateTime, primary_key=True, autoincrement=False)
498
    expiryDate = Field(DateTime)
499
    using_options(shortnames=True)
500
    using_table_options(mysql_engine="InnoDB")
501
 
9884 kshitij.so 502
class MarketPlaceHistory(Entity):
503
    item_id = Field(Integer, primary_key=True, autoincrement=False)
504
    source = Field(Integer, primary_key=True, autoincrement=False)
505
    lowestPossibleTp = Field(Float)
506
    lowestPossibleSp = Field(Float)
507
    ourInventory = Field(Integer)
508
    otherInventory = Field(Integer)
509
    secondLowestInventory = Field(Integer)
510
    ourRank = Field(Integer)
11193 kshitij.so 511
    ourOfferPrice = Field(Float)
512
    ourSellingPrice = Field(Float)
513
    ourTp = Field(Float)
514
    ourNlc = Field(Float)
515
    ourRating = Field(Float)
516
    ourShippingTime = Field(String(10))
9884 kshitij.so 517
    competitionBasis = Field(Integer)
518
    competitiveCategory = Field(Integer)
519
    risky = Field(Boolean)
520
    lowestOfferPrice = Field(Float)
521
    lowestSellingPrice = Field(Float)
11193 kshitij.so 522
    lowestTp = Field(Float)
9884 kshitij.so 523
    lowestSellerName = Field(String(255))
524
    lowestSellerCode = Field(String(255))
11193 kshitij.so 525
    lowestSellerRating = Field(Float)
526
    lowestSellerShippingTime = Field(String(10))
9884 kshitij.so 527
    proposedSellingPrice = Field(Float)
528
    proposedTp = Field(Float)
529
    targetNlc = Field(Float)
530
    salesPotential = Field(Integer)
531
    secondLowestSellerName = Field(String(255))
532
    secondLowestSellerCode = Field(String(255))
533
    secondLowestSellingPrice = Field(Float)
534
    secondLowestOfferPrice = Field(Float)
535
    secondLowestTp = Field(Float)
11193 kshitij.so 536
    secondLowestSellerRating = Field(Float)
537
    secondLowestSellerShippingTime = Field(String(10))
538
    prefferedSellerName = Field(String(255))
539
    prefferedSellerCode = Field(String(255))
540
    prefferedSellerSellingPrice = Field(Float)
541
    prefferedSellerOfferPrice = Field(Float)
542
    prefferedSellerTp = Field(Float)
543
    prefferedSellerRating = Field(Float)
544
    prefferedSellerShippingTime = Field(String(10))
9884 kshitij.so 545
    marginIncreasedPotential = Field(Float)
546
    margin = Field(Float)
547
    competitorEnoughStock = Field(Boolean)
548
    ourEnoughStock = Field(Boolean)
549
    totalSeller = Field(Integer)
550
    avgSales = Field(Float)
551
    decision = Field(Integer)
9909 kshitij.so 552
    reason = Field(String(255))
9949 kshitij.so 553
    run = Field(Integer)
11193 kshitij.so 554
    toGroup = Field(Boolean)
9884 kshitij.so 555
    timestamp =Field(DateTime, primary_key=True, autoincrement=False)
556
    using_options(shortnames=True)
557
    using_table_options(mysql_engine="InnoDB")
11193 kshitij.so 558
 
9884 kshitij.so 559
 
9945 vikram.rag 560
class FlipkartItem(Entity):
561
    item_id = Field(Integer, primary_key=True, autoincrement = False)
562
    exceptionPrice = Field(Float)
563
    warehouseId = Field(Integer)
564
    commissionValue  =  Field(Float)
565
    serviceTaxValue  =  Field(Float)
566
    maxNlc = Field(Float)
567
    skuAtFlipkart = Field(String(255))
568
    isListedOnFlipkart = Field(Boolean)
569
    suppressPriceFeed = Field(Boolean)
570
    suppressInventoryFeed = Field(Boolean)
10097 kshitij.so 571
    flipkartSerialNumber = Field(String(255))
9945 vikram.rag 572
    updatedOn = Field(DateTime)
573
    updatedBy = Field(String(255))
14780 manish.sha 574
    isFaListed = Field(Boolean)
9945 vikram.rag 575
    using_options(shortnames=True)
576
    using_table_options(mysql_engine="InnoDB")
13709 manish.sha 577
 
578
'''    
579
class DealTag(Entity):
580
    id = Field(Integer, primary_key=True, autoincrement = True)
581
    name = Field(String(100))
582
    using_options(shortnames=True)
583
    using_table_options(mysql_engine="InnoDB")
584
 
585
class ItemTag(Entity): 
586
    itemId= Field(Integer, primary_key=True)
587
    tagId = Field(Integer, primary_key=True)
588
    startDate = Field(DateTime)
589
    endDate = Field(DateTime)
590
    status = Field(Boolean)
591
    using_options(shortnames=True)
592
    using_table_options(mysql_engine="InnoDB")
593
'''
594
 
11531 vikram.rag 595
class PrivateDeals(Entity):   
596
    item_id = Field(Integer, primary_key=True, autoincrement = False)
597
    dealFreebieItemId =  Field(Integer)
598
    dealPrice = Field(Float)
599
    startDate = Field(DateTime)
600
    endDate = Field(DateTime)
11566 vikram.rag 601
    dealTextOption = Field(Integer)
11531 vikram.rag 602
    dealText = Field(String(500))
603
    isCod =  Field(Boolean)
604
    rank = Field(Integer)
11566 vikram.rag 605
    dealFreebieOption = Field(Integer)
11606 vikram.rag 606
    isActive = Field(Boolean)
13493 amit.gupta 607
    minLot = Field(Integer)
608
    lotDealPrice = Field(Float)
11531 vikram.rag 609
    using_options(shortnames=True)
610
    using_table_options(mysql_engine="InnoDB")
11816 kshitij.so 611
 
612
class AmazonOutOfSync(Entity):
613
    item_id = Field(Integer, primary_key=True, autoincrement = False)
614
    mfn = Field(Boolean)
615
    fba = Field(Boolean)
616
    fbb = Field(Boolean)
617
    using_options(shortnames=True)
618
    using_table_options(mysql_engine="InnoDB")
11531 vikram.rag 619
 
11905 kshitij.so 620
class PrivateDealsPriceComparison(Entity):
621
    item_id= Field(Integer, primary_key=True, autoincrement=False)
12133 kshitij.so 622
    asin = Field(String(20))
623
    fsn = Field(String(20))
624
    supc = Field(String(20))
11905 kshitij.so 625
    sdPrice = Field(Float)
626
    fkPrice  = Field(Float)
627
    amazonPrice = Field(Float)
628
    dealPrice = Field(Float)
629
    saholicPrice = Field(Float)
630
    lastProcessedTimestamp = Field(DateTime)
631
    using_options(shortnames=True)
632
    using_table_options(mysql_engine="InnoDB")
11531 vikram.rag 633
 
12133 kshitij.so 634
class SourceReturnPercentage(Entity):
635
    source = Field(Integer)
636
    brand = Field(String(100))
637
    category_id = Field(Integer)
638
    returnProvision = Field(Float)
639
    using_options(shortnames=True)
640
    using_table_options(mysql_engine="InnoDB")
12256 kshitij.so 641
 
642
class CompetitorPricingRequest(Entity):
643
    requestId = Field(BigInteger, primary_key=True,autoincrement=False)
644
    user = Field(String(50))
645
    isProcessed = Field(Boolean)
646
    competitorPricing = OneToMany("CompetitorPricing")
647
    using_options(shortnames=True)
648
    using_table_options(mysql_engine="InnoDB")
12243 kshitij.so 649
 
650
class CompetitorPricing(Entity):
651
    item_id = Field(Integer)
652
    snapdealScraping = Field(Boolean)
653
    flipkartScraping = Field(Boolean)
654
    amazonScraping = Field(Boolean)
12256 kshitij.so 655
    ourSnapdealPrice = Field(Float)
656
    ourSnapdealOfferPrice = Field(Float)
657
    ourSnapdealInventory = Field(Integer)
12243 kshitij.so 658
    lowestSnapdealPrice = Field(Float)
12256 kshitij.so 659
    lowestSnapdealOfferPrice = Field(Float)
660
    lowestSnapdealSeller = Field(String(255))
661
    lowestSnapdealSellerInventory = Field(Integer)
662
    ourFlipkartPrice = Field(Float)
663
    ourFlipkartInventory = Field(Integer)
12243 kshitij.so 664
    lowestFlipkartPrice = Field(Float)
12256 kshitij.so 665
    lowestFlipkartSeller = Field(String(255))
15485 kshitij.so 666
    ourAmazonPrice = Field(Float)
12256 kshitij.so 667
    lowestAmazonPrice = Field(Float)
15485 kshitij.so 668
    lowestAmazonSeller = Field(String(255)) 
12256 kshitij.so 669
    competitorPricing = ManyToOne("CompetitorPricingRequest")
12243 kshitij.so 670
    using_options(shortnames=True)
671
    using_table_options(mysql_engine="InnoDB")
12363 kshitij.so 672
 
673
class AmazonPromotion(Entity):
674
    sku = Field(String(20))
675
    standardPrice = Field(Float)
676
    salePrice = Field(Float)
12431 kshitij.so 677
    subsidy = Field(Float)
12363 kshitij.so 678
    startDate = Field(DateTime)
679
    endDate = Field(DateTime)
680
    addedOn = Field(DateTime)
681
    updatedOnMarketplace = Field(DateTime,default = datetime.datetime.strptime('01-01-1970 00:00:00', '%d-%m-%Y %H:%M:%S'),server_default = '1970-01-01')
682
    promotionActive = Field(Boolean)
683
    stateId = Field(Integer)
684
    promotionType = Field(Integer)
685
    using_options(shortnames=True)
686
    using_table_options(mysql_engine="InnoDB")
12133 kshitij.so 687
 
12363 kshitij.so 688
class AmazonScrapingHistory(Entity):
689
    item_id = Field(Integer, primary_key=True, autoincrement=False)
12472 kshitij.so 690
    asin = Field(String(255))
12363 kshitij.so 691
    warehouseLocation = Field(Integer, primary_key=True, autoincrement=False)
12396 kshitij.so 692
    parentCategoryId = Field(Integer)
12363 kshitij.so 693
    ourSellingPrice = Field(Float)
12474 kshitij.so 694
    promoPrice = Field(Float)
12511 kshitij.so 695
    subsidy = Field(Float)
12363 kshitij.so 696
    lowestPossibleSp = Field(Float)
697
    ourRank = Field(Integer)
698
    ourInventory = Field(Integer)
699
    lowestSellerName = Field(String(255))
700
    lowestSellerSp = Field(Float)
12431 kshitij.so 701
    lowestSellerShippingTime = Field(String(10))
702
    lowestSellerRating = Field(String(10))
703
    lowestSellerType = Field(String(20))
12363 kshitij.so 704
    secondLowestSellerName = Field(String(255))
705
    secondLowestSellerSp = Field(Float)
12431 kshitij.so 706
    secondLowestSellerShippingTime = Field(String(10))
707
    secondLowestSellerRating = Field(String(10))
708
    secondLowestSellerType = Field(String(20))
12363 kshitij.so 709
    thirdLowestSellerName = Field(String(255))
710
    thirdLowestSellerSp = Field(Float)
12431 kshitij.so 711
    thirdLowestSellerShippingTime = Field(String(10))
712
    thirdLowestSellerRating = Field(String(10))
713
    thirdLowestSellerType = Field(String(20))
12363 kshitij.so 714
    competitiveCategory = Field(Integer)
12448 kshitij.so 715
    otherCost = Field(Float)
12597 kshitij.so 716
    isLowestMfnIgnored = Field(Boolean)
717
    lowestMfnIgnoredOffer = Field(Float)
718
    isLowestMfn = Field(Boolean)
719
    lowestMfnOffer = Field(Float)
720
    isLowestFba = Field(Boolean)
721
    lowestFbaOffer = Field(Float)
722
    competitivePrice = Field(Float)
723
    cheapestMfnCount = Field(Boolean)
12363 kshitij.so 724
    wanlc = Field(Float)
725
    commission = Field(Float)
726
    competitorCommission = Field(Float)
727
    returnProvision = Field(Float)
12511 kshitij.so 728
    vatRate = Field(Float)
12363 kshitij.so 729
    courierCost = Field(Float)
730
    risky = Field(Boolean)
731
    runType = Field(Integer)
732
    totalSeller = Field(Integer)
733
    ourEnoughStock = Field(Boolean)
734
    marginIncreasedPotential = Field(Float)
735
    avgSale = Field(Float)
736
    multipleListings = Field(Boolean)
12431 kshitij.so 737
    isPromotion = Field(Boolean)
12363 kshitij.so 738
    proposedSp = Field(Float)
739
    proposedTp = Field(Float)
740
    targetNlc = Field(Float)
741
    decision = Field(Integer)
742
    reason = Field(String(255))
12841 kshitij.so 743
    exceptionType = Field(Integer)
12843 kshitij.so 744
    isNlcOverridden = Field(Boolean)
15694 kshitij.so 745
    packagingHeight = Field(Float)
746
    packagingLength = Field(Float)
747
    packagingWidth = Field(Float)
748
    packagingWeight = Field(Float)
749
    isOversized = Field(Boolean)
12363 kshitij.so 750
    timestamp =Field(DateTime, primary_key=True, autoincrement=False)
751
    using_options(shortnames=True)
752
    using_table_options(mysql_engine="InnoDB")
753
 
754
 
12620 amit.gupta 755
class ExclusiveAffiliateItemInfo(Entity):
756
    itemId = Field(Integer, primary_key=True, autoincrement=False)
757
    affiliateId = Field(Integer)
758
    offerText = Field(String(1023))
759
    offerUrl = Field(String(255))
760
    mOfferText = Field(String(1023))
761
    mOfferUrl = Field(String(255))
762
    affiliateSku = Field(String(255))
763
    affiliateUrl = Field(String(255))
764
    addedOn = Field(DateTime)
765
    updatedOn = Field(DateTime)
766
    isActive = Field(Boolean)
767
    using_options(shortnames=True)
768
    using_table_options(mysql_engine="InnoDB")
769
 
770
class OutboundAffiliateMaster(Entity):
771
    id = Field(Integer, primary_key=True, autoincrement=True)
772
    name = Field(String(100))
773
    using_options(shortnames=True)
774
    using_table_options(mysql_engine="InnoDB")
13709 manish.sha 775
 
776
class HsItem(Entity):
777
    hsItemId = Field(String(32), primary_key=True)
778
    itemId = Field(Integer, primary_key=True, autoincrement = False)
779
    hsProductId = Field(String(32))
780
    listingPrice = Field(Float)
781
    defaultWarehouseId = Field(Integer)
782
    addedTimestamp = Field(DateTime)
783
    addedBy = Field(String(100))
784
    using_options(shortnames=True)
785
    using_table_options(mysql_engine="InnoDB")
12620 amit.gupta 786
 
14862 manish.sha 787
class VoiSnapdealItemInfo(Entity):
788
    item_id = Field(Integer, primary_key=True, autoincrement = False)
789
    voiSkuAtSnapdeal = Field(String(255))
790
    sellingPriceSnapdeal = Field(Float)
791
    transferPriceSnapdeal = Field(Float)
792
    fixedMargin = Field(Float)
793
    fixedMarginPercentage = Field(Float)
794
    logisticCostSnapdeal = Field(Float)
795
    woodenPackagingCost = Field(Float)
796
    weightSnapdeal = Field(Float)
797
 
17770 kshitij.so 798
def initialize(dbname='catalog', db_hostname="localhost", setup=True):
746 rajveer 799
    #metadata.bind = "sqlite:///inventory-new.sqlite" #need to read it from configserver.
1122 chandransh 800
    #metadata.bind = 'mysql://root:shop2020@localhost/catalog'
6532 amit.gupta 801
    cengine = create_engine('mysql://root:shop2020@' + db_hostname + '/' + dbname, pool_recycle=7200)
802
    metadata.bind = cengine
14865 manish.sha 803
    metadata.bind.echo = False
17770 kshitij.so 804
    setup_all(setup)
115 ashish 805
 
806
if __name__=="__main__":
9242 kshitij.so 807
    initialize()