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.util.ExcelUtil;
|
import com.stylefeng.guns.core.util.SinataUtil;
|
import com.stylefeng.guns.modular.system.model.TBalanceModifyRecord;
|
import com.stylefeng.guns.modular.system.model.TDriver;
|
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.web.bind.annotation.*;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.OutputStream;
|
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("/incomeDetail")
|
public class IncomeDetailController extends BaseController {
|
|
private String PREFIX = "/system/incomeDetail/";
|
|
@Autowired
|
private IComplaintDeductmoneyService complaintDeductmoneyService;
|
|
|
@Autowired
|
private ITTaxiCardPaymentService taxiCardPaymentService;
|
|
@Autowired
|
private ITOrderLogisticsService orderLogisticsService;
|
|
@Autowired
|
private ITOrderTaxiService orderTaxiService;
|
|
@Autowired
|
private IIncomeService incomeService;
|
|
/**
|
* 跳转到订单收益
|
* @return
|
*/
|
@RequestMapping("order")
|
public String order() {
|
return PREFIX + "order.html";
|
}
|
|
@RequestMapping(value = "/orderList")
|
@ResponseBody
|
public Object orderList(String insertTime,
|
String phone,Integer type,String name,Integer state, Integer income) {
|
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 = orderTaxiService.getIncomeOrderList(page,beginTime,endTime,phone,name,state,type,ShiroKit.getUser().getObjectId(), income);
|
Map<String,Object> map = orderTaxiService.getIncomeOrderSumMoney(beginTime,endTime,phone,name,state,type,ShiroKit.getUser().getObjectId(), income);
|
if(!list.isEmpty() && map!=null){
|
map.put("insertTime","合计");
|
list.add(map);
|
}
|
page.setRecords(list);
|
/*}*/
|
return super.packForBT(page);
|
}
|
|
|
@RequestMapping("/exportOrder")
|
@ResponseBody
|
public Object exportOrder(HttpServletResponse response, String insertTime,
|
String phone,Integer type,String name,Integer state, Integer income){
|
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.getIncomeOrderListEx(beginTime,endTime,phone,name,state,type,ShiroKit.getUser().getObjectId(), income);
|
|
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("insertTime").toString();
|
values[i][1]=d.get("incomeType")==null?"":
|
d.get("incomeType").toString().equals("1")?"活动收入":
|
d.get("incomeType").toString().equals("2")?"跑单收入":
|
d.get("incomeType").toString().equals("3")?"取消订单收入":
|
d.get("incomeType").toString().equals("4")?"改派订单收入":
|
d.get("incomeType").toString().equals("6")?"感谢费":
|
d.get("incomeType").toString().equals("7")?"超时扣款":
|
d.get("incomeType").toString().equals("8")?"投诉扣款":
|
d.get("incomeType").toString().equals("9")?"小件物流超时退款":"";
|
values[i][2]=null != d.get("driverName") ? d.get("driverName").toString() : "";
|
values[i][3]=null != d.get("driverPhone") ? d.get("driverPhone").toString() : "";
|
values[i][5]=d.get("orderNum") == null ? "" : d.get("orderNum").toString();
|
values[i][4]=null != d.get("type") ? d.get("type").toString().equals("1")?"快车":
|
d.get("type").toString().equals("2")?"出租车":
|
d.get("type").toString().equals("3")?"城际":
|
d.get("type").toString().equals("4")?"同城物流":"跨城物流" : "";
|
values[i][6]=null != d.get("payTypeName") ? d.get("payTypeName").toString() : "";
|
values[i][14]=null != d.get("payState") ? d.get("payState").toString() : "";
|
values[i][7]=null != d.get("orderMoney") ? d.get("orderMoney").toString() : "";
|
values[i][8]=d.get("money")==null?"":d.get("money").toString();
|
values[i][9]=d.get("payMoney")==null?"":d.get("payMoney").toString();
|
values[i][10]=d.get("couponMoney")==null?"":d.get("couponMoney").toString();
|
values[i][11]=d.get("discountAmount")==null?"":d.get("discountAmount").toString();
|
values[i][12]=d.get("redPacketMoney")==null?"":d.get("redPacketMoney").toString();
|
values[i][13]=d.get("additionalFee")==null?"":d.get("additionalFee").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("/timeOut")
|
public String timeOut() {
|
return PREFIX + "timeOut.html";
|
}
|
|
|
@RequestMapping(value = "/timeOutList")
|
@ResponseBody
|
public Object timeOutList(String insertTime,
|
String phone,
|
String name,
|
String id, Integer orderType) {
|
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 = orderLogisticsService.getTimeOutOrderList(page,beginTime,endTime,phone,name,id,ShiroKit.getUser().getObjectId(), orderType);
|
Map<String,Object> map = orderLogisticsService.getTimeOutOrderSumMoney(beginTime,endTime,phone,name,id,ShiroKit.getUser().getObjectId(), orderType);
|
if(!list.isEmpty() && map!=null){
|
map.put("id","合计");
|
list.add(map);
|
}
|
page.setRecords(list);
|
/*}*/
|
return super.packForBT(page);
|
}
|
|
|
@RequestMapping("/exportTimeOut")
|
@ResponseBody
|
public Object exportTimeOut(HttpServletResponse response, String insertTime,
|
String phone,
|
String name,
|
String id, Integer orderType){
|
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 = orderLogisticsService.getTimeOutOrderListEx(beginTime,endTime,phone,name,id,ShiroKit.getUser().getObjectId(), orderType);
|
|
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("endServiceTime").toString();
|
values[i][1]=d.get("createTime")==null?"":d.get("createTime").toString();
|
values[i][2]=d.get("id").toString();
|
values[i][3]=d.get("type").toString().equals("4")?"同城物流":"跨城物流";
|
values[i][4]=d.get("name").toString();
|
values[i][5]=d.get("phone").toString();
|
values[i][6]=d.get("companyMoney").toString();
|
values[i][7]=d.get("timeOutMoney").toString();
|
values[i][8]=d.get("returnMoney")==null?"0":d.get("returnMoney").toString();
|
values[i][9]=d.get("returnMoney")==null?"已扣款":"已退款";
|
}
|
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";
|
}
|
|
|
|
|
/**
|
* 打车卡
|
* @return
|
*/
|
@RequestMapping("/taxiCardPayment")
|
public String taxiCardPayment() {
|
return PREFIX + "taxiCardPayment.html";
|
}
|
|
@RequestMapping(value = "/taxiCardPaymentList")
|
@ResponseBody
|
public Object taxiCardPaymentList(String insertTime,
|
String type,
|
String phone,
|
String name,
|
String id,
|
String cardName) {
|
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 = taxiCardPaymentService.getList(page,beginTime,endTime,null,type,phone,name,id,cardName,ShiroKit.getUser().getObjectId());
|
if(list!=null && list.size()>0){
|
Map<String,Object> map = new HashMap<>();
|
map.put("id","合计");
|
map.put("payMoney",taxiCardPaymentService.getSumMoney(beginTime,endTime,null,type,phone,name,id,cardName,ShiroKit.getUser().getObjectId()));
|
list.add(map);
|
}
|
|
page.setRecords(list);
|
/* }*/
|
return super.packForBT(page);
|
}
|
|
|
@RequestMapping("/exportTaxiCardPayment")
|
@ResponseBody
|
public Object exportTaxiCardPaymentList(HttpServletResponse response, String insertTime,String type,
|
String phone,
|
String name,
|
String id,
|
String cardName){
|
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,null,type,phone,name,id,cardName,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("id").toString();
|
values[i][2]=d.get("cardName").toString();
|
values[i][3]=d.get("nickName").toString();
|
values[i][4]=d.get("phone").toString();
|
values[i][5]=d.get("typeName").toString();
|
values[i][6]=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;
|
}
|
|
@RequestMapping(value = "/complaintDeductmoneyList")
|
@ResponseBody
|
public Object complaintDeductmoneyList(String insertTime,
|
String userName,
|
String userPhone,
|
String id) {
|
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 = complaintDeductmoneyService.getList(page,beginTime,endTime,null,userPhone,userName,id,ShiroKit.getUser().getObjectId());
|
if(list!=null && list.size()>0){
|
Map<String,Object> map = new HashMap<>();
|
map.put("id","合计");
|
map.put("money",complaintDeductmoneyService.getSumMoney(beginTime,endTime,null,userPhone,userName,id,ShiroKit.getUser().getObjectId()));
|
list.add(map);
|
}
|
page.setRecords(list);
|
return super.packForBT(page);
|
}
|
|
@RequestMapping("/exportComplaintDeductmoney")
|
@ResponseBody
|
public Object exportComplaintDeductmoney(HttpServletResponse response, String insertTime,
|
String userName,
|
String userPhone,
|
String id){
|
try {
|
Date date = new Date();
|
DateFormat format = new SimpleDateFormat("yyyyMMdd");
|
String time = format.format(date);
|
String fileName = "投诉扣款"+time+".xls";
|
String[] title = new String[] {"扣款时间","流水ID","司机名称","司机电话","扣款金额"};
|
|
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,null,userPhone,userName,id,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("id").toString();
|
values[i][2]=d.get("name").toString();
|
values[i][3]=d.get("phone").toString();
|
values[i][4]=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;
|
}
|
@RequestMapping(value = "/delete")
|
@ResponseBody
|
public Object delete(@RequestParam Integer id) {
|
complaintDeductmoneyService.deleteById(id);
|
return SUCCESS_TIP;
|
}
|
|
|
|
/**
|
* 设置文件响应头
|
* @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();
|
}
|
}
|
|
|
/**
|
* 平台其他收入明细
|
* @return
|
*/
|
@GetMapping("/showOtherIncomeDetail")
|
public String showOtherIncomeDetail(){
|
return PREFIX + "otherOtherIncomeDetail.html";
|
}
|
|
|
/**
|
* 平台其他收入明细
|
* @param insertTime
|
* @param orderNo
|
* @param name
|
* @param phone
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/queryOtherIncomeDetail")
|
public Object queryOtherIncomeDetail(String insertTime, String orderNo, String name, String phone){
|
Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
|
String beginTime = null;
|
String endTime = null;
|
if (SinataUtil.isNotEmpty(insertTime)){
|
String[] timeArray = insertTime.split(" - ");
|
beginTime = timeArray[0];
|
endTime = timeArray[1];
|
}
|
List<Map<String, Object>> list = orderTaxiService.queryOtherIncomeDetail(page, beginTime, endTime, orderNo, name, phone);
|
page.setRecords(list);
|
return super.packForBT(page);
|
}
|
|
|
|
/**
|
* 跳转收入明细汇总
|
* @return
|
*/
|
@GetMapping("/showSummaryOfIncomeDetails")
|
public String showSummaryOfIncomeDetails(){
|
return PREFIX + "summaryOfIncomeDetails.html";
|
}
|
|
|
/**
|
* 跳转支出明细汇总
|
* @return
|
*/
|
@GetMapping("/showSummaryOfSpendingDetails")
|
public String showSummaryOfSpendingDetails(){
|
return PREFIX + "summaryOfSpendingDetails.html";
|
}
|
|
/**
|
* 平台收益汇总
|
* @return
|
*/
|
@GetMapping("/showPlatformRevenueSummary")
|
public String showPlatformRevenueSummary(){
|
return PREFIX + "platformRevenueSummary.html";
|
}
|
|
|
/**
|
* 获取企业收入明细汇总列表
|
* @param insertTime
|
* @param offset
|
* @param limit
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/summaryOfIncomeDetailsList")
|
public Object summaryOfIncomeDetailsList(String insertTime, Integer offset, Integer limit){
|
try {
|
return incomeService.summaryOfIncomeDetailsList(insertTime, offset, limit);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
/**
|
* 导出企业收入明细汇总
|
* @param insertTime
|
* @param response
|
*/
|
@ResponseBody
|
@GetMapping("/exportSummaryOfIncomeDetails")
|
public void exportSummaryOfIncomeDetails(String insertTime, HttpServletResponse response){
|
try {
|
HSSFWorkbook wb = incomeService.exportSummaryOfIncomeDetails(insertTime);
|
this.setResponseHeader(response, "收入明细汇总.xls");
|
OutputStream os = response.getOutputStream();
|
wb.write(os);
|
os.flush();
|
os.close();
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
|
/**
|
* 获取平台支付明细汇总
|
* @param insertTime
|
* @param offset
|
* @param limit
|
* @return
|
*/
|
@ResponseBody
|
@PostMapping("/summaryOfSpendingDetailsList")
|
public Object summaryOfSpendingDetailsList(String insertTime, Integer offset, Integer limit){
|
try {
|
return incomeService.summaryOfSpendingDetailsList(insertTime, offset, limit);
|
}catch (Exception e){
|
e.printStackTrace();
|
return ResultUtil.runErr();
|
}
|
}
|
|
|
/**
|
* 导出支出明细汇总
|
* @param insertTime
|
* @param response
|
*/
|
@ResponseBody
|
@GetMapping("/exportSummaryOfSpendingDetails")
|
public void exportSummaryOfSpendingDetails(String insertTime, HttpServletResponse response){
|
try {
|
HSSFWorkbook wb = incomeService.exportSummaryOfSpendingDetails(insertTime);
|
this.setResponseHeader(response, "支出明细汇总.xls");
|
OutputStream os = response.getOutputStream();
|
wb.write(os);
|
os.flush();
|
os.close();
|
}catch (Exception e){
|
e.printStackTrace();
|
}
|
}
|
}
|