diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDTO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDTO.java index 9324c3124..f9c08d220 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDTO.java +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDTO.java @@ -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; } diff --git a/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDetailDTO.java b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDetailDTO.java new file mode 100644 index 000000000..b298dca53 --- /dev/null +++ b/framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderExportDetailDTO.java @@ -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; +} diff --git a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java index f731d44d8..1b19087ed 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java +++ b/framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java @@ -37,10 +37,30 @@ public interface OrderMapper extends BaseMapper { * @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 queryExportOrder(@Param(Constants.WRAPPER) Wrapper queryWrapper); /** diff --git a/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java b/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java index aa363f3d0..00be1e064 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java +++ b/framework/src/main/java/cn/lili/modules/order/order/service/OrderService.java @@ -99,7 +99,7 @@ public interface OrderService extends IService { * @param orderSearchParams 查询参数 * @return 导出订单列表 */ - List queryExportOrder(OrderSearchParams orderSearchParams); + void queryExportOrder(HttpServletResponse response,OrderSearchParams orderSearchParams) ; /** diff --git a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java index 09ceb8114..c9708f583 100644 --- a/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java +++ b/framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java @@ -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 implements } @Override - public List 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 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 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 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 implements .set(OrderItem::getComplainStatus, OrderComplaintStatusEnum.EXPIRED.name()); orderItemService.update(lambdaUpdateWrapper); } + + /** + * 初始化填充订单导出数据 + * + * @param orderExportDTOList 导出的订单数据 + * @return 订单导出列表 + */ + private XSSFWorkbook initOrderExportData(List orderExportDTOList) { + List 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; + } } \ No newline at end of file diff --git a/manager-api/src/main/java/cn/lili/controller/order/OrderManagerController.java b/manager-api/src/main/java/cn/lili/controller/order/OrderManagerController.java index a1f9aa460..db3c26796 100644 --- a/manager-api/src/main/java/cn/lili/controller/order/OrderManagerController.java +++ b/manager-api/src/main/java/cn/lili/controller/order/OrderManagerController.java @@ -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> queryExportOrder(OrderSearchParams orderSearchParams) { - return ResultUtil.data(orderService.queryExportOrder(orderSearchParams)); + public void queryExportOrder(OrderSearchParams orderSearchParams) { + HttpServletResponse response = ThreadContextHolder.getHttpResponse(); + orderService.queryExportOrder(response,orderSearchParams); } diff --git a/seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java b/seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java index cd06f6288..784c8320c 100644 --- a/seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java +++ b/seller-api/src/main/java/cn/lili/controller/order/OrderStoreController.java @@ -207,8 +207,9 @@ public class OrderStoreController { @ApiOperation(value = "查询订单导出列表") @GetMapping("/queryExportOrder") - public ResultMessage> queryExportOrder(OrderSearchParams orderSearchParams) { - return ResultUtil.data(orderService.queryExportOrder(orderSearchParams)); + public void queryExportOrder(OrderSearchParams orderSearchParams) { + HttpServletResponse response = ThreadContextHolder.getHttpResponse(); + orderService.queryExportOrder(response,orderSearchParams); } @PreventDuplicateSubmissions