def post(self): data = copy.deepcopy(dataInit) myFile = request.files.get("file", None) index = force_int(request.values.get('index', 0)) type = force_int(request.values.get("type", 0)) if not myFile: data["meta"]["message"] = "请上传图片文件" data["meta"]["status_code"] = 400 return data if myFile.mimetype not in ["image/jpeg", "image/png", "image/jpg"]: data["meta"]["message"] = "上传图片文件的格式有误" data["meta"]["status_code"] = 400 return data if type not in list(map(lambda x: x["id"], intelligent_category())): data["meta"]["message"] = "请选择正确的设计类型" data["meta"]["status_code"] = 400 return data from app.lib.cyclegan.intelligent import intelligent res, base64_str = intelligent(image=myFile, index=index, type=type) if not res: data["meta"]["message"] = base64_str data["meta"]["status_code"] = 500 return data else: data["data"] = { 'img': base64_str, 'index': index, 'all_index': [0, 1, 2, 3, 4, 5] } return jsonify(**data)
def post(self): data = copy.deepcopy(dataInit) i = force_int(request.values.get("i", 0)) d = force_int(request.values.get('d', 0)) seed = force_int(request.values.get("seed", 0)) img_data, seed = py_sample("l", seed, i=i, d=d) data["data"] = { 'img': img_data, 'seed': seed, } return jsonify(**data)
def design_conf_list(): meta = { 'title': '设计公司配置管理', 'css_nav_sub_design_conf': 'active', 'css_nav_design': 'active' } query = {} page = force_int(request.args.get('page', 1)) per_page = force_int(request.args.get('per_page', 100)) status = force_int(request.args.get('status', 0)) deleted = force_int(request.args.get('deleted', 0)) t = force_int(request.args.get('t', 1), 1) q = request.args.get('q', '') if q: if t == 1: query['mark'] = q.strip() if t == 2: query['name'] = {"$regex": q.strip()} if status == -1: meta['css_disable'] = 'active' query['status'] = 0 if status == 1: query['status'] = 1 meta['css_enable'] = 'active' else: meta['css_all'] = 'active' query['deleted'] = deleted page_url = url_for('admin.design_conf_list', page="#p#", q=q, t=t, status=status) data = DesignConf.objects(**query).order_by('-created_at').paginate( page=page, per_page=per_page) total_count = DesignConf.objects(**query).count() # 过滤数据 for i, d in enumerate(data.items): pass meta['data'] = data.items pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() return render_template('admin/design_conf/list.html', meta=meta)
def product_fetch_count(): query = {} site_from = request.values.get('site_from', 0) if site_from != 0: query['site_from'] = force_int(site_from) count = Product.objects(**query).count() return jsonify(code=0, message='success!', data={ 'count': count })
def brand_list(): meta = metaInit.copy() query = {} page = force_int(request.args.get('page', 1)) per_page = force_int(request.args.get('per_page', 100)) status = force_int(request.args.get('status', 0)) deleted = force_int(request.args.get('deleted', 0)) kind = force_int(request.args.get('kind', 0)) t = force_int(request.args.get('t', 1), 1) q = request.args.get('q', '') if q: if t==1: query['_id'] = force_int(q) if t==2: query['name'] = {"$regex": q.strip()} if status == -1: meta['css_disable'] = 'active' query['status'] = 0 if status == 1: query['status'] = 1 meta['css_enable'] = 'active' else: pass if deleted == 1: query['deleted'] = 1 meta['css_deleted'] = 'active' else: query['deleted'] = 0 if not status and not deleted: meta['css_all'] = 'active' else: meta['css_all'] = '' page_url = url_for('admin.brand_list', page="#p#", q=q, t=t, kind=kind, status=status) data = Brand.objects(**query).order_by('-created_at').paginate(page=page, per_page=per_page) total_count = Brand.objects(**query).count() # 过滤数据 for i, d in enumerate(data.items): data.items[i].cover = d.cover() data.items[i].user = d.user() meta['data'] = data.items meta['total_count'] = total_count pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() return render_template('admin/brand/list.html', meta=meta)
def design_company_view(): number = force_int(request.args.get('number', None)) if not number: return jsonify(code=3001, message='编号不存在!') design_company = DesignCompany.objects(number=number).first() if not design_company: return jsonify(code=3002, message='公司不存在!') design_company._id = str(design_company._id) design_company.tags_label = ','.join(design_company.tags) return jsonify(code=0, message='success!', data=design_company)
def post(self): data = copy.deepcopy(dataInit) myFile = request.files.get("file", None) type = force_int(request.values.get("type", 1)) index = force_int(request.values.get('index', 0)) img = request.form.get('image_base64', '') img = img.replace("data:image/jpeg;base64,", "").replace("data:image/png;base64,", "") if not myFile and not img: data["meta"]["message"] = "图片参数错误" data["meta"]["status_code"] = 400 return data if myFile and myFile.mimetype not in [ "image/jpeg", "image/png", "image/jpg" ]: data["meta"]["message"] = "上传图片文件的格式有误" data["meta"]["status_code"] = 400 return data if type not in list(map(lambda x: x["id"], draw_generate_category())): data["meta"]["message"] = "请选择正确的生成类型" data["meta"]["status_code"] = 400 return data from app.lib.cyclegan.draw_generate import draw_generate res, base64_str = draw_generate(base64_data=img, image=myFile, index=index, type=type) if not res: data["meta"]["message"] = base64_str data["meta"]["status_code"] = 500 return data else: data["data"] = { 'img': base64_str, 'index': index, 'all_index': [0, 1, 2, 3] } return jsonify(**data)
def user_list(): meta = { 'title': '用户管理', 'css_nav_sub_user': '******', 'css_nav_system': 'active' } query = {} page = int(request.args.get('page', 1)) per_page = int(request.args.get('per_page', 100)) status = int(request.args.get('status', 0)) t = int(request.args.get('t', 1)) q = request.args.get('q', '') if q: if t == 1: query['_id'] = force_int(q.strip(), 0) if t == 2: query['account'] = {"$regex": q.strip()} if t == 3: query['phone'] = q.strip() if t == 4: query['email'] = q.strip() if status == -1: meta['css_disable'] = 'active' query['status'] = 0 elif status == 1: query['status'] = 1 meta['css_verify'] = 'active' elif status == 5: query['status'] = 5 meta['css_success'] = 'active' else: meta['css_all'] = 'active' page_url = url_for('admin.user_list', page="#p#", q=q, t=t, status=status) data = User.objects(**query).order_by('-created_at').paginate( page=page, per_page=per_page) total_count = User.objects(**query).count() meta['data'] = data.items meta['total_count'] = total_count pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() return render_template('admin/user/list.html', meta=meta)
def brand_submit(): meta = metaInit.copy() id = force_int(request.args.get('id', None)) meta['data'] = None meta['is_edit'] = False if id: item = Brand.objects(_id=id).first() if not item: return jsonify(success=False, message='内容不存在!') meta['data'] = item meta['is_edit'] = True form = SaveForm() meta['referer_url'] = request.environ.get('HTTP_REFERER') if request.environ.get('HTTP_REFERER') else '' return render_template('admin/brand/submit.html', meta=meta, form=form)
def post(self): data = copy.deepcopy(dataInit) type = force_int(request.values.get("type", 1)) img_1 = request.values.get('image_1_base64', '') img_2 = request.values.get('image_2_base64', '') img_1 = img_1.replace("data:image/jpeg;base64,", "").replace("data:image/png;base64,", "") img_2 = img_2.replace("data:image/jpeg;base64,", "").replace("data:image/png;base64,", "") file_name1 = request.values.get('file_name1', '') file_name2 = request.values.get('file_name2', '') if not img_1 and not img_2: data["meta"]["message"] = "图片参数错误" data["meta"]["status_code"] = 400 return data if not file_name1.endswith('_origin.jpg') or not file_name2.endswith( '_origin.jpg'): if type == 2: try: from app.lib.stylegan_pytorch.projector import run_projection image_base64_1, image_base64_2, image_base64_3, image_base64_4 = run_projection( img_1, img_2, type) data["data"] = [ image_base64_1, image_base64_2, image_base64_3, image_base64_4 ] except Exception as e: data["meta"]["message"] = str(e) data["meta"]["status_code"] = 500 else: type = file_name1.split('_')[0] group = file_name1.split('_')[1] try: for i in range(1, 5): img = pil_to_base64( 'static/image/result/{}/{}_{}_result.jpg'.format( type, group, i)) data["data"].append(img) except: data["data"] = [] return jsonify(**data)
def design_case_list(): meta = { 'title': '设计作品管理', 'css_nav_sub_design_case': 'active', 'css_nav_design': 'active' } query = {} page = force_int(request.args.get('page', 1)) per_page = force_int(request.args.get('per_page', 100)) status = force_int(request.args.get('status', 0)) deleted = force_int(request.args.get('deleted', 0)) prize_label = request.args.get('prize_label', '') t = force_int(request.args.get('t', 1), 1) q = request.args.get('q', '') if q: if t == 1: try: query['_id'] = ObjectId(q.strip()) except (Exception) as e: query['_id'] = '' if t == 2: query['title'] = {"$regex": q.strip()} if t == 3: query['target_id'] = q.strip() if prize_label: query['prize_label'] = prize_label if status == -1: meta['css_disable'] = 'active' query['status'] = 0 if status == 1: query['status'] = 1 meta['css_enable'] = 'active' else: meta['css_all'] = 'active' query['deleted'] = deleted page_url = url_for('admin.design_case_list', page="#p#", q=q, t=t, prize_label=prize_label, status=status) data = DesignCase.objects(**query).order_by('-created_at').paginate( page=page, per_page=per_page) total_count = DesignCase.objects(**query).count() # 过滤数据 for i, d in enumerate(data.items): pass meta['data'] = data.items meta['total_count'] = total_count pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() return render_template('admin/design_case/list.html', meta=meta)
def column_zone_list(): meta = metaInit.copy() query = {} page = force_int(request.args.get('page', 1)) per_page = force_int(request.args.get('per_page', 100)) status = force_int(request.args.get('status', 0)) deleted = force_int(request.args.get('deleted', 0)) kind = force_int(request.args.get('kind', 0)) t = force_int(request.args.get('t', 1), 1) q = request.args.get('q', '') if q: if t == 1: query['_id'] = ObjectId(q.strip()) if t == 2: query['title'] = q.strip() if t == 3: query['column_zone_id'] = force_int(q.strip()) if kind: if kind == 1: meta['css_industry'] = 'active' elif kind == 2: meta['css_plane'] = 'active' meta['css_all'] = '' query['kind'] = kind if status == -1: meta['css_disable'] = 'active' query['status'] = 0 if status == 1: query['status'] = 1 meta['css_enable'] = 'active' else: pass if deleted == 1: query['deleted'] = 1 meta['css_deleted'] = 'active' else: query['deleted'] = 0 if not status and not deleted: meta['css_all'] = 'active' else: meta['css_all'] = '' page_url = url_for('admin.column_zone_list', page="#p#", q=q, t=t, kind=kind, status=status, deleted=deleted) data = ColumnZone.objects(**query).order_by('-created_at').paginate( page=page, per_page=per_page) total_count = ColumnZone.objects(**query).count() meta['data'] = data.items meta['total_count'] = total_count pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() return render_template('admin/column_zone/list.html', meta=meta)
def design_record_list(): query = {} meta = {} ids = request.args.get('ids', '') d3in_id = request.args.get('d3in_id', '') page = int(request.args.get('page', 1)) per_page = int(request.args.get('per_page', 10)) status = int(request.args.get('status', 1)) deleted = force_int(request.args.get('deleted', 0)) sort = force_int(request.args.get('sort', 0)) mark = request.args.get('mark', '') no = int(request.args.get('no', 0)) if ids: # query['_id__in'] = list(map(lambda x: ObjectId(x), ids.split(','))) isArr = [] for d in ids.split(','): try: id = ObjectId(d) isArr.append(id) except (Exception) as e: pass query['_id__in'] = isArr else: number = '' if d3in_id: designCompany = DesignCompany.objects( d3ing_id=int(d3in_id)).first() if designCompany: number = str(designCompany['number']) if not number: return jsonify(code=0, message='success', data={ 'rows': [], 'total_count': 0, 'page': 0, 'per_page': 0 }) query['number'] = number if status == -1: query['status'] = 0 if status == 1: query['status'] = 1 else: pass if not mark or not no: return jsonify(code=3001, message='缺少请求参数!') query['mark'] = mark query['no'] = no query['deleted'] = deleted #current_app.logger.debug(query) # 排序 sortVal = '-ave_score' nSortVal = '-ave_score' if sort: if sort == 1: sortVal = '-base_average' elif sort == 2: sortVal = '-business_average' elif sort == 3: sortVal = '-innovate_average' elif sort == 4: sortVal = '-design_average' elif sort == 5: sortVal = '-effect_average' elif sort == 6: sortVal = '-credit_average' if sortVal == nSortVal: nSortVal = '-base_average' try: fields = [ '_id', 'mark', 'no', 'ave_score', 'base_average', 'business_average', 'credit_average', 'design_average', 'effect_average', 'innovate_average', 'ave_score', 'type', 'number', 'rank', 'deleted', 'status' ] cFields = [ '_id', 'name', 'logo_url', 'd3ing_id', 'province', 'city', 'description', 'scope_business' ] data = DesignRecord.objects(**query).order_by( sortVal, nSortVal).paginate(page=page, per_page=per_page) total_count = DesignRecord.objects(**query).count() # 过滤数据 rows = [] for i, d in enumerate(data.items): row = filter_key(fields, d) row['_id'] = str(row['_id']) row['design_company'] = {} row['evaluates'] = [] designCompany = DesignCompany.objects(number=int(d.number)).first() if designCompany: # 系统自动生成评价 row['evaluates'] = auto_evaluate(d, designCompany) designCompany['_id'] = str(designCompany['_id']) newCompany = filter_key(cFields, designCompany) row['design_company'] = newCompany rows.append(row) meta['rows'] = rows except (Exception) as e: current_app.logger.debug(str(e)) meta['rows'] = [] total_count = 0 meta['total_count'] = total_count meta['page'] = page meta['per_page'] = per_page return jsonify(code=0, message='success!', data=meta)
def push_product(**kwargs): data = {} growth_data = {} url = kwargs.get('url', None) if not url: return {'success': False, 'message': '抓取链接不存在!'} site_from = force_int(kwargs.get('site_from', 0)) # 站点来源(从站点配置获取) eg. 1.京东;2.淘宝;3.一条; site_type = force_int(kwargs.get('site_type', 0)) # 站点模式(从站点配置获取) eg. 1.销售;2.众筹;3.-- title = kwargs.get('title', None) # 名称 if not site_from: return {'success': False, 'message': '站点来源不能为空!'} if not site_type: return {'success': False, 'message': '站点模式不能为空!'} if not title: return {'success': False, 'message': '产品名称不能为空!'} data['url'] = url data['site_from'] = growth_data['site_from'] = site_from data['site_type'] = growth_data['site_type'] = site_type data['title'] = title sub_title = kwargs.get('sub_title', None) # 副名称 if sub_title: data['sub_title'] = sub_title out_number = kwargs.get('out_number', None) # 站外编号(skuID) if out_number: data['out_number'] = out_number resume = kwargs.get('resume', None) if resume: data['resume'] = resume content = kwargs.get('content', None) if content: data['content'] = content tags = kwargs.get('tags', None) # 标签(多个用,分隔) if tags: data['tags'] = tags cover_url = kwargs.get('cover_url', None) # 封面图 if cover_url: data['cover_url'] = cover_url o_cover_url = kwargs.get('o_cover_url', None) # 原封面图地址 if o_cover_url: data['o_cover_url'] = o_cover_url brand = {} brand_name = kwargs.get('brand_name', None) # 品牌名称 if brand_name: brand['name'] = brand_name brand_contact = kwargs.get('brand_contact', None) # 品牌联系方式 if brand_contact: brand['contact'] = brand_contact brand_address = kwargs.get('brand_address', None) # 品牌地址 if brand_address: brand['address'] = brand_address if brand: data['brand'] = brand category_tags = kwargs.get('category_tags', None) # 分类(多个用,分隔) if category_tags: data['category_tags'] = category_tags info = {} info_name = kwargs.get('info_name', None) # 众筹发起人 if info_name: info['name'] = info_name info_demand = kwargs.get('info_demand', None) # 众筹标准 if info_demand: info['demand'] = info_demand info_rate = force_float_2(kwargs.get('info_rate', 0)) # 众筹进度(百分比/100) if info_rate: info['rate'] = info_rate info_address = kwargs.get('info_address', None) # 众筹公司地址 if info_address: info['address'] = info_address info_contact = kwargs.get('info_contact', None) # 众筹公司联系方式 if info_contact: info['contact'] = info_contact info_time = kwargs.get('info_time', None) # 众筹公司工作时间 if info_time: info['time'] = info_time info_last_time = kwargs.get('info_last_time', None) # 众筹公司工作时间 if info_last_time: info['last_time'] = info_last_time if info: data['info'] = info rate = force_float_2(kwargs.get('rate', 0)) # 产品评分 if rate: data['rate'] = growth_data['rate'] = rate cost_price = force_float_2(kwargs.get('cost_price', 0)) # 成本价 if cost_price: data['cost_price'] = growth_data['cost_price'] = cost_price sale_price = force_float_2(kwargs.get('sale_price', 0)) # 销售价格 if sale_price: data['sale_price'] = growth_data['sale_price'] = sale_price total_price = force_float_2(kwargs.get('total_price', 0)) # 品牌地址 if total_price: data['total_price'] = growth_data['total_price'] = total_price love_count = force_int(kwargs.get('love_count', 0)) # 喜欢/点赞数 if love_count: data['love_count'] = growth_data['love_count'] = love_count favorite_count = force_int(kwargs.get('favorite_count', 0)) # 收藏/订阅数 if favorite_count: data['favorite_count'] = growth_data['favorite_count'] = favorite_count comment_count = force_int(kwargs.get('comment_count', 0)) # 评论数量 if comment_count: data['comment_count'] = growth_data['comment_count'] = comment_count sale_count = force_int(kwargs.get('sale_count', 0)) # 销售数量 if sale_count: data['sale_count'] = growth_data['sale_count'] = sale_count view_count = force_int(kwargs.get('view_count', 0)) # 浏览数量 if view_count: data['view_count'] = growth_data['view_count'] = view_count support_count = force_int(kwargs.get('support_count', 0)) # 支持数量 if support_count: data['support_count'] = growth_data['support_count'] = support_count try: data['last_grab_at'] = datetime.datetime.now() product = Product.objects(url=url).first() if not product: product = Product(**data) ok = product.save() if not ok: current_app.logger.error('爬取产品保存失败!') return {'success': False, 'message': '保存失败!'} else: data['inc__grab_count'] = 1 # 自增 ok = product.update(**data) if not ok: current_app.logger.error('爬取产品更新失败!') return {'success': False, 'message': '更新失败!'} except (Exception) as e: current_app.logger.error('爬取产品异常: %s' % str(e)) return {'success': False, 'message': '爬取产品异常: %s' % str(e)} try: target_id = product._id day = int(datetime.datetime.now().strftime("%Y%m%d")) growth_data['day'] = day growth_data['target_id'] = target_id growth_record = GrowthRecord.objects(day=day, target_id=target_id).first() if not growth_record: growth_record = GrowthRecord(**growth_data) ok = growth_record.save() if not ok: current_app.logger.error('爬取产品增长记录保存失败!') return {'success': False, 'message': '增长记录保存失败!'} else: growth_data['inc__grab_count'] = 1 # 自增 ok = growth_record.update(**growth_data) if not ok: current_app.logger.error('爬取产品增长数记录更新失败!') return {'success': False, 'message': '增长数据更新失败!'} except (Exception) as e: current_app.logger.error('记录产品增长值异常: %s' % str(e)) return {'success': False, 'message': '记录增长值异常: %s' % str(e)} return {'success': True, 'message': 'success!', 'data': ''}
def handle_file(f, **param): result = {'success': 0, 'message': ''} if not f: result['message'] = '文件不存在!' return result bucket_name = current_app.config['QN_BUCKET_NAME'] # 文件名 fname = f.filename # 获取文件后缀 ext = fname.rsplit('.', 1)[1] mime = f.mimetype size = f.content_length blob = f.read() size = len(blob) user_id = force_int(param['user_id'], 0) target_id = param['target_id'] asset_type = force_int(param['asset_type'], 1) evt = param['evt'] #上传到七牛后保存的文件名 asset_name = gen_asset_name(asset_type) # 文件路径 path = "%s/%s/%s/%s" % (bucket_name, asset_name, time.strftime("%y%m%d"), gen_mongo_id()) # 上传至七牛 qnResult = up_qiniu(blob, path) if not qnResult['success']: result['message'] = qnResult['message'] return result row = { 'name': fname, 'mime': mime, 'ext': ext, 'size': size, 'path': path, 'asset_type': asset_type, 'domain': asset_name, 'target_id': target_id, 'user_id': user_id } if evt == 1: # 保存至asset表 try: asset = Asset(**row) ok = asset.save() if not ok: result['message'] = '保存附件失败' return result row['_id'] = str(asset._id) except (Exception) as e: result['message'] = str(e) return result result['success'] = 1 result['data'] = row return result
def produce_list(): meta = metaInit.copy() query = {} page = force_int(request.args.get('page', 1)) per_page = force_int(request.args.get('per_page', 100)) status = force_int(request.args.get('status', 0)) deleted = force_int(request.args.get('deleted', 0)) kind = force_int(request.args.get('kind', 0)) prize_id = force_int(request.args.get('prize_id', 0)) editor_level = force_int(request.args.get('editor_level', 0)) site_mark = request.args.get('site_mark', '') t = force_int(request.args.get('t', 1), 1) q = request.args.get('q', '') if q: if t == 1: query['_id'] = ObjectId(q.strip()) if t == 2: query['channel'] = q.strip() if t == 3: query['evt'] = force_int(q.strip()) if prize_id: query['prize'] = {'$elemMatch': {'id': int(prize_id)}} if kind: if kind == 1: meta['css_design'] = 'active' elif kind == 5: meta['css_fashion'] = 'active' meta['css_all'] = '' query['kind'] = kind if editor_level: if editor_level == -1: query['editor_level'] = 0 else: query['editor_level'] = editor_level if status == -1: query['status'] = 0 if status == 1: query['status'] = 1 else: pass if deleted == 1: query['deleted'] = 1 meta['css_deleted'] = 'active' else: query['deleted'] = 0 if site_mark: query['channel'] = site_mark if not kind and not deleted: meta['css_all'] = 'active' else: meta['css_all'] = '' page_url = url_for('admin.produce_list', page="#p#", q=q, t=t, prize_id=prize_id, site_mark=site_mark, editor_level=editor_level, kind=kind, status=status, deleted=deleted) data = Produce.objects(**query).order_by('-created_at').paginate(page=page, per_page=per_page) total_count = Produce.objects(**query).count() site_list = Site.objects(kind=1, status=1, deleted=0) # 过滤数据 rows = t_admin_produce_list(data) meta['data'] = rows meta['total_count'] = total_count meta['prize_options'] = prize_options() meta['site_list'] = site_list pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() return render_template('admin/produce/list.html', meta=meta)
def design_record_list(): meta = { 'title': '设计公司统计管理', 'css_nav_sub_design_record': 'active', 'css_nav_design': 'active' } query = {} page = force_int(request.args.get('page', 1)) per_page = force_int(request.args.get('per_page', 100)) status = force_int(request.args.get('status', 0)) deleted = force_int(request.args.get('deleted', 0)) sort = force_int(request.args.get('sort', 0)) is_d3in = force_int(request.args.get('is_d3in', 0)) mark = request.args.get('mark', '') number = request.args.get('number', '') no = request.args.get('no', '') if mark: query['mark'] = mark if no: query['no'] = no if number: query['number'] = number if is_d3in: if is_d3in == -1: query['is_d3in'] = 0 elif is_d3in == 1: query['is_d3in'] = 1 if status == -1: meta['css_disable'] = 'active' query['status'] = 0 if status == 1: query['status'] = 1 meta['css_enable'] = 'active' else: meta['css_all'] = 'active' query['deleted'] = deleted # 排序 sortVal = '-created_at' nSortVal = '-base_average' if sort: if sort == 1: sortVal = '-ave_score' elif sort == 2: sortVal = '-base_average' elif sort == 3: sortVal = '-business_average' elif sort == 4: sortVal = '-innovate_average' elif sort == 5: sortVal = '-design_average' elif sort == 6: sortVal = '-effect_average' elif sort == 7: sortVal = '-credit_average' if sortVal == nSortVal: nSortVal = '-base_average' page_url = url_for('admin.design_record_list', page="#p#", mark=mark, no=no, number=number, sort=sort, is_d3in=is_d3in, status=status) data = DesignRecord.objects(**query).order_by(sortVal, nSortVal).paginate( page=page, per_page=per_page) total_count = DesignRecord.objects(**query).count() # 过滤数据 for i, d in enumerate(data.items): data.items[i].design_company = {} designCompany = DesignCompany.objects(number=int(d.number)).fields( ['_id', 'name', 'logo_url', 'd3ing_id']).first() if designCompany: data.items[i].design_company = designCompany meta['data'] = data.items # 获取配置列表 confArr = DesignConf.objects(status=1).fields(['mark', 'name']) meta['design_conf'] = confArr pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() meta['total_count'] = total_count meta['design_dimension_options'] = design_dimension_options() meta['design_fields_label_options'] = design_fields_label_options() #current_app.logger.debug('aaaa') return render_template('admin/design_record/list.html', meta=meta)
def design_company_list(): meta = { 'title': '设计公司管理', 'css_nav_sub_design_company': 'active', 'css_nav_design': 'active', 'css_all': 'active' } query = {} page = force_int(request.args.get('page', 1)) per_page = force_int(request.args.get('per_page', 100)) status = force_int(request.args.get('status', 0)) craw_user_id = force_int(request.args.get('craw_user_id'), 0) deleted = force_int(request.args.get('deleted', 0)) kind = force_int(request.args.get('kind', 0)) t = force_int(request.args.get('t', 1), 1) q = request.args.get('q', '') if q: if t == 1: query['number'] = force_int(q.strip()) if t == 2: query['name'] = {"$regex": q.strip()} if craw_user_id: if craw_user_id == -1: query['craw_user_id'] = 0 else: query['craw_user_id'] = craw_user_id if kind: if kind == 1: meta['css_industry'] = 'active' elif kind == 2: meta['css_plane'] = 'active' meta['css_all'] = '' query['kind'] = kind if status == -1: meta['css_disable'] = 'active' query['status'] = 0 if status == 1: query['status'] = 1 meta['css_enable'] = 'active' else: pass query['deleted'] = deleted page_url = url_for('admin.design_company_list', page="#p#", q=q, t=t, kind=kind, status=status, craw_user_id=craw_user_id) data = DesignCompany.objects(**query).order_by('-created_at').paginate( page=page, per_page=per_page) total_count = DesignCompany.objects(**query).count() # 过滤数据 for i, d in enumerate(data.items): if data.items[i].kind == 1: kind_label = '工业设计' elif data.items[i].kind == 2: kind_label = '平台设计' else: kind_label = '--' data.items[i].kind_label = kind_label meta['data'] = data.items pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() return render_template('admin/design_company/list.html', meta=meta)
def produce_list(): meta = metaInit.copy() query = {} page = force_int(request.args.get('page', 1)) per_page = force_int(request.args.get('per_page', 20)) status = force_int(request.args.get('status', 1)) deleted = force_int(request.args.get('deleted', 0)) kind = force_int(request.args.get('kind', 1)) prize_id = force_int(request.args.get('prize_id', 0)) category_id = force_int(request.args.get('category_id', 0)) tag = request.args.get('tag', '') t = force_int(request.args.get('t', 1), 1) q = request.args.get('q', '') if q: if t == 1: query['title'] = {"$regex": q.strip()} if t == 2: query['channel'] = q.strip() if t == 3: query['evt'] = force_int(q.strip()) if prize_id: query['prize'] = {'$elemMatch': {'id': int(prize_id)}} if category_id: query['category_id'] = category_id if tag: query['total_tags'] = tag if kind: if kind == 1: meta['css_industry'] = 'active' elif kind == 2: meta['css_plane'] = 'active' meta['css_all'] = '' query['kind'] = kind if status == -1: meta['css_disable'] = 'active' query['status'] = 0 if status == 1: query['status'] = 1 meta['css_enable'] = 'active' else: pass if deleted == 1: query['deleted'] = 1 meta['css_deleted'] = 'active' else: query['deleted'] = 0 if not status and not deleted: meta['css_all'] = 'active' else: meta['css_all'] = '' page_url = url_for('main.produce_list', page="#p#", q=q, t=t, tag=tag, prize_id=prize_id, category_id=category_id, kind=kind, status=status, deleted=deleted) data = Produce.objects(**query).order_by('-edit_on', '-editor_level').paginate(page=page, per_page=per_page) total_count = Produce.objects(**query).count() # 过滤数据 rows = t_produce_list(data) meta['data'] = rows meta['total_count'] = total_count meta['prize_options'] = prize_options() categories = Category.objects(kind=2, status=1, deleted=0)[:30] meta['categories'] = categories pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() return render_template('produce/list.html', meta=meta)
def image_list(): meta = metaInit.copy() query = {} page = force_int(request.args.get('page', 1)) per_page = force_int(request.args.get('per_page', 20)) status = force_int(request.args.get('status', 1)) deleted = force_int(request.args.get('deleted', 0)) kind = force_int(request.args.get('kind', 1)) prize_id = force_int(request.args.get('prize_id', 0)) tag = request.args.get('tag', '') t = force_int(request.args.get('t', 1), 1) q = request.args.get('q', '') if q: if t == 1: query['_id'] = ObjectId(q.strip()) if t == 2: query['channel'] = q.strip() if t == 3: query['evt'] = force_int(q.strip()) if tag: query['total_tags'] = tag if prize_id: query['prize_id'] = prize_id if kind: if kind == 1: meta['css_industry'] = 'active' elif kind == 2: meta['css_plane'] = 'active' meta['css_all'] = '' query['kind'] = kind if status == -1: meta['css_disable'] = 'active' query['status'] = 0 if status == 1: query['status'] = 1 meta['css_enable'] = 'active' else: pass if deleted == 1: query['deleted'] = 1 meta['css_deleted'] = 'active' else: query['deleted'] = 0 if not status and not deleted: meta['css_all'] = 'active' else: meta['css_all'] = '' page_url = url_for('main.image_list', page="#p#", q=q, t=t, tag=tag, prize_id=prize_id, kind=kind, status=status, deleted=deleted) data = Image.objects(**query).order_by('random').paginate( page=page, per_page=per_page) total_count = Image.objects(**query).count() # 过滤数据 for i, d in enumerate(data.items): prize_label = '' brand = None data.items[i]._id = str(d._id) data.items[i].thumb = d.get_thumb_path() if d.prize_id: prize_label = prize_options(d.prize_id)['name'] if d.brand_id: brand = Brand.objects(_id=d.brand_id).first() data.items[i].prize_label = prize_label data.items[i].brand = brand # 过滤数据 rows = t_image_list(data) meta['data'] = rows meta['total_count'] = total_count meta['prize_options'] = prize_options() pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() return render_template('image/list.html', meta=meta)
def image_list(): meta = metaInit.copy() query = {} page = force_int(request.args.get('page', 1)) per_page = force_int(request.args.get('per_page', 100)) status = force_int(request.args.get('status', 0)) deleted = force_int(request.args.get('deleted', 0)) kind = force_int(request.args.get('kind', 0)) t = force_int(request.args.get('t', 1), 1) q = request.args.get('q', '') if q: if t == 1: query['id'] = force_int(q.strip()) if t == 2: query['name'] = {"$regex": q.strip()} if kind: if kind == 1: meta['css_industry'] = 'active' elif kind == 2: meta['css_plane'] = 'active' meta['css_all'] = '' query['kind'] = kind if status == -1: meta['css_disable'] = 'active' query['status'] = 0 if status == 1: query['status'] = 1 meta['css_enable'] = 'active' else: pass if deleted == 1: query['deleted'] = 1 meta['css_deleted'] = 'active' else: query['deleted'] = 0 if not status and not deleted: meta['css_all'] = 'active' else: meta['css_all'] = '' page_url = url_for('admin.image_list', page="#p#", q=q, t=t, kind=kind, status=status, deleted=deleted) data = Image.objects(**query).order_by('-created_at').paginate( page=page, per_page=per_page) total_count = Image.objects(**query).count() # 过滤数据 for i, d in enumerate(data.items): data.items[i]._id = str(d._id) data.items[i].thumb = d.get_thumb_path() if d.tags: data.items[i].tags_s = ','.join(d.tags) meta['data'] = data.items pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() return render_template('admin/image/list.html', meta=meta)
def design_company_update(): # 检测接口是否打开 conf = get_block_content('design_grap_switch') if not conf: return jsonify(code=3002, message='接口已关闭!') conf_arr = conf.strip().strip('|').split('|') current_app.logger.debug(conf_arr) if len(conf_arr) == 0: return jsonify(code=3002, message='接口已关闭!!') if int(conf_arr[0]) != 1: return jsonify(code=3002, message='接口已关闭!!!') form = SaveForm(request.values) if not form.validate_on_submit(): return jsonify(code=3004, message=str(form.errors)) number = request.values.get('number', None) data = request.values.to_dict() for key in request.values: data[key] = data[key].strip() if not request.values.get(key): data.pop(key) if not number: return jsonify(code=3001, message='编号不存在!') try: design_company = DesignCompany.objects(number=number).first() if not design_company: return jsonify(code=3002, message='内容不存在!') if 'number' in data: data.pop('number') if 'perfect_degree' in data: data.pop('perfect_degree') if not data: return jsonify(code=3003, message='至少传入一个参数!') # 公司数量整理 if 'company_count' in data: if ',' in data['company_count']: company_count_arr = data['company_count'].split(',') company_count = 0 for n in company_count_arr: company_count += force_int(n) data['company_count'] = str(company_count) # 如果已入驻铟果,一些字段忽略存储 if design_company.d3ing_id: ignore_field = [ 'short_name', 'branch', 'english_name', 'scale_label', 'description', 'url', 'logo_url', 'province', 'city', 'address', 'contact_name', 'contact_phone', 'contact_email' ] for ig in ignore_field: if ig in data: data.pop(ig) data['inc__craw_count'] = 1 # 自增 data['last_on'] = datetime.datetime.now() design_company.update(**data) if design_company: return jsonify(code=0, message='success!', data=data) else: return jsonify(code=3010, message='更新失败!') except (Exception) as e: return jsonify(success=False, message=str(e))
def company_stat_core(**options): result = {'success': False, 'message': ''} d = options['company'] conf = options['conf'] mark = options['mark'] no = options['no'] ## 是否入驻铟果 is_d3in = 0 ## 基本信息统计 baseConf = { 'in_d3ing': 0, 'key_personnel_count': 0, 'chage_record_count': 0, 'affiliated_agency_count': 0, 'financing_count': 0, 'core_team_count': 0, 'enterprise_business_count': 0, 'competitor_count': 0, 'bid_count': 0, } # 入驻铟果 if d.d3ing_id: is_d3in = 1 baseConf['in_d3ing'] = conf['in_d3ing'] # 主要成员 if d.key_personnel_count: baseConf['key_personnel_count'] = d.key_personnel_count * conf[ 'key_personnel_count'] # 股东信息 if d.shareholder_count: baseConf['shareholder_count'] = d.shareholder_count * conf[ 'shareholder_count'] # 变更信息 if d.chage_record_count: baseConf['chage_record_count'] = d.chage_record_count * conf[ 'chage_record_count'] # 分支机构 if d.affiliated_agency_count: baseConf['affiliated_agency_count'] = d.affiliated_agency_count * conf[ 'affiliated_agency_count'] # 融资 if d.financing_count: baseConf[ 'financing_count'] = d.financing_count * conf['financing_count'] # 核心团队 if d.core_team_count: baseConf[ 'core_team_count'] = d.core_team_count * conf['core_team_count'] # 企业业务 if d.enterprise_business_count: baseConf[ 'enterprise_business_count'] = d.enterprise_business_count * conf[ 'enterprise_business_count'] # 竞品信息 if d.competitor_count: baseConf[ 'competitor_count'] = d.competitor_count * conf['competitor_count'] # 招投标 if d.bid_count: baseConf['bid_count'] = d.bid_count * conf['bid_count'] ## 统计基本信息分值 baseScore = 0 for k, v in baseConf.items(): baseScore += v ## 商业力指数 businessConf = { 'scale': 0, 'registered_capital_format': 0, 'investment_abroad_count': 0, 'annual_return_count': 0, 'branch': 0, 'company_count': 0, } # 公司规则 if d.scale: if d.scale == 1: businessConf['scale'] = conf['scale_a'] elif d.scale == 2: businessConf['scale'] = conf['scale_b'] elif d.scale == 3: businessConf['scale'] = conf['scale_c'] elif d.scale == 4: businessConf['scale'] = conf['scale_d'] elif d.scale == 5: businessConf['scale'] = conf['scale_e'] # 注册资金 if d.registered_capital_format: if d.registered_capital_format == 1: businessConf['registered_capital_format'] = conf[ 'registered_capital_format_a'] elif d.registered_capital_format == 2: businessConf['registered_capital_format'] = conf[ 'registered_capital_format_b'] elif d.registered_capital_format == 3: businessConf['registered_capital_format'] = conf[ 'registered_capital_format_c'] elif d.registered_capital_format == 4: businessConf['registered_capital_format'] = conf[ 'registered_capital_format_d'] elif d.registered_capital_format == 5: businessConf['registered_capital_format'] = conf[ 'registered_capital_format_e'] # 对外投资 if d.investment_abroad_count: businessConf[ 'investment_abroad_count'] = d.investment_abroad_count * conf[ 'investment_abroad_count'] # 公司年报 if d.annual_return_count: businessConf['annual_return_count'] = d.annual_return_count * conf[ 'annual_return_count'] # 分公司数 if d.branch: businessConf['branch'] = force_int(d.branch) * conf['branch'] # 法人公司数 if d.company_count: businessConf['company_count'] = force_int( d.company_count) * conf['company_count'] ## 统计商业力指数分值 businessScore = 0 for k, v in businessConf.items(): businessScore += v ## 创新力指数 innovateConf = { 'trademark_count': 0, 'patent_count': 0, 'software_copyright_count': 0, 'works_copyright_count': 0, 'icp_count': 0, } # 商标 if d.trademark_count: if d.trademark_count < 5: innovateConf['trademark_count'] = conf['trademark_count_a'] elif d.trademark_count >= 5 and d.trademark_count < 10: innovateConf['trademark_count'] = conf['trademark_count_b'] elif d.trademark_count >= 10 and d.trademark_count < 50: innovateConf['trademark_count'] = conf['trademark_count_c'] elif d.trademark_count >= 50 and d.trademark_count < 100: innovateConf['trademark_count'] = conf['trademark_count_d'] elif d.trademark_count >= 100 and d.trademark_count < 500: innovateConf['trademark_count'] = conf['trademark_count_e'] elif d.trademark_count >= 500: innovateConf['trademark_count'] = conf['trademark_count_f'] # 专利 if d.patent_count: if d.patent_count < 5: innovateConf['patent_count'] = conf['patent_count_a'] elif d.patent_count >= 5 and d.patent_count < 10: innovateConf['patent_count'] = conf['patent_count_b'] elif d.patent_count >= 10 and d.patent_count < 50: innovateConf['patent_count'] = conf['patent_count_c'] elif d.patent_count >= 50 and d.patent_count < 100: innovateConf['patent_count'] = conf['patent_count_d'] elif d.patent_count >= 100 and d.patent_count < 500: innovateConf['patent_count'] = conf['patent_count_e'] elif d.patent_count >= 500: innovateConf['patent_count'] = conf['patent_count_f'] # 软件著作权 if d.software_copyright_count: if d.software_copyright_count < 5: innovateConf['software_copyright_count'] = conf[ 'software_copyright_count_a'] elif d.software_copyright_count >= 5 and d.software_copyright_count < 10: innovateConf['software_copyright_count'] = conf[ 'software_copyright_count_b'] elif d.software_copyright_count >= 10 and d.software_copyright_count < 50: innovateConf['software_copyright_count'] = conf[ 'software_copyright_count_c'] elif d.software_copyright_count >= 50 and d.software_copyright_count < 100: innovateConf['software_copyright_count'] = conf[ 'software_copyright_count_d'] elif d.software_copyright_count >= 100 and d.software_copyright_count < 500: innovateConf['software_copyright_count'] = conf[ 'software_copyright_count_e'] elif d.software_copyright_count >= 500: innovateConf['software_copyright_count'] = conf[ 'software_copyright_count_f'] # 作品著作权 if d.works_copyright_count: if d.works_copyright_count < 5: innovateConf['works_copyright_count'] = conf[ 'works_copyright_count_a'] elif d.works_copyright_count >= 5 and d.works_copyright_count < 10: innovateConf['works_copyright_count'] = conf[ 'works_copyright_count_b'] elif d.works_copyright_count >= 10 and d.works_copyright_count < 50: innovateConf['works_copyright_count'] = conf[ 'works_copyright_count_c'] elif d.works_copyright_count >= 50 and d.works_copyright_count < 100: innovateConf['works_copyright_count'] = conf[ 'works_copyright_count_d'] elif d.works_copyright_count >= 100 and d.works_copyright_count < 500: innovateConf['works_copyright_count'] = conf[ 'works_copyright_count_e'] elif d.works_copyright_count >= 500: innovateConf['works_copyright_count'] = conf[ 'works_copyright_count_f'] # 网站备案 if d.icp_count: innovateConf['icp_count'] = d.icp_count * conf['icp_count'] ## 统计创新力指数分值 innovateScore = 0 for k, v in innovateConf.items(): innovateScore += v ## 设计力指数 designConf = { 'design_center': 0, 'design_case_count': 0, 'd3in_case_count': 0, 'red_star_award_count': 0, 'innovative_design_award_count': 0, 'china_design_award_count': 0, 'dia_award_count': 0, 'if_award_count': 0, 'red_dot_award_count': 0, 'idea_award_count': 0, 'gmark_award_count': 0, } # 设计中心--省级/国家级 if d.is_design_center: if d.is_design_center == 1: designConf['design_center'] = conf['design_center_province'] elif d.is_design_center == 2: designConf['design_center'] = conf['design_center_county'] # 抓取作品数 if d.design_case_count: designConf['design_case_count'] = d.design_case_count * conf[ 'design_case_count'] # 铟果作品数 if d.d3in_case_count: #designConf['d3in_case_count'] = d.d3in_case_count * conf['d3in_case_count'] if d.d3in_case_count <= 5: designConf['d3in_case_count'] = conf['d3in_case_count_a'] elif d.d3in_case_count > 5 and d.d3in_case_count <= 20: designConf['d3in_case_count'] = conf['d3in_case_count_b'] elif d.d3in_case_count > 20 and d.d3in_case_count <= 50: designConf['d3in_case_count'] = conf['d3in_case_count_c'] elif d.d3in_case_count > 50 and d.d3in_case_count <= 100: designConf['d3in_case_count'] = conf['d3in_case_count_d'] elif d.d3in_case_count > 100 and d.d3in_case_count <= 500: designConf['d3in_case_count'] = conf['d3in_case_count_e'] elif d.d3in_case_count > 500: designConf['d3in_case_count'] = conf['d3in_case_count_f'] # 红星奖 if d.red_star_award_count: designConf['red_star_award_count'] = d.red_star_award_count * conf[ 'red_star_award_count'] # 红棉奖 if d.innovative_design_award_count: designConf[ 'innovative_design_award_count'] = d.innovative_design_award_count * conf[ 'innovative_design_award_count'] # 中国好设计奖 if d.china_design_award_count: designConf[ 'china_design_award_count'] = d.china_design_award_count * conf[ 'china_design_award_count'] # 中国设计智造大奖 if d.dia_award_count: designConf[ 'dia_award_count'] = d.dia_award_count * conf['dia_award_count'] # if奖 if d.if_award_count: designConf[ 'if_award_count'] = d.if_award_count * conf['if_award_count'] # 红点奖 if d.red_dot_award_count: designConf['red_dot_award_count'] = d.red_dot_award_count * conf[ 'red_dot_award_count'] # IDEA工业设计奖 if d.idea_award_count: designConf[ 'idea_award_count'] = d.idea_award_count * conf['idea_award_count'] # G-Mark设计奖 if d.gmark_award_count: designConf['gmark_award_count'] = d.gmark_award_count * conf[ 'gmark_award_count'] ## 统计设计力指数分值 designScore = 0 for k, v in designConf.items(): designScore += v ## 影响力指数 effectConf = { 'is_high_tech': 0, 'ty_score': 0, 'ty_view_count': 0, 'bd_hot_count': 0, 'certification_count': 0, 'cida_credit_rating': 0, 'wx_public_count': 0, } # 高新企业 if d.is_high_tech: effectConf['is_high_tech'] = conf['is_high_tech'] # 天眼查分数 if d.ty_score: effectConf['ty_score'] = d.ty_score * conf['ty_score'] # 天眼查浏览数 if d.ty_view_count: if d.ty_view_count < 100: effectConf['ty_view_count'] = conf['ty_view_count_a'] elif d.ty_view_count >= 100 and d.ty_view_count < 500: effectConf['ty_view_count'] = conf['ty_view_count_b'] elif d.ty_view_count >= 500 and d.ty_view_count < 2000: effectConf['ty_view_count'] = conf['ty_view_count_c'] elif d.ty_view_count >= 2000 and d.ty_view_count < 5000: effectConf['ty_view_count'] = conf['ty_view_count_d'] elif d.ty_view_count >= 5000 and d.ty_view_count < 10000: effectConf['ty_view_count'] = conf['ty_view_count_e'] elif d.ty_view_count >= 10000: effectConf['ty_view_count'] = conf['ty_view_count_f'] # 百度关键词热度(品牌名或简称) if d.baidu_brand_hot: if d.baidu_brand_hot < 10000: effectConf['bd_hot_count'] = conf['bd_hot_count_a'] elif d.baidu_brand_hot >= 10000 and d.baidu_brand_hot < 100000: effectConf['bd_hot_count'] = conf['bd_hot_count_b'] elif d.baidu_brand_hot >= 100000 and d.baidu_brand_hot < 500000: effectConf['bd_hot_count'] = conf['bd_hot_count_c'] elif d.baidu_brand_hot >= 500000 and d.baidu_brand_hot < 1000000: effectConf['bd_hot_count'] = conf['bd_hot_count_d'] elif d.baidu_brand_hot >= 1000000 and d.baidu_brand_hot < 5000000: effectConf['bd_hot_count'] = conf['bd_hot_count_e'] elif d.baidu_brand_hot >= 5000000: effectConf['bd_hot_count'] = conf['bd_hot_count_f'] # 公司全称 elif d.baidu_hot: if d.baidu_hot < 10000: effectConf['bd_hot_count'] = conf['bd_hot_count_a'] elif d.baidu_hot >= 10000 and d.baidu_hot < 200000: effectConf['bd_hot_count'] = conf['bd_hot_count_b'] elif d.baidu_hot >= 200000 and d.baidu_hot < 1000000: effectConf['bd_hot_count'] = conf['bd_hot_count_c'] elif d.baidu_hot >= 1000000 and d.baidu_hot < 5000000: effectConf['bd_hot_count'] = conf['bd_hot_count_d'] elif d.baidu_hot >= 5000000 and d.baidu_hot < 10000000: effectConf['bd_hot_count'] = conf['bd_hot_count_e'] elif d.baidu_hot >= 10000000: effectConf['bd_hot_count'] = conf['bd_hot_count_f'] # 资质证书 if d.certification_count: effectConf['certification_count'] = d.certification_count * conf[ 'certification_count'] # 工会认证 if d.cida_credit_rating: if d.cida_credit_rating == 1: designConf['cida_credit_rating'] = conf['cida_credit_rating_a'] elif d.cida_credit_rating == 2: designConf['cida_credit_rating'] = conf['cida_credit_rating_b'] elif d.cida_credit_rating == 3: designConf['cida_credit_rating'] = conf['cida_credit_rating_c'] # 公号 if d.wx_public_count: designConf[ 'wx_public_count'] = d.wx_public_count * conf['wx_public_count'] ## 统计影响力指数分值 effectScore = 0 for k, v in effectConf.items(): effectScore += v ## 社会信誉 creditConf = { 'action_at_law_count': 0, 'court_announcement_count': 0, 'dishonest_person_count': 0, 'person_subject_count': 0, 'announcement_court_count': 0, 'abnormal_operation_count': 0, 'administrative_penalty_count': 0, 'break_law_count': 0, 'equity_pledged_count': 0, 'chattel_mortgage_count': 0, 'tax_notice_count': 0, 'judicial_sale_count': 0, 'tax_rating_count': 0, 'credit_enter_extra': 0, } # 法律诉讼 if d.action_at_law_count: creditConf['action_at_law_count'] = d.action_at_law_count * conf[ 'action_at_law_count'] # 法院公告 if d.court_announcement_count: creditConf[ 'court_announcement_count'] = d.court_announcement_count * conf[ 'court_announcement_count'] # 失信人 if d.dishonest_person_count: creditConf['dishonest_person_count'] = d.dishonest_person_count * conf[ 'dishonest_person_count'] # 被执行人 if d.person_subject_count: creditConf['person_subject_count'] = d.person_subject_count * conf[ 'person_subject_count'] # 开庭公告 if d.announcement_court_count: creditConf[ 'announcement_court_count'] = d.announcement_court_count * conf[ 'announcement_court_count'] # 经营异常 if d.abnormal_operation_count: creditConf[ 'abnormal_operation_count'] = d.abnormal_operation_count * conf[ 'abnormal_operation_count'] # 行政处罚 if d.administrative_penalty_count: creditConf[ 'administrative_penalty_count'] = d.administrative_penalty_count * conf[ 'administrative_penalty_count'] # 严重违法 if d.break_law_count: creditConf[ 'break_law_count'] = d.break_law_count * conf['break_law_count'] # 股权出质 if d.equity_pledged_count: creditConf['equity_pledged_count'] = d.equity_pledged_count * conf[ 'equity_pledged_count'] # 动产抵押 if d.chattel_mortgage_count: creditConf['chattel_mortgage_count'] = d.chattel_mortgage_count * conf[ 'chattel_mortgage_count'] # 欠税公告 if d.tax_notice_count: creditConf[ 'tax_notice_count'] = d.tax_notice_count * conf['tax_notice_count'] # 司法拍卖 if d.judicial_sale_count: creditConf['judicial_sale_count'] = d.judicial_sale_count * conf[ 'judicial_sale_count'] # 税务评级 if d.tax_rating_count: creditConf[ 'tax_rating_count'] = d.tax_rating_count * conf['tax_rating_count'] # 入驻加分 if is_d3in: creditConf['credit_enter_extra'] = conf['credit_enter_extra'] ## 统计社会信誉分值 creditScore = 100 for k, v in creditConf.items(): creditScore += v ## 统计总分数 # baseConf businessConf innovateConf designConf effectConf creditConf totalScore = baseScore + businessScore + innovateScore + designScore + effectScore + creditScore row = { 'mark': mark, 'no': no, 'number': str(d.number), 'is_d3in': is_d3in, 'base_score': baseScore, 'base_group': baseConf, 'business_score': businessScore, 'business_group': businessConf, 'innovate_score': innovateScore, 'innovate_group': innovateConf, 'design_score': designScore, 'design_group': designConf, 'effect_score': effectScore, 'effect_group': effectConf, 'credit_score': creditScore, 'credit_group': creditConf, 'total_score': totalScore, } recordQuery = { 'mark': mark, 'no': no, 'number': str(d.number), } try: item = DesignRecord.objects(**recordQuery).first() if item: if item.deleted == 1: row['deleted'] = 0 ok = item.update(**row) else: item = DesignRecord(**row) ok = item.save() if not ok: print("数据保存失败: %s" % str(ok)) result['message'] = "数据保存失败: %s" % str(ok) return result except (Exception) as e: print("数据保存异常: %s" % str(e)) result['message'] = "数据保存异常: %s" % str(e) return result print("stat success: %s" % d.number) print("------------------\n") result['data'] = item result['success'] = True return result
def column_list(): meta = metaInit.copy() query = {} page = force_int(request.args.get('page', 1)) per_page = force_int(request.args.get('per_page', 100)) status = force_int(request.args.get('status', 0)) deleted = force_int(request.args.get('deleted', 0)) kind = force_int(request.args.get('kind', 0)) column_zone_id = request.args.get('column_zone_id', 0) t = force_int(request.args.get('t', 1), 1) q = request.args.get('q', '') if q: if t == 1: query['_id'] = ObjectId(q.strip()) if t == 2: query['title'] = q.strip() if column_zone_id: query['column_zone_id'] = column_zone_id if kind: if kind == 1: meta['css_industry'] = 'active' elif kind == 2: meta['css_plane'] = 'active' meta['css_all'] = '' query['kind'] = kind if status == -1: meta['css_disable'] = 'active' query['status'] = 0 if status == 1: query['status'] = 1 meta['css_enable'] = 'active' else: pass if deleted == 1: query['deleted'] = 1 meta['css_deleted'] = 'active' else: query['deleted'] = 0 if not status and not deleted: meta['css_all'] = 'active' else: meta['css_all'] = '' page_url = url_for('admin.column_list', page="#p#", q=q, t=t, kind=kind, status=status, deleted=deleted) data = Column.objects(**query).order_by('-created_at').paginate(page=page, per_page=per_page) total_count = Column.objects(**query).count() for i, d in enumerate(data.items): data.items[i].cover = d.cover() zone = '' if d.column_zone_id: zone = ColumnZone.objects(_id=ObjectId(d.column_zone_id)).first() data.items[i].zone = zone column_zones = ColumnZone.objects.all() for i in column_zones: i.id = str(i._id) meta['data'] = data.items meta['total_count'] = total_count meta['column_zone_options'] = column_zones pager = Pager(page, per_page, total_count, page_url) meta['pager'] = pager.render_view() return render_template('admin/column/list.html', meta=meta)