cdk 和流水

master
zhangshanxue 2019-09-11 17:13:25 +08:00
parent 6d0f061a58
commit 6569f0c60f
9 changed files with 760 additions and 2 deletions

View File

@ -0,0 +1,197 @@
package com.jmfy.controller;
import org.springframework.stereotype.Controller;
/**
* Created by huangds on 2017/10/24.
*/
@Controller
public class FindFlowController {
// @Resource
// ItemDao itemDao;
// @RequestMapping(value = "/findFlow", method = {RequestMethod.POST,RequestMethod.GET})
// public String findFlow(HttpSession session, ModelMap map , HttpServletRequest request) throws Exception {
// HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
// String startTime = parameterMap.get("startTime");
// String endTime = parameterMap.get("endTime");
// String serverId = parameterMap.get("serverId");
// String userId = parameterMap.get("userId");
// List<MoneyFlow> moneyFlowList = itemDao.findMoneyFlowInfo(serverId, startTime, endTime, userId);
// List<ItemFlowVo> itemFlowVoList = new ArrayList<>();
// for (MoneyFlow moneyFlow :moneyFlowList){
// ItemFlowVo itemFlowVo = new ItemFlowVo();
// itemFlowVo.setUserId(moneyFlow.getUid());
// itemFlowVo.setServerId(moneyFlow.getServerId());
// itemFlowVo.setTime(moneyFlow.getTime());
// itemFlowVo.setItemName(getItemName(Integer.parseInt(moneyFlow.getiMoneyType()),999));
// itemFlowVo.setReason(getReason(moneyFlow.getReason()));
// itemFlowVo.setUserLevel(moneyFlow.getLevel());
// itemFlowVo.setAfterMoney(moneyFlow.getAfterMoney());
// itemFlowVo.setAddOrReduce(moneyFlow.getAddOrReduce());
// itemFlowVo.setCount(moneyFlow.getiMoney());
// itemFlowVoList.add(itemFlowVo);
// }
// List<ItemFlow> itemFlowList = itemDao.findItemFlowInfo(serverId,startTime,endTime,userId);
// for (ItemFlow itemFlow:itemFlowList){
// ItemFlowVo itemFlowVo = new ItemFlowVo();
// itemFlowVo.setUserId(itemFlow.getUid());
// itemFlowVo.setServerId(itemFlow.getServerId());
// itemFlowVo.setTime(itemFlow.getTime());
// itemFlowVo.setUserLevel(itemFlow.getLevel());
// itemFlowVo.setItemName(getItemName(Integer.parseInt(itemFlow.getiGoodsId()),Integer.parseInt(itemFlow.getiGoodsType())));
// itemFlowVo.setReason(getReason(itemFlow.getReason()));
// itemFlowVo.setAfterMoney(itemFlow.getAfterCount());
// itemFlowVo.setAddOrReduce(itemFlow.getAddOrReduce());
// itemFlowVo.setCount(itemFlow.getCount());
// itemFlowVoList.add(itemFlowVo);
// }
// map.put("itemFlowVoList", itemFlowVoList);
// return "itemFlow";
// }
//
// private String getReason(String reason) {
// return STableManager.getInstance().getsReason(Integer.parseInt(reason));
// }
//
// private String getItemName(int itemId, int iGoodsType) {
// String itemName = "";
// switch (iGoodsType) {
// case 999:
// itemName = getMoneyName(itemId);
// break;
// case 0:
// itemName = STableManager.getInstance().getsItemName(itemId);
// if (itemName ==null){
// itemName = STableManager.getInstance().getsExpCardName(itemId);
// if (itemName == null || itemName.isEmpty()) {
// itemName = String.valueOf(itemId);
// }
// }
// break;
// case 2:
// itemName = STableManager.getInstance().getsHeroName(itemId);
// break;
// case 3:
// itemName = STableManager.getInstance().getsYaofuName(itemId);
// break;
// case 4:
// //todo 皮肤 现在版本没有
// itemName = String.valueOf(itemId);
// break;
// case 5:
// //todo 头像框
// itemName = STableManager.getInstance().getsHeadName(itemId);
// break;
// case 6:
// itemName = STableManager.getInstance().getsItemName(itemId);
// break;
// case 7:
// itemName = STableManager.getInstance().getsItemName(itemId);
// break;
// case 8:
// itemName = STableManager.getInstance().getsItemName(itemId);
// break;
// case 10:
// itemName = STableManager.getInstance().getsMindName(itemId);
// break;
// case 11:
// //头像
// itemName = STableManager.getInstance().getsHeadName(itemId);
// break;
// case 14:
// //聊天红包
// itemName = "聊天红包";
// break;
// default:
// if (itemName.isEmpty()) {
// itemName = String.valueOf(itemId);
// }
// }
// return itemName;
// }
//
// private String getMoneyName(int moneyType) {
// String name = "";
// switch (moneyType) {
// case 0:
// name = "金币";
// break;
// case 1:
// name = "妖灵币";
// break;
// case 2:
// name = "友情点";
// break;
// case 3:
// name = "荣誉";
// break;
// case 4:
// name = "中级荣誉";
// break;
// case 5:
// name = "高级荣誉";
// break;
// case 8:
// name = "神券";
// break;
// case 9:
// name = "体力";
// break;
// case 10:
// name = "皮肤券";
// break;
// case 11:
// name = "灵石";
// break;
// case 12:
// name = "玄";
// break;
// case 13:
// name = "素";
// break;
// case 14:
// name = "鸣";
// break;
// case 15:
// name = "宗门资产";
// break;
// default:
// name = STableManager.getInstance().getsItemName(moneyType);
// if (name == null || name.isEmpty()) {
// name = String.valueOf(moneyType);
// }
//
// }
// return name;
// }
//
//
//
// @RequestMapping(value = "/findShopFlow", method = {RequestMethod.POST,RequestMethod.GET})
// public String findShopFlow(HttpSession session, ModelMap map , HttpServletRequest request) throws Exception {
// HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
// String startTime = parameterMap.get("startTime");
// String endTime = parameterMap.get("endTime");
// String serverId = parameterMap.get("serverId");
// String shopId = parameterMap.get("shopId");
// List<ShopBuyInfoFlow> itemFlowList = itemDao.findItemFlowInfoBuyShop(serverId,startTime,endTime,shopId);
// List<ShopItemInfoVo> shopItemInfoVos = new ArrayList<>();
// Map<String,Integer> itemBuyTimes = new HashMap<>();
// for (ShopBuyInfoFlow itemFlow:itemFlowList){
// String itemName = itemFlow.getBuyItemName();
// int itemNum = Integer.parseInt(itemFlow.getBuyItemNum());
// if (itemBuyTimes.containsKey(itemName)){
// itemNum = itemBuyTimes.get(itemName) + itemNum;
// }
// itemBuyTimes.put(itemName,itemNum);
// }
// for ( Map.Entry<String,Integer> entry :itemBuyTimes.entrySet()){
// ShopItemInfoVo shopItemInfoVo = new ShopItemInfoVo();
// shopItemInfoVo.setBuyNum(entry.getValue());
// shopItemInfoVo.setItemName(entry.getKey());
// shopItemInfoVos.add(shopItemInfoVo);
// }
// map.put("shopItemInfoVos",shopItemInfoVos);
// return "shopItemInfo";
// }
}

