package com.stylefeng.guns.modular.system.controller.specialTrain; 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.DateUtil; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.modular.system.service.ITOrderPrivateCarService; import com.stylefeng.guns.modular.system.util.ExcelExportUtil; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.math.BigDecimal; import java.util.*; /** * 快车订单控制器 * * @author fengshuonan * @Date 2020-09-02 17:28:59 */ @Controller @RequestMapping("/promotionInfo") public class TPromotionOrderCarController extends BaseController { private String PREFIX = "/system/tPromotionOrderCar/"; @Autowired private ITOrderPrivateCarService tOrderPrivateCarService; /** * 跳转到快车订单首页 */ @RequestMapping("") public String index(Model model) { List> list=new ArrayList<>(); list = tOrderPrivateCarService.promotionInfoExport(null, null, null, null, null, null, null, ShiroKit.getUser().getRoleType(), ShiroKit.getUser().getObjectId(),null,null); BigDecimal reduce = list.stream().map(e -> new BigDecimal(e.get("promotionMoney").toString())).reduce(BigDecimal.ZERO, BigDecimal::add); model.addAttribute("money",reduce); model.addAttribute("size",list.size()); return PREFIX + "tPromotionOrder.html"; } /** * 获取快车订单列表 */ @RequestMapping(value = "/list") @ResponseBody public Object list(String insertTime, String orderNum, String userName, String name, String driverName,Integer driverId,Integer activityId){ 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(); page.setRecords(tOrderPrivateCarService.promotionInfo(page, beginTime, endTime, orderNum, userName, name, driverName, ShiroKit.getUser().getRoleType(), ShiroKit.getUser().getObjectId(),driverId,activityId)); return super.packForBT(page); } @GetMapping("/export") @ResponseBody public void export(String insertTime, String orderNum, String userName, String name, String driverName,Integer driverId, HttpServletRequest request, HttpServletResponse response) { try { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)) { String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } List> list=new ArrayList<>(); list = tOrderPrivateCarService.promotionInfoExport(null, beginTime, endTime, orderNum, userName, name, driverName, ShiroKit.getUser().getRoleType(), ShiroKit.getUser().getObjectId(),driverId,null); // 表格数据【封装】 List> dataList = new ArrayList<>(); //第一行显示【封装】 List twoList = new ArrayList(); twoList.add("总计:"); twoList.add(String.valueOf(list.size())+"条"); dataList.add(twoList); // 列【封装】 List shellList = new ArrayList(); shellList.add("活动名称"); shellList.add("司机名称"); shellList.add("下级用户"); shellList.add("订单编号"); shellList.add("订单金额"); shellList.add("司机推广收益"); shellList.add("收益时间"); dataList.add(shellList); for (Map object : list){ // 详细数据列【封装】 shellList = new ArrayList(); if(SinataUtil.isNotEmpty(object.get("name"))){ shellList.add(object.get("name").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("driverName"))){ shellList.add(object.get("driverName").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("userName"))){ shellList.add(object.get("userName").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("orderNum"))){ shellList.add(object.get("orderNum").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("money"))){ shellList.add(object.get("money").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("promotionMoney"))){ shellList.add(object.get("promotionMoney").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("successTime"))){ shellList.add(DateUtil.formatDate(DateUtil.parse(object.get("successTime").toString(),"YYYY-MM-dd HH:mm:ss.S"), "YYYY-MM-dd HH:mm:ss")); }else{ shellList.add("-"); } dataList.add(shellList); } try { // 调用工具类进行导出 ExcelExportUtil.easySheet("推广收益明细导出记录"+DateUtil.formatDate(new Date(), "YYYYMMddHHmmss"), "推广收益明细导出记录", dataList,request, response); } catch (Exception e) { e.printStackTrace(); } } catch (Exception e) { e.printStackTrace(); } } @PostMapping("/list1") @ResponseBody public Object list1(String insertTime, String orderNum, String userName, String name, String driverName,Integer driverId,Integer activityId) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(insertTime)) { String[] timeArray = insertTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } List> list=new ArrayList<>(); list = tOrderPrivateCarService.promotionInfoExport(null, beginTime, endTime, orderNum, userName, name, driverName, ShiroKit.getUser().getRoleType(), ShiroKit.getUser().getObjectId(),driverId,activityId); HashMap map = new HashMap<>(); BigDecimal reduce = list.stream().map(e -> new BigDecimal(e.get("promotionMoney").toString())).reduce(BigDecimal.ZERO, BigDecimal::add); map.put("money", reduce); map.put("size", list.size()); return map; } }