def charge_result_pp(request): """ pp获得玩家的充值行为后,用此api通知我们 第一步 验证pp 的请求参数 第二步 给玩家充值 """ status = int(request.REQUEST['status']) #已经兑现过了 if status == 1: return HttpResponse('success') #订单验证失败 sign = request.REQUEST['sign'] rc, pp_sign = decode_pp_callback(sign) if rc or pp_sign == {}: return HttpResponse('fail') #订单是否处理过 billno = pp_sign['billno'] billno_req = request.REQUEST['billno'] if billno_req != billno: return HttpResponse('fail') #是否是正确的玩家 uid = pp_sign['roleid'] mi_record = data_log_mod.get_log_model("OrderRecord").find({'oid':billno}) if not mi_record: return HttpResponse('fail') item_id = mi_record[0].item_id oc_uid = mi_record[0].uid if oc_uid != uid: return HttpResponse('fail') rk_user = UserBase.get(oc_uid) if not rk_user: return HttpResponse('fail') data = charge_api(rk_user, billno, item_id, platform = 'pp',res_dict={},request = request, charge_way='pp') data_log_mod.set_log('ChargeResultLog', rk_user, **{'charge_way':'pp', 'result':data['result'],'oid':billno,'item_id':item_id}) if data['rc'] != 0: return HttpResponse('fail') return HttpResponse('success')
def get_charge_record(uid,start_date,end_date,platform,item_id,charge_way=None): match_query = {} if uid: match_query['uid'] = uid if platform != 'all': match_query['platform'] = platform if start_date or end_date: match_query['createtime'] = {} if start_date: match_query['createtime']['$gte'] = '%s 00:00:00' % start_date if end_date: match_query['createtime']['$lte'] = '%s 23:59:59' % end_date if item_id != 'all': item_id = item_id.split('.')[-1] match_query['item_id'] = {'$regex':item_id} if charge_way != None and charge_way != 'all': if charge_way == '': match_query['charge_way'] = {"$in":['',None]} else: match_query['charge_way'] = charge_way match_query['sandbox'] = {"$in":[None]} group_code = {"$group":{ "_id" :{"$substr":["$createtime",0,13]}, "charge_sum": { "$sum" : "$price" },"charge_count":{"$sum" : 1} }} result = data_log_mod.get_log_model("ChargeRecord").aggregate([{"$match":match_query},group_code,{"$sort": SON([("_id", 1)])}]) return result
from apps.config.game_config import game_config from apps.logics import dungeon from apps.logics.gacha import __select_gacha_thing from apps.models.virtual.card import Card from apps.admin.bulletin import Bulletin import glob, datetime, time import shutil from apps.models import data_log_mod from apps.common.utils import string_toDatetime from apps.oclib import app from apps.common import utils from urllib import urlencode from apps.models import data_log_mod ChargeRecord = data_log_mod.get_log_model("ChargeRecord") ConsumeRecord = data_log_mod.get_log_model("CoinConsume") total_notice_versions = 10 @require_permission def index(request): """ """ debug = settings.DEBUG data = {'support': False, 'debug':debug} data['app_name'] = '' data['notice_versions'] = range(total_notice_versions) return 'tool/index.html', data
from apps.models.user_login import UserLogin from apps.common.utils import timestamp_toString from apps.oclib import app as ocapp from apps.admin.views.raw_db_data_list import raw_db_data_list from apps.models.user_souls import UserSouls from apps.logics import soul from apps.logics import mystery_store from apps.logics import pk_store from apps.logics import mails from apps.models.account_mapping import AccountMapping from apps.models import data_log_mod from pprint import pformat from apps.admin import auth ChargeRecord = data_log_mod.get_log_model("ChargeRecord") @require_permission def index(request): """ 用户管理导航页 """ status = request.GET.get("status") user_type = request.GET.get("user_type", '') return 'user/index.html', { "status": status, "user_type": user_type, 'raw_db_data_list': sorted(raw_db_data_list), }
from apps.logics import dungeon from apps.logics.gacha import __select_gacha_thing from apps.models.virtual.card import Card from apps.admin.bulletin import Bulletin import glob, datetime, time import shutil from apps.models import data_log_mod from apps.common.utils import string_toDatetime from apps.oclib import app from apps.common import utils from urllib import urlencode from apps.models import data_log_mod ChargeRecord = data_log_mod.get_log_model("ChargeRecord") ConsumeRecord = data_log_mod.get_log_model("CoinConsume") total_notice_versions = 10 @require_permission def index(request): """ """ debug = settings.DEBUG data = {'support': False, 'debug': debug} data['app_name'] = '' data['notice_versions'] = range(total_notice_versions) return 'tool/index.html', data
from apps.models.user_login import UserLogin from apps.common.utils import timestamp_toString from apps.oclib import app as ocapp from apps.admin.views.raw_db_data_list import raw_db_data_list from apps.models.user_souls import UserSouls from apps.logics import soul from apps.logics import mystery_store from apps.logics import pk_store from apps.logics import mails from apps.models.account_mapping import AccountMapping from apps.models import data_log_mod from pprint import pformat from apps.admin import auth ChargeRecord = data_log_mod.get_log_model("ChargeRecord") @require_permission def index(request): """ 用户管理导航页 """ status = request.GET.get("status") user_type = request.GET.get("user_type",'') return 'user/index.html', { "status":status, "user_type":user_type, 'raw_db_data_list': sorted(raw_db_data_list), } @require_permission
#!/usr/bin/env python # encoding: utf-8 """ filename:consume_record.py """ from apps.models import data_log_mod from bson.son import SON ConsumeRecord = data_log_mod.get_log_model("ConsumeRecord") def get_consume_record(uid,start_date,end_date,consume_type): match_query = {} if uid: match_query['uid'] = uid if start_date or end_date: match_query['createtime'] = {} if start_date: match_query['createtime']['$gte'] = '%s 00:00:00' % start_date if end_date: match_query['createtime']['$lte'] = '%s 23:59:59' % end_date if consume_type != 'all': match_query['consume_type'] = consume_type group_code = {"$group":{ "_id" :{"$substr":["$createtime",0,13]}, "item_sum": { "$sum" : "$num" },"item_count":{"$sum" : 1} }} result = ConsumeRecord.aggregate([{"$match":match_query},group_code,{"$sort": SON([("_id", 1)])}]) return result def get_charge_record(uid,start_date,end_date,platform,item_id,charge_way=None): match_query = {}