View File

@ -4,7 +4,7 @@ import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
@Document(collection = "c_cdk_info")
@Document(collection = "cdk_info")
public class CdkInfo {
@Id
private String id; // 生成的序列号id

View File

@ -4,7 +4,7 @@ import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.Field;
@Document(collection = "s_c_add_sdk_info")
@Document(collection = "cdk_add_info")
public class SCdkInfo {
@Id
private int id; //所属的商品id

View File

@ -0,0 +1,143 @@
<!--_meta 作为公共模版分离出去-->
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<meta name="renderer" content="webkit|ie-comp|ie-stand"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<link rel="Bookmark" href="../favicon.ico" />
<link rel="Shortcut Icon" href="../favicon.ico" />
<!--[if lt IE 9]>
<script type="text/javascript" src="../lib/html5shiv.js"></script>
<script type="text/javascript" src="../lib/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" type="text/css" href="../h-ui/css/H-ui.min.css" />
<link rel="stylesheet" type="text/css" href="../h-ui.admin/css/H-ui.admin.css" />
<link rel="stylesheet" type="text/css" href="../lib/Hui-iconfont/1.0.8/iconfont.css" />
<link rel="stylesheet" type="text/css" href="../h-ui.admin/skin/default/skin.css" id="skin" />
<link rel="stylesheet" type="text/css" href="../h-ui.admin/css/style.css" />
<!--[if IE 6]>
<script type="text/javascript" src="../lib/DD_belatedPNG_0.0.8a-min.js" ></script>
<script>DD_belatedPNG.fix('*');</script>
<![endif]-->
<!--/meta 作为公共模版分离出去-->
<title>流水日誌查询</title>
</head>
<body>
<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
<span class="c-gray en">&gt;</span>
流水日誌管理
<span class="c-gray en">&gt;</span>
流水日誌查询
<a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
</nav>
<div class="page-container">
<form class="form form-horizontal" id="form-article-add" action="/findFlow" method="get" onsubmit="return findFlow()">
<div id="tab-system" class="HuiTab">
<div class="tabBar cl">
<span>流水日誌查询</span>
</div>
<div class="tabCon">
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2">
<span class="c-red">*</span>
开始时间:</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="text" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'datemin\')}' })" id="datemin" class="input-text Wdate" style="width:180px;" name="startTime">
<span class="STARTTIME"></span>
</div>
</div>
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2">
<span class="c-red">*</span>
结束时间:</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="text" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'datemin\')}' })" id="datemax" class="input-text Wdate" style="width:180px;" name="endTime">
<span class="ENDTIME"></span>
</div>
</div>
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2">
<span class="c-red">*</span>
服务器id</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="text" name="serverId" placeholder="服务器serverid" value="" class="input-text"/>
<span class="SERVERID"></span>
</div>
</div>
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2">
<span class="c-red">*</span>
用户ID</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="text" name="userId" placeholder="" value="" class="input-text"/>
<span class="USERID"></span>
</div>
</div>
</div>
</div>
<div class="row cl">
<div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-2">
<button class="btn btn-primary radius" type="submit" ><i class="Hui-iconfont">&#xe632;</i> 查询</button>
</div>
</div>
</form>
</div>
<!--_footer 作为公共模版分离出去-->
<script type="text/javascript" src="../lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="../lib/layer/2.4/layer.js"></script>
<script type="text/javascript" src="../h-ui/js/H-ui.min.js"></script>
<script type="text/javascript" src="../h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
<!--请在下方写此页面业务相关的脚本-->
<script type="text/javascript" src="../lib/My97DatePicker/4.8/WdatePicker.js"></script>
<script type="text/javascript" src="../lib/jquery.validation/1.14.0/jquery.validate.js"></script>
<script type="text/javascript" src="../lib/jquery.validation/1.14.0/validate-methods.js"></script>
<script type="text/javascript" src="../lib/jquery.validation/1.14.0/messages_zh.js"></script>
<script type="text/javascript">
$(function () {
$('.skin-minimal input').iCheck({
checkboxClass: 'icheckbox-blue',
radioClass: 'iradio-blue',
increaseArea: '20%'
});
$("#tab-system").Huitab({
index: 0
});
});
function findFlow() {
var erroCode = $('.SERVERID');
var serverId = $("input[name='serverId']").val();
var userId = $("input[name='userId']").val();
var startTime = $("input[name='startTime']").val();
var endTime = $("input[name='endTime']").val();
if (serverId === '' || serverId == null) {
erroCode.html('<span style="color: red; ">服务器id不能为空!</span>');
return false;
}
if (userId === '' || userId == null) {
erroCode = $('.USERID');
erroCode.html('<span style="color: red; ">用户id不能为空!</span>');
return false;
}
if (startTime === '' || startTime == null) {
erroCode = $('.STARTTIME');
erroCode.html('<span style="color: red; ">开始时间不能为空!</span>');
return false;
}
if (endTime === '' || endTime == null) {
erroCode = $('.ENDTIME');
erroCode.html('<span style="color: red; ">结束时间不能为空!</span>');
return false;
}
return true;
}
</script>
<!--/请在上方写此页面业务相关的脚本-->
</body>
</html>

