generated from root/miduo_server
master
parent
5ea11c023f
commit
a9c7096887
|
|
@ -31,6 +31,7 @@ import java.net.URL;
|
||||||
import java.text.DateFormat;
|
import java.text.DateFormat;
|
||||||
import java.text.SimpleDateFormat;
|
import java.text.SimpleDateFormat;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Created by huangds on 2017/10/24.
|
* Created by huangds on 2017/10/24.
|
||||||
|
|
@ -54,8 +55,8 @@ public class OrderInfoController {
|
||||||
@RequestMapping(value = "/getOrder", method = {RequestMethod.POST, RequestMethod.GET})
|
@RequestMapping(value = "/getOrder", method = {RequestMethod.POST, RequestMethod.GET})
|
||||||
public String getOrder(HttpServletRequest request, ModelMap map ) throws Exception {
|
public String getOrder(HttpServletRequest request, ModelMap map ) throws Exception {
|
||||||
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
|
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
|
||||||
String startTime = parameterMap.get("startTime");
|
long startTime = DateUtil.timeToStamp(parameterMap.get("startTime").replace("T"," "));
|
||||||
String endTime = parameterMap.get("endTime");
|
long endTime = DateUtil.timeToStamp(parameterMap.get("endTime").replace("T"," "));
|
||||||
String serverId = parameterMap.get("serverId");
|
String serverId = parameterMap.get("serverId");
|
||||||
String userId = parameterMap.get("userId");
|
String userId = parameterMap.get("userId");
|
||||||
String packId = parameterMap.get("packId");
|
String packId = parameterMap.get("packId");
|
||||||
|
|
@ -71,8 +72,8 @@ public class OrderInfoController {
|
||||||
public void exportExcelRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
public void exportExcelRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
|
||||||
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
|
HashMap<String, String> parameterMap = JsonUtil.getInstence().getParameterMap(request);
|
||||||
String userId = parameterMap.get("userId");
|
String userId = parameterMap.get("userId");
|
||||||
String startTime = parameterMap.get("startTime");
|
long startTime = DateUtil.timeToStamp(parameterMap.get("startTime").replace("T"," "));
|
||||||
String endTime = parameterMap.get("endTime");
|
long endTime = DateUtil.timeToStamp(parameterMap.get("endTime").replace("T"," "));
|
||||||
|
|
||||||
List<Corder> cgPayOrders = findOrders(startTime, endTime, userId, "ALLORDER", "0");
|
List<Corder> cgPayOrders = findOrders(startTime, endTime, userId, "ALLORDER", "0");
|
||||||
createOrderExcel(request,response,cgPayOrders);
|
createOrderExcel(request,response,cgPayOrders);
|
||||||
|
|
@ -88,100 +89,116 @@ public class OrderInfoController {
|
||||||
* @return
|
* @return
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
private List<Corder> findOrders(String startTime,String endTime,String userId,String packId,String serverId) throws Exception {
|
private List<Corder> findOrders(long startTime,long endTime,String userId,String packId,String serverId) throws Exception {
|
||||||
long start = DateUtil.now();
|
long now = DateUtil.now();
|
||||||
List<String> days = JsonUtil.getDays(startTime,endTime);
|
String start = DateUtil.stampToTime(startTime);
|
||||||
|
String end = DateUtil.stampToTime(endTime);
|
||||||
|
List<String> days = JsonUtil.getDays(start,end);
|
||||||
|
|
||||||
Map<Integer, SRechargeCommodityConfig> rechargeMap = FileCacheUtils.rechargeMap;
|
Map<Integer, SRechargeCommodityConfig> rechargeMap = FileCacheUtils.rechargeMap;
|
||||||
Map<Integer,String> itemMap = FileCacheUtils.itemNameMap;
|
Map<Integer,String> itemMap = FileCacheUtils.itemNameMap;
|
||||||
List<Corder> cgPayOrders = new ArrayList<>();
|
List<Corder> cgPayOrders = new ArrayList<>();
|
||||||
|
|
||||||
CUserInfo userInfo =null;
|
CUserInfo userInfo =null;
|
||||||
|
// 用户id非空,需要获取用户信息
|
||||||
if(userId!=null&&!userId.isEmpty()){
|
if(userId!=null&&!userId.isEmpty()){
|
||||||
userInfo = userInfoDao.findUserInfoByUserId(Integer.parseInt(userId));
|
userInfo = userInfoDao.findUserInfoByUserId(Integer.parseInt(userId));
|
||||||
}
|
}
|
||||||
|
|
||||||
for (String date :days){
|
// 根据日期获取全部得订单信息
|
||||||
Map<String, CGPayOrder> map1 = RedisUtil.getInstence().getMap(RedisUserKey.C_PAYORDER_MAP + ":" + date, CGPayOrder.class, -1);
|
HashMap<String, CGPayOrder> orderHashMap = new HashMap<>();
|
||||||
for (Map.Entry<String,CGPayOrder> entry: map1.entrySet()){
|
days.forEach(v->{
|
||||||
CGPayOrder cgPayOrder = entry.getValue();
|
Map<String, CGPayOrder> map = RedisUtil.getInstence().getMap(RedisUserKey.C_PAYORDER_MAP + ":" + v, CGPayOrder.class, -1);
|
||||||
int server = cgPayOrder.getServerId();
|
orderHashMap.putAll(map);
|
||||||
if(Integer.parseInt(serverId) != 0 && server != Integer.parseInt(serverId)) {
|
});
|
||||||
continue;
|
|
||||||
}
|
|
||||||
String ccId = Optional.ofNullable(cgPayOrder.getCc_id()).orElse("");
|
|
||||||
if (!packId.equals("ALLORDER") && !ccId.equals(packId)){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
String accountid = cgPayOrder.getUserId();
|
|
||||||
if (userInfo!=null &&!accountid.equals(userInfo.getId())){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
String amount = cgPayOrder.getAmount();
|
|
||||||
double amountDouble;
|
|
||||||
if(amount==null){
|
|
||||||
amountDouble = 0d;
|
|
||||||
}else{
|
|
||||||
if(!amount.contains(".")){
|
|
||||||
amountDouble = Integer.parseInt(amount)/100D;
|
|
||||||
} else{
|
|
||||||
amountDouble = Double.parseDouble(amount);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Corder corder = new Corder();
|
|
||||||
corder.setAccountid(accountid);
|
|
||||||
corder.setOrderNo(cgPayOrder.getOrderId());
|
|
||||||
String payTime = cgPayOrder.getDelivery_time();
|
|
||||||
corder.setPayTime(payTime);
|
|
||||||
corder.setProductid(cgPayOrder.getGoodsId());
|
|
||||||
corder.setServerId(String.valueOf(server));
|
|
||||||
corder.setPaySdk(cgPayOrder.getPaySdk());
|
|
||||||
corder.setPlatform(cgPayOrder.getPlatform());
|
|
||||||
|
|
||||||
SRechargeCommodityConfig config;
|
// 渠道信息
|
||||||
int goodsId;
|
List<ChannelInfo> channelInfos = channelInfoDao.getChannelInfoList();
|
||||||
if(isNumeric(cgPayOrder.getGoodsId())){
|
Map<String, String> channelMap = channelInfos.stream().collect(Collectors.toMap(ChannelInfo::getId, ChannelInfo::getName, (key1, key2) -> key2));
|
||||||
goodsId = Integer.parseInt(cgPayOrder.getGoodsId());
|
|
||||||
config =rechargeMap.get(goodsId);
|
|
||||||
}else {
|
|
||||||
config = SRechargeCommodityConfig.sdkRechargeCommodityConfigMap.get(cgPayOrder.getGoodsId());
|
|
||||||
}
|
|
||||||
if(config!=null){
|
|
||||||
corder.setAmount(String.valueOf(config.getPrice()));
|
|
||||||
corder.setProductName(config.getName());
|
|
||||||
corder.setCurrency_code(cgPayOrder.getCurrency_code()==null?"":cgPayOrder.getCurrency_code());
|
|
||||||
corder.setCurrency_price(String.format("%.2f",amountDouble));
|
|
||||||
|
|
||||||
int[][] baseReward = config.getBaseReward();
|
// 循环遍历
|
||||||
StringBuilder builder = new StringBuilder();
|
for (Map.Entry<String, CGPayOrder> entry : orderHashMap.entrySet()) {
|
||||||
if(baseReward!=null&&baseReward.length>0){
|
CGPayOrder cgPayOrder = entry.getValue();
|
||||||
Arrays.stream(baseReward).forEach(n->{
|
int server = cgPayOrder.getServerId();
|
||||||
if(builder.length()!=0){
|
// 服务器验证
|
||||||
builder.append("、");
|
if(Integer.parseInt(serverId) != 0 && server != Integer.parseInt(serverId)) {
|
||||||
}
|
continue;
|
||||||
builder.append(itemMap.getOrDefault(n[0],"")).append("*").append(n[1]);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
corder.setProductContent(builder.toString());
|
|
||||||
}
|
|
||||||
corder.setRecharge_type(cgPayOrder.getRecharge_type());
|
|
||||||
|
|
||||||
GSUserFinal gsUser = gsUserDao.findUserInfoCache(server,Integer.valueOf(accountid));
|
|
||||||
if (gsUser == null){
|
|
||||||
corder.setRegisterTime("");
|
|
||||||
corder.setOpenId("");
|
|
||||||
}else {
|
|
||||||
corder.setRegisterTime(gsUser.getCreateTime());
|
|
||||||
corder.setOpenId(gsUser.getOpenId());
|
|
||||||
}
|
|
||||||
|
|
||||||
ChannelInfo infoById = channelInfoDao.getChannelInfoById(ccId);
|
|
||||||
corder.setCc_id(Optional.ofNullable(infoById).map(ChannelInfo::getName).orElse(ccId));
|
|
||||||
|
|
||||||
cgPayOrders.add(corder);
|
|
||||||
}
|
}
|
||||||
|
// 渠道id cc值验证
|
||||||
|
String ccId = Optional.ofNullable(cgPayOrder.getCc_id()).orElse("-1");
|
||||||
|
if (!packId.equals("ALLORDER") && !ccId.equals(packId)){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 玩家账号id验证
|
||||||
|
String accountid = cgPayOrder.getUserId();
|
||||||
|
if (userInfo!=null &&!accountid.equals(userInfo.getId())){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
// 时间验证
|
||||||
|
long payTime = DateUtil.timeToStamp(cgPayOrder.getDelivery_time());
|
||||||
|
if (payTime < startTime || payTime > endTime){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 金额获取
|
||||||
|
String amount = cgPayOrder.getAmount();
|
||||||
|
double amountDouble;
|
||||||
|
if(amount==null){
|
||||||
|
amountDouble = 0d;
|
||||||
|
}else{
|
||||||
|
if(!amount.contains(".")){
|
||||||
|
amountDouble = Integer.parseInt(amount)/100D;
|
||||||
|
} else{
|
||||||
|
amountDouble = Double.parseDouble(amount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 订单初始化
|
||||||
|
Corder corder = new Corder();
|
||||||
|
corder.setAccountid(accountid);
|
||||||
|
corder.setOrderNo(cgPayOrder.getOrderId());
|
||||||
|
corder.setPayTime(cgPayOrder.getDelivery_time());
|
||||||
|
corder.setProductid(cgPayOrder.getGoodsId());
|
||||||
|
corder.setServerId(String.valueOf(server));
|
||||||
|
corder.setPaySdk(cgPayOrder.getPaySdk());
|
||||||
|
corder.setPlatform(cgPayOrder.getPlatform());
|
||||||
|
|
||||||
|
// 获取订单配置
|
||||||
|
SRechargeCommodityConfig config = SRechargeCommodityConfig.sdkRechargeCommodityConfigMap.get(cgPayOrder.getGoodsId());
|
||||||
|
if(isNumeric(cgPayOrder.getGoodsId())){
|
||||||
|
config = rechargeMap.get(Integer.parseInt(cgPayOrder.getGoodsId()));
|
||||||
|
}
|
||||||
|
if(config != null){
|
||||||
|
// 订单信息赋值
|
||||||
|
corder.setAmount(String.valueOf(config.getPrice()));
|
||||||
|
corder.setProductName(config.getName());
|
||||||
|
corder.setCurrency_code(cgPayOrder.getCurrency_code()==null?"":cgPayOrder.getCurrency_code());
|
||||||
|
corder.setCurrency_price(String.format("%.2f",amountDouble));
|
||||||
|
|
||||||
|
int[][] baseReward = config.getBaseReward();
|
||||||
|
StringBuilder builder = new StringBuilder();
|
||||||
|
if(baseReward != null && baseReward.length > 0){
|
||||||
|
Arrays.stream(baseReward).forEach(n->{
|
||||||
|
builder.append(itemMap.getOrDefault(n[0],"")).append("*").append(n[1]).append("、");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// 礼包内容文字化
|
||||||
|
corder.setProductContent(builder.substring(0,builder.length()-1).toString());
|
||||||
|
}
|
||||||
|
corder.setRecharge_type(cgPayOrder.getRecharge_type());
|
||||||
|
corder.setRegisterTime("");
|
||||||
|
corder.setOpenId("");
|
||||||
|
// 用户信息获取
|
||||||
|
GSUserFinal gsUser = gsUserDao.findUserInfoCache(server,Integer.valueOf(accountid));
|
||||||
|
if (gsUser != null){
|
||||||
|
corder.setRegisterTime(gsUser.getCreateTime());
|
||||||
|
corder.setOpenId(gsUser.getOpenId());
|
||||||
|
}
|
||||||
|
// 渠道id赋值
|
||||||
|
corder.setCc_id(Optional.ofNullable(channelMap.get(Integer.valueOf(ccId))).orElse(ccId));
|
||||||
|
|
||||||
|
cgPayOrders.add(corder);
|
||||||
}
|
}
|
||||||
LOGGER.info("导出订单操作,redis查询耗时:{}毫秒",DateUtil.now()-start);
|
LOGGER.info("导出订单操作,redis查询耗时:{}毫秒",DateUtil.now()-now);
|
||||||
return cgPayOrders;
|
return cgPayOrders;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -77,8 +77,7 @@ public class UserInfoDaoImpl implements UserInfoDao {
|
||||||
public CUserInfo findUserInfoByUserId(int uid) throws Exception {
|
public CUserInfo findUserInfoByUserId(int uid) throws Exception {
|
||||||
MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName);
|
MongoTemplate mongoTemplate = connect.getMongoTemplete(dbName);
|
||||||
Query query = new Query(Criteria.where("uid").is(uid));
|
Query query = new Query(Criteria.where("uid").is(uid));
|
||||||
CUserInfo cUserInfo = mongoTemplate.findOne(query, CUserInfo.class);
|
return mongoTemplate.findOne(query, CUserInfo.class);
|
||||||
return cUserInfo;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont"></i></a>
|
href="javascript:location.replace(location.href);" title="刷新"><i class="Hui-iconfont"></i></a>
|
||||||
</nav>
|
</nav>
|
||||||
<div class="page-container">
|
<div class="page-container">
|
||||||
<form class="form form-horizontal" id="form-article-add" action="/exportExcelRequest" method="post" onsubmit="exportExcel()">
|
<form class="form form-horizontal" id="form-article-add" action="/exportExcelRequest" method="post" onsubmit="return exportExcel()">
|
||||||
<div id="tab-system" class="HuiTab">
|
<div id="tab-system" class="HuiTab">
|
||||||
<div class="tabBar cl">
|
<div class="tabBar cl">
|
||||||
<span>生成玩家订单</span>
|
<span>生成玩家订单</span>
|
||||||
|
|
@ -48,10 +48,7 @@
|
||||||
<span class="c-red">*</span>
|
<span class="c-red">*</span>
|
||||||
开始时间:</label>
|
开始时间:</label>
|
||||||
<div class="formControls col-xs-8 col-sm-9">
|
<div class="formControls col-xs-8 col-sm-9">
|
||||||
<input autocomplete="off" type="text"
|
<input type="datetime-local" name="startTime" class="input-text" style="width: 210px" step="1">
|
||||||
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>
|
</div>
|
||||||
<div class="row cl">
|
<div class="row cl">
|
||||||
|
|
@ -59,10 +56,7 @@
|
||||||
<span class="c-red">*</span>
|
<span class="c-red">*</span>
|
||||||
结束时间:</label>
|
结束时间:</label>
|
||||||
<div class="formControls col-xs-8 col-sm-9">
|
<div class="formControls col-xs-8 col-sm-9">
|
||||||
<input autocomplete="off" type="text"
|
<input type="datetime-local" name="endTime" class="input-text" style="width: 210px" step="1">
|
||||||
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>
|
</div>
|
||||||
<div class="row cl">
|
<div class="row cl">
|
||||||
|
|
@ -72,7 +66,6 @@
|
||||||
<div class="formControls col-xs-8 col-sm-9">
|
<div class="formControls col-xs-8 col-sm-9">
|
||||||
<input autocomplete="off" type="text" name="userId" placeholder="游戏中的玩家id(可不填)" value=""
|
<input autocomplete="off" type="text" name="userId" placeholder="游戏中的玩家id(可不填)" value=""
|
||||||
class="input-text"/>
|
class="input-text"/>
|
||||||
<span class="USERID"></span>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!-- <div class="row cl">-->
|
<!-- <div class="row cl">-->
|
||||||
|
|
@ -137,36 +130,36 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var intervalFlag = true; //是否执行轮询的标志
|
// var intervalFlag = true; //是否执行轮询的标志
|
||||||
// 进度查询
|
// // 进度查询
|
||||||
function getProgress(interVal) {
|
// function getProgress(interVal) {
|
||||||
$._post2('/exportExcelRequestResult', {}, function (res) {
|
// $._post2('/exportExcelRequestResult', {}, function (res) {
|
||||||
if (res.arrangeStatus == 0) {
|
// if (res.arrangeStatus == 0) {
|
||||||
//成功
|
// //成功
|
||||||
clearInterval(interVal); //清空轮询
|
// clearInterval(interVal); //清空轮询
|
||||||
intervalFlag = false; //设置为不执行轮询
|
// intervalFlag = false; //设置为不执行轮询
|
||||||
} else if (res.arrangeStatus == 1) {
|
// } else if (res.arrangeStatus == 1) {
|
||||||
//失败
|
// //失败
|
||||||
clearInterval(interVal);
|
// clearInterval(interVal);
|
||||||
intervalFlag = false;
|
// intervalFlag = false;
|
||||||
} else if (res.arrangeStatus == 2) {
|
// } else if (res.arrangeStatus == 2) {
|
||||||
|
//
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
// 隔两秒访问
|
// // 隔两秒访问
|
||||||
function interval() {
|
// function interval() {
|
||||||
var pro;
|
// var pro;
|
||||||
// 定时器
|
// // 定时器
|
||||||
var interVal;
|
// var interVal;
|
||||||
var time = 1;
|
// var time = 1;
|
||||||
interVal = setInterval(function () {
|
// interVal = setInterval(function () {
|
||||||
// 获取返回对象
|
// // 获取返回对象
|
||||||
pro = getProgress(interVal);
|
// pro = getProgress(interVal);
|
||||||
startExport.html('<span style="color: red; ">正在处理..</span>');
|
// startExport.html('<span style="color: red; ">正在处理..</span>');
|
||||||
}, 2000);
|
// }, 2000);
|
||||||
}
|
// }
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
<!--/请在上方写此页面业务相关的脚本-->
|
<!--/请在上方写此页面业务相关的脚本-->
|
||||||
|
|
|
||||||
|
|
@ -48,10 +48,7 @@
|
||||||
<span class="c-red">*</span>
|
<span class="c-red">*</span>
|
||||||
开始时间:</label>
|
开始时间:</label>
|
||||||
<div class="formControls col-xs-8 col-sm-9">
|
<div class="formControls col-xs-8 col-sm-9">
|
||||||
<input autocomplete="off" type="text"
|
<input type="datetime-local" name="startTime" class="input-text" style="width: 210px" step="1">
|
||||||
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>
|
</div>
|
||||||
<div class="row cl">
|
<div class="row cl">
|
||||||
|
|
@ -59,10 +56,7 @@
|
||||||
<span class="c-red">*</span>
|
<span class="c-red">*</span>
|
||||||
结束时间:</label>
|
结束时间:</label>
|
||||||
<div class="formControls col-xs-8 col-sm-9">
|
<div class="formControls col-xs-8 col-sm-9">
|
||||||
<input autocomplete="off" type="text"
|
<input type="datetime-local" name="endTime" class="input-text" style="width: 210px" step="1">
|
||||||
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>
|
</div>
|
||||||
<div class="row cl">
|
<div class="row cl">
|
||||||
|
|
@ -134,8 +128,6 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
function findFlow() {
|
function findFlow() {
|
||||||
var erroCode = $('.SERVERID');
|
|
||||||
|
|
||||||
var serverId = $("#serverId").val();
|
var serverId = $("#serverId").val();
|
||||||
if (serverId === '' || serverId == null) {
|
if (serverId === '' || serverId == null) {
|
||||||
alert("区服id不能为空!!");
|
alert("区服id不能为空!!");
|
||||||
|
|
@ -143,14 +135,12 @@
|
||||||
}
|
}
|
||||||
var startTime = $("input[name='startTime']").val();
|
var startTime = $("input[name='startTime']").val();
|
||||||
if (startTime === '' || startTime == null) {
|
if (startTime === '' || startTime == null) {
|
||||||
erroCode = $('.STARTTIME');
|
alert("开始时间不能为空!!");
|
||||||
erroCode.html('<span style="color: red; ">开始时间不能为空!</span>');
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var endTime = $("input[name='endTime']").val();
|
var endTime = $("input[name='endTime']").val();
|
||||||
if (endTime === '' || endTime == null) {
|
if (endTime === '' || endTime == null) {
|
||||||
erroCode = $('.ENDTIME');
|
alert("结束时间不能为空!!");
|
||||||
erroCode.html('<span style="color: red; ">结束时间不能为空!</span>');
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var packId = $("#packId").val();
|
var packId = $("#packId").val();
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,9 @@
|
||||||
<h1><p class="f-20 text-success">太初行管理后台</p></h1>
|
<h1><p class="f-20 text-success">太初行管理后台</p></h1>
|
||||||
</div>
|
</div>
|
||||||
<div style="margin-left: 20px;font-size: 18px">
|
<div style="margin-left: 20px;font-size: 18px">
|
||||||
<p style="color: red">更新日志[2021-10-17]</p>
|
<p style="color: red">更新日志[2021-10-19]</p>
|
||||||
<p>1、服务器信息添加删除按钮</p>
|
<p>1、服务器信息添加删除按钮</p>
|
||||||
|
<p>2、订单列表修改时间输入方式,小幅度速度优化</p>
|
||||||
</div>
|
</div>
|
||||||
<footer class="footer mt-20">
|
<footer class="footer mt-20">
|
||||||
</footer>
|
</footer>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue