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<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
/*if (ShiroKit.getUser().getRoleType() != 1){
|
page.setRecords(null);
|
}else{*/
|
ShiroUser user = ShiroKit.getUser();
|
List<Map<String,Object>> 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<Map<String,Object>> 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<String,Object> 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<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
if (ShiroKit.getUser().getRoleType() != 1){
|
page.setRecords(null);
|
}else{
|
|
List<Map<String,Object>> list = companyService.getCompanyIncomeList(page,beginTime,endTime,ids);
|
Map<String,Object> 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<Map<String,Object>> mapList = companyService.getCompanyIncomeListEx(beginTime,endTime,ids);
|
|
String[][] values = new String[mapList.size()][];
|
for (int i = 0; i < mapList.size(); i++) {
|
Map<String,Object> 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<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
|
List<Map<String,Object>> list = taxiCardPaymentService.getList(page,beginTime,endTime,ids,type,null,null,null,null,ShiroKit.getUser().getObjectId());
|
Map<String,Object> 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<Map<String,Object>> 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<String,Object> 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<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
if (ShiroKit.getUser().getRoleType() != 1){
|
page.setRecords(null);
|
}else{
|
|
List<Map<String,Object>> list = complaintDeductmoneyService.getList(page,beginTime,endTime,ids,null,null,null,ShiroKit.getUser().getObjectId());
|
Map<String,Object> 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<TBalanceModifyRecord>();
|
|
String beginTime = null;
|
String endTime = null;
|
if (SinataUtil.isNotEmpty(insertTime)){
|
String[] timeArray = insertTime.split(" - ");
|
beginTime = timeArray[0];
|
endTime = timeArray[1];
|
}
|
List<Map<String,Object>> 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<String,Object> 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<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
if (ShiroKit.getUser().getRoleType() != 1){
|
page.setRecords(null);
|
}else{
|
|
List<Map<String,Object>> list = tPubWithdrawalService.getReportWithdrawalList(page,beginTime,endTime,ids);
|
Map<String,Object> 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<TBalanceModifyRecord>();
|
|
String beginTime = null;
|
String endTime = null;
|
if (SinataUtil.isNotEmpty(insertTime)){
|
String[] timeArray = insertTime.split(" - ");
|
beginTime = timeArray[0];
|
endTime = timeArray[1];
|
}
|
List<Map<String,Object>> mapList = tPubWithdrawalService.getReportWithdrawalListEx(beginTime,endTime,ids);
|
|
String[][] values = new String[mapList.size()][];
|
for (int i = 0; i < mapList.size(); i++) {
|
Map<String,Object> 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<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
Wrapper wrapper = new EntityWrapper<TBalanceModifyRecord>();
|
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<Map<String,Object>> list = balanceModifyRecordService.selectMapsPage(page,wrapper).getRecords();
|
Map<String,Object> 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<TBalanceModifyRecord>();
|
|
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<Map<String,Object>> mapList = balanceModifyRecordService.selectMaps(wrapper);
|
for (Map<String, Object> 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<String,Object> 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<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();
|
}
|
}
|
|
|
/**
|
* 设置文件响应头
|
* @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();
|
}
|
}
|
}
|