View File

@ -0,0 +1,146 @@
<!--_meta 作为公共模版分离出去-->
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8"/>
<meta name="renderer" content="webkit|ie-comp|ie-stand"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<link rel="Bookmark" href="../favicon.ico" />
<link rel="Shortcut Icon" href="../favicon.ico" />
<!--[if lt IE 9]>
<script type="text/javascript" src="../lib/html5shiv.js"></script>
<script type="text/javascript" src="../lib/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" type="text/css" href="../h-ui/css/H-ui.min.css" />
<link rel="stylesheet" type="text/css" href="../h-ui.admin/css/H-ui.admin.css" />
<link rel="stylesheet" type="text/css" href="../lib/Hui-iconfont/1.0.8/iconfont.css" />
<link rel="stylesheet" type="text/css" href="../h-ui.admin/skin/default/skin.css" id="skin" />
<link rel="stylesheet" type="text/css" href="../h-ui.admin/css/style.css" />
<!--[if IE 6]>
<script type="text/javascript" src="../lib/DD_belatedPNG_0.0.8a-min.js" ></script>
<script>DD_belatedPNG.fix('*');</script>
<![endif]-->
<!--/meta 作为公共模版分离出去-->
<title>流水日誌查询</title>
</head>
<body>
<nav class="breadcrumb"><i class="Hui-iconfont">&#xe67f;</i> 首页
<span class="c-gray en">&gt;</span>
商店道具管理
<span class="c-gray en">&gt;</span>
商店道具购买次数查询
<a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新" ><i class="Hui-iconfont">&#xe68f;</i></a>
</nav>
<div class="page-container">
<form class="form form-horizontal" id="form-article-add" action="/findShopFlow" method="get" onsubmit="return findFlow()">
<div id="tab-system" class="HuiTab">
<div class="tabBar cl">
<span>商店道具购买次数查询</span>
</div>
<div class="tabCon">
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2">
<span class="c-red">*</span>
开始时间:</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="text" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'datemin\')}' })" id="datemin" class="input-text Wdate" style="width:180px;" name="startTime">
<span class="STARTTIME"></span>
</div>
</div>
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2">
<span class="c-red">*</span>
结束时间:</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="text" onfocus="WdatePicker({ dateFmt:'yyyy-MM-dd HH:mm:ss',minDate:'#F{$dp.$D(\'datemin\')}' })" id="datemax" class="input-text Wdate" style="width:180px;" name="endTime">
<span class="ENDTIME"></span>
</div>
</div>
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2">
<span class="c-red">*</span>
服务器id</label>
<div class="formControls col-xs-8 col-sm-9">
<input type="text" name="serverId" placeholder="服务器serverid" value="" class="input-text"/>
<span class="SERVERID"></span>
</div>
</div>
<div class="row cl">
<label class="form-label col-xs-4 col-sm-2">
<span class="c-red">*</span>
商店:</label>
<div class="formControls col-xs-8 col-sm-9">
<select name="shopId" class="input-text" id="shopId">
<option value="1" selected = "selected" >通用商店</option>
<option value="2" >靈石商店</option>
<option value="3" >天才戰商店</option>
<option value="10" >心魂商店</option>
<option value="11" >宗門商店</option>
<option value="13" >遠征商店</option>
<option value="14" >心魂兑换所商店</option>
<option value="15" >聚靈商店</option>
<option value="16" >域主商店</option>
</select>
</div>
</div>
</div>
</div>
<div class="row cl">
<div class="col-xs-8 col-sm-9 col-xs-offset-4 col-sm-offset-2">
<button class="btn btn-primary radius" type="submit" ><i class="Hui-iconfont">&#xe632;</i> 查询</button>
</div>
</div>
</form>
</div>
<!--_footer 作为公共模版分离出去-->
<script type="text/javascript" src="../lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="../lib/layer/2.4/layer.js"></script>
<script type="text/javascript" src="../h-ui/js/H-ui.min.js"></script>
<script type="text/javascript" src="../h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
<!--请在下方写此页面业务相关的脚本-->
<script type="text/javascript" src="../lib/My97DatePicker/4.8/WdatePicker.js"></script>
<script type="text/javascript" src="../lib/jquery.validation/1.14.0/jquery.validate.js"></script>
<script type="text/javascript" src="../lib/jquery.validation/1.14.0/validate-methods.js"></script>
<script type="text/javascript" src="../lib/jquery.validation/1.14.0/messages_zh.js"></script>
<script type="text/javascript">
$(function () {
$('.skin-minimal input').iCheck({
checkboxClass: 'icheckbox-blue',
radioClass: 'iradio-blue',
increaseArea: '20%'
});
$("#tab-system").Huitab({
index: 0
});
});
function findFlow() {
var erroCode = $('.SERVERID');
var serverId = $("input[name='serverId']").val();
var startTime = $("input[name='startTime']").val();
var endTime = $("input[name='endTime']").val();
if (serverId === '' || serverId == null) {
erroCode.html('<span style="color: red; ">服务器id不能为空!</span>');
return false;
}
if (startTime === '' || startTime == null) {
erroCode = $('.STARTTIME');
erroCode.html('<span style="color: red; ">开始时间不能为空!</span>');
return false;
}
if (endTime === '' || endTime == null) {
erroCode = $('.ENDTIME');
erroCode.html('<span style="color: red; ">结束时间不能为空!</span>');
return false;
}
return true;
}
</script>
<!--/请在上方写此页面业务相关的脚本-->
</body>
</html>

