优化订单导出功能。
This commit is contained in:
parent
94da71336a
commit
6f9486f065
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
@ -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);
|
||||
|
||||
/**
|
||||
|
@ -99,7 +99,7 @@ public interface OrderService extends IService<Order> {
|
||||
* @param orderSearchParams 查询参数
|
||||
* @return 导出订单列表
|
||||
*/
|
||||
List<OrderExportDTO> queryExportOrder(OrderSearchParams orderSearchParams);
|
||||
void queryExportOrder(HttpServletResponse response,OrderSearchParams orderSearchParams) ;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user