Procházet zdrojové kódy

订单导出优化

zhangxin před 4 dny
rodič
revize
401404205f

+ 1 - 1
yami-shop-platform/src/main/java/com/yami/shop/platform/controller/ExportTaskController.java

@@ -53,7 +53,7 @@ import java.util.stream.Collectors;
 /**
  * 导出任务controller
  */
-@Validated
+
 @RestController
 @RequestMapping("/platform/exportTask")
 @AllArgsConstructor

+ 1 - 0
yami-shop-service/src/main/java/com/yami/shop/service/impl/ExportTaskServiceImpl.java

@@ -193,6 +193,7 @@ public class ExportTaskServiceImpl extends ServiceImpl<ExportTaskMapper, ExportT
 
     @Override
     public R<String> cancelExport(String fileId, Long userId) {
+        log.info("");
         // 1. 使用事务确保数据一致性
         return transactionTemplate.execute(status -> {
             try {

+ 6 - 0
yami-shop-service/src/main/java/com/yami/shop/service/impl/OrderServiceImpl.java

@@ -1586,6 +1586,12 @@ public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements
 //                    throw new InterruptedException("导出被中断");
                 }
                 for (Order order : batch) {
+                    // 定期检查中断标志
+                    if (context.isCancelled() || Thread.currentThread().isInterrupted()) {
+                        context.setProcessedRows(indexNum);
+                        break;
+//                    throw new InterruptedException("导出被中断");
+                    }
                     Row row = sheet.createRow(rowNum++);
                     row.setHeightInPoints(18);
                     //序号

+ 2 - 1
yami-shop-service/src/main/resources/mapper/ExportTaskMapper.xml

@@ -25,9 +25,10 @@
             <if test="userId != null ">
                 AND  a.user_id = #{userId}
             </if>
-            <if test="userId != null ">
+            <if test="exportType != null ">
                 AND  a.export_type = #{exportType}
             </if>
         </where>
+        order by  a.create_time desc
     </select>
 </mapper>