def platform_view(request): """ 平台管理 :param request: :return: """ if request.method == "GET": platforms = Platform.objects().order_by("m_nID") after_range_num = 2 try: page = int(request.GET.get("page", 1)) if page < 1: page = 1 except ValueError: page = 1 paginator = Paginator(Platform.objects.order_by("m_nType", "m_nId"), PAGE_SIZE) befor_range_num = 1 try: platforms_list = paginator.page(page) except (EmptyPage, InvalidPage, PageNotAnInteger): platforms_list = paginator.page(paginator.num_pages) if page >= after_range_num: page_range = paginator.page_range[page - after_range_num : page + befor_range_num] else: page_range = paginator.page_range[0 : int(page) + befor_range_num] return render_to_response( "demo/platform_view.html", {"platforms": platforms_list, "page_range": page_range, "request": request} ) else: error = "请使用http-get方式请求" logger.error(error) return render_to_response("item/temp.html", locals(), context_instance=RequestContext(request))
def platform_view(request): """ 平台管理 :param request: :return: """ if request.method == 'GET': platforms = Platform.objects().order_by('m_nID') after_range_num = 2 try: page = int(request.GET.get("page", 1)) if page < 1: page = 1 except ValueError: page = 1 paginator = Paginator(Platform.objects.order_by('m_nType', 'm_nId'), PAGE_SIZE) befor_range_num = 1 try: platforms_list = paginator.page(page) except (EmptyPage, InvalidPage, PageNotAnInteger): platforms_list = paginator.page(paginator.num_pages) if page >= after_range_num: page_range = paginator.page_range[page - after_range_num:page + befor_range_num] else: page_range = paginator.page_range[0:int(page) + befor_range_num] return render_to_response( 'demo/platform_view.html', { 'platforms': platforms_list, 'page_range': page_range, 'request': request }) else: error = '请使用http-get方式请求' logger.error(error) return render_to_response('item/temp.html', locals(), context_instance=RequestContext(request))
def getPlatformByType(platforms, type, tag): lines = [] for x in platforms: platformId = x[0] platformType = x[1] platformObjs = Platform.objects(m_nId=platformId, m_nType =platformType) platform = None if len(platformObjs) > 0: platform = platformObjs[0] if platform is None: continue if platformType != type: continue items = [] for k, v in platform.getData().iteritems(): if isinstance(v, StringTypes): items.append(u'%s="%s"' % (k, v)) elif isinstance(v, IntType): items.append(u'%s=%s' % (k, v)) lines.append(u" {%s}" % ",".join(items)) str = u",\n".join(lines) ret = u"%s = {\n%s\n}" % (tag, str) return ret
def getPlatformByType(platforms, type, tag): lines = [] for x in platforms: platformId = x[0] platformType = x[1] platformObjs = Platform.objects(m_nId=platformId, m_nType=platformType) platform = None if len(platformObjs) > 0: platform = platformObjs[0] if platform is None: continue if platformType != type: continue items = [] for k, v in platform.getData().iteritems(): if isinstance(v, StringTypes): items.append(u'%s="%s"' % (k, v)) elif isinstance(v, IntType): items.append(u'%s=%s' % (k, v)) lines.append(u" {%s}" % ",".join(items)) str = u",\n".join(lines) ret = u"%s = {\n%s\n}" % (tag, str) return ret
def platform_operate(request): """ 平台保存,删除,更新 :param request: :return: """ if request.method == "GET": error = "非法请求方式!" logger.error(error) return render_to_response("item/temp.html", locals(), context_instance=RequestContext(request)) elif request.method == "POST": # cmd in [update, save, delete] # cmd in [更新, 保存, 删除] response = {"success": False, "error": ""} try: # 获取参数 cmd = request.POST.get("cmd", None) id = request.POST.get("id", None) m_nId = request.POST.get("m_nId", None) m_nId = int(m_nId) if m_nId else None m_nType = request.POST.get("m_nType", None) m_nType = int(m_nType) if m_nType else None m_strName = request.POST.get("m_strName", None) m_strAbbrName = request.POST.get("m_strAbbrName", None) m_strSoName = request.POST.get("m_strSoName", None) m_strConfig = request.POST.get("m_strConfig", None) m_strLogo = request.POST.get("m_strLogo", None) m_strQuoterTag = request.POST.get("m_strQuoterTag", None) m_strBrokerTag = request.POST.get("m_strBrokerTag", None) m_strfastTag = request.POST.get("m_strfastTag", None) if cmd is None: response["error"] = "CMD参数不能为空!" return HttpResponse(json.dumps(response), mimetype="application/json") param_is_none = False if not m_nId or not m_nType: param_is_none = True if ( (cmd == "delete" and id is None) or (cmd == "save" and param_is_none) or (cmd == "update" and (param_is_none or id is None)) ): response["error"] = "必要参数为空!" return HttpResponse(json.dumps(response), mimetype="application/json") # 创建 if cmd == "save": # 判断是否已有 param_exist = Platform.objects(m_strName=m_strName, m_nType=m_nType) if len(param_exist) > 0: response["error"] = "已存在相同平台!请在原基础修改!" return HttpResponse(json.dumps(response), mimetype="application/json") platform = Platform() platform.m_nId = m_nId platform.m_nType = m_nType platform.m_strName = m_strName platform.m_strAbbrName = m_strAbbrName platform.m_strSoName = m_strSoName platform.m_strConfig = m_strConfig platform.m_strLogo = m_strLogo platform.m_strQuoterTag = m_strQuoterTag platform.m_strBrokerTag = m_strBrokerTag platform.m_strfastTag = m_strfastTag platform.save() response["id"] = str(platform.id) # 更新 elif cmd == "update": # 查找对象 platform = Platform.objects(pk=id) if len(platform) == 0: response["error"] = "未找到可更新对象!" return HttpResponse(json.dumps(response), mimetype="application/json") platform = platform[0] platform.m_nId = m_nId platform.m_nType = m_nType platform.m_strName = m_strName platform.m_strAbbrName = m_strAbbrName platform.m_strSoName = m_strSoName platform.m_strConfig = m_strConfig platform.m_strLogo = m_strLogo platform.m_strQuoterTag = m_strQuoterTag platform.m_strBrokerTag = m_strBrokerTag platform.m_strfastTag = m_strfastTag platform.save() # 删除 elif cmd == "delete": # 查找对象 platform = Platform.objects(pk=id) if len(platform) == 0: response["error"] = "未找到可删除对象!" return HttpResponse(json.dumps(response), mimetype="application/json") platform = platform[0] path = request.path is_sys = None if path == "/customer/system/list/": is_sys = True elif path == "/customer/list/": is_sys = False else: is_sys = False customers = Customer.objects(is_sys=is_sys).order_by("+tag") for customer in customers: cus_modules = customer.modules for module in cus_modules: if module.group == "Broker实盘" or module.group == "Broker模拟": name_list = module.name.split("_") if len(name_list) >= 3: if str(platform.m_nId) == name_list[2]: response["error"] = "该平台被客户[%s]使用,不能删除!" % str(customer.name) return HttpResponse(json.dumps(response), mimetype="application/json") platform.delete() else: response["error"] = "CMD指令异常!" return HttpResponse(json.dumps(response), mimetype="application/json") response["success"] = True response["error"] = "执行成功!" return HttpResponse(json.dumps(response), mimetype="application/json") except Exception as e: response["error"] = "系统异常![%s]" % str(e) logger.error(response["error"] + getTraceBack()) return HttpResponse(json.dumps(response), mimetype="application/json")
def platform_operate(request): """ 平台保存,删除,更新 :param request: :return: """ if request.method == 'GET': error = "非法请求方式!" logger.error(error) return render_to_response('item/temp.html', locals(), context_instance=RequestContext(request)) elif request.method == 'POST': # cmd in [update, save, delete] # cmd in [更新, 保存, 删除] response = {'success': False, 'error': ''} try: # 获取参数 cmd = request.POST.get('cmd', None) id = request.POST.get('id', None) m_nId = request.POST.get('m_nId', None) m_nId = int(m_nId) if m_nId else None m_nType = request.POST.get('m_nType', None) m_nType = int(m_nType) if m_nType else None m_strName = request.POST.get('m_strName', None) m_strAbbrName = request.POST.get('m_strAbbrName', None) m_strSoName = request.POST.get('m_strSoName', None) m_strConfig = request.POST.get('m_strConfig', None) m_strLogo = request.POST.get('m_strLogo', None) m_strQuoterTag = request.POST.get('m_strQuoterTag', None) m_strBrokerTag = request.POST.get('m_strBrokerTag', None) m_strfastTag = request.POST.get('m_strfastTag', None) if cmd is None: response["error"] = "CMD参数不能为空!" return HttpResponse(json.dumps(response), mimetype="application/json") param_is_none = False if not m_nId or not m_nType: param_is_none = True if (cmd == 'delete' and id is None) or \ (cmd == 'save' and param_is_none) or \ (cmd == 'update' and (param_is_none or id is None)): response["error"] = "必要参数为空!" return HttpResponse(json.dumps(response), mimetype="application/json") # 创建 if cmd == 'save': # 判断是否已有 param_exist = Platform.objects(m_strName=m_strName, m_nType=m_nType) if len(param_exist) > 0: response["error"] = "已存在相同平台!请在原基础修改!" return HttpResponse(json.dumps(response), mimetype="application/json") platform = Platform() platform.m_nId = m_nId platform.m_nType = m_nType platform.m_strName = m_strName platform.m_strAbbrName = m_strAbbrName platform.m_strSoName = m_strSoName platform.m_strConfig = m_strConfig platform.m_strLogo = m_strLogo platform.m_strQuoterTag = m_strQuoterTag platform.m_strBrokerTag = m_strBrokerTag platform.m_strfastTag = m_strfastTag platform.save() response["id"] = str(platform.id) # 更新 elif cmd == 'update': # 查找对象 platform = Platform.objects(pk=id) if len(platform) == 0: response["error"] = "未找到可更新对象!" return HttpResponse(json.dumps(response), mimetype="application/json") platform = platform[0] platform.m_nId = m_nId platform.m_nType = m_nType platform.m_strName = m_strName platform.m_strAbbrName = m_strAbbrName platform.m_strSoName = m_strSoName platform.m_strConfig = m_strConfig platform.m_strLogo = m_strLogo platform.m_strQuoterTag = m_strQuoterTag platform.m_strBrokerTag = m_strBrokerTag platform.m_strfastTag = m_strfastTag platform.save() # 删除 elif cmd == 'delete': # 查找对象 platform = Platform.objects(pk=id) if len(platform) == 0: response["error"] = "未找到可删除对象!" return HttpResponse(json.dumps(response), mimetype="application/json") platform = platform[0] path = request.path is_sys = None if path == '/customer/system/list/': is_sys = True elif path == '/customer/list/': is_sys = False else: is_sys = False customers = Customer.objects(is_sys=is_sys).order_by('+tag') for customer in customers: cus_modules = customer.modules for module in cus_modules: if module.group == "Broker实盘" or module.group == "Broker模拟": name_list = module.name.split('_') if len(name_list) >= 3: if str(platform.m_nId) == name_list[2]: response[ "error"] = "该平台被客户[%s]使用,不能删除!" % str( customer.name) return HttpResponse( json.dumps(response), mimetype="application/json") platform.delete() else: response["error"] = "CMD指令异常!" return HttpResponse(json.dumps(response), mimetype="application/json") response["success"] = True response["error"] = "执行成功!" return HttpResponse(json.dumps(response), mimetype="application/json") except Exception as e: response["error"] = "系统异常![%s]" % str(e) logger.error(response["error"] + getTraceBack()) return HttpResponse(json.dumps(response), mimetype="application/json")