def my_list(): criteria = {} # 支持表格字段里的任何搜索 access_status = judging_permissions('2_3_3') if access_status.get('code') != 200: return jsonify(access_status) for item in default_values: req_value = request.args.get(item) if req_value: req_value = req_value.strip() if item in int_key: try: req_value = int(req_value) except: return jsonify({'code': 201, 'msg': u'参数错误'}) criteria.update({item: req_value}) else: criteria.update({item: {'$regex': req_value}}) try: page_num = int(request.args.get('page_num', 1)) - 1 limit = int(request.args.get('limit', 20)) except: return jsonify({'code': 201, 'msg': u'参数错误'}) _cur = planet_img.find(criteria) _count = _cur.count() if _count % limit: num = _count / limit + 1 else: num = _count / limit if _count > (page_num * limit): _list = [] cur_list = _cur.sort([('_id', -1)]).skip(page_num * limit).limit(limit) for _obj in cur_list: try: _obj['_id'] = str(_obj['_id']) _list.append(_obj) except Exception as e: print(e) return jsonify({ 'code': 200, 'data': { 'num': num, 'count': _count, 'page': page_num + 1, 'list': _list } }) else: return jsonify({ 'code': 200, 'data': { 'num': num, 'count': _count, 'page': page_num + 1, 'list': [] } })
def detail_list(): access_status = judging_permissions('0_7_3') if access_status.get('code') != 200: return jsonify(access_status) guess_red_id = request.args.get('guess_red_id', '') criteria = {'number_of_periods': int(guess_red_id)} try: page_num = int(request.args.get('page_num', 1)) - 1 limit = int(request.args.get('limit', 20)) except: return jsonify({'code': 201, 'msg': u'参数错误'}) _cur = guess_red_detail.find(criteria) _count = _cur.count() if _count % limit: num = _count / limit + 1 else: num = _count / limit if _count > (page_num * limit): _list = [] cur_list = _cur.skip(page_num * limit).limit(limit) for _obj in cur_list: try: _obj['_id'] = str(_obj['_id']) _list.append(_obj) except Exception as e: print(e) return jsonify({'code': 200, 'data': {'num': num, 'count': _count, 'page': page_num + 1, 'list': _list}}) else: return jsonify({'code': 200, 'data': {'num': num, 'count': _count, 'page': page_num + 1, 'list': []}})
def add(): access_status = judging_permissions('5_0_0') if access_status.get('code') != 200: return jsonify(access_status) data = get_request_params() _insert(data) return jsonify({'code': 200, 'msg': u'success'})
def update(): data = {key: dict(request.form)[key][0] for key in dict(request.form)} if not data: data = request.get_json() _id = data.get('_id') if not _id: return jsonify({'code': 201, 'msg': u'缺少参数'}) _obj = user.find_one({'_id': ObjectId(_id)}) if not _obj: return jsonify({'code': 202, 'msg': u'不存在'}) invite_code = data.get('invite_code', '').lower() data.update({'invite_code': invite_code}) access_status = judging_permissions('1_0_2') if access_status.get('code') != 200: return jsonify(access_status) _update = {} for key in default_values: if key in data: _values = data.get(key) if _values: # if isinstance(_values, str) or isinstance(_values, unicode): if isinstance(_values, str): _values = _values.strip() if key in int_keys: try: _values = int(_values) except: return jsonify({'code': 201, 'msg': u'参数错误'}) if _obj.get(key) != _values: _update.update({key: _values}) new_update = {} if 'status' in _update: new_update['status'] = _update.get('status') if 'verified_status' in _update: new_update['verified_status'] = _update.get('verified_status') if 'invite_code' in _update: invite_code = _update.get('invite_code') invite_code_obj = invite_code_data.find_one({'invite_code': invite_code}) user_obj = user.find_one({'invite_code': invite_code}) earth_code_obj = earth_code.find_one({'invite_code': invite_code}) if invite_code_obj or user_obj or earth_code_obj: return jsonify({'code': 201, 'msg': u'邀请码已被使用'}) invite_url_short = generate_dwz( '{0}/h5/reg?invite_code={1}&source=invite'.format(conf.api_url, invite_code)) new_update['invite_code'] = invite_code new_update['invite_url_short'] = invite_url_short if new_update: try: user.update_one({'_id': ObjectId(_id)}, {'$set': new_update}) return jsonify({'code': 200, 'msg': u'成功'}) except: pass else: return jsonify({'code': 203, 'msg': u'无更新数据'}) return jsonify({'code': 204, 'msg': u'失败'})
def detail(): access_status = judging_permissions('operation:get') if access_status.get('code') != 200: return jsonify(access_status) _obj = operation.find_one({}) if not _obj: return jsonify({'code': 202, 'msg': u'不存在'}) _obj['_id'] = str(_obj['_id']) return jsonify({'code': 200, 'data': _obj})
def delete(): access_status = judging_permissions('5_0_1') if access_status.get('code') != 200: return jsonify(access_status) data = get_request_params() _id = data.get('_id', '') if not _id or not ObjectId.is_valid(_id): return jsonify({'code': 202, 'msg': u'参数错误'}) heat_task.remove({'_id': ObjectId(_id)}) return jsonify({'code': 200, 'msg': u'success'})
def detail(): access_status = judging_permissions('5_0_3') if access_status.get('code') != 200: return jsonify(access_status) _id = request.args.get('_id', '') if not _id or not ObjectId.is_valid(_id): return jsonify({'code': 201, 'msg': u'缺少参数'}) _obj = heat_task.find_one({'_id': ObjectId(_id)}) if not _obj: return jsonify({'code': 202, 'msg': u'参数错误'}) _obj['_id'] = str(_obj.get('_id')) return jsonify({'code': 200, 'data': _obj})
def delete(): access_status = judging_permissions('1_2_1') if access_status.get('code') != 200: return jsonify(access_status) data = {key: dict(request.form)[key][0] for key in dict(request.form)} if not data: data = request.get_json() _id = data.get('_id') if not _id: return jsonify({'code': 201, 'msg': u'参数错误'}) feedback.remove({'_id': ObjectId(_id)}) return jsonify({'code': 200, 'msg': u'成功'})
def my_list(): criteria = {} # 支持表格字段里的任何搜索 access_status = judging_permissions('2_6_3') if access_status.get('code') != 200: return jsonify(access_status) for item in default_values: req_value = request.args.get(item) if req_value: req_value = req_value.strip() if item in int_key: try: req_value = int(req_value) except: return jsonify({'code': 201, 'msg': u'参数错误'}) criteria.update({item: req_value}) else: criteria.update({item: {'$regex': req_value}}) try: page_num = int(request.args.get('page_num', 1)) - 1 limit = int(request.args.get('limit', 20)) except: return jsonify({'code': 201, 'msg': u'参数错误'}) _cur = home_ad.find(criteria) _count = _cur.count() if _count % limit: num = _count / limit + 1 else: num = _count / limit if _count > (page_num * limit): _list = [] cur_list = _cur.sort([('status', -1), ('sort_id', 1)]).skip(page_num * limit).limit(limit) for _obj in cur_list: try: _obj['_id'] = str(_obj['_id']) _obj['status_name'] = status_values.get(_obj.get('status', 0), '-') _obj['type_num_name'] = type_num_values.get(_obj.get('type_num', 0), u'帮助文档') _obj['associated_name'] = '-' if _obj.get('associated_id', ''): try: task_obj = app_wake_task.find_one({'_id': ObjectId(_obj.get('associated_id', ''))}) _obj['associated_name'] = task_obj.get('name', '') except: pass _list.append(_obj) except Exception as e: print (e) return jsonify({'code': 200, 'data': {'num': num, 'count': _count, 'page': page_num + 1, 'list': _list}}) else: return jsonify({'code': 200, 'data': {'num': num, 'count': _count, 'page': page_num + 1, 'list': []}})
def detail(): access_status = judging_permissions('2_2_3') if access_status.get('code') != 200: return jsonify(access_status) _id = request.args.get('_id') if not _id or not ObjectId.is_valid(_id): return jsonify({'code': 201, 'msg': u'参数错误'}) _obj = help_center.find_one({'_id': ObjectId(_id)}) if not _obj: return jsonify({'code': 202, 'msg': u'不存在'}) _obj['_id'] = _id return jsonify({'code': 200, 'data': _obj})
def update(): access_status = judging_permissions('2_2_2') if access_status.get('code') != 200: return jsonify(access_status) _update = {} data = {key: dict(request.form)[key][0] for key in dict(request.form)} if not data: data = request.get_json() _id = data.get('_id') if not _id or not ObjectId.is_valid(_id): return jsonify({'code': 201, 'msg': u'参数错误'}) _obj = help_center.find_one({'_id': ObjectId(_id)}) if not _obj: return jsonify({'code': 202, 'msg': u'不存在'}) for key in default_values: if key in data: _values = data.get(key) if _values: # if isinstance(_values, str) or isinstance(_values, unicode): if isinstance(_values, str): _values = _values.strip() if key in int_key: try: _values = int(_values) except: return jsonify({'code': 201, 'msg': u'参数错误'}) if _obj.get(key) != _values: if key == 'password': _values = generate_password_hash(_values) _update.update({key: _values}) if 'img_url' in _update: del _update['img_url'] _file = request.files img_url_file = _file.get('img_url') if img_url_file: result, img_url = upload_img(img_url_file) if not result: return jsonify({'code': 206, 'msg': img_url}) _update.update({'img_url': img_url}) if _update: try: help_center.update_one({'_id': ObjectId(_id)}, {'$set': _update}) return jsonify({'code': 200, 'msg': u'成功'}) except: pass else: return jsonify({'code': 203, 'msg': u'无更新数据'}) return jsonify({'code': 204, 'msg': u'失败'})
def get_detail(): access_status = judging_permissions('1_2_3') if access_status.get('code') != 200: return jsonify(access_status) _id = request.args.get('_id') if not _id: return jsonify({'code': 201, 'msg': u'参数错误'}) _obj = feedback.find_one({'_id': ObjectId(_id)}) if not _obj: return jsonify({'code': 202, 'msg': u'不存在'}) _obj['_id'] = _id content = _obj.get('content') image_list = _obj.get('image_list') for inage_url in image_list: content += '<p><img src="' + inage_url + '></p>' return jsonify({'code': 200, 'data': _obj})
def my_list(): access_status = judging_permissions('0_7_3') if access_status.get('code') != 200: return jsonify(access_status) criteria = {} # 支持表格字段里的任何搜索 for item in default_values: req_value = request.args.get(item) if req_value: req_value = req_value.strip() if item in int_key: try: req_value = int(req_value) except: return jsonify({'code': 201, 'msg': u'参数错误'}) criteria.update({item: req_value}) else: criteria.update({item: {'$regex': req_value}}) try: page_num = int(request.args.get('page_num', 1)) - 1 limit = int(request.args.get('limit', 20)) except: return jsonify({'code': 201, 'msg': u'参数错误'}) _cur = guess_red.find(criteria) _count = _cur.count() if _count % limit: num = _count / limit + 1 else: num = _count / limit if _count > (page_num * limit): _list = [] cur_list = _cur.sort([('today_str', -1), ('hour_int', -1), ('minute_int', -1)]).skip(page_num * limit).limit( limit) for _obj in cur_list: try: _obj['_id'] = str(_obj['_id']) _obj['status_name'] = status_values.get(_obj.get('status', 0), '') _obj['hour_int_d'] = str(_obj.get('hour_int', 0)) + u' 点' _obj['value'] = '%.2f' % (float(_obj.get('value')) / float(100)) _list.append(_obj) except Exception as e: print(e) return jsonify({'code': 200, 'data': {'num': num, 'count': _count, 'page': page_num + 1, 'list': _list}}) else: return jsonify({'code': 200, 'data': {'num': num, 'count': _count, 'page': page_num + 1, 'list': []}})
def edit(): _id = request.args.get('_id') if not _id: return jsonify({'code': 201, 'msg': u'参数错误'}) _obj = user.find_one({'_id': ObjectId(_id)}) if not _obj: return jsonify({'code': 202, 'msg': u'不存在'}) access_status = judging_permissions('1_0_3') if access_status.get('code') != 200: return jsonify(access_status) _obj['_id'] = _id _obj['status_name'] = status_values.get(_obj.get('status', 0)) _obj['sex_name'] = sex_values.get(_obj.get('sex', 0)) _obj['new_value_name'] = new_value_values.get(_obj.get('new_value')) _obj['grade_name'] = grade_values.get(_obj.get('grade', 1)) _obj['verified_status_name'] = verified_status_values.get(_obj.get('verified_status')) return jsonify({'code': 200, 'data': _obj})
def add(): data = {key: dict(request.form)[key][0] for key in dict(request.form)} if not data: data = request.get_json() access_status = judging_permissions('2_2_0') if access_status.get('code') != 200: return jsonify(access_status) _file = request.files img_url_file = _file.get('img_url') if img_url_file: result, img_url = upload_img(img_url_file) if not result: return jsonify({'code': 206, 'msg': img_url}) data.update({'img_url': img_url}) result = _insert(data) if result.get('status', False): return jsonify({'code': 200, 'msg': u'成功'}) else: return jsonify({'code': 203, 'msg': result.get('msg', '')})
def update(): access_status = judging_permissions('5_0_2') if access_status.get('code') != 200: return jsonify(access_status) _update = {} data = get_request_params() _id = data.get('_id') if not ObjectId.is_valid(_id): return jsonify({'code': 202, 'msg': u'参数错误'}) _obj = heat_task.find_one({'_id': ObjectId(_id)}) if not _obj: return jsonify({'code': 202, 'msg': u'参数错误'}) for key in default_values: if key == 'user_num': continue _values = data.get(key, '') # if isinstance(_values, str) or isinstance(_values, unicode): if isinstance(_values, str): _values = _values.strip() if key in int_key: try: _values = int(_values) except: return jsonify({'code': 201, 'msg': u'参数错误'}) if _obj.get(key) != _values: _update.update({key: _values}) if _update: try: _update.update({ 'created_time': datetime.now().strftime(format='%Y-%m-%d %H:%M:%S') }) heat_task.update({'_id': _obj.get('_id')}, {'$set': _update}) except: return jsonify({'code': 203, 'msg': u'修改失败'}) return jsonify({'code': 200, 'msg': u'success'})
def feedback_reply(): access_status = judging_permissions('1_2_2') if access_status.get('code') != 200: return jsonify(access_status) data = {key: dict(request.form)[key][0] for key in dict(request.form)} if not data: data = request.get_json() _id = data.get('_id') notice_content = data.get('station_notice') if not _id or not notice_content: return jsonify({'code': 201, 'msg': u'参数错误'}) feedback_obj = feedback.find_one({'_id': ObjectId(_id)}) user_id = feedback_obj.get('user_id') station_notice.insert_one({ 'user_id': user_id, 'title': u'意见反馈回复', 'des': notice_content[:10] + '......', 'type_num': 0, 'value': 0, 'content': notice_content, 'status': 0, 'is_bulletin': 0, 'subsidy_des': '', 'created_time': datetime.now().strftime(format='%Y-%m-%d %H:%M:%S'), 'feedback_id': _id }) return jsonify({'code': 200, 'msg': u'成功'})
def add(): data = {key: dict(request.form)[key][0] for key in dict(request.form)} if not data: data = request.get_json() access_status = judging_permissions('2_1_0') if access_status.get('code') != 200: return jsonify(access_status) created_time = timestamp_to_strftime(time.time() + 24 * 60 * 60, format='%Y-%m-%d') income_obj = income.find_one({'created_time': created_time}) if income_obj: return jsonify({'code': 202, 'msg': u'当天收益已存在请不要重复添加'}) income_obj = income.find_one({'created_time': timestamp_to_strftime(time.time(), format='%Y-%m-%d')}) if income_obj: data['historical_income'] = int(data.get('yesterday_income', 0)) + income_obj.get('historical_income') else: data['historical_income'] = data.get('yesterday_income', 0) result = _insert(data) if result.get('status', False): return jsonify({'code': 200, 'msg': u'成功'}) else: return jsonify({'code': 203, 'msg': result.get('msg', '')})
def update(): access_status = judging_permissions('operation:edit') if access_status.get('code') != 200: return jsonify(access_status) _update = {} data = {key: dict(request.form)[key][0] for key in dict(request.form)} if not data: data = request.get_json() _obj = operation.find_one() if not _obj: result = _insert(data) if result.get('status'): return jsonify({'code': 200, 'msg': u'成功'}) return jsonify({'code': 200, 'msg': u'不存在'}) try: red_hour_per_json = json.loads(data.get('red_hour_per_json')) except: return jsonify({'code': 201, 'msg': u'红包时间点分配比例json数据错误'}) per_total = 0 for hour_int in range(24): hour_dict = red_hour_per_json.get(str(hour_int)) if not hour_dict: return jsonify({'code': 201, 'msg': u'红包时间点分配比例json数据错误'}) per_total += hour_dict.get('per', 0) if per_total != 100: return jsonify({'code': 201, 'msg': u'红包时间点分配比例json数据错误'}) red_hour_per_json_str = json.dumps(red_hour_per_json, ensure_ascii=False) data.update({'red_hour_per_json': red_hour_per_json_str}) try: check_in_calorific_json = json.loads( data.get('check_in_calorific_json')) except: return jsonify({'code': 201, 'msg': u'参数错误'}) check_in_calorific_json_str = json.dumps(check_in_calorific_json, ensure_ascii=False) data.update({'check_in_calorific_json': check_in_calorific_json_str}) try: calorific_cash_json = json.loads(data.get('calorific_cash_json')) except: return jsonify({'code': 201, 'msg': u'参数错误'}) calorific_cash_json_str = json.dumps(calorific_cash_json, ensure_ascii=False) data.update({'calorific_cash_json': calorific_cash_json_str}) try: withdraw_cash_json = json.loads(data.get('withdraw_cash_json')) except: return jsonify({'code': 201, 'msg': u'参数错误'}) withdraw_cash_json_str = json.dumps(withdraw_cash_json, ensure_ascii=False) data.update({'withdraw_cash_json': withdraw_cash_json_str}) try: withdraw_cash_json_new = json.loads(data.get('withdraw_cash_json_new')) except: return jsonify({'code': 201, 'msg': u'参数错误'}) withdraw_cash_json_new_str = json.dumps(withdraw_cash_json_new, ensure_ascii=False) data.update({'withdraw_cash_json_new': withdraw_cash_json_new_str}) for key in default_values: if key in data: _values = data.get(key) # if isinstance(_values, str) or isinstance(_values, unicode): if isinstance(_values, str): _values = _values.strip() if key in int_key: try: _values = int(_values) except: return jsonify({'code': 201, 'msg': u'参数错误'}) if key in float_key: try: _values = float(_values) except: return jsonify({'code': 201, 'msg': u'参数错误'}) if _obj.get(key) != _values: _update.update({key: _values}) if _update: try: operation.update_one({'_id': _obj.get('_id')}, {'$set': _update}) return jsonify({'code': 200, 'msg': u'成功'}) except: pass else: return jsonify({'code': 203, 'msg': u'无更新数据'}) return jsonify({'code': 204, 'msg': u'失败'})
def get_user_day(): access_status = judging_permissions('3_1_3') if access_status.get('code') != 200: return jsonify(access_status) yesterday_str = timestamp_to_strftime(int(time.time()), format='%Y-%m-%d') earth_code_list = earth_code.find({}).distinct('invite_code') earth_code_list.append('') user_num_invite = user.find({ 'created_time': { '$regex': yesterday_str }, 'invite_id': { '$nin': earth_code_list }, }).count() user_red_record = len( red_record.find({ 'today': yesterday_str }).distinct('user_id')) statistical_day_obj = { 'today_str': yesterday_str, 'user_num_total': user.find({}).count(), 'user_num': user.find({ 'created_time': { '$regex': yesterday_str } }).count(), 'user_num_novice_task': user.find({ 'created_time': { '$regex': yesterday_str }, 'new_value': -1 }).count(), 'user_num_invite': user_num_invite, 'user_num_invite_bind': reg_user.find({ 'today': yesterday_str, 'is_bind': 1 }).count(), 'user_num_active': s_user_online_t.find({ 'today_str': yesterday_str }).count(), 'user_red_record': user_red_record, } date_list = [] user_num_total_list = [] user_num_list = [] user_num_novice_task_list = [] user_num_invite_list = [] user_num_invite_bind_list = [] user_num_active_list = [] user_red_record_list = [] date_list.insert(0, statistical_day_obj.get('today_str')) user_num_total_list.insert(0, statistical_day_obj.get('user_num_total')) user_num_list.insert(0, statistical_day_obj.get('user_num')) user_num_novice_task_list.insert( 0, statistical_day_obj.get('user_num_novice_task')) user_num_invite_list.insert(0, statistical_day_obj.get('user_num_invite')) user_num_invite_bind_list.insert( 0, statistical_day_obj.get('user_num_invite_bind')) user_num_active_list.insert(0, statistical_day_obj.get('user_num_active')) user_red_record_list.insert(0, statistical_day_obj.get('user_red_record')) statistical_day_cur = statistical_day.find().sort([('today_str', -1) ]).limit(29) for statistical_day_obj in statistical_day_cur: date_list.insert(0, statistical_day_obj.get('today_str')) user_num_total_list.insert(0, statistical_day_obj.get('user_num_total')) user_num_list.insert(0, statistical_day_obj.get('user_num')) user_num_novice_task_list.insert( 0, statistical_day_obj.get('user_num_novice_task')) user_num_invite_list.insert(0, statistical_day_obj.get('user_num_invite')) user_num_invite_bind_list.insert( 0, statistical_day_obj.get('user_num_invite_bind')) user_num_active_list.insert(0, statistical_day_obj.get('user_num_active')) user_red_record_list.insert(0, statistical_day_obj.get('user_red_record')) return jsonify({ 'code': 200, 'data': { 'date_list': date_list, 'user_num_total_list': user_num_total_list, 'user_num_list': user_num_list, 'user_num_novice_task_list': user_num_novice_task_list, 'user_num_invite_list': user_num_invite_list, 'user_num_invite_bind_list': user_num_invite_bind_list, 'user_num_active_list': user_num_active_list, 'user_red_record_list': user_red_record_list } })
def my_list(): criteria = {} # 支持表格字段里的任何搜索 access_status = judging_permissions('3_4_3') if access_status.get('code') != 200: return jsonify(access_status) try: page_num = int(request.args.get('page_num', 1)) - 1 limit = int(request.args.get('limit', 20)) except: return jsonify({'code': 201, 'msg': u'参数错误'}) _cur = statistical_day.find(criteria) _count = _cur.count() if _count % limit: num = _count / limit + 1 else: num = _count / limit if _count > (page_num * limit): _list = [] if page_num == 0: today_str = timestamp_to_strftime(int(time.time()), format='%Y-%m-%d') user_num_total = user.find({}).count() user_num = user.find({ 'created_time': { '$regex': today_str } }).count() user_num_active = s_user_online_t.find({ 'today_str': today_str }).count() integer_red_user_id_list = integer_red_detail.find({ 'today_str': today_str }).distinct('user_id') integer_red_user_num = len(integer_red_user_id_list) guess_red_user_id_list = guess_red_detail.find({ 'guess_time': { '$regex': today_str } }).distinct('user_id') guess_red_user_num = len(guess_red_user_id_list) dict_obj = dict() real_user_num_active = user_num_active - user_num real_user_num_total = user_num_total - user_num dict_obj['today_str'] = today_str dict_obj['user_num_total'] = user_num_total dict_obj['user_num'] = user_num dict_obj['user_num_active'] = user_num_active dict_obj['real_user_num_active'] = real_user_num_active dict_obj['real_user_num_total'] = real_user_num_total dict_obj['user_num_active_per'] = '%.2f' % (float( real_user_num_active * 100) / float(real_user_num_total)) + '%' dict_obj['integer_red_user_num'] = integer_red_user_num dict_obj['guess_red_user_num'] = guess_red_user_num dict_obj['integer_red_user_per'] = '%.2f' % (float( integer_red_user_num * 100) / float(user_num_active)) + '%' dict_obj['guess_red_user_per'] = '%.2f' % ( float(guess_red_user_num * 100) / float(user_num_active)) + '%' _list.append(dict_obj) cur_list = _cur.sort([('today_str', -1) ]).skip(page_num * limit).limit(limit) else: cur_list = _cur.sort([('today_str', -1) ]).skip(page_num * limit).limit(limit) for _obj in cur_list: try: _obj['_id'] = str(_obj['_id']) user_num_total = _obj.get('user_num_total') user_num = _obj.get('user_num') user_num_active = _obj.get('user_num_active') real_user_num_active = user_num_active - user_num real_user_num_total = user_num_total - user_num _obj['real_user_num_active'] = real_user_num_active _obj['real_user_num_total'] = real_user_num_total _obj['user_num_active_per'] = '%.2f' % ( float(real_user_num_active * 100) / float(real_user_num_total)) + '%' _obj['integer_red_user_per'] = '%.2f' % ( float(_obj.get('integer_red_user_num', 0) * 100) / float(user_num_active)) + '%' _obj['guess_red_user_per'] = '%.2f' % ( float(_obj.get('guess_red_user_num', 0) * 100) / float(user_num_active)) + '%' _list.append(_obj) except Exception as e: print(e) return jsonify({ 'code': 200, 'data': { 'num': num, 'count': _count, 'page': page_num + 1, 'list': _list } }) else: return jsonify({ 'code': 200, 'data': { 'num': num, 'count': _count, 'page': page_num + 1, 'list': [] } })
def get_heat_day(): access_status = judging_permissions('3_2_3') if access_status.get('code') != 200: return jsonify(access_status) yesterday_str = timestamp_to_strftime(int(time.time()), format='%Y-%m-%d') calorific_total_dict = calorific_record.aggregate([{ '$match': { 'today': yesterday_str, 'symbol': 1 } }, { '$group': { '_id': '', 'calorific_total': { '$sum': '$value' } } }, { '$limit': 1 }]) try: if isinstance(calorific_total_dict, dict): _calorific_total_dict = calorific_total_dict.get('result')[0] calorific_num_obtain = int( _calorific_total_dict.get('calorific_total')) else: _calorific_total_dict = calorific_total_dict.next() calorific_num_obtain = int( _calorific_total_dict.get('calorific_total')) except: calorific_num_obtain = 0 calorific_total_dict = calorific_record.aggregate([{ '$match': { 'today': yesterday_str, 'symbol': -1 } }, { '$group': { '_id': '', 'calorific_total': { '$sum': '$value' } } }, { '$limit': 1 }]) try: if isinstance(calorific_total_dict, dict): _calorific_total_dict = calorific_total_dict.get('result')[0] calorific_num_expend = int( _calorific_total_dict.get('calorific_total')) else: _calorific_total_dict = calorific_total_dict.next() calorific_num_expend = int( _calorific_total_dict.get('calorific_total')) except: calorific_num_expend = 0 calorific_num_dict = user.aggregate([{ '$match': {} }, { '$group': { '_id': '', 'available_calorific_num': { '$sum': '$available_calorific' } } }, { '$limit': 1 }]) try: if isinstance(calorific_num_dict, dict): _calorific_num_dict = calorific_num_dict.get('result')[0] calorific_num = int( _calorific_num_dict.get('available_calorific_num')) else: _calorific_num_dict = calorific_num_dict.next() calorific_num = int( _calorific_num_dict.get('available_calorific_num')) except: calorific_num = 0 statistical_day_obj = { 'today_str': yesterday_str, 'calorific_num_obtain': calorific_num_obtain, 'calorific_num_expend': calorific_num_expend, 'calorific_num': calorific_num, } date_list = [] calorific_num_obtain_list = [] calorific_num_expend_list = [] calorific_num_list = [] date_list.insert(0, statistical_day_obj.get('today_str')) calorific_num_obtain_list.insert( 0, statistical_day_obj.get('calorific_num_obtain')) calorific_num_expend_list.insert( 0, statistical_day_obj.get('calorific_num_expend')) calorific_num_list.insert(0, statistical_day_obj.get('calorific_num')) statistical_day_cur = statistical_day.find().sort([('today_str', -1) ]).limit(29) for statistical_day_obj in statistical_day_cur: date_list.insert(0, statistical_day_obj.get('today_str')) calorific_num_obtain_list.insert( 0, statistical_day_obj.get('calorific_num_obtain')) calorific_num_expend_list.insert( 0, statistical_day_obj.get('calorific_num_expend')) calorific_num_list.insert(0, statistical_day_obj.get('calorific_num', 0)) return jsonify({ 'code': 200, 'data': { 'date_list': date_list, 'calorific_num_obtain_list': calorific_num_obtain_list, 'calorific_num_expend_list': calorific_num_expend_list, 'calorific_num_list': calorific_num_list } })
def get_red_day(): access_status = judging_permissions('3_3_3') if access_status.get('code') != 200: return jsonify(access_status) yesterday_str = timestamp_to_strftime(int(time.time()), format='%Y-%m-%d') red_record_num = red_record.find({ 'today': yesterday_str, 'type_num': { '$in': [2, 3] } }).count() user_red_record = len( red_record.find({ 'today': yesterday_str }).distinct('user_id')) red_average_num = '%.2f' % (float(red_record_num) / float(user_red_record)) red_num_dict = red_record.aggregate([{ '$match': { 'today': yesterday_str } }, { '$group': { '_id': '', 'red_num_total': { '$sum': '$value' } } }, { '$limit': 1 }]) try: if isinstance(red_num_dict, dict): _red_num_dict = red_num_dict.get('result')[0] red_num = int(_red_num_dict.get('red_num_total')) else: _red_num_dict = red_num_dict.next() red_num = int(_red_num_dict.get('red_num_total')) except: red_num = 0 user_balance_dict = user.aggregate([{ '$match': {} }, { '$group': { '_id': '', 'balance_total': { '$sum': '$balance' } } }, { '$limit': 1 }]) try: if isinstance(user_balance_dict, dict): _user_balance_dict = user_balance_dict.get('result')[0] balance_total = int(_user_balance_dict.get('balance_total')) else: _user_balance_dict = user_balance_dict.next() balance_total = int(_user_balance_dict.get('balance_total')) except: balance_total = 0 withdraw_total_dict = withdraw_record.aggregate([{ '$match': { 'today': yesterday_str, 'status': { '$ne': -1 } } }, { '$group': { '_id': '', 'withdraw_total': { '$sum': '$value' } } }, { '$limit': 1 }]) try: if isinstance(withdraw_total_dict, dict): _withdraw_total_dict = withdraw_total_dict.get('result')[0] withdraw_total = int(_withdraw_total_dict.get('withdraw_total')) else: _withdraw_total_dict = withdraw_total_dict.next() withdraw_total = int(_withdraw_total_dict.get('withdraw_total')) except: withdraw_total = 0 statistical_day_obj = { 'today_str': yesterday_str, 'red_num': int(red_num / 100), 'user_balance_num': int(balance_total / 100), 'withdraw_num': int(withdraw_total / 100), 'red_record_num': red_record_num, 'red_average_num': red_average_num } date_list = [] red_num_list = [] user_balance_num_list = [] withdraw_num_list = [] red_record_num_list = [] red_average_num_list = [] date_list.insert(0, statistical_day_obj.get('today_str')) red_num_list.insert(0, statistical_day_obj.get('red_num')) user_balance_num_list.insert(0, statistical_day_obj.get('user_balance_num')) red_record_num_list.insert(0, statistical_day_obj.get('red_record_num')) red_average_num_list.insert(0, statistical_day_obj.get('red_average_num')) withdraw_num_list.insert(0, statistical_day_obj.get('withdraw_num')) statistical_day_cur = statistical_day.find().sort([('today_str', -1) ]).limit(29) for statistical_day_obj in statistical_day_cur: date_list.insert(0, statistical_day_obj.get('today_str')) red_num_list.insert(0, int(statistical_day_obj.get('red_num') / 100)) user_balance_num_list.insert( 0, int(statistical_day_obj.get('user_balance_num') / 100)) withdraw_num_list.insert( 0, int(statistical_day_obj.get('withdraw_num') / 100)) red_record_num_list.insert(0, statistical_day_obj.get('red_record_num')) red_average_num_list.insert( 0, float(statistical_day_obj.get('red_average_num'))) return jsonify({ 'code': 200, 'data': { 'date_list': date_list, 'red_num_list': red_num_list, 'user_balance_num_list': user_balance_num_list, 'withdraw_num_list': withdraw_num_list, 'red_record_num_list': red_record_num_list, 'red_average_num_list': red_average_num_list } })
def my_list(): access_status = judging_permissions('1_2_3') if access_status.get('code') != 200: return jsonify(access_status) criteria = dict() # 支持表格字段里的任何搜索 for item in default_values: req_value = request.args.get(item) if req_value: req_value = req_value.strip() if item in int_key: try: req_value = int(req_value) except: return jsonify({'code': 201, 'msg': u'参数错误'}) criteria.update({item: req_value}) else: criteria.update({item: {'$regex': req_value}}) try: page_num = int(request.args.get('page_num', 1)) - 1 limit = int(request.args.get('limit', 20)) except: return jsonify({'code': 201, 'msg': u'参数错误'}) _cur = feedback.find(criteria) _count = _cur.count() if _count % limit: num = _count / limit + 1 else: num = _count / limit if _count > (page_num * limit): _list = [] cur_list = _cur.sort([('created_time', -1) ]).skip(page_num * limit).limit(limit) for _obj in cur_list: try: _obj['_id'] = str(_obj['_id']) user_id = _obj.get('user_id') user_obj = user.find_one({'_id': ObjectId(user_id)}) _obj['nickname'] = user_obj.get('nickname') _obj['phone'] = user_obj.get('phone', u'暂未绑定手机') _obj['is_reply'] = u'未回复' if station_notice.find_one({'feedback_id': _obj.get('_id')}): _obj['is_reply'] = u'已回复' _list.append(_obj) except Exception as e: print(e) return jsonify({ 'code': 200, 'data': { 'num': num, 'count': _count, 'page': page_num + 1, 'list': _list } }) else: return jsonify({ 'code': 200, 'data': { 'num': num, 'count': _count, 'page': page_num + 1, 'list': [] } })
def detail_list(): access_status = judging_permissions('0_6_3') if access_status.get('code') != 200: return jsonify(access_status) integer_red_id = request.args.get('integer_red_id', '') today_str = '' hour_int = '' try: integer_red_obj = integer_red.find_one( {'_id': ObjectId(integer_red_id)}) today_str = integer_red_obj.get('today_str', '') hour_int = integer_red_obj.get('hour_int', '') except: pass criteria = {'integer_red_id': integer_red_id} try: page_num = int(request.args.get('page_num', 1)) - 1 limit = int(request.args.get('limit', 20)) except: return jsonify({'code': 201, 'msg': u'参数错误'}) _cur = integer_red_detail.find(criteria) _count = _cur.count() if _count % limit: num = _count / limit + 1 else: num = _count / limit if _count > (page_num * limit): _list = [] cur_list = _cur.skip(page_num * limit).limit(limit) for _obj in cur_list: try: _obj['_id'] = str(_obj['_id']) _obj['value'] = '%.2f' % (float(_obj.get('value')) / float(100)) _obj['today_str'] = today_str _obj['hour_int'] = hour_int _list.append(_obj) except Exception as e: print(e) return jsonify({ 'code': 200, 'data': { 'num': num, 'count': _count, 'page': page_num + 1, 'list': _list } }) else: return jsonify({ 'code': 200, 'data': { 'num': num, 'count': _count, 'page': page_num + 1, 'list': [] } })
def get_planet_day(): access_status = judging_permissions('3_0_3') if access_status.get('code') != 200: return jsonify(access_status) yesterday_str = timestamp_to_strftime(int(time.time()), format='%Y-%m-%d') planet_commission_dict = commission_record.aggregate([{ '$match': { 'today': yesterday_str } }, { '$group': { '_id': '', 'planet_commission': { '$sum': '$value' } } }, { '$limit': 1 }]) try: if isinstance(planet_commission_dict, dict): _planet_commission_dict = planet_commission_dict.get('result')[0] planet_commission = int( _planet_commission_dict.get('planet_commission')) else: _planet_commission_dict = planet_commission_dict.next() planet_commission = int( _planet_commission_dict.get('planet_commission')) except: planet_commission = 0 planet_commission_total = system.find_one().get('planet_commission_total', 0) planet_commission_total_dict = user.aggregate([{ '$match': { 'grade': 1 } }, { '$group': { '_id': '', 'planet_commission_total': { '$sum': '$planet_commission_total' } } }, { '$limit': 1 }]) try: if isinstance(planet_commission_total_dict, dict): _planet_commission_total_dict = planet_commission_total_dict.get( 'result')[0] planet_commission_total += int( _planet_commission_total_dict.get('planet_commission_total')) else: _planet_commission_total_dict = planet_commission_total_dict.next() planet_commission_total += int( _planet_commission_total_dict.get('planet_commission_total')) except: pass statistical_day_obj = { 'today_str': yesterday_str, 'planet_num': user.find({ 'planet_id': { '$ne': '' } }).count(), 'planet_commission': int(planet_commission / 100), 'planet_commission_total': int(planet_commission_total / 100) } date_list = [] planet_num_list = [] planet_commission_list = [] planet_commission_total_list = [] date_list.insert(0, statistical_day_obj.get('today_str')) planet_num_list.insert(0, statistical_day_obj.get('planet_num')) planet_commission_list.insert(0, statistical_day_obj.get('planet_commission')) planet_commission_total_list.insert(0, int(planet_commission_total / 100)) statistical_day_cur = statistical_day.find().sort([('today_str', -1) ]).limit(29) for statistical_day_obj in statistical_day_cur: date_list.insert(0, statistical_day_obj.get('today_str')) planet_num_list.insert(0, statistical_day_obj.get('planet_num')) planet_commission_list.insert( 0, int(statistical_day_obj.get('planet_commission') / 100)) planet_commission_total_list.insert( 0, int(statistical_day_obj.get('planet_commission_total', 0) / 100)) return jsonify({ 'code': 200, 'data': { 'date_list': date_list, 'planet_num_list': planet_num_list, 'planet_commission_list': planet_commission_list, 'planet_commission_total_list': planet_commission_total_list } })