示例#1
0
def order_invoice(request):
    p = {}
    p['code'] = 0
    if request.method != 'GET':
        p['msg'] = 'Only POSTs are allowed'
        return HttpResponse(json.dumps(p), content_type="application/json")
    cds = request.GET
    user_id = cds.get('user_id', '')
    invoi = NewOrder.objects.filter(order_pay_status=20)
    if user_id:
        p['code'] = 1
        p['msg'] = 'request success'
        p['data'] = []
        for inv in invoi.filter(order_userid=user_id).order_by('-id'):
            p['data'].append(output_invoice(inv))

        return HttpResponse(json.dumps(p), content_type="application/json")
    phone = cds.get('phone', '')
    order_number = cds.get('order_number', '')
    if phone:
        invoi += invoi.filter(order_tel=phone)
    if order_number:
        invoi += invoi.filter(order_number=order_number)
    if phone or order_number:
        p['code'] = 1
        p['msg'] = 'request success'
        p['data'] = []
        p['event'] = []
        p['order'] = []
        for inv in invoi.filter(user__id=user_id).order_by('-id'):
            NewOrder.objects
            state = 0
            if invoi.invoicerecord_set.count() > 0:
                try:
                    ce = invoi.invoicerecord_set.all()[0]
                    state = ce.state
                except:
                    pass

            p['data'].append({
                'event': getevent(inv.event_id),
                'order': output_order(inv),
                'state': state,
                'money': float(inv.order_totalpay)
            })
            p['order'].append(output_order(inv))
            p['event'].append(getevent(inv.event_id))
        return HttpResponse(json.dumps(p), content_type="application/json")
示例#2
0
def search_geo(request):
    var = {}
    var['code'] = 1
    var['msg'] = ''
    var['list'] = []
    lat = request.GET.get('lat')
    lon = request.GET.get('lon')
    kw = request.GET.get('keywords', '')
    radius = float(request.GET.get('rad', 10000.))

    (page, offset) = getPageAndOffset(request.GET)
    start = (page - 1) * offset
    end = page * offset

    if kw:
        kw = re.sub(r'[-~!@#$%^&*()_=+\[\]{};\':",.<>/?]+', ' ', kw)
    kw = '|'.join(kw.split())

    if lat and lon:
        lat = math.radians(float(lat))
        lon = math.radians(float(lon))
        ids = search_dis(lat, lon, kw, radius)
        var['list'] = [
            getevent(old_id, request.GET.get('new', False),
                     request.GET.get('version', ''))
            for old_id in ids[start:end]
        ]
    else:
        var['msg'] = u'没有经纬度'

    return HttpResponse(json.dumps(var), content_type="application/json")
示例#3
0
def search_geo(request):
    var = {}
    var['code'] = 1
    var['msg'] = ''
    var['list'] = []
    lat = request.GET.get('lat')
    lon = request.GET.get('lon')
    kw = request.GET.get('keywords', '')
    radius = float(request.GET.get('rad', 10000.))

    (page,offset) = getPageAndOffset(request.GET)
    start = (page-1)*offset
    end = page*offset

    if kw:
        kw = re.sub(r'[-~!@#$%^&*()_=+\[\]{};\':",.<>/?]+', ' ', kw)
    kw = '|'.join(kw.split())

    if lat and lon:
        lat = math.radians(float(lat))
        lon = math.radians(float(lon))
        ids = search_dis(lat, lon, kw, radius)
        var['list'] = [getevent(old_id,
                                request.GET.get('new',False),
                                request.GET.get('version',''))
                                for old_id in ids[start:end]]
    else:
        var['msg'] = u'没有经纬度'

    return HttpResponse(json.dumps(var), content_type="application/json")
