package com.stylefeng.guns.modular.system.controller.general; 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.util.DateUtil; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.modular.system.model.*; import com.stylefeng.guns.modular.system.service.*; import com.stylefeng.guns.modular.system.util.ExcelExportUtil; import com.stylefeng.guns.modular.system.util.ResultUtil; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.*; /** * 出行卡管理控制器 * * @author sky * @since 2026-06-17 15:47:58 */ @Slf4j @AllArgsConstructor @Controller @RequestMapping("/travelCard") public class TTravelCardController extends BaseController { private final String PREFIX = "/system/tTravelCard/"; private final ITravelCardService travelCardService; private final ITravelCardPackageService travelCardPackageService; /** * 跳转到用户管理首页 */ @RequestMapping("") public String index() { return PREFIX + "tTravelCard.html"; } /** * 跳转到添加页面 */ @RequestMapping("/tTravelCardAdd") public String showAddCarInsurance(){ return PREFIX + "tTravelCardAdd.html"; } /** * 获取出行卡包,管理列表 */ @RequestMapping(value = "/list") @ResponseBody public Object list(String name) { Page> page = new PageFactory>().defaultPage(); page.setRecords(travelCardPackageService.getTravelCardPackageList(page, name)); return super.packForBT(page); } /** * 添加出行卡包 */ @ResponseBody @RequestMapping(value = "/saveTravelCard", method = RequestMethod.POST) public ResultUtil saveTravelCard(TravelCardPackage travelCardPackage){ Integer id = travelCardPackageService.saveTravelCard(travelCardPackage); return ResultUtil.success(id); } /** * 导出出行卡信息 */ @RequestMapping(value = "/outTravelCard") public void outTravelCard(HttpServletRequest request, HttpServletResponse response, Integer packageId) { List> listMap = travelCardService.getTravelCardByPackageId(packageId); // 表格数据【封装】 List> dataList = new ArrayList<>(); //第一行显示【封装】 List twoList = new ArrayList(); twoList.add("总计:"); twoList.add(listMap.size() +"条"); dataList.add(twoList); // 列【封装】 List shellList = new ArrayList(); shellList.add("卡号"); shellList.add("卡密码"); shellList.add("卡金额"); dataList.add(shellList); for (Map object : listMap){ // 详细数据列【封装】 shellList = new ArrayList(); if(SinataUtil.isNotEmpty(object.get("cardNo"))){ shellList.add(object.get("cardNo").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("cardPassword"))){ shellList.add(object.get("cardPassword").toString()); }else{ shellList.add("-"); } if(SinataUtil.isNotEmpty(object.get("amount"))){ shellList.add(object.get("amount").toString()); }else{ shellList.add("-"); } dataList.add(shellList); } try { // 调用工具类进行导出 ExcelExportUtil.easySheet("出行卡信息导出记录"+DateUtil.formatDate(new Date(), "YYYYMMddHHmmss"), "=出行卡信息导出记录", dataList,request, response); } catch (Exception e) { log.error("出行卡导出异常:", e); } } }