1.项目组负责人让我实现这个接口,因为以前做过类似的,中间并没有遇到什么太困难的事情。其他不说,先上代码:

 

  1 package com.tydic.eshop.action.feedback;
  2 
  3 import java.io.ByteArrayInputStream;
  4 import java.io.ByteArrayOutputStream;
  5 import java.io.FileInputStream;
  6 import java.io.IOException;
  7 import java.io.InputStream;
  8 import java.text.SimpleDateFormat;
  9 import java.util.Date;
 10 import java.util.List;
 11 
 12 import javax.annotation.Resource;
 13 import javax.servlet.http.HttpServletRequest;
 14 import org.apache.struts2.ServletActionContext;
 15 
 16 import com.tydic.eshop.dto.feedback.vo.FeedBackVO;
 17 import com.tydic.eshop.model.feedback.FeedBack;
 18 import com.tydic.eshop.service.feedback.FeedBackService;
 19 import com.tydic.eshop.util.feedback.ExportExcelUtils;
 20 import com.tydic.framework.base.dataobject.Pagination;
 21 import com.tydic.framework.base.dataobject.ResultDto;
 22 import com.tydic.framework.base.exception.ServiceException;
 23 import com.tydic.framework.base.web.struts.BaseSupportAction;
 24 
 25 /**
 26  * @ClassName: FeedBackAction
 27  * @Description: ECP后台增加意见日志导出功能
 28  * @author liuren
 29  * @date 2016年3月25日
 30  *
 31  */
 32 public class FeedBackAction extends BaseSupportAction{
 33 
 34     private static final long serialVersionUID = 5684835836631112914L;
 35     @Resource(name = "feedBackService")
 36     private FeedBackService feedbackService;
 37     
 38     private FeedBack feedback;
 39     private FeedBackVO feedbackVO;
 40     
 41     private List<FeedBack> feedbackList;
 42     
 43     private String feedbackId;
 44     
 45     private ResultDto<FeedBack> feedbackPage;
 46     
 47     private InputStream excelStream;  //输出流变量  
 48     private String excelFileName; //下载文件名  
 49     /**
 50      * 总页数
 51      */
 52     private int totalPage;
 53     private FileInputStream stream;
 54     
 55     public String execute() throws Exception {       
 56         //这里可加入权限控制       
 57         return "downloadsuccess";       
 58     }       
 59     /**
 60      * 意见反馈查询
 61      * @return
 62      * @throws Exception 
 63      */
 64     public String queryFeedBackList() throws ServiceException{
 65         if(feedbackVO == null){
 66             feedbackVO = new FeedBackVO();
 67         }
 68         HttpServletRequest request = ServletActionContext.getRequest();
 69         String currentPage = request.getParameter("index");
 70         int currentPagei=0;
 71         if(currentPage!=null){
 72             currentPagei = Integer.parseInt(currentPage);
 73         }
 74         Pagination pagination = new Pagination(currentPagei);
 75         String pagesize = request.getParameter("pageSize");
 76         if(pagesize==null){
 77             pagesize="10";
 78         }
 79         pagination.setPageSize(Integer.parseInt(pagesize));
 80         
 81         feedbackVO.setPagination(pagination);
 82         try {
 83             feedbackPage = feedbackService.findFeedBackPage(feedbackVO);
 84             totalPage = feedbackPage.getPagination().getTotalPage();
 85         } catch (Exception e) {
 86             throw new ServiceException("数据分页查询失败"+e.getMessage());
 87         }
 88         return "toFeedBackListPage";
 89     }
 90     
 91     /**
 92      * @throws IOException 
 93      * @throws  
 94      * @Title: exportExecl
 95      * @Description: 报表导出并下载
 96      * @param @return
 97      * @param @throws ServiceException    参数
 98      * @return String    返回类型
 99      * @throws
100      */
101     public String exportExecl() throws ServiceException, IOException{
102         ExportExcelUtils<FeedBack> ex = new ExportExcelUtils<FeedBack>();
103         Date fileDate = new Date();
104         System.out.println(fileDate);
105         SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMddHHmmss");
106         String ds = sdf.format(fileDate);
107         String fileName = "意见反馈报表"+ds+".xls"; //生成的文件名称
108         System.out.println(fileName);
109         String exportPath = request.getSession().getServletContext().getRealPath("/WEB-INF/download/"+fileName);
110         String[] headers = { "序号", "渠道标示", "手机号码", "终端机型", "反馈信息内容", "创建时间", "图片地址", "版本号", "状态" };
111         if (exportPath==null||exportPath==""||exportPath==" ") {
112             throw new ServiceException("请选择导出目录");
113         }
114         try {
115             feedbackList = feedbackService.findFeedBackList(feedbackVO);
116         } catch (Exception e) {
117             e.printStackTrace();
118             throw new ServiceException("数据查询失败"+e.getMessage());
119         }
120             
121             ByteArrayOutputStream out = new ByteArrayOutputStream();  
122             ByteArrayOutputStream os = ex.exportExcel("海航通信意见反馈报表",headers, feedbackList, out,"yyyy/MM/dd HH:mm:ss");
123               
124             byte[] fileContent = os.toByteArray();  
125             ByteArrayInputStream is = new ByteArrayInputStream(fileContent);  
126   
127             excelStream = is;             //文件流 
128             excelFileName = new String(fileName.getBytes(), "ISO8859-1");  //设置下载的文件名
129             System.out.println(excelFileName);
130 
131         return "successdownload";
132     }
133     /**
134      * @Title: queryFeedBackById
135      * @Description: 根据意见反馈Id查询意见反馈详情
136      * @param @return
137      * @param @throws ServiceException    参数
138      * @return String    返回类型
139      * @throws
140      */
141     public String queryFeedBackById() throws ServiceException{
142         feedback = feedbackService.queryFeedBackById(feedbackId);
143         return "toFeedBackDetailPage";
144     }
145     
146     public FeedBackVO getFeedbackVO() {
147         return feedbackVO;
148     }
149     public void setFeedbackVO(FeedBackVO feedbackVO) {
150         this.feedbackVO = feedbackVO;
151     }
152     public List<FeedBack> getFeedbackList() {
153         return feedbackList;
154     }
155     public void setFeedbackList(List<FeedBack> feedbackList) {
156         this.feedbackList = feedbackList;
157     }
158     public String getFeedbackId() {
159         return feedbackId;
160     }
161     public void setFeedbackId(String feedbackId) {
162         this.feedbackId = feedbackId;
163     }
164 
165     public ResultDto<FeedBack> getFeedbackPage() {
166         return feedbackPage;
167     }
168     public void setFeedbackPage(ResultDto<FeedBack> feedbackPage) {
169         this.feedbackPage = feedbackPage;
170     }
171     public int getTotalPage() {
172         return totalPage;
173     }
174     public void setTotalPage(int totalPage) {
175         this.totalPage = totalPage;
176     }
177     public FeedBack getFeedback() {
178         return feedback;
179     }
180     public void setFeedback(FeedBack feedback) {
181         this.feedback = feedback;
182     }
183     public InputStream getExcelStream() {
184         return excelStream;
185     }
186     public void setExcelStream(InputStream excelStream) {
187         this.excelStream = excelStream;
188     }
189     public String getExcelFileName() {
190         return excelFileName;
191     }
192     public void setExcelFileName(String excelFileName) {
193         this.excelFileName = excelFileName;
194     }
195     public FileInputStream getStream() {
196         return stream;
197     }
198     public void setStream(FileInputStream stream) {
199         this.stream = stream;
200     }
201     
202     
203 }
FeedBackAction

相关文章:

  • 2021-12-18
  • 2022-12-23
  • 2021-06-14
  • 2022-12-23
  • 2022-12-23
  • 2021-04-18
  • 2022-12-23
  • 2021-05-27
猜你喜欢
  • 2022-12-23
  • 2021-08-04
  • 2021-06-06
  • 2022-12-23
  • 2022-12-23
  • 2022-01-17
  • 2022-12-23
相关资源
相似解决方案