示例#4
0
def order_invoice(request):
    p={}
    p['code']=0   
    if request.method != 'GET':
        p['msg']='Only POSTs are allowed'
        return HttpResponse(json.dumps(p), content_type="application/json")
    cds = request.GET
    user_id = cds.get('user_id','')
    invoi=NewOrder.objects.filter(order_pay_status = 20)
    if user_id:
        p['code']=1
        p['msg']='request success'
        p['data']=[]
        for inv in invoi.filter(order_userid=user_id).order_by('-id'):
            p['data'].append(output_invoice(inv))
            
        return HttpResponse(json.dumps(p), content_type="application/json")
    phone = cds.get('phone','')
    order_number = cds.get('order_number','')
    if phone:
        invoi+=invoi.filter(order_tel=phone)
    if order_number:
        invoi+=invoi.filter(order_number=order_number)
    if phone or order_number:
        p['code']=1
        p['msg']='request success'
        p['data']=[]
        p['event']=[]
        p['order']=[]
        for inv in invoi.filter(user__id=user_id).order_by('-id'):
            NewOrder.objects
            state=0
            if invoi.invoicerecord_set.count()>0:
                try:
                    ce=invoi.invoicerecord_set.all()[0]
                    state=ce.state
                except:
                    pass
            
            p['data'].append({'event':getevent(inv.event_id),'order':output_order(inv),'state':state,'money':float(inv.order_totalpay)})
            p['order'].append(output_order(inv))
            p['event'].append(getevent(inv.event_id))
        return HttpResponse(json.dumps(p), content_type="application/json") 
示例#5
0
def SearchKey(request):
    cds = request.GET
    keyword = cds.get('keywords',None)
    cityid = cds.get('city',None)
    p={}
    p['code']=1

    p['cat']=getcat(4)
    p['city']=getCity()
    if not keyword:
        p['msg']='keyword Fail'
        return HttpResponse(json.dumps(p), content_type="application/json")
    if len(keyword) > 20:
        p['msg']='keyword Fail'
        return HttpResponse(json.dumps(p), content_type="application/json")
    else:
        #events_lis = mc.get(keyword+'_search_lis')
        keyword= keyword.replace('/',' ')
        keyword= keyword.replace(',',' ')
        events_lis = cache.get('_'.join(keyword.split())+'_search_lis')
            
        p['code']=1
        p['msg']='Request is successful'
        p['keys']=keyword
        p['list'] =[]

        if not events_lis:
            ids=[]
            for key in keyword.split():
                ids.extend(search(key))
            if ids:
                
                try:
                    tag=NewEventTag.objects.get(name=keyword)
                    tag.hot=tag.hot+1
                    tag.save()
                except:
                    try:
                        NewEventTag.objects.create(name=keyword,hot=1)
                    except:
                        pass
                
                
                cache.set('_'.join(keyword.split())+'_search_lis',events_lis,300)
                events_lis = feelnum.objects.filter(event__old_event__in = ids)#.order_by('district_id='+str(district_id),'event_begin_time')
                
                if cityid:
                    try:
                        events_lis = events_lis.filter(event__city__in=cityid.split(','))
                    except:
                        pass
                p['list'] = [getevent(item.event.old_event_id) for item in events_lis[0:10]]
 
    response = json.dumps(p)
    return HttpResponse(response, mimetype="application/json")
示例#6
0
def EventInfoApi(request):
    if request.method != 'GET':
        return HttpResponse(json.dumps({"code":0,"msg":"Only GETs are allowed","list":[]}), content_type="application/json")
    cds = request.GET 
    eventid = cds.get('eventid',None)
    p={}
    p['code']=1
    p['msg']='Request is successful'
    p['data']=getevent(eventid,cds.get('new',False),cds.get('version',''))
    response = json.dumps(p)
    return HttpResponse(response, mimetype="application/json")
示例#7
0
def EventInfoApi(request):
    if request.method != 'GET':
        return HttpResponse(json.dumps({"code":0,"msg":"Only GETs are allowed","list":[]}), content_type="application/json")
    cds = request.GET 
    eventid = cds.get('eventid',None)
    p={}
    p['code']=1
    p['msg']='Request is successful'
    # always use the newest version:for now, it is v1.2
    p['data']=getevent(eventid,cds.get('new',False), '1.2')
    p['data']=test_xml(eventid)
    response = json.dumps(p)
    return HttpResponse(response, mimetype="application/json")
