Browse Source

关卡挑战统计和按钮点击统计

黄宗银 2 years ago
parent
commit
1463f1dea4

BIN
Wfj/GM60/GameMaster.dll


BIN
Wfj/GM60/GameMaster.pdb


+ 1 - 0
Wfj/GM60/wwwroot/Login.html

@@ -8,6 +8,7 @@
     <link rel="stylesheet" type="text/css" href="easyui/themes/bootstrap/easyui.css">
     <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">
     <script type="text/javascript" src="easyui/jquery.min.js"></script>
+    <script type="text/javascript" src="js/luxon.min.js"></script>
     <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
     <script type="text/javascript" src="easyui/extension/jquery.edatagrid.js"></script>
     <script type="text/javascript" src="easyui/extension/datagrid-export.js"></script>

+ 1 - 1
Wfj/GM60/wwwroot/index.html

@@ -8,6 +8,7 @@
 	<link rel="stylesheet" type="text/css" href="easyui/themes/bootstrap/easyui.css">
 	<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">
 	<script type="text/javascript" src="easyui/jquery.min.js"></script>
+	<script type="text/javascript" src="js/luxon.min.js"></script>
 	<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
 	<script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>
 	<script type="text/javascript" src="easyui/extension/jquery.edatagrid.js"></script>
@@ -15,7 +16,6 @@
 	<script type="text/javascript" src="easyui/extension/datagrid-cellediting.js"></script>
 	<script type="text/javascript" src="easyui/extension/datagrid-export.js"></script>
 	<script type="text/javascript" src="lib/chart/Chart.js"></script>
