From 8476ed9710956ebb47a35370fb45184c46017a35 Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期一, 30 九月 2024 16:36:13 +0800
Subject: [PATCH] add:合伙人订单列表导出
---
src/main/java/com/mzl/flower/service/payment/OrderService.java | 78 ++++++++++++++++++++++++++++++++++++++
1 files changed, 77 insertions(+), 1 deletions(-)
diff --git a/src/main/java/com/mzl/flower/service/payment/OrderService.java b/src/main/java/com/mzl/flower/service/payment/OrderService.java
index 710cea2..e1aebd0 100644
--- a/src/main/java/com/mzl/flower/service/payment/OrderService.java
+++ b/src/main/java/com/mzl/flower/service/payment/OrderService.java
@@ -51,6 +51,7 @@
import com.mzl.flower.service.system.CodeService;
import com.mzl.flower.service.system.WeChatService;
import com.mzl.flower.service.transport.TransportService;
+import com.mzl.flower.utils.ExcelExportUtil;
import com.mzl.flower.utils.UUIDGenerator;
import com.wechat.pay.java.core.util.GsonUtil;
import io.micrometer.core.instrument.util.StringUtils;
@@ -63,8 +64,10 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
+import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.net.URLEncoder;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
@@ -496,7 +499,7 @@
order.setMemberName(p.getMemberName());
order.setMemberDiscountType(p.getMemberDiscountType());
order.setMemberDiscountRatio(p.getMemberDiscountRatio());
- order.setMemberCouponAmount(p.getMemberDiscountAmount());
+ order.setMemberDiscountAmount(p.getMemberDiscountAmount());
order.setFlowerAmount(p.getTotalMemberAmount());//使用会员价总价
order.setPackingFee(p.getPacking());
@@ -1685,4 +1688,77 @@
return sb.toString();
}
+
+ public void operationUpdate(OrderAddressUpdateDTO dto) {
+ if (StringUtils.isBlank(dto.getId())) {
+ throw new ValidationException("id不能为空");
+ }
+ Order order = orderMapper.selectById(dto.getId());
+ if (ObjectUtils.isEmpty(order)) {
+ throw new ValidationException("订单不存在");
+ }
+ if (StringUtils.isBlank(dto.getCustomerAddress()) || StringUtils.isBlank(dto.getCustomerCity()) || StringUtils.isBlank(dto.getCustomerProvince()) || StringUtils.isBlank(dto.getCustomerRegion())) {
+ throw new ValidationException("地址信息不能为空");
+ }
+ if (StringUtils.isBlank(dto.getCustomerTel())) {
+ throw new ValidationException("联系方式不能为空");
+ }
+ BeanUtils.copyProperties(dto, order);
+ order.update(SecurityUtils.getUserId());
+ orderMapper.updateById(order);
+ }
+
+ private List<OrderListExportDTO> getOrderExportListBase(OrderQueryDTO dto) {
+ dto.setStartDate(parseLocalDateTime(dto.getStartDateStr(), true));
+ dto.setEndDate(parseLocalDateTime(dto.getEndDateStr(), false));
+ dto.setCreateStartDate(parseLocalDateTime(dto.getCreateStartDateStr(), 17, 0, 0, -1));
+ dto.setCreateEndDate(parseLocalDateTime(dto.getCreateEndDateStr(), 17, 0, 0, 0));
+ List<OrderListExportDTO> ls = orderMapper.selectOrderExportList(dto);
+ return ls;
+ }
+
+ public void exportOrderDetail(HttpServletResponse response, OrderQueryDTO dto) {
+ List<OrderListExportDTO> ls = getOrderExportListBase( dto);
+ String[] rowsName = new String[]{"序号","订单号", "用户账号", "收货人", "收货人电话", "收货地址", "订单金额"
+ , "底价", "订单状态", "下单时间", "合伙人", "库位", "特殊需求", "备注"};
+ List<Object[]> dataList = new ArrayList<>();
+ int sn = 1;
+ for (OrderListExportDTO o : ls) {
+ Object[] objs = new Object[rowsName.length];
+ int a = 0;
+ objs[a++] = sn;
+ objs[a++] = o.getOrderNo();
+ objs[a++] = o.getCreateName();
+ objs[a++] = o.getCustomer();
+ objs[a++] = o.getCustomerTel();
+ objs[a++] = o.getCustomerAddress();
+ objs[a++] = o.getTotalAmount();
+ objs[a++] = o.getSupplierAmount();
+ objs[a++] = o.getStatusBackendStr();
+ objs[a++] = o.getCreateTime();
+ objs[a++] = o.getPartnerName();
+ objs[a++] = o.getWarehouseLocationCode();
+ objs[a++] = o.getSpecialNeedsStr();
+ objs[a++] = o.getRemarks();
+ dataList.add(objs);
+
+ sn++;
+ }
+ ExcelExportUtil excelExportUtil = new ExcelExportUtil("订单列表", rowsName, dataList, response);
+ try {
+ response.addHeader("filename", URLEncoder.encode("订单列表.xls", "UTF-8"));
+ response.addHeader("Access-Control-Expose-Headers", "filename");
+ excelExportUtil.export();
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+
+ }
+
+ public void exportPartnerOrderList(HttpServletResponse response, OrderQueryDTO dto) {
+ Partner p = getCurrentPartner();
+ dto.setPartnerId(p.getId());
+ exportOrderDetail(response, dto);
+ }
+
}
--
Gitblit v1.9.3