소스 검색

feat:“线上订单导出增加设备名称列表"

soobin 9 달 전
부모
커밋
fc13d33585
2개의 변경된 파일18개의 추가작업 그리고 3개의 파일을 삭제
  1. 4 0
      src/main/java/com/szwl/model/excel/NewOrderTarget.java
  2. 14 3
      src/main/java/com/szwl/service/impl/TOrderServiceImpl.java

+ 4 - 0
src/main/java/com/szwl/model/excel/NewOrderTarget.java

@@ -31,6 +31,10 @@ public class NewOrderTarget {
     private BigDecimal price;
 
     @ColumnWidth(30)
+    @ExcelProperty("设备名称")
+    private String machineName;
+
+    @ColumnWidth(30)
     @ExcelProperty("设备唯一码")
     private String clientId;
 

+ 14 - 3
src/main/java/com/szwl/service/impl/TOrderServiceImpl.java

@@ -40,9 +40,7 @@ import java.io.IOException;
 import java.net.URLEncoder;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
@@ -314,6 +312,7 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
     @Override
     public List<NewOrderTarget> exportOrderData(TAdmin admin, List<TOrder> list) {
         List<NewOrderTarget> orderTargets = new ArrayList<>();
+        Map<String, String> nameMap = new HashMap<>();
         for (TOrder order : list) {
             if (!order.getProductName().equals("优惠码")) {
                 NewOrderTarget orderTarget = new NewOrderTarget();
@@ -325,6 +324,18 @@ public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> impleme
                     orderTarget.setPrice(order.getPrice());
                 }
                 orderTarget.setClientId(order.getClientId());
+                String name = "";
+                name = nameMap.get(order.getClientId());
+                if (order.getEquipmentId() != null && StringUtils.isEmpty(name)) {
+                    TEquipment equipment = R.getDataIfSuccess(szwlFeign.findById(String.valueOf(order.getEquipmentId())));
+                    if (StringUtils.isNotEmpty(equipment.getName())) {
+                        name = equipment.getName();
+                    } else {
+                        name = "暂未设置名称";
+                    }
+                    nameMap.put(order.getClientId(), name);
+                }
+                orderTarget.setMachineName(name);
                 orderTarget.setName(admin.getUsername());
                 // 格式化时间
                 if (order.getPayDate() != null) {