-	<script type="text/javascript" src="js/luxon.min.js"></script>
 	<script type="text/javascript">
 		function addDays(daysToAdd) {
 			var now = new Date();

+ 1 - 1
Wfj/GM60/wwwroot/定时全区邮件.html

@@ -3,7 +3,7 @@
         <div style="padding: 2px">
             <span>游戏:</span>
             <input id="game-定时全区邮件" class="easyui-textbox" labelPosition="left" style="width:120px;">
-            <span>通过Sql作业每天04:00发送</span>
+            <span>通过Sql作业每天01:00发送</span>
             <a id="search-定时全区邮件" href="javascript:;" class="easyui-linkbutton" iconCls="icon-search">查询</a>
         </div>
     </div>

BIN
Wfj/GM66/GameMaster.dll


BIN
Wfj/GM66/GameMaster.pdb


+ 1 - 0
Wfj/GM66/wwwroot/Login.html

@@ -8,6 +8,7 @@
     <link rel="stylesheet" type="text/css" href="easyui/themes/bootstrap/easyui.css">
     <link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">
     <script type="text/javascript" src="easyui/jquery.min.js"></script>
+    <script type="text/javascript" src="js/luxon.min.js"></script>
     <script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
     <script type="text/javascript" src="easyui/extension/jquery.edatagrid.js"></script>
     <script type="text/javascript" src="easyui/extension/datagrid-export.js"></script>

+ 1 - 1
Wfj/GM66/wwwroot/index.html

@@ -8,6 +8,7 @@
 	<link rel="stylesheet" type="text/css" href="easyui/themes/bootstrap/easyui.css">
 	<link rel="stylesheet" type="text/css" href="easyui/themes/icon.css">
 	<script type="text/javascript" src="easyui/jquery.min.js"></script>
+	<script type="text/javascript" src="js/luxon.min.js"></script>
 	<script type="text/javascript" src="easyui/jquery.easyui.min.js"></script>
 	<script type="text/javascript" src="easyui/extension/jquery.edatagrid.js"></script>
 	<script type="text/javascript" src="easyui/locale/easyui-lang-zh_CN.js"></script>
@@ -15,7 +16,6 @@
 	<script type="text/javascript" src="easyui/extension/datagrid-cellediting.js"></script>
 	<script type="text/javascript" src="easyui/extension/datagrid-export.js"></script>
 	<script type="text/javascript" src="lib/chart/Chart.js"></script>
-	<script type="text/javascript" src="js/luxon.min.js"></script>
 	<script type="text/javascript">
 		function addDays(daysToAdd) {
 			var now = new Date();

+ 149 - 0
Wfj/GM66/wwwroot/关卡挑战统计.html

@@ -0,0 +1,149 @@
+<div class="easyui-layout" data-options="fit:true,border:false">
+	<div data-options="region:'north',border:true,collapsible:false,collapsed:false" style="height: 0px;">
+		<div style="padding: 2px">
+			<span>游戏:</span>
+			<input id="game-关卡挑战统计" type="text" class="easyui-combobox" name="game"
+				   data-options="editable:false,
+								    width:150,
+								    valueField:'id',
+								    textField:'text',
+								    url:'getgames?guid=' + localStorage.getItem('guid')+'&time=' + Date.now(),
+								    method:'get',
+								    onSelect: function(e){
+								    var url = 'getchannel?gameid=' + e.id + '&guid=' + localStorage.getItem('guid')+'&time=' + Date.now();
+								        $('#channel-关卡挑战统计').combobox('reload', url);
+                                        $('#zone-关卡挑战统计').combobox('reload', 'getzone?gameid=' + e.id +'&time=' + Date.now());
+								    },
+								    onLoadSuccess: function(d){
+									if(d.isError){
+                                            location.href = d.message;
+											return;
+										}
+								    $(this).combobox('select', d[0].id);
+								    }
+								    " />
+
+			<span>渠道:</span>
+			<select id="channel-关卡挑战统计" class="easyui-combobox"
+					data-options="editable:false,
+								    method:'get',
+								    valueField:'id',
+								    textField:'text',
+								    width:150,
+								    onLoadSuccess: function(d){
+								    $(this).combobox('select', d[0].id);
+								    }
+
+								    " />
+
+			<span>区服:</span>
+			<select id="zone-关卡挑战统计" class="easyui-combobox" name="ID"
+					data-options="editable:false,
+								    method:'get',
+								    valueField:'id',
+								    textField:'text',
+								    width:200,
+								    onLoadSuccess: function(d){
+								        $(this).combobox('select', d[0].id);
+								    }
+
+								    " />
+			<span>副本ID: </span>
+			<input id="StageID-关卡挑战统计" type="text" class="easyui-numberbox" style="width:150px" />
+			<span>创角时间: </span>
+			<input id="ActorCreateTimeBegin-关卡挑战统计" type="text" class="easyui-datetimebox" style="width:180px"
+				   data-option="required:true" />
+			<span>到 </span>
+			<input id="ActorCreateTimeEnd-关卡挑战统计" type="text" class="easyui-datetimebox" style="width:180px"
+				   data-option="required:true" />
+
+			<a id="search-关卡挑战统计" href="javascript:;" class="easyui-linkbutton" iconCls="icon-search">查询</a>
+			<a id="export-关卡挑战统计" href="javascript:;" class="easyui-linkbutton" iconCls="icon-save">导出当前页</a>
+			<!--<a id="download-关卡挑战统计" href="javascript:;" class="easyui-linkbutton" iconCls="icon-save">导出结果集</a>-->
+		</div>
+	</div>
+	<div data-options="region:'center',border:false">
+		<table id="data-关卡挑战统计" class="easyui-datagrid" />
+	</div>
+</div>
+<script type="text/javascript">
+	$(function () {
+		var init_TimeBegin = luxon.DateTime.now().plus({ days: -7 });
+		var init_TimeEnd = luxon.DateTime.now().plus({ days: 1 });
+		$('#ActorCreateTimeBegin-关卡挑战统计').datetimebox({
+			value: init_TimeBegin.toFormat('yyyy-MM-dd HH:mm:ss')
+		});
+		$('#ActorCreateTimeEnd-关卡挑战统计').datetimebox({
+			value: init_TimeEnd.toFormat('yyyy-MM-dd HH:mm:ss')
+		});
+
+		$('#search-关卡挑战统计').on("click", function () {
+			//初始化datagrid
+			var ActorCreateTimeBegin = $('#ActorCreateTimeBegin-关卡挑战统计').datetimebox("getValue")
+			var ActorCreateTimeEnd = $('#ActorCreateTimeEnd-关卡挑战统计').datetimebox("getValue")
+			if (ActorCreateTimeBegin == "") {
+				$.messager.alert('信息', '创角开始时间不能为空!', 'info');
+				return;
+			}
+			if (ActorCreateTimeEnd == "") {
+				$.messager.alert('信息', '创角结束时间不能为空!', 'info');
+				return;
+			}
+			$('#data-关卡挑战统计').datagrid({
+				url: 'Stat_Stage?t=' + Date.now.toString(),
+				queryParams: {
+					gameID: $('#game-关卡挑战统计').combobox("getValue"),
+					channelID: $('#channel-关卡挑战统计').combobox("getValue"),
+					zoneID: $('#zone-关卡挑战统计').combobox("getValue"),
+					ActorCreateTimeBegin: $('#ActorCreateTimeBegin-关卡挑战统计').datetimebox("getValue"),
+					ActorCreateTimeEnd: $('#ActorCreateTimeEnd-关卡挑战统计').datetimebox("getValue"),
+					StageID: $('#StageID-关卡挑战统计').numberbox("getValue"),
+				},
+				striped: true, rownumbers: true, fit: true, border: false, singleSelect: true, multiSort: false,
+				pagination: false, pageSize: 30, pageList: [30, 50, 80, 100, 200, 10000, 100000],
+				nowrap: false,
+				columns: [[
+					{ field: 'StageID', title: '关卡ID', width: 80 },
+					{ field: '挑战总次数', title: '挑战总次数', width: 120 },
+					{ field: '挑战人数', title: '挑战人数', width: 120 },
+					{ field: '通关总次数', title: '通关总次数', width: 120 },
+					{ field: '通关人数', title: '通关人数', width: 120 },
+					{ field: '通关人挑战总次数', title: '通关人挑战总次数', width: 120 },
+					{
+						field: '平均挑战次数', title: '平均挑战次数', width: 120, formatter: function (value, row, index) {
+							var rtn = '';
+							if (row.挑战人数 > 0) {
+								rtn = parseFloat((row.挑战总次数 / row.挑战人数).toFixed(2));
+							}
+							return rtn;
+						}
+					},
+					{
+						field: '通关平均挑战次数', title: '通关平均挑战次数', width: 120, formatter: function (value, row, index) {
+							var rtn = '';
+							if (row.通关人数 > 0) {
+								rtn = parseFloat((row.通关人挑战总次数 / row.通关人数).toFixed(2));
+							}
+							return rtn;
+						}
+					},
+				]]
+			});
+		});
+
+		$('#export-关卡挑战统计').on('click', function () {
+			//初始化datagrid
+			$('#data-关卡挑战统计').datagrid('toExcel', '挑战模式通关人数.xls');
+		});
+		$('#download-关卡挑战统计').on('click', function () {
+			window.location.href = encodeURI("Export关卡挑战统计?GameID=" + $('#game-关卡挑战统计').combobox("getValue")
+				+ "&ChannelID=" + $('#channel-关卡挑战统计').combobox("getValue")
+				+ "&ZoneID=" + $('#zone-关卡挑战统计').combobox("getValue")
+				+ "&ActorCreateTimeBegin=" + $('#ActorCreateTimeBegin-关卡挑战统计').datetimebox("getValue")
+				+ "&ActorCreateTimeEnd=" + $('#ActorCreateTimeEnd-关卡挑战统计').datetimebox("getValue")
+				+ "&StageID=" + $('#StageID-关卡挑战统计').numberbox("getValue")
+				+ "&filename=关卡挑战统计.csv");
+
+		});
+	});
+</script>

+ 1 - 1
Wfj/GM66/wwwroot/定时全区邮件.html

@@ -3,7 +3,7 @@
         <div style="padding: 2px">
             <span>游戏:</span>
             <input id="game-定时全区邮件" class="easyui-textbox" labelPosition="left" style="width:120px;">
-            <span>通过Sql作业每天04:00发送</span>
+            <span>通过Sql作业每天01:00发送</span>
             <a id="search-定时全区邮件" href="javascript:;" class="easyui-linkbutton" iconCls="icon-search">查询</a>
         </div>
     </div>

+ 156 - 0
Wfj/GM66/wwwroot/按钮点击统计.html

@@ -0,0 +1,156 @@
+<div class="easyui-layout" data-options="fit:true,border:false">
+	<div data-options="region:'north',border:true,collapsible:false,collapsed:false" style="height: 0px;">
+		<div style="padding: 2px">
+			<span>游戏:</span>
+			<input id="game-按钮点击统计" type="text" class="easyui-combobox" name="game"
+				   data-options="editable:false,
+								    width:150,
+								    valueField:'id',
+								    textField:'text',
+								    url:'getgames?guid=' + localStorage.getItem('guid')+'&time=' + Date.now(),
+								    method:'get',
+								    onSelect: function(e){
+								    var url = 'getchannel?gameid=' + e.id + '&guid=' + localStorage.getItem('guid')+'&time=' + Date.now();
+								        $('#channel-按钮点击统计').combobox('reload', url);
+                                        $('#zone-按钮点击统计').combobox('reload', 'getzone?gameid=' + e.id +'&time=' + Date.now());
+								    },
+								    onLoadSuccess: function(d){
+									if(d.isError){
+                                            location.href = d.message;
+											return;
+										}
+								    $(this).combobox('select', d[0].id);
+								    }
+								    " />
+
+			<span>渠道:</span>
+			<select id="channel-按钮点击统计" class="easyui-combobox"
+					data-options="editable:false,
+								    method:'get',
+								    valueField:'id',
+								    textField:'text',
+								    width:150,
+								    onLoadSuccess: function(d){
+								    $(this).combobox('select', d[0].id);
+								    }
+
+								    " />
+
+			<span>区服:</span>
+			<select id="zone-按钮点击统计" class="easyui-combobox" name="ID"
+					data-options="editable:false,
+								    method:'get',
+								    valueField:'id',
+								    textField:'text',
+								    width:200,
+								    onLoadSuccess: function(d){
+								        $(this).combobox('select', d[0].id);
+								    }
+
+								    " />
+			<span>创角时间: </span>
+			<input id="ActorCreateTimeBegin-按钮点击统计" type="text" class="easyui-datetimebox" style="width:180px"
+				   data-option="required:true" />
+			<span>到 </span>
+			<input id="ActorCreateTimeEnd-按钮点击统计" type="text" class="easyui-datetimebox" style="width:180px"
+				   data-option="required:true" />
+			<span>点击时间: </span>
+			<input id="ClickTimeBegin-按钮点击统计" type="text" class="easyui-datetimebox" style="width:180px"
+				   data-option="required:true" />
+			<span>到 </span>
+			<input id="ClickTimeEnd-按钮点击统计" type="text" class="easyui-datetimebox" style="width:180px"
+				   data-option="required:true" />
+
+			<a id="search-按钮点击统计" href="javascript:;" class="easyui-linkbutton" iconCls="icon-search">查询</a>
+			<a id="export-按钮点击统计" href="javascript:;" class="easyui-linkbutton" iconCls="icon-save">导出当前页</a>
+			<!--<a id="download-按钮点击统计" href="javascript:;" class="easyui-linkbutton" iconCls="icon-save">导出结果集</a>-->
+		</div>
+	</div>
+	<div data-options="region:'center',border:false">
+		<table id="data-按钮点击统计" class="easyui-datagrid" />
+	</div>
+</div>
+<script type="text/javascript">
+	$(function () {
+		var init_TimeBegin = luxon.DateTime.now().plus({ days: -7 });
+		var init_TimeEnd = luxon.DateTime.now().plus({ days: 1 });
+		$('#ActorCreateTimeBegin-按钮点击统计').datetimebox({
+			value: init_TimeBegin.toFormat('yyyy-MM-dd HH:mm:ss')
+		});
+		$('#ActorCreateTimeEnd-按钮点击统计').datetimebox({
+			value: init_TimeEnd.toFormat('yyyy-MM-dd HH:mm:ss')
+		});
+		$('#ClickTimeBegin-按钮点击统计').datetimebox({
+			value: init_TimeBegin.toFormat('yyyy-MM-dd HH:mm:ss')
+		});
+		$('#ClickTimeEnd-按钮点击统计').datetimebox({
+			value: init_TimeEnd.toFormat('yyyy-MM-dd HH:mm:ss')
+		});
+
+		$('#search-按钮点击统计').on("click", function () {
+			//初始化datagrid
+			var ActorCreateTimeBegin = $('#ActorCreateTimeBegin-按钮点击统计').datetimebox("getValue")
+			var ActorCreateTimeEnd = $('#ActorCreateTimeEnd-按钮点击统计').datetimebox("getValue")
+			var ClickTimeBegin = $('#ClickTimeBegin-按钮点击统计').datetimebox("getValue")
+			var ClickTimeEnd = $('#ClickTimeEnd-按钮点击统计').datetimebox("getValue")
+			if (ActorCreateTimeBegin == "") {
+				$.messager.alert('信息', '创角开始时间不能为空!', 'info');
+				return;
+			}
+			if (ActorCreateTimeEnd == "") {
+				$.messager.alert('信息', '创角结束时间不能为空!', 'info');
+				return;
+			}
+			if (ClickTimeBegin == "") {
+				$.messager.alert('信息', '点击开始时间不能为空!', 'info');
+				return;
+			}
+			if (ClickTimeEnd == "") {
+				$.messager.alert('信息', '点击结束时间不能为空!', 'info');
+				return;
+			}
+			$('#data-按钮点击统计').datagrid({
+				url: 'Stat_BtnClick?t=' + Date.now.toString(),
+				queryParams: {
+					gameID: $('#game-按钮点击统计').combobox("getValue"),
+					channelID: $('#channel-按钮点击统计').combobox("getValue"),
+					zoneID: $('#zone-按钮点击统计').combobox("getValue"),
+					ActorCreateTimeBegin: $('#ActorCreateTimeBegin-按钮点击统计').datetimebox("getValue"),
+					ActorCreateTimeEnd: $('#ActorCreateTimeEnd-按钮点击统计').datetimebox("getValue"),
+					ClickTimeBegin: $('#ClickTimeBegin-按钮点击统计').datetimebox("getValue"),
+					ClickTimeEnd: $('#ClickTimeEnd-按钮点击统计').datetimebox("getValue"),
+				},
+				striped: true, rownumbers: true, fit: true, border: false, singleSelect: true, multiSort: false,
+				pagination: false, pageSize: 30, pageList: [30, 50, 80, 100, 200, 10000, 100000],
+				nowrap: false,
+				columns: [[
+					{ field: 'BtnID', title: '按钮ID', width: 80 },
+					{
+						field: 'LogDay', title: '日期', width: 120, formatter: function (value, row, index) {
+							var rtn = '';
+							if (value) {
+								rtn = luxon.DateTime.fromISO(value).toFormat('yyyy-MM-dd');
+							}
+							return rtn;
+						}
+					},
+					{ field: '点击次数', title: '点击次数', width: 120 },
+				]]
+			});
+		});
+
+		$('#export-按钮点击统计').on('click', function () {
+			//初始化datagrid
+			$('#data-按钮点击统计').datagrid('toExcel', '挑战模式通关人数.xls');
+		});
+		$('#download-按钮点击统计').on('click', function () {
+			window.location.href = encodeURI("Export按钮点击统计?GameID=" + $('#game-按钮点击统计').combobox("getValue")
+				+ "&ChannelID=" + $('#channel-按钮点击统计').combobox("getValue")
+				+ "&ZoneID=" + $('#zone-按钮点击统计').combobox("getValue")
+				+ "&ActorCreateTimeBegin=" + $('#ActorCreateTimeBegin-按钮点击统计').datebox("getValue")
+				+ "&ActorCreateTimeEnd=" + $('#ActorCreateTimeEnd-按钮点击统计').datebox("getValue")
+				+ "&filename=按钮点击统计.csv");
+
+		});
+	});
+</script>