View File

@ -73,6 +73,12 @@
<label class="">
<input type="checkbox" value="6" name="power" id="user-Character-1-0-5"/>
個人信息管理</label>
<label class="">
<input type="checkbox" value="3" name="power" id="user-Character-1-0-2"/>
序列號管理</label>
<label class="">
<input type="checkbox" value="4" name="power" id="user-Character-1-0-3"/>
流水日誌管理</label>
<label class="">
<input type="checkbox" value="9" name="power" id="user-Character-1-0-8"/>
封號/解封/禁言/解封</label>

View File

@ -78,6 +78,20 @@
</div>
</div>
<div th: th:switch="${powersVo.CDKinfo}">
<div th:case="0">
<dl id="menu-CDK">
<dt><i class="Hui-iconfont">&#xe6b4;</i>序列號管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
<dd>
<ul>
<li><a data-href="/html/toAddCDKGoods.html" data-title="序列号礼包生成" href="javascript:void(0)">序列号礼包生成</a></li>
<li><a data-href="toCDKBuild" data-title="序列號生成" href="javascript:void(0)">序列號生成</a></li>
<li><a data-href="/html/findCDKInfo.html" data-title="序列號使用者查询" href="javascript:void(0)">序列號查询</a></li>
</ul>
</dd>
</dl>
</div>
</div>
<div th: th:switch="${powersVo.GMinfo}">
<div th:case="0">
<dl id="menu-GM">
@ -94,6 +108,18 @@
</dl>
</div>
</div>
<div th: th:switch="${powersVo.flowInfo}">
<div th:case="0">
<dl id="menu-log">
<dt><i class="Hui-iconfont">&#xe621;</i> 流水日誌管理<i class="Hui-iconfont menu_dropdown-arrow">&#xe6d5;</i></dt>
<dd>
<ul>
<li><a data-href="/html/findFlow.html" data-title="流水日誌查询" href="javascript:;">流水日誌查询</a></li>
</ul>
</dd>
</dl>
</div>
</div>
<div th: th:switch="${powersVo.TitleGame}">
<div th:case="0">
<dl id="menu-Title">

