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.core.util.ToolUtil; import com.stylefeng.guns.modular.system.model.TBalanceModifyRecord; 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.math.BigDecimal; import java.math.RoundingMode; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * 收入明细 */ @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 insertTimeOne,String insertTime, String phone,Integer type,String name,Integer state, Integer income, Integer payType) { if(insertTime==null){ insertTime=insertTimeOne; } 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 = orderTaxiService.getIncomeOrderList(page, beginTime, endTime, phone, name, state, type, ShiroKit.getUser().getObjectId(), income, payType); list = list.stream().filter(e -> ToolUtil.isNotEmpty(e.get("payState"))).collect(Collectors.toList()); Page> page1 = new Page<>(0, 1000000); List> list1 = orderTaxiService.getIncomeOrderList(page1, beginTime, endTime, phone, name, state, type, ShiroKit.getUser().getObjectId(), income, payType); list1 = list1.stream().filter(e -> ToolUtil.isNotEmpty(e.get("payState"))).collect(Collectors.toList()); BigDecimal orderMoney = new BigDecimal("0"); BigDecimal money = new BigDecimal("0"); BigDecimal payMoney = new BigDecimal("0"); BigDecimal couponMoney = new BigDecimal("0"); BigDecimal discountAmount = new BigDecimal("0"); BigDecimal redPacketMoney = new BigDecimal("0"); BigDecimal additionalFee = new BigDecimal("0"); BigDecimal other = new BigDecimal("0"); for (Map map : list) { Object money1 = map.get("money"); BigDecimal bigDecimal = new BigDecimal(money1.toString()); BigDecimal bigDecimal1 = bigDecimal.setScale(2, RoundingMode.HALF_UP); map.put("money",bigDecimal1.toString()); } for (Map map : list1) { switch (Integer.valueOf(map.get("incomeType").toString())){ case 1: map.put("orderMoney", 0); map.put("couponMoney", 0); map.put("discountAmount", 0); map.put("redPacketMoney", 0); map.put("additionalFee", 0); map.put("payMoney", 0); map.put("money", 0); break; case 2: break; case 3: map.put("orderMoney", 0); map.put("couponMoney", 0); map.put("discountAmount", 0); map.put("redPacketMoney", 0); map.put("additionalFee", 0); map.put("payMoney", 0); map.put("money", 0); break; case 4: map.put("orderMoney", 0); map.put("couponMoney", 0); map.put("discountAmount", 0); map.put("redPacketMoney", 0); map.put("additionalFee", 0); map.put("payMoney", 0); map.put("money", 0); break; case 5: map.put("orderMoney", 0); map.put("couponMoney", 0); map.put("discountAmount", 0); map.put("redPacketMoney", 0); map.put("additionalFee", 0); map.put("payMoney", 0); map.put("money", 0); break; case 6: break; case 7: map.put("orderMoney", 0); map.put("couponMoney", 0); map.put("discountAmount", 0); map.put("redPacketMoney", 0); map.put("additionalFee", 0); map.put("payMoney", 0); map.put("money", 0); break; case 8: map.put("orderMoney", 0); map.put("couponMoney", 0); map.put("discountAmount", 0); map.put("redPacketMoney", 0); map.put("additionalFee", 0); map.put("payMoney", 0); map.put("money", 0); break; case 9: break; default: break; } orderMoney = orderMoney.add(new BigDecimal(null == map.get("orderMoney") ? "0" : map.get("orderMoney").toString())); money = money.add(new BigDecimal(null == map.get("money") ? "0" : map.get("money").toString())); payMoney = payMoney.add(new BigDecimal(null == map.get("payMoney") ? "0" : map.get("payMoney").toString())); couponMoney = couponMoney.add(new BigDecimal(null == map.get("couponMoney") ? "0" : map.get("couponMoney").toString())); discountAmount = discountAmount.add(new BigDecimal(null == map.get("discountAmount") ? "0" : map.get("discountAmount").toString())); redPacketMoney = redPacketMoney.add(new BigDecimal(null == map.get("redPacketMoney") ? "0" : map.get("redPacketMoney").toString())); additionalFee = additionalFee.add(new BigDecimal(null == map.get("additionalFee") ? "0" : map.get("additionalFee").toString())); other = other.add(new BigDecimal(null == map.get("other") ? "0" : map.get("other").toString())); } Map map = new HashMap<>(); map.put("orderMoney", orderMoney.doubleValue()); map.put("money", money.doubleValue()); map.put("payMoney", payMoney.doubleValue()); map.put("couponMoney", couponMoney.doubleValue()); map.put("discountAmount", discountAmount.doubleValue()); map.put("redPacketMoney", redPacketMoney.doubleValue()); map.put("additionalFee", additionalFee.doubleValue()); map.put("other", other.doubleValue()); // Map map = orderTaxiService.getIncomeOrderSumMoney(beginTime,endTime,phone,name,state,type,ShiroKit.getUser().getObjectId(), income, payType); if(!list.isEmpty() && map!=null){ map.put("insertTime","合计"); list.add(map); }else { 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, Integer 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.getIncomeOrderListEx(beginTime, endTime, phone, name, state, type, ShiroKit.getUser().getObjectId(), income, payType); mapList = mapList.stream().filter(e-> ToolUtil.isNotEmpty(e.get("payState"))).collect(Collectors.toList()); 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("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("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][3]=d.get("orderNum") == null ? "" : d.get("orderNum").toString(); values[i][4]=null != d.get("userName") ? d.get("userName").toString() : ""; values[i][5]=null != d.get("userPhone") ? d.get("userPhone").toString() : ""; values[i][6]=null != d.get("passengers") ? d.get("passengers").toString() : ""; values[i][7]=null != d.get("passengersPhone") ? d.get("passengersPhone").toString() : ""; values[i][8]=null != d.get("startAddress") ? d.get("startAddress").toString() : ""; values[i][9]=null != d.get("endAddress") ? d.get("endAddress").toString() : ""; values[i][10]=null != d.get("driverName") ? d.get("driverName").toString() : ""; values[i][11]=null != d.get("driverPhone") ? d.get("driverPhone").toString() : ""; values[i][12]=null != d.get("carLicensePlate") ? d.get("carLicensePlate").toString() : ""; values[i][13]=null != d.get("payTypeName") ? d.get("payTypeName").toString() : ""; values[i][14]=d.get("incomeType")==null?(null != d.get("orderMoney") ? d.get("orderMoney").toString() : ""): d.get("incomeType").toString().equals("1")? "": d.get("incomeType").toString().equals("2")?(null != d.get("orderMoney") ? d.get("orderMoney").toString() : ""): d.get("incomeType").toString().equals("3")?"": d.get("incomeType").toString().equals("4")?"": d.get("incomeType").toString().equals("6")?(null != d.get("orderMoney") ? d.get("orderMoney").toString() : ""): d.get("incomeType").toString().equals("7")?"": d.get("incomeType").toString().equals("8")?"": d.get("incomeType").toString().equals("9")?(null != d.get("orderMoney") ? d.get("orderMoney").toString() : ""):""; values[i][15]=d.get("incomeType")==null?(d.get("couponMoney")==null?"":d.get("couponMoney").toString()): d.get("incomeType").toString().equals("1")? "": d.get("incomeType").toString().equals("2")?(d.get("couponMoney")==null?"":d.get("couponMoney").toString()): d.get("incomeType").toString().equals("3")?"": d.get("incomeType").toString().equals("4")?"": d.get("incomeType").toString().equals("6")?(d.get("couponMoney")==null?"":d.get("couponMoney").toString()): d.get("incomeType").toString().equals("7")?"": d.get("incomeType").toString().equals("8")?"": d.get("incomeType").toString().equals("9")?(d.get("couponMoney")==null?"":d.get("couponMoney").toString()):""; values[i][16]=d.get("incomeType")==null?(null != d.get("discountAmount") ? d.get("discountAmount").toString() : ""): d.get("incomeType").toString().equals("1")? "": d.get("incomeType").toString().equals("2")?(null != d.get("discountAmount") ? d.get("discountAmount").toString() : ""): d.get("incomeType").toString().equals("3")?"": d.get("incomeType").toString().equals("4")?"": d.get("incomeType").toString().equals("6")?(null != d.get("discountAmount") ? d.get("discountAmount").toString() : ""): d.get("incomeType").toString().equals("7")?"": d.get("incomeType").toString().equals("8")?"": d.get("incomeType").toString().equals("9")?(null != d.get("discountAmount") ? d.get("discountAmount").toString() : ""):""; values[i][17]=d.get("incomeType")==null?(null != d.get("redPacketMoney") ? d.get("redPacketMoney").toString() : ""): d.get("incomeType").toString().equals("1")? "": d.get("incomeType").toString().equals("2")?(null != d.get("redPacketMoney") ? d.get("redPacketMoney").toString() : ""): d.get("incomeType").toString().equals("3")?"": d.get("incomeType").toString().equals("4")?"": d.get("incomeType").toString().equals("6")?(null != d.get("redPacketMoney") ? d.get("redPacketMoney").toString() : ""): d.get("incomeType").toString().equals("7")?"": d.get("incomeType").toString().equals("8")?"": d.get("incomeType").toString().equals("9")?(null != d.get("redPacketMoney") ? d.get("redPacketMoney").toString() : ""):""; values[i][18]=d.get("incomeType")==null?(null != d.get("additionalFee") ? d.get("additionalFee").toString() : ""): d.get("incomeType").toString().equals("1")? "": d.get("incomeType").toString().equals("2")?(null != d.get("additionalFee") ? d.get("additionalFee").toString() : ""): d.get("incomeType").toString().equals("3")?"": d.get("incomeType").toString().equals("4")?"": d.get("incomeType").toString().equals("6")?(null != d.get("additionalFee") ? d.get("additionalFee").toString() : ""): d.get("incomeType").toString().equals("7")?"": d.get("incomeType").toString().equals("8")?"": d.get("incomeType").toString().equals("9")?(null != d.get("additionalFee") ? d.get("additionalFee").toString() : ""):""; values[i][19]=d.get("incomeType")==null?(null != d.get("payMoney") ? d.get("payMoney").toString() : ""): d.get("incomeType").toString().equals("1")? "": d.get("incomeType").toString().equals("2")?(null != d.get("payMoney") ? d.get("payMoney").toString() : ""): d.get("incomeType").toString().equals("3")?"": d.get("incomeType").toString().equals("4")?"": d.get("incomeType").toString().equals("6")?(null != d.get("payMoney") ? d.get("payMoney").toString() : ""): d.get("incomeType").toString().equals("7")?"": d.get("incomeType").toString().equals("8")?"": d.get("incomeType").toString().equals("9")?(null != d.get("payMoney") ? d.get("payMoney").toString() : ""):""; values[i][20]=d.get("incomeType")==null?(new BigDecimal((null != d.get("orderMoney") ? Double.valueOf(d.get("orderMoney").toString()) : 0D) - (d.get("money")==null?0d:Double.valueOf(d.get("money").toString()))).setScale(2, BigDecimal.ROUND_HALF_EVEN).toPlainString()): d.get("incomeType").toString().equals("1")? "": d.get("incomeType").toString().equals("2")?(new BigDecimal((null != d.get("orderMoney") ? Double.valueOf(d.get("orderMoney").toString()) : 0D) - (d.get("money")==null?0d:Double.valueOf(d.get("money").toString()))).setScale(2, BigDecimal.ROUND_HALF_EVEN).toPlainString()): d.get("incomeType").toString().equals("3")?"": d.get("incomeType").toString().equals("4")?"": d.get("incomeType").toString().equals("6")?(new BigDecimal((null != d.get("orderMoney") ? Double.valueOf(d.get("orderMoney").toString()) : 0D) - (d.get("money")==null?0d:Double.valueOf(d.get("money").toString()))).setScale(2, BigDecimal.ROUND_HALF_EVEN).toPlainString()): d.get("incomeType").toString().equals("7")?"": d.get("incomeType").toString().equals("8")?"": d.get("incomeType").toString().equals("9")?(new BigDecimal((null != d.get("orderMoney") ? Double.valueOf(d.get("orderMoney").toString()) : 0D) - (d.get("money")==null?0d:Double.valueOf(d.get("money").toString()))).setScale(2, BigDecimal.ROUND_HALF_EVEN).toPlainString()):""; values[i][21]=d.get("incomeType")==null?(null != d.get("money") ? new BigDecimal(d.get("money").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString() : ""): d.get("incomeType").toString().equals("1")? "": d.get("incomeType").toString().equals("2")?(null != d.get("money") ? new BigDecimal(d.get("money").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString() : ""): d.get("incomeType").toString().equals("3")?"": d.get("incomeType").toString().equals("4")?"": d.get("incomeType").toString().equals("6")?(null != d.get("money") ? new BigDecimal(d.get("money").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString() : ""): d.get("incomeType").toString().equals("7")?"": d.get("incomeType").toString().equals("8")?"": d.get("incomeType").toString().equals("9")?(null != d.get("money") ? new BigDecimal(d.get("money").toString()).setScale(2, BigDecimal.ROUND_HALF_EVEN).toString() : ""):""; values[i][22]=null != d.get("other") ? d.get("other").toString() : ""; if("改派订单收入".equals(values[i][1])){ values[i][23]="已支付"; }else { values[i][23]=null != d.get("payState") ? d.get("payState").toString() : ""; } for (int i1 = 14; i1 < 23; i1++) { if(ToolUtil.isEmpty(values[i][i1])){ values[i][i1]="0"; } } } 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> page = new PageFactory>().defaultPage(); /*if (ShiroKit.getUser().getRoleType() != 1){ page.setRecords(null); }else{*/ List> list = orderLogisticsService.getTimeOutOrderList(page, beginTime, endTime, phone, name, id, ShiroKit.getUser().getObjectId(), orderType); Map 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> 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 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("nickName").toString(); values[i][5]=d.get("phone").toString(); values[i][6]=d.get("recipient").toString(); values[i][7]=d.get("recipientPhone").toString(); values[i][8]=d.get("startAddress").toString(); values[i][9]=d.get("endAddress").toString(); values[i][10]=d.get("name").toString(); values[i][11]=d.get("phone").toString(); values[i][12]=d.get("carLicensePlate").toString(); values[i][13]=null != d.get("timeOutMoney") ? d.get("timeOutMoney").toString() : ""; values[i][14]=d.get("returnMoney")==null?"0":d.get("returnMoney").toString(); values[i][15]=null != d.get("companyMoney") ? d.get("companyMoney").toString() : ""; values[i][16]=d.get("returnMoney")==null || Double.valueOf(d.get("returnMoney").toString()) == 0?"已扣款":"已退款"; } 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> page = new PageFactory>().defaultPage(); /*if (ShiroKit.getUser().getRoleType() != 1){ page.setRecords(null); }else{*/ List> list = taxiCardPaymentService.getList(page, beginTime, endTime, null, type, phone, name, id, cardName, ShiroKit.getUser().getObjectId()); if (list != null && list.size() > 0) { Map 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]; } Page> page = new Page<>(1, 10000000); List> mapList = taxiCardPaymentService.getList(page, 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 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("typeName").toString(); values[i][4] = d.get("nickName") != null ? d.get("nickName").toString():""; values[i][5]=d.get("phone")!=null?d.get("phone").toString():""; String payType = d.get("payType").toString(); if("1".equals(payType)){ payType="微信"; }else if("2".equals(payType)){ payType="支付宝"; }else if("3".equals(payType)){ payType="余额支付"; }else if("4".equals(payType)){ payType="云闪付"; }else { payType="其他"; } values[i][6]=payType; values[i][7]=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> page = new PageFactory>().defaultPage(); List> list = complaintDeductmoneyService.getList(page, beginTime, endTime, null, userPhone, userName, id, ShiroKit.getUser().getObjectId()); if (list != null && list.size() > 0) { Map 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(); 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, null, userPhone, userName, id, 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("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> page = new PageFactory>().defaultPage(); String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } List> list = orderTaxiService.queryOtherIncomeDetail(page, beginTime, endTime, orderNo, name, phone); page.setRecords(list); return super.packForBT(page); } @ResponseBody @GetMapping("/exportOtherIncomeDetail") public void exportOtherIncomeDetail(String insertTime, String orderNo, String name, String phone, HttpServletResponse response){ try { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)){ String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } HSSFWorkbook wb = orderTaxiService.exportOtherIncomeDetail(beginTime, endTime, orderNo, name, phone); this.setResponseHeader(response, "平台其他收入明细.xls"); OutputStream os = response.getOutputStream(); wb.write(os); os.flush(); os.close(); }catch (Exception e){ e.printStackTrace(); } } /** * 跳转收入明细汇总 * @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 orderType, Integer incomeType, String name, String phone, Integer offset, Integer limit){ try { return incomeService.summaryOfIncomeDetailsList(insertTime, orderType, incomeType, name, phone, offset, limit); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 导出企业收入明细汇总 * @param insertTime * @param response */ @ResponseBody @GetMapping("/exportSummaryOfIncomeDetails") public void exportSummaryOfIncomeDetails(String insertTime, Integer orderType, Integer incomeType, String name, String phone, HttpServletResponse response){ try { HSSFWorkbook wb = incomeService.exportSummaryOfIncomeDetails(insertTime, orderType, incomeType, name, phone); 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 orderType, Integer incomeType, String name, String phone, Integer offset, Integer limit){ try { return incomeService.summaryOfSpendingDetailsList(insertTime, orderType, incomeType, name, phone, offset, limit); }catch (Exception e){ e.printStackTrace(); return ResultUtil.runErr(); } } /** * 导出支出明细汇总 * @param insertTime * @param response */ @ResponseBody @GetMapping("/exportSummaryOfSpendingDetails") public void exportSummaryOfSpendingDetails(String insertTime, Integer orderType, Integer incomeType, String name, String phone, HttpServletResponse response){ try { HSSFWorkbook wb = incomeService.exportSummaryOfSpendingDetails(insertTime, orderType, incomeType, name, phone); this.setResponseHeader(response, "支出明细汇总.xls"); OutputStream os = response.getOutputStream(); wb.write(os); os.flush(); os.close(); }catch (Exception e){ e.printStackTrace(); } } }