示例#8
0
def searchOrder(request):
    cds = request.GET
    key = cds.get('key')
    order_list = []
    data = cds['data']
    if key == 'user_id':
        order_list = NewOrder.objects.filter(order_userid=int(data))
    elif key == 'phone':
        order_list = NewOrder.objects.filter(order_tel=data)
    elif key == 'order_number':
        order_list = NewOrder.objects.filter(order_number=data)
    else:
        return HttpResponse(json.dumps({
            "code": 0,
            "msg": 'key error'
        }),
                            content_type="application/json")

    list = []

    for item in order_list.order_by('-order_addtime'):
        order_pay_status = "未付款"
        if item.order_pay_status == 20:
            order_pay_status = '已付款'
        elif item.order_pay_status == 30:
            order_pay_status = '退款'
        else:
            pass

        order_status = '未处理'
        if item.order_status == 10:
            order_status = '正在处理'
        dicOrder = {
            'price': float(item.order_price),
            'order_id': item.order_number,
            'user_id': item.order_userid,
            'addtime': item.order_addtime,
            'name': item.order_user_name,
            'phone': item.order_tel,
            'address': item.order_address,
            'message': item.order_text,
            "total": float(item.order_totalpay),
            "amount": item.order_amount,
            "order_pay_status": order_pay_status,
            "order_status": order_status,
        }
        event = getevent(item.event_id)
        list.append({'order': dicOrder, 'event': event})
    res = {'code': 1, 'message': 'request success', 'list': list}
    return HttpResponse(json.dumps(res), content_type="application/json")
示例#9
0
def searchOrder(request):
    cds = request.GET
    key = cds.get('key')
    order_list = []
    data = cds['data'] 
    if key == 'user_id':
        order_list = NewOrder.objects.filter(order_userid = int(data))
    elif key == 'phone':
        order_list = NewOrder.objects.filter(order_tel = data)
    elif key == 'order_number':
        order_list = NewOrder.objects.filter(order_number = data)
    else:
        return HttpResponse(json.dumps({"code":0,"msg":'key error'}), content_type="application/json")
    
    list = []

    for item in order_list.order_by('-order_addtime'):
        order_pay_status="未付款"
        if item.order_pay_status == 20:
            order_pay_status = '已付款'
        elif item.order_pay_status == 30:
            order_pay_status = '退款'
        else:
            pass 
        
        order_status = '未处理'
        if item.order_status == 10:
            order_status = '正在处理'
        dicOrder = {
        'price':float(item.order_price),
        'order_id':item.order_number,
        'user_id':item.order_userid,
        'addtime':item.order_addtime,
        'name':item.order_user_name,
        'phone':item.order_tel,
        'address':item.order_address,
        'message':item.order_text,
        "total":float(item.order_totalpay),
        "amount":item.order_amount,
        "order_pay_status":order_pay_status,
        "order_status":order_status,
        }
        event =getevent(item.event_id)
        list.append({'order':dicOrder,'event':event})
    res = {'code':1,'message':'request success','list':list}
    return HttpResponse(json.dumps(res), content_type="application/json")
示例#10
0
文件: views.py 项目: sureboy/xiaorizi
def get_event_format(c):
    r = dict()
    r['id'] = c.id
    # 映射 2 -> 0  别问我0怎么办,废了
    r['coupon_type'] = 0 if c.coupon_type == 2 else c.coupon_type 
    r['coupon_value'] = c.coupon_value
    r['start_time'] =datetime.datetime.strftime(c.begin_time,'%Y-%m-%d') if c.begin_time else '' 
    r['end_time'] =datetime.datetime.strftime(c.end_time,'%Y-%m-%d') if c.end_time else ''  
    r['is_general'] = c.is_general
    r['range_comment'] = c.range_comment if c.range_comment else 0
    r['cost_threshold'] = c.cost_threshold if c.cost_threshold else 0
    if c.is_general:
        return r
    events= list()
    for event in c.for_events.all():
        ev_r={}
        ev_r=r
        ev_r['event']=getevent(event.old_event_id)
        
        events.append(ev_r)
    return events
