星级厨房优化-后台-平台数据统计导出
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
package com.accompany.admin.mapper;
|
||||
|
||||
import com.accompany.admin.vo.luckysea.*;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
@@ -26,11 +27,12 @@ public interface LuckySeaActAdminMapper {
|
||||
|
||||
/**
|
||||
* 分页获取游戏平台数据统计
|
||||
* @param page
|
||||
* @param startTime
|
||||
* @param endTime
|
||||
* @return
|
||||
*/
|
||||
List<LuckySeaActPlatformStatVo> listPlatformStat(@Param("startTime") String startTime, @Param("endTime")String endTime);
|
||||
Page<LuckySeaActPlatformStatVo> pagePlatformStat(Page<LuckySeaActPlatformStatVo> page, @Param("startTime") String startTime, @Param("endTime")String endTime);
|
||||
|
||||
/**
|
||||
* 分页获取用户的游戏记录
|
||||
|
@@ -13,7 +13,9 @@ package com.accompany.admin.service.activity;
|
||||
|
||||
|
||||
import com.accompany.admin.params.LuckySeaItemSaveReqParams;
|
||||
import com.accompany.admin.vo.luckysea.LuckySeaActPlatformStatVo;
|
||||
import com.accompany.business.model.activity.LuckySeaItem;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
|
||||
import java.util.Map;
|
||||
|
||||
@@ -55,7 +57,7 @@ public interface LuckySeaActAdminService {
|
||||
* @param pageSize
|
||||
* @return
|
||||
*/
|
||||
Map<String, Object> listPlatformStat(String startTime, String endTime, Integer page, Integer pageSize);
|
||||
Page<LuckySeaActPlatformStatVo> pagePlatformStat(String startTime, String endTime, Integer page, Integer pageSize);
|
||||
|
||||
/**
|
||||
* 分页获取用户游戏记录列表
|
||||
|
@@ -29,6 +29,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.pagehelper.PageHelper;
|
||||
import com.github.pagehelper.PageInfo;
|
||||
import com.google.common.collect.Maps;
|
||||
@@ -186,16 +187,11 @@ public class LuckySeaActAdminServiceImpl implements LuckySeaActAdminService {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Map<String, Object> listPlatformStat(String startTime, String endTime, Integer page, Integer pageSize) {
|
||||
Map data = Maps.newHashMap();
|
||||
public Page<LuckySeaActPlatformStatVo> pagePlatformStat(String startTime, String endTime, Integer page, Integer pageSize) {
|
||||
page = page != null ? page : Constant.DEFAULT_PAGE;
|
||||
pageSize = pageSize != null ? pageSize : Constant.DEFAULT_PAGE_SIZE;
|
||||
PageHelper.startPage(page, pageSize);
|
||||
List<LuckySeaActPlatformStatVo> statList = luckySeaActAdminMapper.listPlatformStat(startTime, endTime);
|
||||
PageInfo<LuckySeaActPlatformStatVo> pageInfo = new PageInfo<>(statList);
|
||||
data.put("rows", pageInfo.getList());
|
||||
data.put("total", pageInfo.getTotal());
|
||||
return data;
|
||||
Page<LuckySeaActPlatformStatVo> pageInfo = new Page<>(page, pageSize);
|
||||
return luckySeaActAdminMapper.pagePlatformStat(pageInfo, startTime, endTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@@ -10,6 +10,7 @@
|
||||
*/
|
||||
package com.accompany.admin.vo.luckysea;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
@@ -24,11 +25,18 @@ import java.util.Date;
|
||||
@Data
|
||||
public class LuckySeaActPlatformStatVo {
|
||||
|
||||
private Date queryDate;
|
||||
@ExcelProperty("日期")
|
||||
private String queryDate;
|
||||
@ExcelProperty("总人数")
|
||||
private Integer memberNum;
|
||||
@ExcelProperty("总人次")
|
||||
private Integer totalPlayTimes;
|
||||
@ExcelProperty("总轮数")
|
||||
private Integer roundNum;
|
||||
@ExcelProperty("总投入")
|
||||
private Long totalPiece;
|
||||
@ExcelProperty("总平台价值")
|
||||
private Long totalPlatformValue;
|
||||
@ExcelProperty("门票")
|
||||
private Double totalTicket;
|
||||
}
|
||||
|
@@ -12,7 +12,7 @@
|
||||
<result column="totalTicket" property="totalTicket" jdbcType="DOUBLE"/>
|
||||
</resultMap>
|
||||
|
||||
<select id="listPlatformStat" resultMap="luckySeaActPlatformStatVo">
|
||||
<select id="pagePlatformStat" resultMap="luckySeaActPlatformStatVo">
|
||||
SELECT t1.* , t2.* FROM
|
||||
(SELECT DATE(a.start_time)queryDate,
|
||||
count(DISTINCT a.round_id, a.round_id)roundNum,
|
||||
|
@@ -14,8 +14,10 @@ import com.accompany.admin.controller.BaseController;
|
||||
import com.accompany.admin.params.LuckySeaItemSaveReqParams;
|
||||
import com.accompany.admin.service.activity.LuckySeaActAdminService;
|
||||
import com.accompany.admin.util.ExcelUtils;
|
||||
import com.accompany.admin.vo.ChargeRecordPersonAdminVo;
|
||||
import com.accompany.admin.vo.luckysea.LuckySeaActAdminRoundDetailVo;
|
||||
import com.accompany.admin.vo.luckysea.LuckySeaActAdminUserDrawRecord;
|
||||
import com.accompany.admin.vo.luckysea.LuckySeaActPlatformStatVo;
|
||||
import com.accompany.business.model.activity.LuckySeaActInfo;
|
||||
import com.accompany.business.model.activity.LuckySeaItem;
|
||||
import com.accompany.business.service.activities.ActivitiesLuckySeaService;
|
||||
@@ -24,13 +26,17 @@ import com.accompany.business.service.activities.impl.ActivitiesLuckySeaServiceI
|
||||
import com.accompany.business.service.api.QinniuService;
|
||||
import com.accompany.common.constant.Constant;
|
||||
import com.accompany.common.redis.RedisKey;
|
||||
import com.accompany.common.result.PageResult;
|
||||
import com.accompany.common.utils.BlankUtil;
|
||||
import com.accompany.common.utils.DateTimeUtil;
|
||||
import com.accompany.core.enumeration.BusinessStatusCodeEnum;
|
||||
import com.accompany.core.exception.ServiceException;
|
||||
import com.accompany.core.service.common.JedisService;
|
||||
import com.accompany.core.vo.BaseResponseVO;
|
||||
import com.alibaba.excel.EasyExcel;
|
||||
import com.alibaba.excel.support.ExcelTypeEnum;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import org.apache.poi.ss.usermodel.Workbook;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -38,7 +44,10 @@ import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.math.BigDecimal;
|
||||
import java.net.URLEncoder;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@@ -105,10 +114,21 @@ public class LuckySeaActAdminController extends BaseController {
|
||||
writeJson(jsonObject.toJSONString());
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/listPlatformStat", method = RequestMethod.GET)
|
||||
public void listPlatformStat(String startTime, String endTime, Integer page, Integer pageSize) {
|
||||
Map<String, Object> data = luckySeaActAdminService.listPlatformStat(startTime, endTime, page, pageSize);
|
||||
writeJson(JSONObject.toJSONString(data));
|
||||
@GetMapping("/listPlatformStat")
|
||||
public PageResult<LuckySeaActPlatformStatVo> listPlatformStat(String startTime, String endTime, Integer page, Integer pageSize) {
|
||||
Page<LuckySeaActPlatformStatVo> pageInfo = luckySeaActAdminService.pagePlatformStat(startTime, endTime, page, pageSize);
|
||||
return new PageResult<>(pageInfo);
|
||||
}
|
||||
|
||||
@GetMapping( "/exportPlatformStat")
|
||||
public void exportPlatformStat(HttpServletResponse response, String startTime, String endTime) throws IOException {
|
||||
Page<LuckySeaActPlatformStatVo> pageInfo = luckySeaActAdminService.pagePlatformStat(startTime, endTime, -1, -1);
|
||||
response.setContentType("application/vnd.ms-excel");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
// 这里URLEncoder.encode可以防止中文乱码
|
||||
String excelName = URLEncoder.encode("平台数据统计", "UTF-8");
|
||||
response.setHeader("Content-disposition", "attachment;filename=" + excelName + ExcelTypeEnum.XLSX.getValue());
|
||||
EasyExcel.write(response.getOutputStream(), LuckySeaActPlatformStatVo.class).sheet("平台数据统计").doWrite(pageInfo.getRecords());
|
||||
}
|
||||
|
||||
@RequestMapping(value = "/listUserDrawRecordList", method = RequestMethod.GET)
|
||||
|
@@ -44,6 +44,9 @@
|
||||
<button id="btnSearch" class="btn btn-default">
|
||||
<i class="glyphicon glyphicon-search"></i>查询
|
||||
</button>
|
||||
<button id="btnExport" class="btn btn-default">
|
||||
<i class="glyphicon glyphicon-export"></i>导出
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -59,6 +62,49 @@
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
$('.js-quick-search').on('click', function () {
|
||||
$('.js-quick-search').removeClass('active')
|
||||
$(this).addClass('active');
|
||||
setSearchTimeUseQuickWay($(this));
|
||||
|
||||
TableHelper.doRefresh('#table');
|
||||
});
|
||||
|
||||
function setSearchTimeUseQuickWay(quickDom) {
|
||||
const days = quickDom.attr("data-days");
|
||||
const today = new Date(new Date().setHours(0,0,0,0));
|
||||
const todayStr = formatTime(today);
|
||||
const startTime = formatTime(new Date(today.getTime() - days * 24 * 60 * 60 * 1000));
|
||||
|
||||
$('#startTime').val(startTime);
|
||||
$('#endTime').val(todayStr);
|
||||
}
|
||||
|
||||
const quickDom = $('.js-quick-search-7');
|
||||
quickDom.addClass('active');
|
||||
setSearchTimeUseQuickWay(quickDom);
|
||||
|
||||
|
||||
// 查询刷新
|
||||
$('#btnSearch').on('click', function () {
|
||||
TableHelper.doRefresh('#table');
|
||||
});
|
||||
var chargeStart = $('#startTime').datepicker({
|
||||
format: 'yyyy-mm-dd 00:00:00',
|
||||
autoclose: true
|
||||
});
|
||||
|
||||
var chargeEnd = $('#endTime').datepicker({
|
||||
format: 'yyyy-mm-dd 00:00:00',
|
||||
autoclose: true
|
||||
});
|
||||
|
||||
$('#btnExport').on('click', function () {
|
||||
const startTime = $('#startTime').val();
|
||||
const endTime = $('#endTime').val();
|
||||
window.location.href = `/admin/luckySea/exportPlatformStat?startTime=${startTime}&endTime=${endTime}`
|
||||
});
|
||||
|
||||
$('#table').bootstrapTable('destroy');
|
||||
$('#table').bootstrapTable({
|
||||
columns: [
|
||||
@@ -108,42 +154,6 @@
|
||||
}
|
||||
});
|
||||
|
||||
$('.js-quick-search').on('click', function () {
|
||||
$('.js-quick-search').removeClass('active')
|
||||
$(this).addClass('active');
|
||||
setSearchTimeUseQuickWay($(this));
|
||||
|
||||
TableHelper.doRefresh('#table');
|
||||
});
|
||||
|
||||
function setSearchTimeUseQuickWay(quickDom) {
|
||||
const days = quickDom.attr("data-days");
|
||||
const today = new Date(new Date().setHours(0,0,0,0));
|
||||
const todayStr = formatTime(today);
|
||||
const startTime = formatTime(new Date(today.getTime() - days * 24 * 60 * 60 * 1000));
|
||||
|
||||
$('#startTime').val(startTime);
|
||||
$('#endTime').val(todayStr);
|
||||
}
|
||||
|
||||
const quickDom = $('.js-quick-search-7');
|
||||
quickDom.addClass('active');
|
||||
setSearchTimeUseQuickWay(quickDom);
|
||||
|
||||
|
||||
// 查询刷新
|
||||
$('#btnSearch').on('click', function () {
|
||||
TableHelper.doRefresh('#table');
|
||||
});
|
||||
var chargeStart = $('#startTime').datepicker({
|
||||
format: 'yyyy-mm-dd 00:00:00',
|
||||
autoclose: true
|
||||
});
|
||||
|
||||
var chargeEnd = $('#endTime').datepicker({
|
||||
format: 'yyyy-mm-dd 00:00:00',
|
||||
autoclose: true
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
|
Reference in New Issue
Block a user