package com.stylefeng.guns.modular.system.controller.general; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.baomidou.mybatisplus.plugins.Page; import com.stylefeng.guns.core.base.controller.BaseController; import com.stylefeng.guns.core.common.constant.factory.PageFactory; import com.stylefeng.guns.core.shiro.ShiroKit; import com.stylefeng.guns.core.shiro.ShiroUser; import com.stylefeng.guns.core.util.ExcelUtil; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.model.TBalanceModifyRecord; import com.stylefeng.guns.modular.system.model.TCompany; import com.stylefeng.guns.modular.system.service.*; 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.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.io.OutputStream; import java.math.BigDecimal; import java.net.URLEncoder; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * 报表控制器 */ @Controller @RequestMapping("/report") public class ReportController extends BaseController { private String PREFIX = "/system/report/"; @Autowired private ITCompanyService companyService; @Autowired private IUserCouponRecordService userCouponRecordService; @Autowired private IUserRedPacketRecordService redPacketRecordService; @Autowired private IUserActivityDiscount1Service userActivityDiscount1Service; @Autowired private ITBalanceModifyRecordService balanceModifyRecordService; @Autowired private ITPubWithdrawalService tPubWithdrawalService; @Autowired private IComplaintDeductmoneyService complaintDeductmoneyService; @Autowired private ITTaxiCardPaymentService taxiCardPaymentService; @Autowired private ITOrderTaxiService orderTaxiService; /** * 跳转到用户管理首页 */ @RequestMapping("user") public String user() { return PREFIX + "tUser.html"; } /** * 跳转到订单收益 * @return */ @RequestMapping("order") public String order() { return PREFIX + "order.html"; } /** * 跳转公司 * @return */ @RequestMapping("company") public String company() { return PREFIX + "tCompany.html"; } /** * 分公司收益 * @return */ @RequestMapping("companyIncome") public String companyIncome() { return PREFIX + "companyIncome.html"; } @RequestMapping(value = "/orderList") @ResponseBody public Object orderList(String insertTime, String ids,Integer type,String payType) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)) { String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } Page> page = new PageFactory>().defaultPage(); /*if (ShiroKit.getUser().getRoleType() != 1){ page.setRecords(null); }else{*/ ShiroUser user = ShiroKit.getUser(); List> list = orderTaxiService.getOrderList(page, beginTime, endTime, ids, type, payType, user.getObjectId()); page.setRecords(list); /* }*/ return super.packForBT(page); } @RequestMapping("/exportOrder") @ResponseBody public Object exportOrder(HttpServletResponse response, String insertTime, String ids,Integer type,String payType){ try { Date date = new Date(); DateFormat format = new SimpleDateFormat("yyyyMMdd"); String time = format.format(date); String fileName = "订单收益报表"+time+".xls"; String[] title = new String[] {"订单时间","订单号","订单类型" ,"支付方式","订单状态","司机名称","司机手机号","用户名称" ,"用户id","用户手机号","订单原始金额","乘客支付金额" ,"出行费","附加费","加价费","节假日服务费","取消费","改派费" ,"超时罚款","优惠金额","感谢费","小件物流差价费" }; String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } List> mapList = orderTaxiService.getOrderListEx(beginTime, endTime, ids, type, payType, ShiroKit.getUser().getObjectId()); String[][] values = new String[mapList.size()][]; for (int i = 0; i < mapList.size(); i++) { Map d=mapList.get(i); values[i] = new String[title.length]; values[i][0]=null == d.get("insertTime") ? "" : d.get("insertTime").toString(); values[i][1]=null == d.get("orderNum") ? "" : d.get("orderNum").toString(); values[i][2]=d.get("type").toString().equals("1")?"快车": d.get("type").toString().equals("2")?"出租车": d.get("type").toString().equals("3")?"城际": d.get("type").toString().equals("4")?"同城物流":"跨城物流"; if(null != d.get("payType")){ switch (d.get("payType").toString()){ case "1": values[i][3]="微信"; break; case "2": values[i][3]="支付宝"; break; case "3": values[i][3]="其他"; break; } }else { values[i][3]=""; } if(null != d.get("state")){ switch (d.get("state").toString()){ case "1": values[i][4]="待接单"; break; case "2": values[i][4]="待出发"; break; case "3": values[i][4]="待到达预约地点"; break; case "4": values[i][4]= (d.get("type").toString().equals("4") || d.get("type").toString().equals("5")) ? "待取货" : "待乘客上车"; break; case "5": values[i][4]= (d.get("type").toString().equals("4") || d.get("type").toString().equals("5")) ? "送货中" : "服务中"; break; case "6": values[i][4]= (d.get("type").toString().equals("4") || d.get("type").toString().equals("5")) ? "已送达" : "完成服务"; break; case "7": values[i][4]="待支付"; break; case "8": values[i][4]= (d.get("type").toString().equals("4") || d.get("type").toString().equals("5")) ? "需补差价" : "待评价"; break; case "9": values[i][4]= (d.get("type").toString().equals("4") || d.get("type").toString().equals("5")) ? "已取货" : "已完成"; break; case "10": values[i][4]="已取消"; break; case "11": values[i][4]="改派中"; break; case "12": values[i][4]= (d.get("type").toString().equals("4") || d.get("type").toString().equals("5")) ? "已支付差价" : "取消待支付"; break; } }else{ values[i][4]=""; } values[i][5]=null == d.get("driverName") ? "" : d.get("driverName").toString(); values[i][6]=null == d.get("driverPhone") ? "" : d.get("driverPhone").toString(); values[i][7]=null == d.get("userName") ? "" : d.get("userName").toString(); values[i][8]=null == d.get("userId") ? "" : d.get("userId").toString(); values[i][9]=null == d.get("userPhone") ? "" : d.get("userPhone").toString(); values[i][10]=null == d.get("orderMoney") ? "0" : "10".equals(d.get("state").toString()) ? "0" : new BigDecimal(d.get("orderMoney").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); values[i][11]=null == d.get("payMoney") ? "0" : "10".equals(d.get("state").toString()) ? "0" : new BigDecimal(d.get("payMoney").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); values[i][12]=null == d.get("travelMoney") ? "0" : new BigDecimal(d.get("travelMoney").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); values[i][13]=null == d.get("additionalMoney") ? "0" : new BigDecimal(d.get("additionalMoney").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); values[i][14]=null == d.get("tipMoney") ? "0" : new BigDecimal(d.get("tipMoney").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); values[i][15]=null == d.get("holidayFee") ? "0" : new BigDecimal(d.get("holidayFee").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); values[i][16]=null == d.get("cancleMoney") ? "0" : new BigDecimal(d.get("cancleMoney").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); values[i][17]=null == d.get("reassignMoney") ? "0" : new BigDecimal(d.get("reassignMoney").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); values[i][18]=null == d.get("timeOutMoney") ? "0" : new BigDecimal(d.get("timeOutMoney").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); values[i][19]=null == d.get("discountAmount") ? "0" : new BigDecimal(d.get("discountAmount").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); values[i][20]=null == d.get("thankYouFee") ? "0" : new BigDecimal(d.get("thankYouFee").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); values[i][21]=null == d.get("spreadMoney") ? "0" : new BigDecimal(d.get("spreadMoney").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString(); } String fileNameTitle="订单收益报表"; HSSFWorkbook wb = ExcelUtil.getHSSFWorkbookTime(fileNameTitle+time, title, values, null,insertTime); this.setResponseHeader(response, fileName); OutputStream os = response.getOutputStream(); wb.write(os); os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); /*return ApiUtil.putFailObj("导出失败");*/ } return SUCCESS_TIP; } @RequestMapping(value = "/companyIncomeList") @ResponseBody public Object companyIncomeList(String insertTime, String ids) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)) { String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } Page> page = new PageFactory>().defaultPage(); if (ShiroKit.getUser().getRoleType() != 1) { page.setRecords(null); } else { List> list = companyService.getCompanyIncomeList(page, beginTime, endTime, ids); Map map = new HashMap<>(); map.put("id", "合计"); map.put("money", companyService.getSumCompanyIncomeMoney(beginTime, endTime, ids)); list.add(map); page.setRecords(list); } return super.packForBT(page); } @RequestMapping("/exportCompanyIncome") @ResponseBody public Object exportCompanyIncome(HttpServletResponse response, String insertTime, @RequestParam String ids){ try { Date date = new Date(); DateFormat format = new SimpleDateFormat("yyyyMMdd"); String time = format.format(date); String fileName = "分公司收益"+time+".xls"; String[] title = new String[] {"id","公司名称","收益金额"}; String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } List> mapList = companyService.getCompanyIncomeListEx(beginTime,endTime,ids); String[][] values = new String[mapList.size()][]; for (int i = 0; i < mapList.size(); i++) { Map d=mapList.get(i); values[i] = new String[title.length]; values[i][0]=d.get("id").toString(); values[i][1]=d.get("name").toString(); values[i][2]=d.get("money").toString(); } String fileNameTitle="分公司收益"; HSSFWorkbook wb = ExcelUtil.getHSSFWorkbookTime(fileNameTitle+time, title, values, null,insertTime); this.setResponseHeader(response, fileName); OutputStream os = response.getOutputStream(); wb.write(os); os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); /*return ApiUtil.putFailObj("导出失败");*/ } return SUCCESS_TIP; } /** * 跳转司机管理页面 * @return */ @RequestMapping("driver") public String driver() { return PREFIX + "tDriver.html"; } /** * 打车卡 * @return */ @RequestMapping("/taxiCardPayment") public String taxiCardPayment() { return PREFIX + "taxiCardPayment.html"; } @RequestMapping(value = "/taxiCardPaymentList") @ResponseBody public Object taxiCardPaymentList(String insertTime, String ids,String type) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)) { String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } Page> page = new PageFactory>().defaultPage(); List> list = taxiCardPaymentService.getList(page, beginTime, endTime, ids, type, null, null, null, null, ShiroKit.getUser().getObjectId()); Map map = new HashMap<>(); map.put("id", "合计"); map.put("payMoney", taxiCardPaymentService.getSumMoney(beginTime, endTime, ids, type, null, null, null, null, ShiroKit.getUser().getObjectId())); list.add(map); page.setRecords(list); return super.packForBT(page); } @RequestMapping("/exportTaxiCardPayment") @ResponseBody public Object exportTaxiCardPaymentList(HttpServletResponse response, String insertTime, @RequestParam String ids,String type){ try { Date date = new Date(); DateFormat format = new SimpleDateFormat("yyyyMMdd"); String time = format.format(date); String fileName = "打车卡"+time+".xls"; String[] title = new String[] {"支付时间","乘客名称","乘客电话","订单ID","打车卡类型","用户支付金额"}; String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } List> mapList = taxiCardPaymentService.getListEx(beginTime, endTime, ids, type, null, null, null, null, ShiroKit.getUser().getObjectId()); String[][] values = new String[mapList.size()][]; for (int i = 0; i < mapList.size(); i++) { Map d=mapList.get(i); values[i] = new String[title.length]; values[i][0]=d.get("createTime").toString(); values[i][1]=d.get("nickName").toString(); values[i][2]=d.get("phone").toString(); values[i][3]=d.get("id").toString(); values[i][4]=d.get("typeName").toString(); values[i][5]=d.get("payMoney").toString(); } String fileNameTitle="打车卡"; HSSFWorkbook wb = ExcelUtil.getHSSFWorkbookTime(fileNameTitle+time, title, values, null,insertTime); this.setResponseHeader(response, fileName); OutputStream os = response.getOutputStream(); wb.write(os); os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); /*return ApiUtil.putFailObj("导出失败");*/ } return SUCCESS_TIP; } /** * 跳转投诉扣款 * @return */ @RequestMapping("/complaintDeductmoney") public String complaintDeductmoney() { return PREFIX + "complaintDeductmoney.html"; } @RequestMapping(value = "/complaintDeductmoneyList") @ResponseBody public Object complaintDeductmoneyList(String insertTime, String ids) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)) { String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } Page> page = new PageFactory>().defaultPage(); if (ShiroKit.getUser().getRoleType() != 1) { page.setRecords(null); } else { List> list = complaintDeductmoneyService.getList(page, beginTime, endTime, ids, null, null, null, ShiroKit.getUser().getObjectId()); Map map = new HashMap<>(); map.put("id", "合计"); map.put("money", complaintDeductmoneyService.getSumMoney(beginTime, endTime, ids, null, null, null, ShiroKit.getUser().getObjectId())); list.add(map); page.setRecords(list); } return super.packForBT(page); } @RequestMapping("/exportComplaintDeductmoney") @ResponseBody public Object exportComplaintDeductmoney(HttpServletResponse response, String insertTime, @RequestParam String ids){ try { Date date = new Date(); DateFormat format = new SimpleDateFormat("yyyyMMdd"); String time = format.format(date); String fileName = "投诉扣款"+time+".xls"; String[] title = new String[] {"司机名称","处罚时间","司机电话","投诉扣款"}; Wrapper wrapper = new EntityWrapper(); String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } List> mapList = complaintDeductmoneyService.getListEx(beginTime, endTime, ids, null, null, null, ShiroKit.getUser().getObjectId()); String[][] values = new String[mapList.size()][]; for (int i = 0; i < mapList.size(); i++) { Map d=mapList.get(i); values[i] = new String[title.length]; values[i][0]=d.get("name").toString(); values[i][1]=d.get("createTime").toString(); values[i][2]=d.get("phone").toString(); values[i][3]=d.get("money").toString(); } String fileNameTitle="投诉扣款"; HSSFWorkbook wb = ExcelUtil.getHSSFWorkbookTime(fileNameTitle+time, title, values, null,insertTime); this.setResponseHeader(response, fileName); OutputStream os = response.getOutputStream(); wb.write(os); os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); /*return ApiUtil.putFailObj("导出失败");*/ } return SUCCESS_TIP; } /** * 投诉扣款 * @return */ @RequestMapping("/balanceModify") public String balanceModifyIndex() { return PREFIX + "balanceModify.html"; } /** * 跳转到提现列表首页 */ @RequestMapping("withdrawal") public String withdrawal() { return PREFIX + "tPubWithdrawal.html"; } /** * 获取提现列表列表 */ @RequestMapping(value = "/withdrawalList") @ResponseBody public Object withdrawalList(String insertTime, String ids) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)) { String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } Page> page = new PageFactory>().defaultPage(); if (ShiroKit.getUser().getRoleType() != 1) { page.setRecords(null); } else { List> list = tPubWithdrawalService.getReportWithdrawalList(page, beginTime, endTime, ids); Map map = tPubWithdrawalService.getSumMoney(beginTime, endTime, ids); if (map != null) { map.put("id", "合计"); list.add(map); } page.setRecords(list); } return super.packForBT(page); } @RequestMapping("/exportWithdrawal") @ResponseBody public Object exportWithdrawal(HttpServletResponse response, String insertTime, @RequestParam String ids){ try { Date date = new Date(); DateFormat format = new SimpleDateFormat("yyyyMMdd"); String time = format.format(date); String fileName = "司机提现"+time+".xls"; String[] title = new String[] {"司机名称","提现时间","提现金额","提现扣除手续费"}; Wrapper wrapper = new EntityWrapper(); String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } List> mapList = tPubWithdrawalService.getReportWithdrawalListEx(beginTime,endTime,ids); String[][] values = new String[mapList.size()][]; for (int i = 0; i < mapList.size(); i++) { Map d=mapList.get(i); values[i] = new String[title.length]; values[i][0]=d.get("userName").toString(); values[i][1]=d.get("insertTime").toString(); values[i][2]=d.get("money").toString(); values[i][3]=(Double.parseDouble(d.get("money").toString())-Double.parseDouble(d.get("realGetMoney").toString()))+""; } String fileNameTitle="司机提现"; HSSFWorkbook wb = ExcelUtil.getHSSFWorkbookTime(fileNameTitle+time, title, values, null,insertTime); this.setResponseHeader(response, fileName); OutputStream os = response.getOutputStream(); wb.write(os); os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); /*return ApiUtil.putFailObj("导出失败");*/ } return SUCCESS_TIP; } /** * 余额修改记录列表 * @return */ @RequestMapping("/balanceModifylist") @ResponseBody public Object balanceModifylist(String userId, String startTime, String endTime) { Page> page = new PageFactory>().defaultPage(); Wrapper wrapper = new EntityWrapper(); wrapper.eq("1",1); if (ToolUtil.isNotEmpty(userId)){ wrapper.last(" and find_in_set(userId,\""+ userId+"\")"); } if (ToolUtil.isNotEmpty(startTime) && ToolUtil.isNotEmpty(endTime)){ wrapper.between("createTime",startTime + " 00:00:00",endTime + " 23:59:59"); } List> list = balanceModifyRecordService.selectMapsPage(page,wrapper).getRecords(); Map map = new HashMap<>(); map.put("id","合计"); map.put("money",balanceModifyRecordService.getSumMoney(userId,ToolUtil.isEmpty(startTime)?null:startTime + " 00:00:00",ToolUtil.isEmpty(startTime)?null:endTime + " 23:59:59")); list.add(map); page.setRecords(list); return super.packForBT(page); } /** * 导出用户余额修改记录 * @param response * @param userId * @param startTime * @param endTime * @return */ @RequestMapping("/exportRecordBalanceModify") @ResponseBody public Object exportRecordBalanceModify(HttpServletResponse response, @RequestParam String userId, @RequestParam String startTime, @RequestParam String endTime){ try { Date date = new Date(); DateFormat format = new SimpleDateFormat("yyyyMMdd"); String time = format.format(date); String fileName = "余额修改记录"+time+".xls"; String[] title = new String[] {"修改时间","流水ID","用户ID","用户名称","用户手机号","金额","类型"}; Wrapper wrapper = new EntityWrapper(); wrapper.eq("1",1); if (ToolUtil.isNotEmpty(userId)){ wrapper.last(" and find_in_set(userId,\""+ userId+"\")"); } String searchTime=""; if (ToolUtil.isNotEmpty(startTime) && ToolUtil.isNotEmpty(endTime)){ searchTime=startTime+" - "+endTime; wrapper.between("createTime",startTime + " 00:00:00",endTime + " 23:59:59"); } List> mapList = balanceModifyRecordService.selectMaps(wrapper); for (Map map : mapList) { if (map.get("type").toString().equals("1")){ map.put("typeStr","增加"); }else if (map.get("type").toString().equals("2")){ map.put("typeStr","减少"); } } String[][] values = new String[mapList.size()][]; for (int i = 0; i < mapList.size(); i++) { Map d=mapList.get(i); values[i] = new String[title.length]; values[i][0]=d.get("createTime").toString(); values[i][1]=d.get("recordID").toString(); values[i][2]=d.get("userId").toString(); if (ToolUtil.isNotEmpty(d.get("userName"))){ values[i][3]=d.get("userName").toString(); }else { values[i][3]=""; } if (ToolUtil.isNotEmpty(d.get("phone"))){ values[i][4]=d.get("phone").toString(); }else { values[i][4]=""; } values[i][5]=d.get("money").toString(); values[i][6]=d.get("typeStr").toString(); } String fileNameTitle="余额修改记录"; HSSFWorkbook wb = ExcelUtil.getHSSFWorkbookTime(fileNameTitle+time, title, values, null,searchTime); this.setResponseHeader(response, fileName); OutputStream os = response.getOutputStream(); wb.write(os); os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); /*return ApiUtil.putFailObj("导出失败");*/ } return SUCCESS_TIP; } /** * 跳转到日常运营数据汇总页 * @return */ @RequestMapping("/showOperationalData") public String showOperationalData(Model model){ List tCompanies = companyService.selectList(new EntityWrapper().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 tCompanies = companyService.selectList(new EntityWrapper().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 tCompanies = companyService.selectList(new EntityWrapper().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(); } } /** * 设置文件响应头 * @param response * @param fileName */ private void setResponseHeader(HttpServletResponse response, String fileName) { try { response.setContentType("application/octet-stream;charset=UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=" + new String(fileName.getBytes(),"iso-8859-1")); response.addHeader("Pargam", "no-cache"); response.addHeader("Cache-Control", "no-cache"); } catch (Exception ex) { ex.printStackTrace(); } } }