def record_handle(request): filter_unsubmitted() records = CmsCheck.objects.filter( Q(status=CheckStatu.WAIT_SUBMIT) | Q(status=CheckStatu.SUBMIT)) result = [] for record in records: try: type, version, channel_no = show_cvt(record.channel_id, record.module) if str(record.status) == CheckStatu.SUBMIT: person = CmsCheck.objects.filter( channel_id=record.channel_id, module=record.module, status=record.status).last().submit_person else: person = "" data = [ get_2array_value(check_status, str(record.status)), person, type, version, channel_no, record.module ] except: continue set_id_into_records(result, data, record.id) result.sort(key=lambda o: (o["record"][0], o["record"][2], o["record"][3], o["record"][4], o["record"][5]), reverse=True) filter_none(result) return HttpResponse(json.dumps(result))
def search_second_category(request): channel = request.GET.get("channel") categories = CmsCategoryItem.objects.filter( cmsviewcategoryitem__channel_id=channel) result = [] for category in categories: scene = get_scene_name(category.scene_id) status_str, status_int = get_check_status_str("CmsCategoryItem", category.id) item = { "group": [ scene, category.sort, category.service.name, category.name, category.name_color, status_str, status_int, category.id ], "members": [] } members = CmsCategoryItembean.objects.filter( cmscategoryitemitembean__category_item=category) for member in members: photoUrl, photo_str, search_show, s_key, search_category, home, weibo = analyze_shop_content( member) status_str, status_int = get_check_status_str( "CmsCategoryItembean", member.id) item["members"].append([ member.item_id, photoUrl, member.name, member.sort, photo_str, search_show, search_category, s_key, member.search_sort, get_valid_time(member.valid_time), get_city_str(member.city), status_str, status_int, member.id ]) item["members"].sort(key=lambda o: (o[3])) result.append(item) filter_none(result) result.sort(key=lambda o: (o["group"][0], o["group"][1])) return HttpResponse(json.dumps(result))
def search_actions(request): per_page = request.GET.get("per_page") if not per_page: per_page = MainConst.PER_PAGE cur_page = request.GET.get("cur_page") if not cur_page: cur_page = 1 key = request.GET.get("key") objs = CmsActions.objects.all() actions = [] for obj in objs: if obj.type == 1: type = "打开特定服务页面" elif obj.type == 2: type = "打开特定链接H5页面" else: type = "" status_str, status_int = get_check_status_str("CmsActions", obj.id) actions.append([ obj.id, obj.dest_title, type, obj.dest_activity, obj.dest_url, obj.cp_info, status_str, status_int, obj.id ]) result = search_key(actions, key, [7, 8]) result, num_pages = get_table_paginator(result, per_page, cur_page) filter_none(result) return HttpResponse(json.dumps([list(result), num_pages]))
def search_ads(request): channel = request.GET.get("channel") ads = CmsAds.objects.filter(cmsviewad__channel__id=channel) result = [] for ad in ads: status_str, status_int = get_check_status_str("CmsAds", ad.id) item = { "ad": [ get_scene_name(ad.scene_id), ad.location, get_2array_value(ad_size, ad.size), get_2array_value(ad_type, ad.type), status_str, status_int, ad.id ], "beans": [] } beans = CmsAdbeans.objects.filter(cmsadsbeans__ad=ad) for bean in beans: status_str, status_int = get_check_status_str( "CmsAdbeans", bean.id) item["beans"].append([ bean.img_url, bean.name, bean.location, bean.action_id, get_valid_time(bean.valid_time), get_city_str(bean.city), bean.phone_type, status_str, status_int, bean.id ]) result.append(item) filter_none(result) return HttpResponse(json.dumps(result))
def get_second_category(request): id = request.GET.get("id") category = CmsNavicategories.objects.get(id=id).category categories = CmsNaviCategory.objects.filter( fatherid=category.id, parent_id=0).order_by("name").values_list('id', 'name', 'memo') result = list(categories) filter_none(result) return HttpResponse(json.dumps(result))
def search_activities(request): channel_id = request.GET.get('channel') objs = CmsActivities.objects.filter(cmsviewactivity__channel_id=channel_id) result = [] for obj in objs: status_str, status_int = get_check_status_str("CmsActivities", obj.id) result.append([ get_scene_name(obj.scene_id), obj.location, obj.url, get_2array_value(open_type, obj.open_type), get_valid_time(obj.valid_time), get_city_str(obj.city), status_str, status_int, obj.id ]) result.sort(key=lambda o: (o[0], o[1])) filter_none(result) return HttpResponse(json.dumps(result))
def search_services(request): channel_id = request.GET.get('channel') objs = CmsOpenService.objects.filter( cmsviewopenservice__channel_id=channel_id).order_by('-id') result = [] distribute_dic = {"0": "无条件", "1": "时间条件", "2": "地狱条件"} for obj in objs: distribute = distribute_dic[str(obj.distribute)] result.append([ obj.id, obj.action_id, obj.show_name, obj.icon, "不限" if obj.city == "*" else obj.city, distribute ]) # result.sort(key=lambda o: (o[0], o[1])) filter_none(result) return HttpResponse(json.dumps(result))
def search_coupons(request): channel_id = request.GET.get('channel') objs = CmsCoupon.objects.filter(cmsviewcoupon__channel_id=channel_id) result = [] for obj in objs: scene_name = get_scene_name(obj.scene_id) status_str, status_int = get_check_status_str("CmsCoupon", obj.id) result.append([ scene_name, obj.location, obj.name, obj.url, get_valid_time(obj.valid_time), get_city_str(obj.city), status_str, status_int, obj.id ]) result.sort(key=lambda o: (o[0], o[1])) filter_none(result) return HttpResponse(json.dumps(result))
def search_goods(request): per_page = request.GET.get("per_page") if not per_page: per_page = MainConst.PER_PAGE cur_page = request.GET.get("cur_page") if not cur_page: cur_page = 1 key = request.GET.get("key") objs = CmsGoods.objects.filter(parent_id=-1).order_by("-sort") goods = [] all_category = CmsNaviCategory.objects.all() for obj in objs: new_category = "" new_second_category = "" if obj.new_category: try: for cate in all_category: if obj.new_category == cate.id: new_category = cate.name break except: log.error( str(obj.new_second_category) + " is not query by cms_navi_category") if obj.new_second_category: try: for sec_cate in all_category: if obj.new_second_category == sec_cate.id: new_second_category = sec_cate.name except: log.error( str(obj.new_second_category) + " is not query by cms_navi_category") status_str, status_int = get_check_status_str("CmsGoods", obj.id) goods.append([ new_category, new_second_category, obj.name, obj.small_icon_url, obj.icon_url, obj.goods_id, obj.cp_name, obj.desc, obj.search_keyword, get_valid_time(obj.valid_time), get_city_str(obj.city), status_str, obj.is_support_cart, obj.min_version, obj.max_version, obj.recommend_icon, obj.recommend_reason, obj.sort, status_int, obj.id ]) result = search_key(goods, key, [1, 10, 11]) result, num_pages = get_table_paginator(result, per_page, cur_page) filter_none(result) return HttpResponse(json.dumps([list(result), num_pages]))
def search(request): channel = request.GET.get("channel") activities = CmsActivityV37.objects.filter( cmsviewactivity37__channel__id=channel) result = [] for activity in activities: goods = [o.title for o in activity.goods.all()] cps = [o.name for o in activity.cp.all()] status_str, status_int = "", 1 item = [ activity.name, activity.img, "<br/>".join(cps), "<br/>".join(goods), get_valid_time(activity.valid_time), get_city_str(activity.city), status_str, status_int, activity.id ] result.append(item) filter_none(result) return HttpResponse(json.dumps(result))
def search_likes(request): channel = request.GET.get("channel") groups = CmsLikes.objects.filter(cmsviewlike__channel__id=channel) result = [] for group in groups: group_scene = get_scene_name(group.scene_id) status_str, status_int = get_check_status_str("CmsLikes", group.id) item = { "group": [ group_scene, group.title, group.title_style, group.desc, group.desc_style, status_str, status_int, group.id ], "members": [] } #服务 services = CmsServices.objects.filter(cmslikesservices__like=group) for service in services: status_str, status_int = get_check_status_str( "CmsServices", service.id) item["members"].append([ service.small_icon_url, service.name, service.name_style, service.desc, service.desc_style, service.location, service.dot_info, service.action_id, "服务", get_valid_time(service.valid_time), get_city_str(service.city), status_str, 1, status_int, service.id ]) #商品 goods = CmsGoods.objects.filter(cmslikesgoods__like=group) for good in goods: status_str, status_int = get_check_status_str("CmsGoods", good.id) item["members"].append([ good.small_icon_url, good.name, good.name_style, good.desc, good.desc_style, good.location, good.dot_info, good.action_id, "商品", get_valid_time(good.valid_time), get_city_str(good.city), status_str, 0, status_int, good.id ]) result.append(item) item["members"].sort(key=lambda o: (o[8], o[5])) filter_none(result) return HttpResponse(json.dumps(result))
def search_homepage_specialtopic(request): channel_id = request.GET.get('channel') objs = CmsViewHomepageTopic.objects.filter(channel_id=channel_id) result = [] for obj in objs: topic = obj.topic scene_name = get_scene_name(topic.scene_id) status_str_topic, status_int_topic = get_check_status_str( "CmsSpecialTopic", topic.id) status_str_view, status_int_view = get_check_status_str( "CmsViewHomepageTopic", obj.id) result.append([ scene_name, topic.image_url, topic.title, topic.title_color, topic.subtitle, topic.subtitle_color, topic.action_id, get_valid_time(topic.valid_time), get_city_str(topic.city), status_str_view, "%d/%d" % (status_int_topic, status_int_view), topic.id ]) filter_none(result) return HttpResponse(json.dumps(result))
def split_checks(records): result = [] for record in records: try: type, version, channel_no = show_cvt(record.channel_id, record.module) last_check = CmsCheck.objects.filter(channel_id=record.channel_id, module=record.module, status=record.status).last() data = [ last_check.submit_person, type, version, channel_no, record.module, str(last_check.submit_date) ] set_id_into_records(result, data, record.id) except: continue result.sort(key=lambda o: o["record"][5], reverse=True) filter_none(result) return result
def get_record_history(): records = CmsCheck.objects.filter( Q(status=CheckStatu.PASS) | Q(status=CheckStatu.REJECT)) # Q(status=CheckStatu.REVERT) | result = [] for record in records: try: type, version, channel_no = show_cvt(record.channel_id, record.module) data = [ get_2array_value(check_status, str(record.status)), record.submit_person, type, version, channel_no, record.module, str(record.check_date) ] set_id_into_records(result, data, record.id) except: continue result.sort(key=lambda o: (o["record"][6]), reverse=True) filter_none(result) return result
def search_services(request): per_page = request.GET.get("per_page") if not per_page: per_page = MainConst.PER_PAGE cur_page = request.GET.get("cur_page") if not cur_page: cur_page = 1 key = request.GET.get("key") objs = CmsServices.objects.filter(parent_id=0, type=0).order_by("-id") services = [] for obj in objs: status_str, status_int = get_check_status_str("CmsServices", obj.id) services.append([ obj.name, obj.small_icon_url, obj.icon_url, obj.desc, obj.memo, get_valid_time(obj.valid_time), get_city_str(obj.city), status_str, status_int, obj.id ]) result = search_key(services, key, [1, 2, 8, 9]) result, num_pages = get_table_paginator(result, per_page, cur_page) filter_none(result) return HttpResponse(json.dumps([list(result), num_pages]))
def search_screen_ads(request): channel_id = request.GET.get('channel') objs = CmsScreenads.objects.filter(cmsviewscreenads__channel_id=channel_id) result = [] for obj in objs: try: show_hold = "不限" if obj.show_hold == -1 else str( obj.show_hold) + "秒" status_str, status_int = get_check_status_str( "CmsScreenads", obj.id) result.append([ obj.name, obj.img_url, get_2array_value(screen_ad_times, obj.show_times), show_hold, get_valid_time(obj.valid_time), get_city_str(obj.city), status_str, status_int, obj.id ]) except: continue result.sort(key=lambda o: (o[0])) filter_none(result) return HttpResponse(json.dumps(result))
def search_problem(request): per_page = request.GET.get("per_page") if not per_page: per_page = MainConst.PER_PAGE cur_page = request.GET.get("cur_page") if not cur_page: cur_page = 1 key = request.GET.get("key") objs = CmsProblem.objects.all().order_by('-sort') problems = [] for obj in objs: status_str, status_int = get_check_status_str("CmsProblem", obj.id) problems.append([ obj.problem, obj.answer, obj.sort, obj.id ]) result = search_key(problems, key, [2, 3]) result, num_pages = get_table_paginator(result, per_page, cur_page) filter_none(result) return HttpResponse(json.dumps([list(result), num_pages]))
def search_activities(request): channel_id = request.GET.get('channel') objs = CmsNativeActivity.objects.filter( cmsviewnativeactivity__channel_id=channel_id) result = [] for obj in objs: try: status_str, status_int = get_check_status_str( "CmsNativeActivity", obj.id) result.append([ get_scene_name(obj.scene_id), obj.sort, obj.title, obj.title_color, obj.subtitle, obj.image_url, timestamp2str_space(obj.start_time), timestamp2str_space(obj.end_time), obj.action_id, get_valid_time(obj.valid_time), get_city_str(obj.city), status_str, status_int, obj.id ]) except: continue result.sort(key=lambda o: (o[0], o[1])) filter_none(result) return HttpResponse(json.dumps(result))
def search(request): channel = request.GET.get("channel") cps = CmsCpdisplay.objects.filter(cmshomecp__channel__id=channel) result = [] for cp in cps: status_str, status_int = "", 1 item = [ cp.location1, cp.meta.location2, cp.meta.icon, cp.meta.name, cp.text, cp.mark, cp.op_desc, cp.meta.action_id, status_str, status_int, cp.id ] result.append(item) filter_none(result) return HttpResponse(json.dumps(result))
def search_foundpage_specialtopic(request): channel_id = request.GET.get('channel') objs = CmsViewFindTopic.objects.filter(channel_id=channel_id, is_deleted=0) result = [] for obj in objs: topic = CmsSpecialTopic.objects.get(id=obj.topic_id) if obj.is_deleted == 0: scene_name = get_scene_name(topic.scene_id) is_top = "是" if obj.is_top else "否" status_str_topic, status_int_topic = get_check_status_str( "CmsSpecialTopic", topic.id) status_str_view, status_int_view = get_check_status_str( "CmsViewFindTopic", obj.id) result.append([ scene_name, topic.image_url, topic.title, topic.title_color, topic.subtitle, topic.subtitle_color, topic.action_id, is_top, obj.mark_info, get_valid_time(topic.valid_time), get_city_str(topic.city), status_str_view, "%d/%d" % (status_int_topic, status_int_view), topic.id ]) filter_none(result) return HttpResponse(json.dumps(result))
def search_choiceness_categories(request): channel_id = request.GET.get('channel') objs = CmsChoicenessCategory.objects.filter(cmsviewchoicenesscategory__channel_id=channel_id) result = [] for obj in objs: try: status_str, status_int = get_check_status_str("CmsChoicenessCategory", obj.id) result.append([ obj.location, obj.category.name, obj.img_url, obj.img_url_d, obj.background_color, get_valid_time(obj.valid_time), get_city_str(obj.city), status_str, status_int, obj.id ]) except: continue result.sort(key=lambda o: (o[0])) filter_none(result) return HttpResponse(json.dumps(result))
def search_streams(request): channel = request.GET.get("channel") groups = CmsStreamcontent.objects.filter(cmsviewstream__channel__id=channel) result = [] for group in groups: group_scene = get_scene_name(group.scene_id) group_type = get_2array_value(streams_type, group.type) status_str, status_int = get_check_status_str("CmsStreamcontent", group.id) item = {"group": [ group_scene, group.location, group_type, status_str, status_int, group.id ], "members": []} # 商品 goods = CmsGoods.objects.filter(cmsstreamcontentsgoods__streamcontent=group) for g in goods: status_str, status_int = get_check_status_str("CmsGoods", g.id) item["members"].append([ g.icon_url, g.location, g.title, g.title_style, g.desc, g.desc_style, g.name, g.name_style, str(g.fav_price), g.fav_price_style, g.fav_price_desc, g.fav_price_desc_style, str(g.price), g.sold, g.action_id, get_valid_time(g.valid_time), get_city_str(g.city), "商品", status_str, 0, status_int, g.id ]) # 内容流 beans = CmsStreamcontentbeans.objects.filter(cmsstreamcontentsbeans__streamcontent=group) for b in beans: status_str, status_int = get_check_status_str("CmsStreamcontentbeans", b.id) item["members"].append([ b.img_url, b.location, b.title, b.title_style, b.descibe, b.descibe_style, b.name, b.name_style, str(b.price), b.price_style, b.price_desc, b.price_desc_style, str(b.price), b.sold, b.action_id, get_valid_time(b.valid_time), get_city_str(b.city), "内容流", status_str, 1, status_int, b.id ]) item["members"].sort(key=lambda o: (o[17], o[1])) result.append(item) filter_none(result) return HttpResponse(json.dumps(result))
def search_categories(request): per_page = request.GET.get("per_page") if not per_page: per_page = MainConst.PER_PAGE cur_page = request.GET.get("cur_page") if not cur_page: cur_page = 1 key = request.GET.get("key") categories = list(CmsNaviCategory.objects.filter(parent_id=0, fatherid=0)) try: categories.sort(key=lambda o: (CmsCategoryGroup.objects.get( cmsviewgroupcategory__category=o).name)) except: pass result = [] temp = "" for category in categories: # used_by_op = "是" if category.used_by_op else "否" # show_style = get_show_style(category.show_style) status_str, status_int = get_check_status_str("CmsNaviCategory", category.id) try: group_name = CmsCategoryGroup.objects.get( cmsviewgroupcategory__category=category).name if temp != group_name: group = group_name else: group = "" temp = group_name except: group = "" if category.type == 0: category_type = "旧分类" else: category_type = "新分类" result.append([ group, category.name, category.name_style, category.desc, category.desc_style, category.search_keyword, # used_by_op, # show_style, category_type, status_str, 0, status_int, category.id ]) children = CmsNaviCategory.objects.filter(parent_id=0, fatherid=category.id) for c in children: # used_by_op = "是" if c.used_by_op else "否" # show_style = get_show_style(category.show_style) status_str, status_int = get_check_status_str( "CmsNaviCategory", c.id) result.append([ "", c.name, c.name_style, c.desc, c.desc_style, c.search_keyword, # used_by_op, # show_style, "", status_str, 1, status_int, c.id ]) result = search_key(result, key, [2, 4, 8, 9, 10]) result, num_pages = get_table_paginator(result, per_page, cur_page) filter_none(result) return HttpResponse(json.dumps([list(result), num_pages]))
def search_category_pages_services(request): channel = request.GET.get("channel") groups = list( CmsNavicategories.objects.filter(cmsviewnavi__channel_id=channel)) result = [] try: groups.sort(key=lambda o: (CmsCategoryGroup.objects.get( cmsviewgroupcategory__category=o.category).name)) except: pass for group in groups: # group_scene = get_scene_name(group.scene_id) open_type = 2 try: group_name = CmsCategoryGroup.objects.get( cmsviewgroupcategory__category=group.category).name if group_name == CategoryGroupType.daojia: open_type = 1 elif group_name == CategoryGroupType.live: open_type = 0 except: group_name = "" try: status_str, status_int = get_check_status_str( "CmsNavicategories", group.id) item = { "group": [ # group_scene, group_name, group.location, group.category.name, group.name_style, group.dot_info, open_type, status_str, status_int, group.id ], "members": [] } except: continue # 分类 navi_categories = CmsNavicatesCategory.objects.filter(cate=group) for navi_category in navi_categories: category = navi_category.category status_str_cate, status_int_cate = get_check_status_str( "CmsNaviCategory", category.id) status_str_view, status_int_view = get_check_status_str( "CmsNavicatesCategory", navi_category.id) item["members"].append([ category.small_icon_url, category.location, "分类", category.name, category.name_style, category.desc, category.desc_style, category.search_keyword, category.dot_info, category.action_id, get_valid_time(category.valid_time), get_city_str(category.city), status_str_view, 1, "%d/%d" % (status_int_cate, status_int_view), category.id ]) # 服务 navi_services = CmsNavicatesServices.objects.filter(cate=group) for navi_service in navi_services: try: service = navi_service.service except: continue status_str, status_int = get_check_status_str( "CmsServices", service.id) item["members"].append([ service.small_icon_url, service.location, "服务", service.name, service.name_style, service.desc, service.desc_style, service.search_keyword, service.dot_info, service.action_id, get_valid_time(service.valid_time), get_city_str(service.city), status_str, 2, "%d/%d" % (status_int, status_int), service.id ]) # 商品 navi_goods = CmsNavicatesGoods.objects.filter(cate=group) for navi_good in navi_goods: try: goods = navi_good.goods except: continue status_str, status_int = get_check_status_str("CmsGoods", goods.id) item["members"].append([ goods.small_icon_url, goods.location, "商品", goods.name, goods.name_style, goods.desc, goods.desc_style, goods.search_keyword, goods.dot_info, goods.action_id, get_valid_time(goods.valid_time), get_city_str(goods.city), status_str, 3, "%d/%d" % (status_int, status_int), goods.id ]) item["members"].sort(key=lambda o: (o[2], o[1])) result.append(item) filter_none(result) return HttpResponse(json.dumps(result))
def search_common_services(request): channel = request.GET.get("channel") items = [] # 添加服务 view_services = CmsViewService.objects.filter(open_type=0, channel__id=channel) for view_service in view_services: try: status_str, status_int = get_check_status_str( "CmsServices", view_service.service_id) items.append([ "功能服务", "服务", status_str, "%d/%d" % (status_int, status_int), CmsServices.objects.get(id=view_service.service_id) ]) except: continue # 添加商品 view_goods = CmsViewService.objects.filter(open_type=1, channel__id=channel) for view_good in view_goods: try: status_str, status_int = get_check_status_str( "CmsGoods", view_good.service_id) items.append([ "功能服务", "商品", status_str, "%d/%d" % (status_int, status_int), CmsGoods.objects.get(id=view_good.service_id) ]) except: continue # 添加一级分类 view_first_categories = CmsViewService.objects.filter(open_type=3, channel__id=channel) for view_first_category in view_first_categories: try: status_str_cate, status_int_cate = get_check_status_str( "CmsNaviCategory", view_first_category.service_id) status_str_view, status_int_view = get_check_status_str( "CmsViewService", view_first_category.id) items.append([ "功能服务", "功能一级分类", status_str_view, "%d/%d" % (status_int_cate, status_int_view), CmsNaviCategory.objects.get(id=view_first_category.service_id) ]) except: continue # 添加二级分类 view_second_categories = CmsViewService.objects.filter(open_type=4, channel__id=channel) for view_second_category in view_second_categories: try: status_str_cate, status_int_cate = get_check_status_str( "CmsNaviCategory", view_second_category.service_id) status_str_view, status_int_view = get_check_status_str( "CmsViewService", view_second_category.id) items.append([ "功能服务", "功能二级分类", status_str_view, "%d/%d" % (status_int_cate, status_int_view), CmsNaviCategory.objects.get(id=view_second_category.service_id) ]) except: continue # 添加到家服务 view_second_categories = CmsViewService.objects.filter(open_type=5, channel__id=channel) for view_second_category in view_second_categories: try: status_str_cate, status_int_cate = get_check_status_str( "CmsNaviCategory", view_second_category.service_id) status_str_view, status_int_view = get_check_status_str( "CmsViewService", view_second_category.id) items.append([ "到家服务", "到家一级分类", status_str_view, "%d/%d" % (status_int_cate, status_int_view), CmsNaviCategory.objects.get(id=view_second_category.service_id) ]) except: continue # 添加到家服务 view_second_categories = CmsViewService.objects.filter(open_type=6, channel__id=channel) for view_second_category in view_second_categories: try: status_str_cate, status_int_cate = get_check_status_str( "CmsNaviCategory", view_second_category.service_id) status_str_view, status_int_view = get_check_status_str( "CmsViewService", view_second_category.id) items.append([ "到家服务", "到家二级分类", status_str_view, "%d/%d" % (status_int_cate, status_int_view), CmsNaviCategory.objects.get(id=view_second_category.service_id) ]) except: continue result = [] for group, type, status_str, status_int, item in items: # scene_name = get_scene_name(item.scene_id) if type == "服务" or type == "商品": location = item.location else: location = item.location2 temp = [ # scene_name, group, location, item.icon_url, item.name, item.dot_info, item.action_id, get_valid_time(item.valid_time), get_city_str(item.city), type, status_str, status_int, item.id ] result.append(temp) filter_none(result) result.sort(key=lambda o: (o[0], o[1])) return HttpResponse(json.dumps(result))