示例#11
0
def find_user_collect(request,userid):
    if not userid:
        return {'code':-1,'message':'没有用户id'}
    try: 
        
        
        #u=UserInfo.objects.get(user_id=int(userid))
        arr={'code':1,'message':'查询成功'}
        #arr['list']=[];
        cds = request.GET
        (page,offset) = getPageAndOffset(cds)
        #event_id_u=[]
        arr['list']=[]
        for bm in UserInfoEvent.objects.filter(userinfo_id=userid).order_by('-id')[offset*(page-1):offset*page]:
            #event_id_u.append(bm.sysspotevent_id)
            try:
                arr['list'].append(getevent(bm.sysspotevent_id))
            except:
                pass
            #arr['list']=[eventDic(item) for item in NewEventTable.objects.get(old_event_id=bm.sysspotevent_id)[offset*(page-1):offset*page]]
        
        return arr
    except:
        return {'code':1,'message':'无数据'}
示例#12
0
def DateApi(request):
    p={}
    p['code']=1
    p['msg']='Request is successful'    
    p['list']=[]
    cds = request.GET
    date = cds.get('date',None)
    try:
        day = int(cds.get('day',10))
    except:
        p['code']=0
        p['msg']='url err'
        response = json.dumps(p)
        return HttpResponse(response, mimetype="application/json")
    orders = cds.get('order',None)
    cityid = cds.get('cityid',None)
    price_type = cds.get('price_type',None)
    #random = cds.get('random',None)
    new = cds.get('new',None)
    if not date:
        date=datetime.date.today()
    else:
        try:
            date=datetime.datetime.strptime( date, "%Y-%m-%d").date()
        except:            
            try:
                date = time.strptime(date,"%Y-%m-%d %H:%M:%S")
                date=datetime.datetime(* date[:6])
            except:
                date=datetime.date.today()
         
    oneday = datetime.timedelta(days=1)
    


    for da in range(day):        
        info={}
        info['daytitle']=''
        info['events']=[]
        
        if cityid:
            fe0 = feelnum.objects.filter(event__city=cityid)
        else:
            fe0 = feelnum.objects
        
        fe=fe0.filter(showtime=date).order_by('-feelnum').distinct()


        if not fe.count():
            if orders:
                fe1=fe0.filter(showtime__lt=date).order_by('-showtime')
            else:
                fe1=fe0.filter(showtime__gt=date).order_by('showtime')
            #fe1.query.group_by=['showtime']
            try:
                date=fe1[0].showtime
                
                fe=fe0.filter(showtime=date).order_by('-feelnum').distinct()
            except:
                break
        
        info['date']=datetime.datetime.strftime(date,'%Y-%m-%d')
        if orders:
            date=date-oneday
        else:
            date=date+oneday
 
           
        #info['count']=fe.count()
        
        for ev in fe:
            event=getevent(ev.event.old_event_id,new,cds.get('version',''))
            info['events'].append(event)
            if not info['daytitle']:
                info['daytitle']=event['feeltitle'] if event['feeltitle'] else ''
        #cou=len(info['events'])    


            
            

        
        if da==0 and '1.2' in cds.get('version',''):
            info['events'].append(getevent(245504,new,cds.get('version','')))
        p['list'].append(info)
        #p['category']=getcat()           

        p['newdate']=datetime.datetime.strftime(date,'%Y-%m-%d')

        
        
    response = json.dumps(p)
    return HttpResponse(response, mimetype="application/json")
