Commit 4e4872d0 by chongli

公社充值订单增加导出功能

parent 8cbbe9a7
package com.ctrip.fun.admin.controller.order;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
......@@ -14,18 +16,17 @@ import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import com.ctrip.fun.admin.form.PaginationForm;
import com.ctrip.fun.admin.form.order.OrderPayForm;
import com.ctrip.fun.admin.form.order.VipmemberOrderQueryForm;
import com.ctrip.fun.admin.service.order.AbstractOpOrderService;
import com.ctrip.fun.admin.service.order.OpVipmemberOrderService;
import com.ctrip.fun.admin.service.order.VipmemberOrderExcelExportService;
import com.ctrip.fun.common.core.util.BeanConverter;
import com.ctrip.fun.common.core.util.DateUtil;
import com.ctrip.fun.common.core.util.StringUtils;
import com.ctrip.fun.common.vo.PagedResponseBean;
import com.ctrip.fun.common.vo.order.OpOrderQuery;
import com.ctrip.fun.common.vo.order.OpRechargeOrderBean;
import com.ctrip.fun.common.vo.order.OpVipmemberOrderBean;
import com.ctrip.fun.common.vo.order.VipmemberOrderMenuEnum;
import com.ctrip.fun.common.vo.order.VipmemberOrderListBean;
......@@ -43,6 +44,9 @@ public class OpVipmemberOrderController extends AbstractOpOrderController<Vipmem
@Autowired
private OpVipmemberOrderService opVipmemberOrderService;
@Autowired
VipmemberOrderExcelExportService vipmemberOrderExcelExportService;
@Override
AbstractOpOrderService<VipmemberOrderProcessBean, OpVipmemberOrderBean, VipmemberOrderListBean, VipmemberOrderListExcelBean> getOpOrderService() {
......@@ -266,14 +270,36 @@ public class OpVipmemberOrderController extends AbstractOpOrderController<Vipmem
}
@Override
public String getExcelExport(String listType, Integer total,
VipmemberOrderQueryForm form, HttpServletResponse response) {
// TODO Auto-generated method stub
return null;
public String getExcelExport(@PathVariable("listType")String listType,@RequestParam(value = "total", required = true) Integer total,
@ModelAttribute(value = "form") VipmemberOrderQueryForm form, HttpServletResponse response) {
OpOrderQuery query = new OpOrderQuery();
// 获得菜单枚举值,并设置查询条件
VipmemberOrderMenuEnum vipmemberOrderMenuEnum = this.setOrderQuery(query, listType, form);
// 设置paymentVersion #1为老版本,#2为新版本
query.setPaymentVersion(2);
query.setPagerOffset(0);
query.setPagerPerPage(total);
List<VipmemberOrderListExcelBean> responseBean = vipmemberOrderExcelExportService.list("", query);
if (responseBean != null) {
for (VipmemberOrderListBean bean : responseBean) {
bean.setOrderStatusString(OrderStatusEnum.getOrderStatusEnum(bean.getOrderStatus()).getShowStatusName());
}
}
response.setContentType("application/binary;charset=ISO8859-1");
String filename = vipmemberOrderExcelExportService.createExcelName(form);
try {
query.getOrderStartDate();
query.getOrderEndDate();
ServletOutputStream outputStream = response.getOutputStream();
filename += vipmemberOrderMenuEnum.getShowMenuName();
response.setHeader("Content-disposition", "attachment;filename=" + new String(filename.getBytes("gb2312"), "ISO8859-1") + ".xlsx");
vipmemberOrderExcelExportService.exportExcel(filename, responseBean, outputStream, listType);
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
package com.ctrip.fun.admin.service.order;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import com.ctrip.fun.admin.form.order.EventActivityOrderQueryForm;
import com.ctrip.fun.admin.form.order.VipmemberOrderQueryForm;
import com.ctrip.fun.common.core.util.DateUtil;
import com.ctrip.fun.common.vo.Request;
import com.ctrip.fun.common.vo.Response;
import com.ctrip.fun.common.vo.order.CustomerInfoBean;
import com.ctrip.fun.common.vo.order.EventActivityOrderListExcelBean;
import com.ctrip.fun.common.vo.order.OpOrderQuery;
import com.ctrip.fun.common.vo.order.VipmemberOrderListExcelBean;
public class VipmemberOrderExcelExportService extends AbstractExcelExportService<VipmemberOrderQueryForm, VipmemberOrderListExcelBean> {
private static Logger logger = LoggerFactory.getLogger(VipmemberOrderExcelExportService.class);
@Override
String getOrderType() {
return "vipmemberOrder";
}
@Override
public String[] getRowsName(String listType) {
return new String[] { "订单号", "用户ID", "用户名", "手机号", "充值时间", "充值金额", "实付金额", "状态", "vip类型", "到期时间"};
}
@Override
public void setCellByListType(String listType, XSSFRow row, VipmemberOrderListExcelBean bean, Integer cellNum, XSSFCellStyle bodyCellStyle) {
ArrayList<XSSFCell> cellList_all = new ArrayList<XSSFCell>();
for (int i = 0; i < cellNum; i++) {
XSSFCell cell = row.createCell(i);
cell.setCellStyle(bodyCellStyle);
cellList_all.add(cell);
}
cellList_all.get(0).setCellValue(bean.getOrderNo() + "");
cellList_all.get(1).setCellValue(bean.getUid());
cellList_all.get(2).setCellValue(bean.getUserName());
cellList_all.get(3).setCellValue(bean.getMobilePhone());
cellList_all.get(4).setCellValue(bean.getOrderDate());
cellList_all.get(5).setCellValue(bean.getAmount()+"");
cellList_all.get(6).setCellValue(bean.getTotalAmount()+"");
cellList_all.get(7).setCellValue(bean.getOrderStatusString());
cellList_all.get(8).setCellValue(bean.getVipmemberTypeString());
if(bean.getVipmemberExpireTime()!=null){
cellList_all.get(9).setCellValue(DateUtil.getDateStr(bean.getVipmemberExpireTime()));
}else{
cellList_all.get(9).setCellValue("");
}
}
@Override
public List<VipmemberOrderListExcelBean> list(String userId, OpOrderQuery query) {
String uri = super.getServiceUri("uri.order.excelList");
uri = uri.replace("{orderType}", this.getOrderType());
List<VipmemberOrderListExcelBean> responseBean = new ArrayList<VipmemberOrderListExcelBean>();
Request<OpOrderQuery> request = new Request<OpOrderQuery>(userId, query);
HttpEntity<Request<OpOrderQuery>> entity = new HttpEntity<Request<OpOrderQuery>>(request);
Response<List<VipmemberOrderListExcelBean>> response = super.exchange(uri, HttpMethod.POST, entity,
new ParameterizedTypeReference<Response<List<VipmemberOrderListExcelBean>>>() {
}).getBody();
if (response.getStatus() == 0) {
responseBean = response.getBody();
} else {
logger.error(String.format("[list] status: %d, msg: %s", response.getStatus(), response.getMessage()));
}
return responseBean;
}
@Override
public String createExcelName(VipmemberOrderQueryForm form) {
StringBuffer fileName = new StringBuffer("公社充值订单");
fileName.append(DateUtil.getDateStrC(form.getOrderStartDate()));
fileName.append("-");
fileName.append(DateUtil.getDateStrC(form.getOrderEndDate()));
return fileName.toString();
}
}
......@@ -156,6 +156,9 @@
<bean name="opVipmemberOrderService"
class="com.ctrip.fun.admin.service.order.OpVipmemberOrderService"
parent="abstractOpOrderService" />
<bean name="vipmemberOrderExcelExportService"
class="com.ctrip.fun.admin.service.order.VipmemberOrderExcelExportService"
parent="abstractOpOrderService" />
<bean name="opCommuneOrderService"
class="com.ctrip.fun.admin.service.order.OpCommuneOrderService"
parent="abstractOpOrderService" />
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment