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.ExcelUtil; import com.stylefeng.guns.core.util.SinataUtil; import com.stylefeng.guns.core.util.ToolUtil; import com.stylefeng.guns.modular.system.service.IUserCouponRecordService; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.beans.factory.annotation.Autowired; import com.stylefeng.guns.core.log.LogObjectHolder; import org.springframework.web.bind.annotation.RequestParam; import com.stylefeng.guns.modular.system.model.TUserRedPacketRecord; import com.stylefeng.guns.modular.system.service.ITUserRedPacketRecordService; import javax.servlet.http.HttpServletResponse; import java.io.OutputStream; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import java.util.Map; /** * 控制器 * * @author fengshuonan * @Date 2020-07-10 15:33:49 */ @Controller @RequestMapping("/tUserRedPacketRecord") public class TUserRedPacketRecordController extends BaseController { private String PREFIX = "/system/tUserRedPacketRecord/"; @Autowired private ITUserRedPacketRecordService tUserRedPacketRecordService; @Autowired private IUserCouponRecordService userCouponRecordService; /** * 跳转到首页 */ @RequestMapping("") public String index(Model model,Integer couponActivityId) { model.addAttribute("couponActivityId",couponActivityId); return PREFIX + "tUserRedPacketRecord.html"; } /** * 跳转到添加 */ @RequestMapping("/tUserRedPacketRecord_add") public String tUserRedPacketRecordAdd() { return PREFIX + "tUserRedPacketRecord_add.html"; } /** * 跳转到修改 */ @RequestMapping("/tUserRedPacketRecord_update/{tUserRedPacketRecordId}") public String tUserRedPacketRecordUpdate(@PathVariable Integer tUserRedPacketRecordId, Model model) { TUserRedPacketRecord tUserRedPacketRecord = tUserRedPacketRecordService.selectById(tUserRedPacketRecordId); model.addAttribute("item",tUserRedPacketRecord); LogObjectHolder.me().set(tUserRedPacketRecord); return PREFIX + "tUserRedPacketRecord_edit.html"; } /** * 获取列表 */ @RequestMapping(value = "/list") @ResponseBody public Object list(String createTime,String userName,String userPhone,Integer couponActivityId,Integer state) { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(createTime)){ String[] timeArray = createTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } Page> page = new PageFactory>().defaultPage(); page.setRecords(userCouponRecordService.getRedList(page,beginTime,endTime,userName,userPhone,couponActivityId,state)); return super.packForBT(page); } /** * 新增 */ @RequestMapping(value = "/add") @ResponseBody public Object add(TUserRedPacketRecord tUserRedPacketRecord) { tUserRedPacketRecordService.insert(tUserRedPacketRecord); return SUCCESS_TIP; } /** * 删除 */ @RequestMapping(value = "/delete") @ResponseBody public Object delete(@RequestParam Integer tUserRedPacketRecordId) { tUserRedPacketRecordService.deleteById(tUserRedPacketRecordId); return SUCCESS_TIP; } /** * 修改 */ @RequestMapping(value = "/update") @ResponseBody public Object update(TUserRedPacketRecord tUserRedPacketRecord) { tUserRedPacketRecordService.updateById(tUserRedPacketRecord); return SUCCESS_TIP; } /** * 详情 */ @RequestMapping(value = "/detail/{tUserRedPacketRecordId}") @ResponseBody public Object detail(@PathVariable("tUserRedPacketRecordId") Integer tUserRedPacketRecordId) { return tUserRedPacketRecordService.selectById(tUserRedPacketRecordId); } /** * 导出 */ @RequestMapping(value = "/exportRecord") @ResponseBody public Object exportRecord(HttpServletResponse response, @RequestParam String createTime, @RequestParam String userName, @RequestParam String userPhone, @RequestParam Integer couponActivityId, @RequestParam Integer state) { try { String beginTime = null; String endTime = null; if (SinataUtil.isNotEmpty(createTime)){ String[] timeArray = createTime.split(" - "); beginTime = timeArray[0]; endTime = timeArray[1]; } Date date = new Date(); DateFormat format = new SimpleDateFormat("yyyyMMdd"); String time = format.format(date); String fileName = "红包领取记录"+time+".xls"; String[] title = new String[] {"领取时间","领取人","领取人电话","领取金额","到期时间","状态","使用时间"}; List> mapList = userCouponRecordService.getRedListt(beginTime,endTime,userName,userPhone,couponActivityId,state); 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("nickName").toString(); if (ToolUtil.isNotEmpty(d.get("phone"))){ values[i][2]=d.get("phone").toString(); }else { values[i][2]=""; } values[i][3]=d.get("money").toString(); values[i][4]=d.get("expirationTime").toString(); String stateStr =d.get("state").toString(); switch (stateStr) { case "0": values[i][5] = "未使用"; break; case "1": values[i][5] = "已使用"; break; case "2": values[i][5] = "已过期"; break; default: values[i][5] = ""; break; } if (ToolUtil.isNotEmpty(d.get("useTime"))){ values[i][6]=d.get("useTime").toString(); }else { values[i][6]=""; } } String fileNameTitle="红包领取记录"; HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(fileNameTitle+time, title, values, null); ExcelUtil.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; } }