lubo месяцев назад: 4
Родитель
Сommit
0732b95339

+ 11 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/subsidy/SubsidyQueueController.java

@@ -207,11 +207,21 @@ public class SubsidyQueueController extends BaseController {
                 failureMsg.append("<br/>").append(failureNum).append("、订单编号:").append(bo.getOrderNo()).append(" 导入失败:").append("已完成");
             }
         }
+
         List<SubsidyQueueImportBo> errorList = iSubsidyQueueService.importData(businessId,validList);
+        if(CollectionUtil.isNotEmpty(errorList))
+        {
+            for (SubsidyQueueImportBo bo : errorList) {
+                failureNum++;
+                failureMsg.append("<br/>").append(failureNum).append("、订单编号:").append(bo.getOrderNo()).append(" 导入失败:").append("订单已存在");
+            }
+        }
 
+        failureNum = errorList.size() + failureNum;
+        successNum = list.size() - failureNum;
         if (failureNum > 0) {
             failureMsg.insert(0, "数据导入成功共 " + successNum + " 条! 导入失败共 " + failureNum + " 条!数据格式不正确,错误如下:");
-            List failureList = Arrays.asList(failureMsg.toString().split("<br/>"));
+            List<String> failureList = Arrays.asList(failureMsg.toString().split("<br/>"));
             importMessage.setMessageList(failureList);
             importMessage.setMessage(failureMsg.toString());
         } else {

+ 8 - 1
ruoyi-line/src/main/java/com/ruoyi/subsidy/domain/SubsidyQueue.java

@@ -142,7 +142,9 @@ public class SubsidyQueue extends BaseTimeEntity {
      */
     private Date exchangeTime;
 
-    @ApiModelProperty(value = "迁移时间")
+    /**
+     * 移动时间
+     */
     private Date moveTime;
 
     /**
@@ -155,4 +157,9 @@ public class SubsidyQueue extends BaseTimeEntity {
      */
     private PurchaseSource purchaseSource;
 
+    /**
+     * 是否导入
+     */
+    private Boolean imported;
+
 }

+ 5 - 0
ruoyi-line/src/main/java/com/ruoyi/subsidy/domain/bo/SubsidyQueueBo.java

@@ -237,6 +237,11 @@ public class SubsidyQueueBo extends BaseTimeEntity {
      */
     @ApiModelProperty(value = "订单来源")
     private PurchaseSource purchaseSource;
+    /**
+     * 是否导入
+     */
+    @ApiModelProperty(value = "是否导入")
+    private Boolean imported;
 
 
     /**

+ 1 - 1
ruoyi-line/src/main/java/com/ruoyi/subsidy/domain/bo/SubsidyQueueImportBo.java

@@ -65,7 +65,7 @@ public class SubsidyQueueImportBo implements Serializable {
     @ExcelProperty(value = "申请时间",converter = ExcelDateTimeConvert.class)
     @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm")
     @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
-    private String applyTime;
+    private Date applyTime;
 
 
     /**

+ 11 - 3
ruoyi-line/src/main/java/com/ruoyi/subsidy/domain/vo/SubsidyQueueVo.java

@@ -189,6 +189,7 @@ public class SubsidyQueueVo {
      * 兑换积分数
      */
     @ApiModelProperty("兑换积分数")
+    @ExcelProperty(value = "兑换积分数")
     private BigDecimal exchangePoints;
 
     /**
@@ -200,7 +201,7 @@ public class SubsidyQueueVo {
     /**
      * 补贴完成时间
      */
-    @ExcelProperty(value = "补贴完成时间")
+    @ExcelProperty(value = "补贴完成时间", converter = ExcelDateTimeConvert.class)
     @ApiModelProperty("补贴完成时间")
     private Date completeTime;
 
@@ -231,8 +232,8 @@ public class SubsidyQueueVo {
 
 
     @ExcelProperty(value = "订单退款状态", converter = ExcelEnumConvert.class)
-    @ExcelDictFormat(readConverterExp = "0=未退款,1=退款中,2=已退款")
-    @ApiModelProperty("订单退款状态(0:未退款,1:退款中,2:已退款)")
+    @ExcelDictFormat(readConverterExp = "0=未退款,1=退款中,2=退款失败,10=已退款")
+    @ApiModelProperty("订单退款状态(0:未退款,1:退款中,2:退款失败,10=已退款)")
     private OnlineOrderRefundStatus refundStatus;
 
     /**
@@ -241,4 +242,11 @@ public class SubsidyQueueVo {
     @ExcelProperty(value = "订单来源")
     @ApiModelProperty(value = "订单来源")
     private PurchaseSource purchaseSource;
+
+
+    /**
+     * 是否导入
+     */
+    @ApiModelProperty("是否导入")
+    private Boolean imported;
 }

+ 28 - 3
ruoyi-line/src/main/java/com/ruoyi/subsidy/service/impl/SubsidyQueueServiceImpl.java

@@ -737,6 +737,7 @@ public class SubsidyQueueServiceImpl implements ISubsidyQueueService {
         Business business = businessService.loadById(businessId, true);
         List<SubsidyQueueImportBo> errorList = new ArrayList<>();
         Long l = validQueueCount(businessId, null);
+        List<SubsidyQueue> insertList = new ArrayList<>();
         for(SubsidyQueueImportBo bo:validList) {
             boolean exists = this.baseMapper.exists(new LambdaQueryWrapper<SubsidyQueue>().eq(SubsidyQueue::getOrderNo, bo.getOrderNo()));
             if(exists) {
@@ -750,15 +751,38 @@ public class SubsidyQueueServiceImpl implements ISubsidyQueueService {
             subsidyQueue.setUserMobile(bo.getUserMobile());
             subsidyQueue.setUserName(user.getUserName());
             subsidyQueue.setOrderNo(bo.getOrderNo());
+            subsidyQueue.setCurrentBusinessId(businessId);
+            subsidyQueue.setCurrentBusinessName(business.getBusinessName());
             subsidyQueue.setOriginalBusinessId(businessId);
             subsidyQueue.setOriginalBusinessName(business.getBusinessName());
             subsidyQueue.setPayAmount(bo.getPayAmount());
             subsidyQueue.setShouldSubsidyAmount(bo.getExchangePoints().compareTo(BigDecimal.ZERO)>0?MathUtils.subtract(bo.getShouldSubsidyAmount(),bo.getExchangePoints()):bo.getShouldSubsidyAmount());
             subsidyQueue.setActualSubsidyAmount(bo.getActualSubsidyAmount());
-            subsidyQueue.setSubsidyPoints(bo.getExchangePoints());
-
+            subsidyQueue.setSubsidyPoints(BigDecimal.ZERO);
+            subsidyQueue.setSubsidyStatus(SubsidyStatus.WAITING);
+            subsidyQueue.setCutIn(false);
+            subsidyQueue.setCancelled(false);
+            subsidyQueue.setExchanged(bo.getExchangePoints().compareTo(BigDecimal.ZERO)>0);
+            subsidyQueue.setExchangePoints(bo.getExchangePoints());
+            subsidyQueue.setActualPointsAfterCancel(BigDecimal.ZERO);
+            subsidyQueue.setConsumeTime(bo.getApplyTime());
+            subsidyQueue.setQueueTime(bo.getQueueTime());
+            subsidyQueue.setCompleteTime(null);
+            subsidyQueue.setCancelTime(null);
+            subsidyQueue.setCancelType(SubsidyCancelType.NO);
+            subsidyQueue.setExchangeTime(null);
+            subsidyQueue.setMoveTime(null);
+            subsidyQueue.setImported(true);
+            subsidyQueue.setRefundStatus(OnlineOrderRefundStatus.UNREFUNDED);
+            subsidyQueue.setPurchaseSource(PurchaseSource.ONLINE_BUY);
+            subsidyQueue.setQueueOrder(l.intValue());
+            insertList.add(subsidyQueue);
+        }
+        if(CollectionUtil.isNotEmpty(insertList))
+        {
+            this.baseMapper.insertBatch(insertList);
         }
-        return Collections.emptyList();
+        return errorList;
     }
 
     private List<Long> validQueueIds(Long businessId) {
@@ -791,6 +815,7 @@ public class SubsidyQueueServiceImpl implements ISubsidyQueueService {
         subsidyQueueBo.setCutIn(false);
         subsidyQueueBo.setCancelled(false);
         subsidyQueueBo.setExchanged(false);
+        subsidyQueueBo.setImported( false );
         subsidyQueueBo.setExchangePoints(BigDecimal.ONE);
         subsidyQueueBo.setActualPointsAfterCancel(BigDecimal.ZERO);
         subsidyQueueBo.setConsumeTime(order.getPayTime());