示例#13
0
def submitOrder_with_coupon(request, coupon_record):
    if request.method != 'GET':
        return HttpResponse(json.dumps({"code":0,"msg":"Only GETs are allowed","list":[]}), content_type="application/json")

    cds = request.GET
    price =cds['price']
    price = round( float(price),2)
    eventId = int(cds['eventid'])
    event=NewAppEvent(None,eventId)
    '''
    pr_ok=False
    for i in range(len(event['price_unit_info'])):
        pr1=round(float(event['price_unit_info'][i]['price'])*float(event['price_unit_info'][i]['discount']),1)
        if price  is pr1:
            pr_ok=True
            break
    if not pr_ok:
        return HttpResponse(json.dumps({"code":0,"msg":"price is wrong %s,%s" % (price,pr1),"list":[]}), content_type="application/json")

    '''

    import random
    number = '%s%s'%(int(time.time()),random.randint(100,1000))
    if int(cds['amount']) < 1:
        return HttpResponse(json.dumps({"code":0,"msg":"amount must be bigger than 1","list":[]}), content_type="application/json")
    totalpay = float(price)*int(cds['amount'])
    #print cds['payMode']

    # 使用了优惠券
    totalpay = coupon_record.cost

    if request.META.has_key('HTTP_X_FORWARDED_FOR'):
        ip =  request.META['HTTP_X_FORWARDED_FOR']
    else:
        ip = request.META['REMOTE_ADDR']
    userid = cds.get('userid')
    if not userid:
        userid = 0
    else:
        userid = int(userid)
    try:
        NewOrder.objects.create(
                                order_number=number,
                                order_user_name=cds.get('name',''),
                                order_tel = cds.get('phone',''),
                                order_email = cds.get('email',''),
                                order_totalpay = totalpay,
                                order_price = float(price),
                                order_amount = cds['amount'],
                                order_address = cds.get('address',''),
                                order_payment = 'alipay',
                                order_telphone = cds.get('phone',''),
                                order_pay_status = 0,
                                order_status = 0,
                                event_id = eventId,
                                event_name = event['title'],
                                city_title = event['district_name'],
                                order_reg_fields = 0,
                                order_addtime = time.time(),
                                order_addip = ip,
                                order_text = cds.get('message',''),
                                order_userid = userid,
                                event_to=4,
                                )
    except:
        return HttpResponse(json.dumps({"code":0,"msg":"err","list":[]}), content_type="application/json")

    subject = '来自闲时app的订单通知.客户:%s,电话:%s'%(cds.get('name','').encode('utf-8'),cds.get('mobilphone','').encode('utf-8'))
    content = '点单号:%s\n总价:%s\n活动链接:http://www.huodongjia.com/event-%s.html'%(number,totalpay,eventId)
    content += dic2text(cds)
    sendMail(subject,content)
    order = {
    'price':price,
    'order_id':number,
    'user_id':cds.get('userid',''),
    'addtime':int(time.time()),
    'name':cds.get('name',u'匿名'),
    'phone':cds['phone'],
    'address':cds.get('address',''),
    'message':cds.get('message',''),
    "total":totalpay,
    "amount":cds['amount'],
    "order_pay_status":u"未付款",
    "order_status":u"未处理",
    }

    # 记录order_number
    coupon_record.order_id = number
    coupon_record.save()

    eventdic = getevent(eventId)
    return HttpResponse(json.dumps({"code":1,"msg":u"下单成功","data":{'order':order,'event':eventdic}}), content_type="application/json")
