Subversion Repositories SmartDukaan

Rev

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