Example #1
0
 def POST(self):
     data = web.input()
     item_id = data.get('item_id', '')
     add_price = int(data.get('add_price', 10))
     if not item_id:
         return error(QFRET.PARAMERR, '未传商品信息')
     ritem_price = RedisString(REDIS_AUCTION_PREFIX % item_id, redis_client)
     current_price = ritem_price.get_number()
     item_dict = mongo_auction.item.find_one({'_id': ObjectId(item_id)})
     if not current_price:
         current_price = int(item_dict.get('init_price', 10))
         ritem_price.set(current_price)
     final_price = current_price + add_price
     # Redis 计入当前累加价格
     ritem_price.incrby(add_price)
     # Mongo 记录拍卖记录
     timenow = datetime.datetime.now()
     mongo_auction.auction_record.insert(dict(
         item_id=item_dict.get('_id'),
         bidders=self.user_id,
         owner=item_dict.get('user_id'),
         price=final_price,
         created=timenow,
     ))
     ret = {'price': final_price}
     return success(ret)
Example #2
0
    def GET(self, item_id):
        if not item_id:
            return render.error('未传商品ID')
        if not len(item_id) == 24:
            return render.error('商品ID格式不正确')
        item_dict = mongo_auction.item.find_one({'_id': ObjectId(item_id)})
        if not item_dict:
            return render.error('没有找到拍卖商品')
        status = item_dict.get('status', 1)
        if status == 2:
            return render.error('对不起,商品已经 拍定 卖出啦')
        if status == 0:
            return render.error('对不起,商品被卖家撤回,不再拍卖')
        ritem_price = RedisString(REDIS_AUCTION_PREFIX % item_id, redis_client)
        current_price = ritem_price.get_number()
        if not current_price:
            current_price = int(item_dict.get('init_price', 10))
        item_dict['current_price'] = current_price
        ritem_price.set(current_price)

        # print item_dict
        # print type(item_dict)
        return render.item(item_dict)
Example #3
0
 def POST(self):
     data = web.input()
     pname = data.get('pname')
     pv_obj = RedisString(REDIS_PV_PREFIX % pname, redis_client)
     num = pv_obj.incrby()
     return success({'num': num})
Example #4
0
def generate_sessionid(user_id):
    sessionid = str(uuid.uuid4())
    redis_session = RedisString(SESSION_PREFIX % sessionid, redis_client)
    redis_session.set(user_id)
    return sessionid