示例#14
0
def DateApiT(request):
    p={}
    p['code']=1
    p['msg']='Request is successful'
    p['list']=[]
    cds = request.GET
    date = cds.get('date',None)
    try:
        day = int(cds.get('day',10))
    except:
        p['code']=0
        p['msg']='url err'
        response = json.dumps(p)
        return HttpResponse(response, mimetype="application/json")
    orders = cds.get('order',None)
    cityid = cds.get('cityid',None)
    price_type = cds.get('price_type',None)
    #random = cds.get('random',None)
    new = cds.get('new',None)
    if not date:
        date=datetime.date.today()
    else:
        try:
            date=datetime.datetime.strptime( date, "%Y-%m-%d").date()
        except:
            try:
                date = time.strptime(date,"%Y-%m-%d %H:%M:%S")
                date=datetime.datetime(* date[:6])
            except:
                date=datetime.date.today()

    oneday = datetime.timedelta(days=1)



    for da in range(day):
        info={}

        fe0 = get_time_line(0, city_id = cityid, new = False)

        fe = []
        date_str = datetime.datetime.strftime(date, '%Y-%m-%d')
        if fe0.has_key(date_str):
            fe = fe0[date_str]

        if not fe:
            date_str_list = []
            for cur_date_str in fe0.keys():
                cur_date = datetime.datetime.strptime(cur_date_str, "%Y-%m-%d").date()
                if orders:
                    if cur_date < date:
                        date_str_list.append(cur_date_str)
                else:
                    if cur_date > date:
                        date_str_list.append(cur_date_str)
            if orders:
                date_str_list.sort(reverse=True)
            else:
                date_str_list.sort()

            try:
                candidate_date_str = date_str_list[0]

                fe = fe0[candidate_date_str]
            except IndexError:
                break

        info = fe[0]
        info['events'] = []

        if orders:
            date=date-oneday
        else:
            date=date+oneday

        for ev in fe:
            event = getevent(ev['id'], new, cds.get('version',''))
            info['events'].append(event)

        if da==0 and '1.2' in cds.get('version',''):
            info['events'].append(getevent(245504,new,cds.get('version','')))
        p['list'].append(info)
        p['newdate']=datetime.datetime.strftime(date,'%Y-%m-%d')


    response = json.dumps(p)
    return HttpResponse(response, mimetype="application/json")
示例#15
0
def SearchKey(request):
    cds = request.GET
    keyword = cds.get('keywords',None)
    cityid = cds.get('city',None)
    p={}
    p['code']=1

    p['cat']=getcat(4)
    p['city']=getCity()
    (page,offset) = getPageAndOffset(cds)
    start = (page-1)*offset
    end = page*offset
    if not keyword and not cityid:
        p['msg']='keyword Fail'
        return HttpResponse(json.dumps(p), content_type="application/json")
    if len(keyword) > 20:
        p['msg']='keyword Fail'
        return HttpResponse(json.dumps(p), content_type="application/json")
    else:
        #events_lis = mc.get(keyword+'_search_lis')
        keyword= keyword.replace('/',' ')
        keyword= keyword.replace(',',' ')
        events = cache.get('_'.join(keyword.split())+'_search_lis_life')
            
        p['code']=1
        p['msg']='Request is successful'
        p['keys']=keyword
        p['ids']=[]
        p['list'] =[]
        if not events:
                
            events_lis=feelnum.objects.filter(event__end_time__gt=datetime.date.today()).filter( event__isshow__in=(1,8)).order_by('feelnum')
            if keyword:
                or_queries=[]
                for se in keyword.split():
                    or_queries += [models.Q(**{orm_lookup: se})
                      for orm_lookup in ['event__fname__icontains','event__search__icontains']]
                #arg+=[Q(address__icontains=qu)|Q(title__icontains=qu)|Q(city__district_name__icontains=qu)] 
                if or_queries:
                    
                    events_lis = events_lis.filter(reduce(operator.or_, or_queries))   
                    
            if cityid:
                try:
                    events_lis = events_lis.filter(event__city__in=cityid.split(','))
                except:
                    pass
            events = [item.event.old_event_id  for item in events_lis]
            cache.set('_'.join(keyword.split())+'_search_lis_life',events,300)
        p['list'] = [getevent(item,cds.get('new',False),cds.get('version','')) for item in events[start:end]]
        '''
        if not events_lis:
            ids=[]
            for key in keyword.split():
                ids.extend(search(key))
            if ids:
                p['ids']=ids
                try:
                    tag=NewEventTag.objects.get(name=keyword)
                    tag.hot=tag.hot+1
                    tag.save()
                except:
                    try:
                        NewEventTag.objects.create(name=keyword,hot=1)
                    except:
                        pass
             
                cache.set('_'.join(keyword.split())+'_search_lis_life',events_lis,300)
                events_lis = NewEventTable.objects.filter(event__old_event__in = ids)#.order_by('district_id='+str(district_id),'event_begin_time')
                
                if cityid:
                    try:
                        events_lis = events_lis.filter(event__city__in=cityid.split(','))
                    except:
                        pass
                NewAppEvent(None,id,cds.get('new',False))
                p['list'] = [getevent(item.event.old_event_id,cds.get('new',False),cds.get('version','')) for item in events_lis[0:10]]
            '''
    response = json.dumps(p)
    return HttpResponse(response, mimetype="application/json")
