yanghb
2023-04-21 0481353111afb43a2322e18530dde26f1d841ead
ManagementTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TUserRedPacketRecordController.java
@@ -3,11 +3,8 @@
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;
@@ -19,12 +16,6 @@
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;
/**
@@ -128,82 +119,5 @@
    @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<Map<String,Object>> mapList = userCouponRecordService.getRedListt(beginTime,endTime,userName,userPhone,couponActivityId,state);
            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("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;
    }
}