package com.stylefeng.guns.modular.system.controller.general;
|
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.stylefeng.guns.core.util.ToolUtil;
|
import com.stylefeng.guns.modular.system.model.TCompany;
|
import com.stylefeng.guns.modular.system.service.ITCompanyService;
|
import com.stylefeng.guns.modular.system.service.IUserActivityDiscount1Service;
|
import com.stylefeng.guns.modular.system.service.IUserCouponRecordService;
|
import com.stylefeng.guns.modular.system.service.IUserRedPacketRecordService;
|
import com.stylefeng.guns.modular.system.util.ResultUtil;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Controller;
|
import org.springframework.ui.Model;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestMethod;
|
import org.springframework.web.bind.annotation.ResponseBody;
|
|
import javax.servlet.ServletOutputStream;
|
import javax.servlet.http.HttpServletResponse;
|
import java.net.URLEncoder;
|
import java.util.List;
|
|
/**
|
* 报表控制器
|
*/
|
@Controller
|
@RequestMapping("/report")
|
public class ReportController {
|
|
private String PREFIX = "/system/report/";
|
|
@Autowired
|
private ITCompanyService companyService;
|
|
@Autowired
|
private IUserCouponRecordService userCouponRecordService;
|
|
@Autowired
|
private IUserRedPacketRecordService redPacketRecordService;
|
|
@Autowired
|
private IUserActivityDiscount1Service userActivityDiscount1Service;
|
|
|
|
|
/**
|
* 跳转到日常运营数据汇总页
|
* @return
|
*/
|
@RequestMapping("/showOperationalData")
|
public String showOperationalData(Model model){
|
List<TCompany> tCompanies = companyService.selectList(new EntityWrapper<TCompany>().eq("state", 0).ne("flag", 3));
|
model.addAttribute("company", tCompanies);
|
return PREFIX + "operationalData.html";
|
}
|
|
/**
|
* 跳转到优惠券统计页
|
* @param model
|
* @return
|
*/
|
@RequestMapping("/showCouponStatistics")
|
public String showCouponStatistics(Model model){
|
List<TCompany> tCompanies = companyService.selectList(new EntityWrapper<TCompany>().eq("state", 0).ne("flag", 3));
|
model.addAttribute("company", tCompanies);
|
return PREFIX + "couponStatistics.html";
|
}
|
|
/**
|
* 跳转到优惠券统计详情页
|
* @param type
|
* @param model
|
* @return
|
*/
|
@RequestMapping("/showCouponStatisticsInfo")
|
public String showCouponStatisticsInfo(Integer type, Model model){
|
List<TCompany> tCompanies = companyService.selectList(new EntityWrapper<TCompany>().eq("state", 0).ne("flag", 3));
|
model.addAttribute("company", tCompanies);
|
model.addAttribute("type", type);
|
return PREFIX + "couponStatisticsInfo.html";
|
}
|
|
|
|
|
|
|
/**
|
* 获取日常运营数据
|
* @param type
|
* @param time
|
* @param companyId
|
* @param offset
|
* @param limit
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/queryOperationalData", method = RequestMethod.POST)
|
public Object queryOperationalData(Integer type, String time, Integer companyId, Integer offset, Integer limit){
|
try {
|
String start = null;
|
String end = null;
|
if(ToolUtil.isNotEmpty(time)){
|
start = time.split(" - ")[0];
|
end = time.split(" - ")[1];
|
}
|
return companyService.queryOperationalData(type, start, end, companyId, offset, limit);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 下载日常运营数据汇总表
|
* @param type
|
* @param time
|
* @param companyId
|
* @param response
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/downloadOperationalData", method = RequestMethod.GET)
|
public void downloadOperationalData(Integer type, String time, Integer companyId, HttpServletResponse response){
|
try {
|
String start = null;
|
String end = null;
|
if(ToolUtil.isNotEmpty(time)){
|
start = time.split(" - ")[0];
|
end = time.split(" - ")[1];
|
}
|
HSSFWorkbook hssfWorkbook = companyService.downloadOperationalData(type, start, end, companyId);
|
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("日常运营数据汇总表.xls", "utf-8"));
|
response.setContentType("application/vnd.ms-excel");
|
ServletOutputStream out = response.getOutputStream();
|
hssfWorkbook.write(out);
|
out.flush();
|
out.close();
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
|
/**
|
* 获取优惠券统计
|
* @param type
|
* @param name
|
* @param time
|
* @param companyId
|
* @param offset
|
* @param limit
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/queryCouponRegister", method = RequestMethod.POST)
|
public Object queryCouponRegister(Integer type, String name, String time, Integer companyId, Integer offset, Integer limit){
|
try {
|
return userCouponRecordService.queryCouponRegister(type, name, time, companyId, offset, limit);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 下载优惠券领取数据
|
* @param type
|
* @param name
|
* @param time
|
* @param companyId
|
* @param response
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/downloadCouponRegister", method = RequestMethod.GET)
|
public void downloadCouponRegister(Integer type, String name, String time, Integer companyId, HttpServletResponse response){
|
try {
|
String na = "";
|
if(type == 2){
|
na = "注册优惠券奖励";
|
}
|
if(type == 3){
|
na = "邀请优惠券奖励";
|
}
|
if(type == 4){
|
na = "充值优惠券奖励";
|
}
|
HSSFWorkbook hssfWorkbook = userCouponRecordService.downloadCouponRegister(type, name, time, companyId);
|
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode(na + ".xls", "utf-8"));
|
response.setContentType("application/vnd.ms-excel");
|
ServletOutputStream out = response.getOutputStream();
|
hssfWorkbook.write(out);
|
out.flush();
|
out.close();
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
|
/**
|
* 获取红包统计数据
|
* @param name
|
* @param time
|
* @param companyId
|
* @param offset
|
* @param limit
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/queryRedEnvelopes", method = RequestMethod.POST)
|
public Object queryRedEnvelopes(String name, String time, Integer companyId, Integer offset, Integer limit){
|
try {
|
return redPacketRecordService.queryRedEnvelopes(name, time, companyId, offset, limit);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 下载红包奖励
|
* @param name
|
* @param time
|
* @param companyId
|
* @param response
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/downloadRedEnvelopes", method = RequestMethod.GET)
|
public void downloadRedEnvelopes(String name, String time, Integer companyId, HttpServletResponse response){
|
try {
|
HSSFWorkbook hssfWorkbook = redPacketRecordService.downloadRedEnvelopes(name, time, companyId);
|
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("红包奖励.xls", "utf-8"));
|
response.setContentType("application/vnd.ms-excel");
|
ServletOutputStream out = response.getOutputStream();
|
hssfWorkbook.write(out);
|
out.flush();
|
out.close();
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
|
|
/**
|
* 获取折扣统计
|
* @param name
|
* @param time
|
* @param companyId
|
* @param offset
|
* @param limit
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/queryDiscount1", method = RequestMethod.POST)
|
public Object queryDiscount1(String name, String time, Integer companyId, Integer offset, Integer limit){
|
try {
|
return userActivityDiscount1Service.queryDiscount1(name, time, companyId, offset, limit);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 下载折扣优惠活动
|
* @param name
|
* @param time
|
* @param companyId
|
* @param response
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/downloadDiscount1", method = RequestMethod.GET)
|
public void downloadDiscount1(String name, String time, Integer companyId, HttpServletResponse response){
|
try {
|
HSSFWorkbook hssfWorkbook = userActivityDiscount1Service.downloadDiscount1(name, time, companyId);
|
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("折扣优惠活动.xls", "utf-8"));
|
response.setContentType("application/vnd.ms-excel");
|
ServletOutputStream out = response.getOutputStream();
|
hssfWorkbook.write(out);
|
out.flush();
|
out.close();
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
/**
|
* 获取优惠券统计明细
|
* @param type
|
* @param name
|
* @param time
|
* @param companyId
|
* @param offset
|
* @param limit
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/queryCouponRegisterInfo", method = RequestMethod.POST)
|
public Object queryCouponRegisterInfo(Integer type, String name, String time, Integer companyId, Integer offset, Integer limit){
|
try {
|
type += 1;
|
return userCouponRecordService.queryCouponRegisterInfo(type, name, time, companyId, offset, limit);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
/**
|
* 获取充值赠送优惠券明细
|
* @param name
|
* @param time
|
* @param companyId
|
* @param offset
|
* @param limit
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/queryCouponRegisterInfo1", method = RequestMethod.POST)
|
public Object queryCouponRegisterInfo1(String name, String time, Integer companyId, Integer offset, Integer limit){
|
try {
|
return userCouponRecordService.queryCouponRegisterInfo1( name, time, companyId, offset, limit);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 获取折扣优惠详情
|
* @param time
|
* @param companyId
|
* @param offset
|
* @param limit
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/queryDiscountInfo", method = RequestMethod.POST)
|
public Object queryDiscountInfo(String name, String time, Integer companyId, Integer offset, Integer limit){
|
try {
|
return userActivityDiscount1Service.queryDiscountInfo(name, time, companyId, offset, limit);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
|
|
/**
|
* 获取红包领取详情
|
* @param name
|
* @param time
|
* @param companyId
|
* @param offset
|
* @param limit
|
* @return
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/queryRedEnvelopesInfo", method = RequestMethod.POST)
|
public Object queryRedEnvelopesInfo(String name, String time, Integer companyId, Integer offset, Integer limit){
|
try {
|
return redPacketRecordService.queryRedEnvelopesInfo(name, time, companyId, offset, limit);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 优惠明细下载
|
* @param type
|
* @param name
|
* @param time
|
* @param companyId
|
* @param response
|
*/
|
@ResponseBody
|
@RequestMapping(value = "/downloadCouponStatisticsInfo", method = RequestMethod.GET)
|
public void downloadCouponStatisticsInfo(Integer type, String name, String time, Integer companyId, HttpServletResponse response){
|
try {
|
if(type == 1 || type == 2){
|
type += 1;
|
HSSFWorkbook hssfWorkbook = userCouponRecordService.downloadCouponRegisterInfo(type, name, time, companyId);
|
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode((type == 2 ? "注册奖励明细" : "邀请奖励明细") + ".xls", "utf-8"));
|
response.setContentType("application/vnd.ms-excel");
|
ServletOutputStream out = response.getOutputStream();
|
hssfWorkbook.write(out);
|
out.flush();
|
out.close();
|
}
|
if(type == 3){
|
HSSFWorkbook hssfWorkbook = userCouponRecordService.downloadCouponRegisterInfo1(name, time, companyId);
|
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("充值奖励明细.xls", "utf-8"));
|
response.setContentType("application/vnd.ms-excel");
|
ServletOutputStream out = response.getOutputStream();
|
hssfWorkbook.write(out);
|
out.flush();
|
out.close();
|
}
|
if(type == 4){
|
HSSFWorkbook hssfWorkbook = userActivityDiscount1Service.downloadDiscountInfo(name, time, companyId);
|
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("折扣优惠明细.xls", "utf-8"));
|
response.setContentType("application/vnd.ms-excel");
|
ServletOutputStream out = response.getOutputStream();
|
hssfWorkbook.write(out);
|
out.flush();
|
out.close();
|
}
|
if(type == 5){
|
HSSFWorkbook hssfWorkbook = redPacketRecordService.downloadRedEnvelopesInfo(name, time, companyId);
|
response.setHeader("Content-Disposition", "attachment; filename=" + URLEncoder.encode("红包优惠明细.xls", "utf-8"));
|
response.setContentType("application/vnd.ms-excel");
|
ServletOutputStream out = response.getOutputStream();
|
hssfWorkbook.write(out);
|
out.flush();
|
out.close();
|
}
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
}
|