示例#16
0
def SearchKey(request):
    cds = request.GET
    keyword = cds.get('keywords', None)
    cityid = cds.get('city', None)
    p = {}
    p['code'] = 1

    p['cat'] = getcat(4)
    p['city'] = getCity()
    (page, offset) = getPageAndOffset(cds)
    start = (page - 1) * offset
    end = page * offset
    if not keyword and not cityid:
        p['msg'] = 'keyword Fail'
        return HttpResponse(json.dumps(p), content_type="application/json")
    if len(keyword) > 20:
        p['msg'] = 'keyword Fail'
        return HttpResponse(json.dumps(p), content_type="application/json")
    else:
        #events_lis = mc.get(keyword+'_search_lis')
        keyword = keyword.replace('/', ' ')
        keyword = keyword.replace(',', ' ')
        events = cache.get('_'.join(keyword.split()) + '_search_lis_life')

        p['code'] = 1
        p['msg'] = 'Request is successful'
        p['keys'] = keyword
        p['ids'] = []
        p['list'] = []
        if not events:

            events_lis = feelnum.objects.filter(
                event__end_time__gt=datetime.date.today()).filter(
                    event__isshow__in=(1, 8)).order_by('feelnum')
            if keyword:
                or_queries = []
                for se in keyword.split():
                    or_queries += [
                        models.Q(**{orm_lookup: se}) for orm_lookup in [
                            'event__fname__icontains',
                            'event__search__icontains'
                        ]
                    ]
                #arg+=[Q(address__icontains=qu)|Q(title__icontains=qu)|Q(city__district_name__icontains=qu)]
                if or_queries:

                    events_lis = events_lis.filter(
                        reduce(operator.or_, or_queries))

            if cityid:
                try:
                    events_lis = events_lis.filter(
                        event__city__in=cityid.split(','))
                except:
                    pass
            events = [item.event.old_event_id for item in events_lis]
            cache.set('_'.join(keyword.split()) + '_search_lis_life', events,
                      300)
        p['list'] = [
            getevent(item, cds.get('new', False), cds.get('version', ''))
            for item in events[start:end]
        ]
        '''
        if not events_lis:
            ids=[]
            for key in keyword.split():
                ids.extend(search(key))
            if ids:
                p['ids']=ids
                try:
                    tag=NewEventTag.objects.get(name=keyword)
                    tag.hot=tag.hot+1
                    tag.save()
                except:
                    try:
                        NewEventTag.objects.create(name=keyword,hot=1)
                    except:
                        pass
             
                cache.set('_'.join(keyword.split())+'_search_lis_life',events_lis,300)
                events_lis = NewEventTable.objects.filter(event__old_event__in = ids)#.order_by('district_id='+str(district_id),'event_begin_time')
                
                if cityid:
                    try:
                        events_lis = events_lis.filter(event__city__in=cityid.split(','))
                    except:
                        pass
                NewAppEvent(None,id,cds.get('new',False))
                p['list'] = [getevent(item.event.old_event_id,cds.get('new',False),cds.get('version','')) for item in events_lis[0:10]]
            '''
    response = json.dumps(p)
    return HttpResponse(response, mimetype="application/json")