View File

@ -0,0 +1,169 @@
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8"/>
<meta name="renderer" content="webkit|ie-comp|ie-stand"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<meta http-equiv="Cache-Control" content="no-siteapp"/>
<script type="text/javascript" src="lib/html5shiv.js"></script>
<script type="text/javascript" src="lib/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" type="text/css" href="h-ui/css/H-ui.min.css"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/css/H-ui.admin.css"/>
<link rel="stylesheet" type="text/css" href="lib/Hui-iconfont/1.0.8/iconfont.css"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/skin/default/skin.css" id="skin"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/css/style.css"/>
<script type="text/javascript" src="lib/DD_belatedPNG_0.0.8a-min.js"></script>
<script>DD_belatedPNG.fix('*');</script>
<title>流水日誌管理</title>
</head>
<body>
<nav class="breadcrumb">
<i class="Hui-iconfont">&#xe67f;</i> 首页
<span class="c-gray en">&gt;</span> 流水日誌管理
<span class="c-gray en">&gt;</span> 流水日誌查询
<a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px"
href="javascript:location.replace(location.href);" title="刷新">
<i class="Hui-iconfont">&#xe68f;</i></a>
</nav>
<div class="page-container" style="text-align: center">
<h2><span style="color:red;">道具流水日誌查询</span></h2>
<div style="height: 30px"></div>
<div class="text-c">
<input type="text" placeholder="物品名称" name="itemName" value="" class="input-text" style="width:120px">
<span class="btn-upload form-group">
</span> <span class="select-box" style="width:150px">
<select class="select" id="type" size="1">
<option value="0" selected>获得</option>
<option value="1">消耗</option>
</select>
</span>
<button onclick="return onSearch();" class="btn btn-success radius" id="" name=""><i class="Hui-iconfont">&#xe665;</i>
查询
</button>
<button onclick="return tableToExcel()" class="btn btn-primary upload-btn"><i class="Hui-iconfont">&#xe642;</i>
导出
</button>
</div>
<div class="text-c">
<div class="mt-20">
<table class="table table-border table-bordered table-bg table-hover table-sort table-responsive" id="aa">
<thead>
<tr class="text-c">
<th width="200">用户id</th>
<th width="200">服务器ID</th>
<th width="200">时间</th>
<th width="200">用户等级</th>
<th width="200">道具名称</th>
<th width="200">道具数量</th>
<th width="200">动作后的物品存量</th>
<th width="200">物品操作原因</th>
<th width="200">增加0减少1</th>
</tr>
</thead>
<tbody>
<tr th:each="obj:${itemFlowVoList}">
<td th:text="${obj.userId}" style="text-align: center;"></td>
<td th:text="${obj.serverId}" style="text-align: center;"></td>
<td th:text="${obj.time}" style="text-align: center;"></td>
<td th:text="${obj.userLevel}" style="text-align: center;"></td>
<td th:text="${obj.itemName}" style="text-align: center;"></td>
<td th:text="${obj.count}" style="text-align: center;"></td>
<td th:text="${obj.afterMoney}" style="text-align: center;"></td>
<td th:text="${obj.reason}" style="text-align: center;"></td>
<td th:text="${obj.addOrReduce}" style="text-align: center;"></td>
</tr>
</tbody>
</table>
</div>
<!--_footer 作为公共模版分离出去-->
<script type="text/javascript" src="lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="lib/layer/2.4/layer.js"></script>
<script type="text/javascript" src="h-ui/js/H-ui.min.js"></script>
<script type="text/javascript" src="h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
<!--请在下方写此页面业务相关的脚本-->
<script type="text/javascript" src="lib/My97DatePicker/4.8/WdatePicker.js"></script>
<!--<script type="text/javascript" src="lib/datatables/1.10.0/jquery.dataTables.min.js"></script>-->
<script type="text/javascript" src="lib/laypage/1.2/laypage.js"></script>
<script type="text/javascript">
$('.table-sort').dataTable({
"aaSorting": [[ 1, "desc" ]],//默认第几个排序
"bStateSave": true,//状态保存x异步 request请求
"pading":false,
"aoColumnDefs": [
//{"bVisible": false, "aTargets": [ 3 ]} //控制列的隐藏显示
{"orderable":false,"aTargets":[0,8]}// 不参与排序的列
]
});
function tableToExcel() {
var titles = $("#aa").find("tr:first th"); //获得表头td数组
var json = $("#aa").find("tr:not(:first)").map(function (i, e) {
var getDisplay = e.style.display;
if (getDisplay !== "none"){
return "{" + $(e).children("td").map(function (j, el) {
var name = $(titles[j]).html();
return name + ":'" + $(el).html() +"'";
}).get().join(",") + "}";
}
}).get().join(",");
// var aa =JSON.stringify(json); //将JSON对象转化为JSON字符
// alert(aa);
// var obj = JSON.parse(cc); //由JSON字符串转换为JSON对象
// alert(obj);
// const jsonData = JSON.stringify(json.responseObject);
var jsonData = eval("["+json+"]");
var aa = JSON.stringify(jsonData);
var jsonData = JSON.parse(aa);//转换为json对象
// var jsonData = JSON.stringify(aa);
// alert(jsonData);
// var jsonData =JSON.parse(bb);
// alert(jsonData);
// alert(jsonData)
// var jsonData = [{用户id:'30006627',服务器ID:'10212',时间:'2019-04-11 00:02:51',用户等级:'100',道具名称:'0',道具数量:'0',动作后的物品存量:'4',物品操作原因:'213',增加:'0'}]
// alert(jsonData);
// var bb =JSON.stringify(jsonData); //将JSON对象转化为JSON字符
// alert(bb);
// alert(json);
let str = "用户id,服务器ID,时间,用户等级,道具名称,道具数量,动作后的物品存量,物品操作原因,增加:0/减少:1\n";
for (let i = 0; i < jsonData.length; i++) {
var parse = jsonData[i];
// var bb =JSON.stringify(jsonData[i])
// alert(bb);
// var parse = JSON.parse(bb);
// alert(parse);
for (let item in parse) {
str += `${parse[item] + '\t'},`;
}
str += '\n';
}
let uri = 'data:text/csv;charset=utf-8,\ufeff' + encodeURIComponent(str);
let link = document.createElement("a")
link.href = uri;
link.download = "itemFlow.csv";
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}
function onSearch(){
var itemName = $("input[name='itemName']").val();
var type = document.getElementById("type").value;
setTimeout(function(){
var storeId = document.getElementById('aa');
var rowsLength = storeId.rows.length;
for(var i=1;i<rowsLength;i++){
var itemText = storeId.rows[i].cells[4].innerHTML;
var typeText = storeId.rows[i].cells[8].innerHTML;
if(itemText === itemName && typeText === type){
storeId.rows[i].style.display='';//显示行操作,
}else{
storeId.rows[i].style.display='none';//隐藏行操作
}
}
},20);//20为延时时间
}
</script>
</body>
</html>

