def GetAllSubBusinessByBusiness(reqeust, businessname): ret = {} business = Business.objects.filter(name=businessname) if reqeust.method == 'GET': if len(business) == 0: ret['code'] = 200 ret['msg'] = 'business not exist' ret['data'] = 'null' data = serializer(ret, output_type='json') return HttpResponse(data) else: ret['code'] = 200 ret['msg'] = 'success' ret['data'] = {} ret['data']['sub'] = [] bus = Business.objects.get(name=businessname) ret['data']['id'] = bus.id ret['data']['name'] = bus.name ret['data']['leader'] = bus.person_duty ret['data']['sre'] = bus.sre subs = SubBusiness.objects.filter(business=bus.id) for sub in subs: s = {} s['id'] = sub.id s['name'] = sub.name s['leader'] = sub.person s['sre'] = sub.sre ret['data']['sub'].append(s) data = serializer(ret, output_type='json') return HttpResponse(data)
def getProductItem(request): if 'productType' in request.GET: items = productItem.objects.filter( productType=request.GET['productType']) data = serializer( items, datetime_format="string", include_attr=['id', 'productName', 'productImage', 'price'], foreign=False) json_string = json.dumps(data, ensure_ascii=False) else: types = productType.objects.all().order_by('sortIndex') strTemp = {} for dType in types: items = productItem.objects.filter(productType=dType.id) data = serializer( items, datetime_format="string", include_attr=['id', 'productName', 'productImage', 'price'], foreign=False) key = 'key_' + str(dType.id) strTemp[key] = data json_string = json.dumps(strTemp, ensure_ascii=False) return HttpResponse(json_string, content_type='application/json; charset=utf-8')
def get_event_score_view(request, event_id): res = [] try: event = Events.objects.get(id=event_id) queryset = event.authority_set.all().order_by('single') except Exception as e: raise Http404("event_id:{} 错误".format(event_id)) type = request.GET.get('type') kwargs = {} if type: kwargs['eventType_id'] = type queryset = queryset.filter(**kwargs) for i in queryset: res.append({ 'user_info': serializer(i.username, exclude_attr=('password', 'is_email_check', 'reg_date')), 'event_info': serializer(i.events, datetime_format='string'), 'score': { 'eventType': i.eventType.type, 'single': i.single, 'turn': i.turn, 'recent': i.recent, 'award': i.award } }) return parse_info(res, safe=False)
def get_order_state(request): ''' 状态订单列表 :param request: :return: ''' r = {} resp = HttpResponse() data = request.GET state = data.get("state") r['errno'] = 0 r["amount"] = OrderModel.objects.filter( state=state, date_created__range=["2017-08-22", "2017-08-23"]).count() time = data.get("time") if time: start_time = data.get("start_time") end_time = data.get("end_time") orderlist = OrderModel.objects.filter( state=state, date_created__range=[start_time, end_time]).values( "customer__phone", "customer__realname", "orderId", "amount", "freight", "payment", "state", "date_created", "name", "telephone", "address", 'id').order_by("-date_created") r['orderlist'] = serializer(orderlist, output_type='raw') resp.write(json.dumps(r)) else: orderlist = OrderModel.objects.filter(state=state).values( "customer__phone", "customer__realname", "orderId", "amount", "freight", "payment", "state", "date_created", "name", "telephone", "address", 'id').order_by("-date_created") r['orderlist'] = serializer(orderlist, output_type='raw') resp.write(json.dumps(r)) return resp
def login(request): if request.method == "POST": pic = handle_upload_file(request.FILES['file'], str(request.FILES['file'])) code = request.POST.get('code') name = request.POST.get('name') appid = 'wx2b21ee85de8b10a9' appSecret = 'e3ce059551daa9fdd4657a6445d2b265' data = { 'appid': appid, 'secret': appSecret, 'js_code': code, 'grant_type': 'authorization_code', } url = "https://api.weixin.qq.com/sns/jscode2session?appid=%s&secret=%s&js_code=%s&grant_type=authorization_code" % ( appid, appSecret, code) r = requests.get(url=url) response = r.json() openid = response['openid'] account = User.objects.filter(openid=openid).exists() if account: newaccount = User.objects.get(openid=openid) back = serializer(newaccount) return JsonResponse(back) else: newaccount = User(openid=openid, name=name, picture=pic, status=0) newaccount.save() back = serializer(newaccount) return JsonResponse(back)
def get_all_order_canceled_list(request): ''' 获取取消退货订单 :param request: :return: ''' data = request.GET page = data.get("page") rows = data.get("rows") resp = {} resp["errno"] = 0 resp["errmsg"] = "successful" resp['amount'] = request.user.customer.buy_order_list.filter( state=4).count() order_list = Paginator( request.user.customer.buy_order_list.filter( state=4).order_by("-date_created"), int(rows)) resp["list"] = serializer(order_list.page(page), output_type="row") if resp['list']: for order_obj in resp["list"]: nid = order_obj.get("id") product = ProductMiniModel.objects.filter(order_id=nid) order_obj["product_list"] = serializer(product, output_type="row") for i in order_obj["product_list"]: sku = i.get("skuid") product_obj = ProductModel.objects.get(sku=sku) i['image'] = product_obj.image i["name"] = product_obj.name else: return HttpResponse(make_failed_msg("No Such Order")) return HttpResponse(json.dumps(resp))
def test_serializer(self): test_data = { 'title': 'test', 'name': 'attr', 'time': datetime.datetime(2015, 10, 10, 12), 'list': [{ 'content': 'list_content', 'time': datetime.datetime(2015, 10, 11, 9) }, { 'content': 'list_content1', 'time': datetime.datetime(2015, 12, 22, 9) }] } result = serializer(test_data, datetime_format='string', output_type='raw') self.assertEqual(result['time'], '2015-10-10 12:00:00') self.assertIsInstance(result, dict) self.assertEqual(result['list'][0]['time'], '2015-10-11 09:00:00') result = serializer(test_data, datetime_format='timestamp', output_type='json') self.assertEqual(json.loads(result)['title'], 'test') self.assertEqual( json.loads(result)['list'][0]['content'], 'list_content')
def get_user_profile_view(request, user_id): res = {} try: user = User.get_user_by_id(user_id) except Exception as e: raise Http404('user_id 错误') res['profile'] = serializer(user.userprofile, exclude_attr=('user', 'phone', 'paperwork_type', 'paperwork_id'), datetime_format='string') res['picture'] = serializer(user.userpicture_set.all(), exclude_attr=('user')) res['apply_event'] = serializer(user.applyuser_set.all(), exclude_attr=('apply_user'), datetime_format='string') res['record'] = serializer(user.authority_set.all(), exclude_attr=( 'username', 'username_id', 'events_id', 'eventType_id', ), datetime_format='string') return parse_info(res)
def get_context_data(self, **kwargs): goods_list = [] context = super(GoodsListView, self).get_context_data(**kwargs) _goods_list = context.pop('goods_list') for i in _goods_list: info = serializer(i, exclude_attr=('category_id', ), datetime_format=self.datetime_format) info['count'] = { 'view_count': int( wxapp_redis.zscore("wxapp:goodsview:view_count", i.id) or 0), 'sale_count': i.goodsprofile.sale_count, 'love_count': wxapp_redis.hlen("wxapp:goodslove:{}".format(i.id)), } info['is_pintuan'] = i.is_pintuan() if info['is_pintuan']: info['pintuan_info'] = serializer( i.pintuangoods, exclude_attr=('goods', 'goods_id'), datetime_format=self.datetime_format) info['pintuan_info'][ 'participate_count'] = i.simpleorderdetail_set.filter( order__order_type=1).count() else: info['pintuan_info'] = {} goods_list.append(info) context['goods_list'] = goods_list return context
def get(self, request, *args, **kwargs) -> dict: if not self.user: if not self.wrap_check_token_result(): return self.render_to_response({'msg': self.msg}) info = {} try: pintuan_id = kwargs.get('action') or 0 pintuan = self.model.objects.filter(pintuan_id=pintuan_id) except ValueError: return self.render_to_response( {'msg': '拼团编号:{} 错误'.format(pintuan_id)}) if not pintuan.exists(): return self.render_to_response( {'msg': '拼团编号:{} 错误'.format(pintuan_id)}) pintuan = pintuan.get() # 参与的用户 [TODO] 排序 join_order = pintuan.pintuan_set.all() join_user = [] is_join = False join_user_order = {} for i in join_order: user = i.simple_order.create_user if self.user == user: is_join = True join_user_order = i.simple_order join_user.append( serializer(user, exclude_attr=('reg_date', 'last_login', 'openid'))) pintaun_goods = pintuan.pintuan_goods # 拼团的基本信息 pintuan_info = serializer(pintuan, exclude_attr=('pintuan_goods', 'pintuan_goods_id', 'create_user_id', 'reg_date', 'last_login', 'openid'), datetime_format=self.datetime_format) pintuan_info['join_count'] = len(join_user) pintuan_info['is_join'] = is_join pintuan_info['pintuan_count'] = pintaun_goods.pintuan_count pintuan_info['can_join'] = pintuan_info['join_count'] < pintuan_info[ 'pintuan_count'] and timezone.now( ) < pintuan.expire_time if not is_join else False # 参与拼团的基本商品信息 pintuan_goods_info = serializer(pintaun_goods, exclude_attr=('pintuan_count', 'effective'), datetime_format=self.datetime_format) info['pintuan_info'] = pintuan_info info['pintuan_goods_info'] = pintuan_goods_info info['join_user_info'] = join_user info['order_info'] = join_user_order return self.render_to_response(info)
def accountdetail(request): if request.method == 'GET': userid = request.GET.get('userid', '') invitation = User.objects.filter( puser__userid=userid).values('puser__name') invitation = serializer(invitation) gorder = Giftorder.objects.filter(user_id=userid).values( "gift__name", 'time') gorder = serializer(gorder) return JsonResponse({'invitation': invitation, "gorder": gorder})
def loadBranchEngineerings(request): response_data = {} response_data["issuc"] = True try: datatype = int(request.GET.get( 'datatype', 0)) #获取列表类型,0:获取分部工程,子工程。1:获取分部的分项。2:获取子工程分项 engineerlist = [] if datatype == 0: for item in BranchEngineering.objects.filter(parent_id=None): engineeritem = serializer(item) engineeritem['sublist'] = serializer( BranchEngineering.objects.filter(parent_id=item.id)) engineerlist.append(engineeritem) response_data["engineerlist"] = engineerlist elif datatype == 1: branchData = [] for item in BranchEngineering.objects.filter(parent_id=None): # engineeritem = serializer(item) newitem = {} newitem['text'] = item.name newitem['value'] = item.id newitem['children'] = [] for subitem in BranchEngineering.objects.filter( parent_id=item.id): subnewitem = {} subnewitem['text'] = subitem.name subnewitem['value'] = subitem.id subnewitem['children'] = [] for ssubitem in BranchEngineering.objects.filter( parent_id=subitem.id): ssubnewitem = {} ssubnewitem['text'] = ssubitem.name ssubnewitem['value'] = ssubitem.id subnewitem['children'].append(ssubnewitem) newitem['children'].append(subnewitem) branchData.append(newitem) response_data["branchData"] = branchData elif datatype == 2: branchData = [] for item in BranchEngineering.objects.filter(parent_id=None): # engineeritem = serializer(item) newitem = {} newitem['text'] = item.name newitem['value'] = item.id branchData.append(newitem) response_data["branchData"] = branchData except Exception as e: response_data["issuc"] = False traceback.print_exc() return HttpResponse(json.dumps(response_data), content_type="application/json") return HttpResponse(json.dumps(response_data), content_type="application/json")
def orderdetail(request): if request.method == 'GET': steamid = request.GET.get('steamid', '') onecut = Steam.objects.filter(steamid=steamid).values('steamid', 'order__user__picture', 'order__user__name', \ 'order__cutprice') twocut = Steam.objects.filter(steamid=steamid).values('steamid', 'cutting__audience__picture', \ 'cutting__audience__name', 'cutting__cutprice') onecut = serializer(onecut) twocut = serializer(twocut) return JsonResponse({'oncut': onecut, 'twocut': twocut})
def orderdetail(request): if request.method == 'GET': steamid = request.GET.get('steamid', '') onecut = Steam.objects.filter(steamid=steamid).values('member__userid','member__name', "member__picture", \ "membership__cutprice", "membership__time","member__department","time") twocut = Cutting.objects.filter( steamid=steamid).select_related("audience").values( 'audience__picture', 'audience__nickname', 'audience__name', 'cutprice') onecut = serializer(onecut) twocut = serializer(twocut) return JsonResponse({'onecut': onecut, 'twocut': twocut})
def GetAssetByIP(reqeust, IP): ret = {} IPList = IP.strip().split('.') if reqeust.method == 'GET': if len(IPList) != 4: ret['code'] = 200 ret['msg'] = 'illegal ip' ret['data'] = 'null' data = serializer(ret, output_type='json') return HttpResponse(data) else: ret['code'] = 200 for i in range(4): try: IPList[i] = int(IPList[i]) except: ret['msg'] = 'ip not int' ret['data'] = 'null' data = serializer(ret, output_type='json') return HttpResponse(data) for i in range(4): if int(IPList[i]) <= 255 and int(IPList[i]) >= 0: asset = Asset.objects.filter(ip=IP) if len(asset) == 0: ret['code'] = 200 ret['msg'] = 'ip not exist' ret['data'] = 'null' data = serializer(ret, output_type='json') return HttpResponse(data) else: ret['code'] = 200 ret['msg'] = 'success' ret['data'] = {} host = Asset.objects.get(ip=IP) ret['data']['hostname'] = host.hostname if host.business is not None: ret['data']['business'] = host.business_name business = Business.objects.get(id=host.business_id) ret['data']['business_manager'] = business.person_duty if host.sub_business is not None: ret['data']['sub_business'] = host.subbusiness_name sub = SubBusiness.objects.get(id=host.sub_business_id) ret['data']['sub_manager'] = sub.person else: ret['data']['business'] = 'None' ret['data']['business_manager'] = "None" ret['data']['sub_business'] = "None" ret['data']['sub_manager'] = "None" data = serializer(ret, output_type='json') return HttpResponse(data)
def get_event_filter_view(request): res = dict() all_province = EventProvince.objects.all() all_type = EventType.objects.filter(event_type=request.GET.get('etype', 0)) res['all_year'] = [ str(i) for i in reversed(range(2010, datetime.now().year + 1)) if Events.objects.filter(event_date__year=i).exists() ] res['all_province'] = serializer(all_province) res['all_type'] = serializer(all_type) return parse_info(res)
def test_serializer(self): test_data = {'title': 'test', 'name': 'attr', 'time': datetime.datetime(2015, 10, 10, 12), 'list': [{'content': 'list_content', 'time': datetime.datetime(2015, 10, 11, 9)}, {'content': 'list_content1', 'time': datetime.datetime(2015, 12, 22, 9)}]} result = serializer(test_data, datetime_format='string', output_type='raw') self.assertEqual(result['time'], '2015-10-10 12:00:00') self.assertIsInstance(result, dict) self.assertEqual(result['list'][0]['time'], '2015-10-11 09:00:00') result = serializer(test_data, datetime_format='timestamp', output_type='json') self.assertEqual(json.loads(result)['title'], 'test') self.assertEqual(json.loads(result)['list'][0]['content'], 'list_content')
def getbyID(request, fid): if request.method == 'GET': print(fid) list = foodshop.objects.filter(id=fid) print(list) data = serializer(list, output_type='json') return HttpResponse(data, content_type="application/json")
def getType(request): types = productType.objects.all().order_by('sortIndex') data = serializer(types, datetime_format="string", foreign=True) json_string = json.dumps(data, ensure_ascii=False) return HttpResponse(json_string, content_type='application/json; charset=utf-8')
def get_categroy2_product_view(request): ''' 一级和二级分类所有的商品 :param request: :return: ''' resp = {} data = request.GET rows = data.get("rows") page = data.get("page") order = data.get("order") categroyId1 = data.get("categroyId1") categroyId2 = data.get("categroyId2") resp["amount"] = ProductModel.objects.filter( Q(category_d1_id=categroyId1) & Q(category_d2=categroyId2)).count() product_list = Paginator( ProductModel.objects.filter( Q(category_d1_id=categroyId1) & Q(category_d2=categroyId2)).values( "name", "image", "credit_amount", "sku").order_by( '-credit_amount' if order == 'asc' else 'credit_amount'), int(rows)) resp['errno'] = 0 resp['list'] = serializer(product_list.page(int(page)), output_type='raw') return HttpResponse(json.dumps(resp))
def getfoodshop(request, shop): if request.method == 'GET': print(shop) print("getting food shop") list = foodshop.objects.filter(location__contains=shop) data = serializer(list, output_type='json') return HttpResponse(data, content_type="application/json")
def get(self, request): if request.is_ajax(): data = {"code": 0, "msg": "", "data": ""} redis_objs = RedisConf.objects.all() data["data"] = serializer(redis_objs) return JsonResponse(data=data) return render(request, 'redis_list.html', {})
def getTable(request): if request.method == "GET": t1 = Table_1.objects.all() t2 = Table_2.objects.all() t3 = Table_3.objects.all() t4 = Table_4.objects.all() t1 = serializer(t1) t2 = serializer(t2) t3 = serializer(t3) t4 = serializer(t4) # # manager= Plan.objects.filter(plan_manager_id=user_id) # manager = serializer(manager) return JsonResponse({'data': [t1, t2, t3, t4], "state": 'success'})
def getscenic(request,place): if request.method == 'GET': print(place) print("get scenic") list=scenic.objects.filter(area__contains=place) datat=serializer(list,output_type = 'json') return HttpResponse(datat,content_type="application/json")
def getnewmsg(request): if request.method == 'POST': total = [] d = {} data = JSONParser().parse(request) print data cul = MessageModel.objects.filter(receive=data['receive'], state=0) for each in cul: print each.id print 'receive=' + each.receive + 'send=' + each.send if data['state'] == 0: record = StudentModel.objects.get(sphone=each.send) else: record = TeacherModel.objects.get(tphone=each.send) d = { 'name': record.name, 'message': each.message, 'generate': each.generate, 'state': each.state, 'id': each.id, 'send': each.send } total.append(d) records = serializer(total, output_type='json') return HttpResponse(records)
def addprojectfile(request): response_data = {} response_data["issuc"] = True try: project_id = int(request.POST.get('project_id')) file_id = int(request.POST.get('file_id')) projectfileitem = ProjectFile.objects.create(file_id=file_id, project_id=project_id) response_data['fileinfo'] = serializer( Document.objects.get(id=file_id)) response_data['projectfileitem'] = serializer( serializer(projectfileitem)) print json.dumps(response_data) except Exception, e: response_data["issuc"] = "false" traceback.print_exc()
def getbyID(request,sid): if request.method == 'GET': print(sid) list=scenic.objects.filter(id=sid) print(list) datat=serializer(list,output_type='json') return HttpResponse(datat,content_type="application/json")
def get_s_appoint(request, tphone, state): if request.method == "GET": record = AppointModel.objects.filter(tphone_id=tphone, state=state) total = StudentAppointInfo(record) print total data = serializer(total, output_type='json') return HttpResponse(data)
def get_lunbo_img(request): count = request.GET.get('count') count = int(count) if count else 3 lists = LunBo.objects.all()[:count] if lists: return parse_info({'list': serializer(lists)}) return parse_info({})
def uploadfile_blob(request): response_data = {} response_data["issuc"] = "false" try: imagedata = request.POST.get('imgdata') fileinfo = request.FILES.get("imgdata", None) filename = time.strftime('%Y%m%d%H%M%S') + '_' + fileinfo.name # print fileinfo.content_type,fileinfo.size imagedata = base64.b64decode(imagedata) path = u"upload/" file_path_name = path + filename destination = open(file_path_name, 'wb+') destination.write(imagedata) destination.close() if not Document.objects.filter(name=filename): doc = Document() doc.name = filename doc.shortname = filename doc.filepath = u"upload/" doc.creator = request.user doc.filesize = len(imagedata) doc.filetype = fileinfo.content_type doc.doctype = 'normal' doc.save() response_data["doc"] = serializer(doc) response_data["issuc"] = "true" except: traceback.print_exc() response_data["issuc"] = "false" return HttpResponse(json.dumps(response_data), content_type="application/json")
def get_comment(request): total = [] d = {} if request.method == 'POST': data = JSONParser().parse(request) result = AppointModel.objects.filter(tphone_id=data['phone'], state=3, subject=data['subject']) for each in result: sphone = each.sphone_id records = StudentModel.objects.filter(sphone=sphone) print each.comment allstar = each.comment[0] + each.comment[2] + each.comment[4] allstar.encode('utf-8') allstars = int(allstar[0]) + int(allstar[1]) + int(allstar[2]) stars = round(allstars / 3) print allstars comment = each.comment[6:] for each1 in records: url = apiUrl + each1.headImg.url[4:] url = url.decode() print type(url) d = { 'name': each1.name, 'stars': stars, 'generate': each.generate, 'comment': comment, 'headImg': url } total.append(d) data = serializer(total, output_type='json') return HttpResponse(data)
def hy_sign(req): hylog_list = BackLog.objects.filter(log_type=30) hylogs = serializer(hylog_list, datetime_format='string') for itm in hylogs: if itm['status'] is False: jsonr = itm['fail_message'] jsonr = eval(jsonr) itm['fail_message'] = jsonr['msg'] return render_to_response('hy.html', {'hylog_list': hylogs})