优化订单导出功能。

This commit is contained in:
pikachu1995@126.com 2024-06-26 11:50:45 +08:00
parent 94da71336a
commit 6f9486f065
7 changed files with 341 additions and 79 deletions

View File

@ -1,8 +1,9 @@
package cn.lili.modules.order.order.entity.dto;
import cn.lili.modules.order.order.entity.enums.DeliverStatusEnum;
import cn.lili.common.enums.ClientTypeEnum;
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
import cn.lili.modules.order.order.entity.enums.PayStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@ -19,77 +20,71 @@ import java.util.Date;
@Data
public class OrderExportDTO {
@ApiModelProperty("订单编号")
private String sn;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建时间")
private Date createTime;
@ApiModelProperty(value = "用户名")
private String memberName;
@ApiModelProperty(value = "收件人姓名")
private String consigneeName;
@ApiModelProperty(value = "收件人手机")
private String consigneeMobile;
@ApiModelProperty(value = "收件人地址")
private String consigneeAddressPath;
@ApiModelProperty(value = "详细地址")
private String consigneeDetail;
@ApiModelProperty(value = "支付方式")
private String paymentMethod;
@ApiModelProperty(value = "物流公司名称")
private String logisticsName;
@ApiModelProperty(value = "运费")
private Double freightPrice;
@ApiModelProperty(value = "商品价格")
private Double goodsPrice;
@ApiModelProperty(value = "优惠的金额")
private Double discountPrice;
@ApiModelProperty(value = "总价格")
private Double flowPrice;
@ApiModelProperty(value = "商品名称")
@ApiModelProperty(value = "主订单编号")
private String orderSn;
@ApiModelProperty(value = "子订单编号")
private String orderItemSn;
@ApiModelProperty(value = "选购商品")
private String goodsName;
@ApiModelProperty(value = "商品数量")
private Integer num;
@ApiModelProperty(value = "买家订单备注")
@ApiModelProperty(value = "商品ID")
private String goodsId;
@ApiModelProperty(value = "商品单价")
private Double unitPrice;
@ApiModelProperty(value = "订单应付金额")
private Double flowPrice;
@ApiModelProperty(value = "价格内容")
private String priceDetail;
@ApiModelProperty(value = "支付方式")
private String paymentMethod;
@ApiModelProperty(value = "收件人")
private String consigneeName;
@ApiModelProperty(value = "收件人手机")
private String consigneeMobile;
@ApiModelProperty(value = "收件人地址")
private String consigneeAddressPath;
@ApiModelProperty(value = "详细地址")
private String consigneeDetail;
@ApiModelProperty(value = "买家留言")
private String remark;
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "订单提交时间")
private Date createTime;
@ApiModelProperty(value = "支付完成时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date paymentTime;
/**
* @see ClientTypeEnum
*/
@ApiModelProperty(value = "来源")
private String clientType;
/**
* @see OrderStatusEnum
*/
@ApiModelProperty(value = "订单状态")
private String orderStatus;
/**
* @see PayStatusEnum
* @see OrderTypeEnum
*/
@ApiModelProperty(value = "付款状态")
private String payStatus;
@ApiModelProperty(value = "订单类型")
private String orderType;
/**
* @see DeliverStatusEnum
* @see OrderItemAfterSaleStatusEnum
*/
@ApiModelProperty(value = "货运状态")
private String deliverStatus;
@ApiModelProperty(value = "是否需要发票")
private Boolean needReceipt;
@ApiModelProperty(value = "店铺名称")
@ApiModelProperty(value = "售后状态")
private String afterSaleStatus;
@ApiModelProperty(value = "取消原因")
private String cancelReason;
@ApiModelProperty(value = "发货时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date logisticsTime;
@ApiModelProperty(value = "完成时间")
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
private Date completeTime;
@ApiModelProperty(value = "店铺")
private String storeName;
}

View File

@ -0,0 +1,93 @@
package cn.lili.modules.order.order.entity.dto;
import cn.lili.common.enums.ClientTypeEnum;
import cn.lili.modules.order.order.entity.enums.OrderItemAfterSaleStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderStatusEnum;
import cn.lili.modules.order.order.entity.enums.OrderTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 订单导出DTO
* @author Bulbasaur
* @since 2021/6/3 6:36 下午
*
*/
@Data
public class OrderExportDetailDTO {
@ApiModelProperty(value = "主订单编号")
private String orderSn;
@ApiModelProperty(value = "子订单编号")
private String orderItemSn;
@ApiModelProperty(value = "选购商品")
private String goodsName;
@ApiModelProperty(value = "商品数量")
private Integer num;
@ApiModelProperty(value = "商品ID")
private String goodsId;
@ApiModelProperty(value = "商品单价")
private Double unitPrice;
@ApiModelProperty(value = "订单应付金额")
private Double flowPrice;
@ApiModelProperty(value = "运费")
private Double freightPrice;
@ApiModelProperty(value = "优惠总金额")
private Double discountPrice;
@ApiModelProperty(value = "平台")
private Double siteMarketingCost;
@ApiModelProperty(value = "商家优惠")
private Double storeMarketingCost;
@ApiModelProperty(value = "商家改价")
private Double updatePrice;
@ApiModelProperty(value = "支付方式")
private String paymentMethod;
@ApiModelProperty(value = "收件人")
private String consigneeName;
@ApiModelProperty(value = "收件人手机")
private String consigneeMobile;
@ApiModelProperty(value = "")
private String province;
@ApiModelProperty(value = "")
private String city;
@ApiModelProperty(value = "")
private String district;
@ApiModelProperty(value = "街道")
private String street;
@ApiModelProperty(value = "详细地址")
private String consigneeDetail;
@ApiModelProperty(value = "买家留言")
private String remark;
@ApiModelProperty(value = "订单提交时间")
private String createTime;
@ApiModelProperty(value = "支付完成时间")
private String paymentTime;
/**
* @see ClientTypeEnum
*/
@ApiModelProperty(value = "来源")
private String clientType;
/**
* @see OrderStatusEnum
*/
@ApiModelProperty(value = "订单状态")
private String orderStatus;
/**
* @see OrderTypeEnum
*/
@ApiModelProperty(value = "订单类型")
private String orderType;
/**
* @see OrderItemAfterSaleStatusEnum
*/
@ApiModelProperty(value = "售后状态")
private String afterSaleStatus;
@ApiModelProperty(value = "取消原因")
private String cancelReason;
@ApiModelProperty(value = "发货时间")
private String logisticsTime;
@ApiModelProperty(value = "完成时间")
private String completeTime;
@ApiModelProperty(value = "店铺")
private String storeName;
}

View File

@ -37,10 +37,30 @@ public interface OrderMapper extends BaseMapper<Order> {
* @param queryWrapper 查询条件
* @return 导出订单DTO列表
*/
@Select("SELECT o.sn,o.create_time,o.member_name,o.consignee_name,o.consignee_mobile,o.consignee_address_path,o.consignee_detail," +
"o.payment_method, o.logistics_name,o.freight_price,oi.goods_price,o.discount_price,o.flow_price,oi.goods_name,oi.num," +
"o.remark,o.order_status,o.pay_status,o.deliver_status,o.need_receipt,o.store_name FROM li_order o LEFT JOIN li_order_item oi " +
"ON oi.order_sn=o.sn ${ew.customSqlSegment}")
@Select("SELECT o.sn AS order_sn," +
"oi.sn AS order_item_sn," +
"oi.goods_name AS goods_name," +
"oi.num AS num," +
"oi.goods_id AS goods_id," +
"oi.unit_price AS unit_price," +
"oi.flow_price AS flow_price," +
"oi.price_detail AS price_detail," +
"o.payment_method AS payment_method," +
"o.consignee_name AS consignee_name," +
"o.consignee_mobile AS consignee_mobile," +
"o.consignee_address_path AS consignee_address_path," +
"o.consignee_detail AS consignee_detail," +
"o.remark AS remark," +
"o.create_time AS create_time," +
"o.payment_time AS payment_time," +
"o.client_type AS client_type," +
"o.order_status AS order_status," +
"o.order_type AS order_type," +
"oi.after_sale_status AS after_sale_status," +
"o.logistics_time AS logistics_time," +
"o.complete_time AS complete_time," +
"o.store_name AS store_name " +
" FROM li_order o LEFT JOIN li_order_item oi ON oi.order_sn = o.sn ${ew.customSqlSegment}")
List<OrderExportDTO> queryExportOrder(@Param(Constants.WRAPPER) Wrapper<OrderSimpleVO> queryWrapper);
/**

View File

@ -99,7 +99,7 @@ public interface OrderService extends IService<Order> {
* @param orderSearchParams 查询参数
* @return 导出订单列表
*/
List<OrderExportDTO> queryExportOrder(OrderSearchParams orderSearchParams);
void queryExportOrder(HttpServletResponse response,OrderSearchParams orderSearchParams) ;
/**

View File

@ -4,10 +4,12 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.io.IoUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSONUtil;
import cn.hutool.poi.excel.ExcelReader;
import cn.hutool.poi.excel.ExcelUtil;
import cn.hutool.poi.excel.ExcelWriter;
import cn.lili.common.enums.ClientTypeEnum;
import cn.lili.common.enums.PromotionTypeEnum;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.event.TransactionCommitSendMQEvent;
@ -16,6 +18,7 @@ import cn.lili.common.properties.RocketmqCustomProperties;
import cn.lili.common.security.OperationalJudgment;
import cn.lili.common.security.context.UserContext;
import cn.lili.common.security.enums.UserEnums;
import cn.lili.common.utils.CurrencyUtil;
import cn.lili.common.utils.SnowFlake;
import cn.lili.modules.goods.entity.dto.GoodsCompleteMessage;
import cn.lili.modules.member.entity.dto.MemberAddressDTO;
@ -64,7 +67,11 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.util.CellRangeAddressList;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationEventPublisher;
@ -283,8 +290,26 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
}
@Override
public List<OrderExportDTO> queryExportOrder(OrderSearchParams orderSearchParams) {
return this.baseMapper.queryExportOrder(orderSearchParams.queryWrapper());
public void queryExportOrder(HttpServletResponse response, OrderSearchParams orderSearchParams) {
XSSFWorkbook workbook = initOrderExportData(this.baseMapper.queryExportOrder(orderSearchParams.queryWrapper()));
try {
// 设置响应头
String fileName = URLEncoder.encode("订单列表", "UTF-8");
response.setContentType("application/vnd.ms-excel;charset=UTF-8");
response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xlsx");
ServletOutputStream out = response.getOutputStream();
workbook.write(out);
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
workbook.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
@Override
@ -310,7 +335,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
Order order = OperationalJudgment.judgment(this.getBySn(orderSn));
//如果订单促销类型不为空&&订单是拼团订单并且订单未成团则抛出异常
if (OrderPromotionTypeEnum.PINTUAN.name().equals(order.getOrderPromotionType())
&& !CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.TAKE.name(), OrderStatusEnum.UNDELIVERED.name(),
&& !CharSequenceUtil.equalsAny(order.getOrderStatus(), OrderStatusEnum.TAKE.name(), OrderStatusEnum.UNDELIVERED.name(),
OrderStatusEnum.STAY_PICKED_UP.name())) {
throw new ServiceException(ResultCode.ORDER_CAN_NOT_CANCEL);
}
@ -734,7 +759,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
Trade trade = tradeService.getBySn(order.getTradeSn());
//如果交易不为空则返回交易的金额否则返回订单金额
if (CharSequenceUtil.isNotEmpty(trade.getPayStatus())
&& trade.getPayStatus().equals(PayStatusEnum.PAID.name())) {
&& trade.getPayStatus().equals(PayStatusEnum.PAID.name())) {
return trade.getFlowPrice();
}
return order.getFlowPrice();
@ -858,7 +883,7 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
orderPackageItemService.save(orderPackageItem);
OrderLog orderLog = new OrderLog(orderSn, UserContext.getCurrentUser().getId(),
UserContext.getCurrentUser().getRole().getRole(), UserContext.getCurrentUser().getUsername(), "订单 [ " + orderSn + " ]商品" +
" [ " + orderItem.getGoodsName() + " ]发货,发货数量: [ " + partDeliveryDTO.getDeliveryNum() + " ],发货单号[ " + invoiceNumber + " ]");
" [ " + orderItem.getGoodsName() + " ]发货,发货数量: [ " + partDeliveryDTO.getDeliveryNum() + " ],发货单号[ " + invoiceNumber + " ]");
orderLogList.add(orderLog);
}
}
@ -1185,4 +1210,132 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
.set(OrderItem::getComplainStatus, OrderComplaintStatusEnum.EXPIRED.name());
orderItemService.update(lambdaUpdateWrapper);
}
/**
* 初始化填充订单导出数据
*
* @param orderExportDTOList 导出的订单数据
* @return 订单导出列表
*/
private XSSFWorkbook initOrderExportData(List<OrderExportDTO> orderExportDTOList) {
List<OrderExportDetailDTO> orderExportDetailDTOList = new ArrayList<>();
for (OrderExportDTO orderExportDTO : orderExportDTOList) {
OrderExportDetailDTO orderExportDetailDTO = new OrderExportDetailDTO();
BeanUtil.copyProperties(orderExportDTO, orderExportDetailDTO);
//金额
PriceDetailDTO priceDetailDTO = JSONUtil.toBean(orderExportDTO.getPriceDetail(), PriceDetailDTO.class);
orderExportDetailDTO.setFreightPrice(priceDetailDTO.getFreightPrice());
orderExportDetailDTO.setDiscountPrice(CurrencyUtil.add(priceDetailDTO.getDiscountPrice(), priceDetailDTO.getCouponPrice()));
orderExportDetailDTO.setUpdatePrice(priceDetailDTO.getUpdatePrice());
orderExportDetailDTO.setStoreMarketingCost(priceDetailDTO.getSiteCouponCommission());
orderExportDetailDTO.setSiteMarketingCost(CurrencyUtil.sub(orderExportDetailDTO.getDiscountPrice(), orderExportDetailDTO.getStoreMarketingCost()));
//地址
if (StrUtil.isNotBlank(orderExportDTO.getConsigneeAddressPath())) {
String[] receiveAddress = orderExportDTO.getConsigneeAddressPath().split(",");
orderExportDetailDTO.setProvince(receiveAddress[0]);
orderExportDetailDTO.setCity(receiveAddress[1]);
orderExportDetailDTO.setDistrict(receiveAddress.length > 2 ? receiveAddress[2] : "");
orderExportDetailDTO.setStreet(receiveAddress.length > 3 ? receiveAddress[3] : "");
}
//状态
orderExportDetailDTO.setOrderStatus(OrderStatusEnum.valueOf(orderExportDTO.getOrderStatus()).description());
orderExportDetailDTO.setPaymentMethod(CharSequenceUtil.isNotBlank(orderExportDTO.getPaymentMethod()) ? PaymentMethodEnum.valueOf(orderExportDTO.getPaymentMethod()).paymentName() : "");
orderExportDetailDTO.setClientType(ClientTypeEnum.valueOf(orderExportDTO.getClientType()).value());
orderExportDetailDTO.setOrderType(orderExportDTO.getOrderType().equals(OrderTypeEnum.NORMAL.name()) ? "普通订单" : "虚拟订单");
orderExportDetailDTO.setAfterSaleStatus(OrderItemAfterSaleStatusEnum.valueOf(orderExportDTO.getAfterSaleStatus()).description());
//时间
orderExportDetailDTO.setCreateTime(DateUtil.formatDateTime(orderExportDTO.getCreateTime()));
orderExportDetailDTO.setPaymentTime(DateUtil.formatDateTime(orderExportDTO.getPaymentTime()));
orderExportDetailDTO.setLogisticsTime(DateUtil.formatDateTime(orderExportDTO.getLogisticsTime()));
orderExportDetailDTO.setCompleteTime(DateUtil.formatDateTime(orderExportDTO.getCompleteTime()));
orderExportDetailDTOList.add(orderExportDetailDTO);
}
XSSFWorkbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("订单列表");
// 创建表头
Row header = sheet.createRow(0);
String[] headers = {"主订单编号", "子订单编号", "选购商品", "商品数量", "商品ID", "商品单价", "订单应付金额",
"运费", "优惠总金额", "平台优惠", "商家优惠", "商家改价", "支付方式", "收件人", "收件人手机号",
"", "", "", "街道", "详细地址", "买家留言", "订单提交时间", "支付完成时间", "来源",
"订单状态", "订单类型", "售后状态", "取消原因", "发货时间", "完成时间", "店铺"};
for (int i = 0; i < headers.length; i++) {
Cell cell = header.createCell(i);
cell.setCellValue(headers[i]);
}
// 填充数据
for (int i = 0; i < orderExportDetailDTOList.size(); i++) {
OrderExportDetailDTO dto = orderExportDetailDTOList.get(i);
Row row = sheet.createRow(i + 1);
row.createCell(0).setCellValue(dto.getOrderSn());
row.createCell(1).setCellValue(dto.getOrderItemSn());
row.createCell(2).setCellValue(dto.getGoodsName());
row.createCell(3).setCellValue(dto.getNum());
row.createCell(4).setCellValue(dto.getGoodsId());
row.createCell(5).setCellValue(dto.getUnitPrice());
row.createCell(6).setCellValue(dto.getFlowPrice());
row.createCell(7).setCellValue(dto.getFreightPrice());
row.createCell(8).setCellValue(dto.getDiscountPrice());
row.createCell(9).setCellValue(dto.getSiteMarketingCost());
row.createCell(10).setCellValue(dto.getStoreMarketingCost());
row.createCell(11).setCellValue(dto.getUpdatePrice());
row.createCell(12).setCellValue(dto.getPaymentMethod());
row.createCell(13).setCellValue(dto.getConsigneeName());
row.createCell(14).setCellValue(dto.getConsigneeMobile());
row.createCell(15).setCellValue(dto.getProvince());
row.createCell(16).setCellValue(dto.getCity());
row.createCell(17).setCellValue(dto.getDistrict());
row.createCell(18).setCellValue(dto.getStreet());
row.createCell(19).setCellValue(dto.getConsigneeDetail());
row.createCell(20).setCellValue(dto.getRemark());
row.createCell(21).setCellValue(dto.getCreateTime());
row.createCell(22).setCellValue(dto.getPaymentTime());
row.createCell(23).setCellValue(dto.getClientType());
row.createCell(24).setCellValue(dto.getOrderStatus());
row.createCell(25).setCellValue(dto.getOrderType());
row.createCell(26).setCellValue(dto.getAfterSaleStatus());
row.createCell(27).setCellValue(dto.getCancelReason());
row.createCell(28).setCellValue(dto.getLogisticsTime());
row.createCell(29).setCellValue(dto.getCompleteTime());
row.createCell(30).setCellValue(dto.getStoreName());
}
//修改列宽
// sheet.setColumnWidth(0, 30 * 256);
// sheet.setColumnWidth(1, 30 * 256);
// sheet.setColumnWidth(2, 30 * 256);
// sheet.setColumnWidth(3, 8 * 256);
// sheet.setColumnWidth(4, 20 * 256);
// sheet.setColumnWidth(5, 10 * 256);
// sheet.setColumnWidth(6, 10 * 256);
// sheet.setColumnWidth(7, 10 * 256);
// sheet.setColumnWidth(8, 10 * 256);
// sheet.setColumnWidth(9, 10 * 256);
// sheet.setColumnWidth(10, 10 * 256);
// sheet.setColumnWidth(11, 10 * 256);
// sheet.setColumnWidth(12, 10 * 256);
// sheet.setColumnWidth(13, 10 * 256);
// sheet.setColumnWidth(14, 16 * 256);
// sheet.setColumnWidth(15, 10 * 256);
// sheet.setColumnWidth(16, 10 * 256);
// sheet.setColumnWidth(17, 10 * 256);
// sheet.setColumnWidth(18, 10 * 256);
// sheet.setColumnWidth(19, 30 * 256);
// sheet.setColumnWidth(20, 20 * 256);
// sheet.setColumnWidth(21, 20 * 256);
// sheet.setColumnWidth(22, 20 * 256);
// sheet.setColumnWidth(23, 10 * 256);
// sheet.setColumnWidth(24, 10 * 256);
// sheet.setColumnWidth(25, 10 * 256);
// sheet.setColumnWidth(26, 10 * 256);
// sheet.setColumnWidth(27, 20 * 256);
// sheet.setColumnWidth(28, 20 * 256);
// sheet.setColumnWidth(29, 20 * 256);
// sheet.setColumnWidth(30, 20 * 256);
return workbook;
}
}

View File

@ -3,6 +3,7 @@ package cn.lili.controller.order;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.NumberUtil;
import cn.lili.common.aop.annotation.PreventDuplicateSubmissions;
import cn.lili.common.context.ThreadContextHolder;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.enums.ResultUtil;
import cn.lili.common.vo.ResultMessage;
@ -15,14 +16,12 @@ import cn.lili.modules.order.order.entity.vo.OrderSimpleVO;
import cn.lili.modules.order.order.service.OrderPriceService;
import cn.lili.modules.order.order.service.OrderService;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import javax.servlet.http.HttpServletResponse;
import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@ -59,8 +58,9 @@ public class OrderManagerController {
@ApiOperation(value = "查询订单导出列表")
@GetMapping("/queryExportOrder")
public ResultMessage<List<OrderExportDTO>> queryExportOrder(OrderSearchParams orderSearchParams) {
return ResultUtil.data(orderService.queryExportOrder(orderSearchParams));
public void queryExportOrder(OrderSearchParams orderSearchParams) {
HttpServletResponse response = ThreadContextHolder.getHttpResponse();
orderService.queryExportOrder(response,orderSearchParams);
}

View File

@ -207,8 +207,9 @@ public class OrderStoreController {
@ApiOperation(value = "查询订单导出列表")
@GetMapping("/queryExportOrder")
public ResultMessage<List<OrderExportDTO>> queryExportOrder(OrderSearchParams orderSearchParams) {
return ResultUtil.data(orderService.queryExportOrder(orderSearchParams));
public void queryExportOrder(OrderSearchParams orderSearchParams) {
HttpServletResponse response = ThreadContextHolder.getHttpResponse();
orderService.queryExportOrder(response,orderSearchParams);
}
@PreventDuplicateSubmissions