View File

@ -0,0 +1,71 @@
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="utf-8"/>
<meta name="renderer" content="webkit|ie-comp|ie-stand"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/>
<meta http-equiv="Cache-Control" content="no-siteapp"/>
<script type="text/javascript" src="lib/html5shiv.js"></script>
<script type="text/javascript" src="lib/respond.min.js"></script>
<![endif]-->
<link rel="stylesheet" type="text/css" href="h-ui/css/H-ui.min.css"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/css/H-ui.admin.css"/>
<link rel="stylesheet" type="text/css" href="lib/Hui-iconfont/1.0.8/iconfont.css"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/skin/default/skin.css" id="skin"/>
<link rel="stylesheet" type="text/css" href="h-ui.admin/css/style.css"/>
<script type="text/javascript" src="lib/DD_belatedPNG_0.0.8a-min.js"></script>
<script>DD_belatedPNG.fix('*');</script>
<title>商店道具管理</title>
</head>
<body>
<nav class="breadcrumb">
<i class="Hui-iconfont">&#xe67f;</i> 首页
<span class="c-gray en">&gt;</span> 商店道具管理
<span class="c-gray en">&gt;</span> 商店道具购买次数查询
<a class="btn btn-success radius r" style="line-height:1.6em;margin-top:3px" href="javascript:location.replace(location.href);" title="刷新" >
<i class="Hui-iconfont">&#xe68f;</i></a></nav>
<div class="page-container" style="text-align: center">
<h2><span style="color:red;">商店道具购买次数信息</span></h2>
<div class="text-c">
<div class="mt-20">
<table class="table table-border table-bordered table-bg table-hover table-sort table-responsive">
<thead>
<tr class="text-c">
<!--<th width="25"><input type="checkbox" name="" value=""/></th>-->
<th width="200">商品名称</th>
<th width="200">被购买次数</th>
</tr>
</thead>
<tbody>
<tr th:each="obj:${shopItemInfoVos}">
<!--<td><input type="checkbox" value="" name=""/></td>-->
<td th:text="${obj.itemName}" style="text-align: center;"></td>
<td th:text="${obj.buyNum}" style="text-align: center;"></td>
</tr>
</tbody>
</table>
</div>
</div>
<!--_footer 作为公共模版分离出去-->
<script type="text/javascript" src="lib/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="lib/layer/2.4/layer.js"></script>
<script type="text/javascript" src="h-ui/js/H-ui.min.js"></script>
<script type="text/javascript" src="h-ui.admin/js/H-ui.admin.js"></script> <!--/_footer 作为公共模版分离出去-->
<!--请在下方写此页面业务相关的脚本-->
<script type="text/javascript" src="lib/My97DatePicker/4.8/WdatePicker.js"></script>
<script type="text/javascript" src="lib/laypage/1.2/laypage.js"></script>
<script type="text/javascript">
$('.table-sort').dataTable({
"aaSorting": [[ 1, "desc" ]],//默认第几个排序
"bStateSave": true,//状态保存
"pading":false,
"aoColumnDefs": [
//{"bVisible": false, "aTargets": [ 3 ]} //控制列的隐藏显示
{"orderable":false,"aTargets":[0,0]}// 不参与排序的列
]
});
</script>
</body>
</html>