Преглед изворни кода

Merge branch 'master' of http://115.29.66.169:10080/yiyao_shop/api

lubo пре 3 месеци
родитељ
комит
e6531f9a66

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

@@ -4,6 +4,7 @@ import java.util.*;
 import java.util.stream.Collectors;
 
 import cn.hutool.core.collection.CollectionUtil;
+import cn.hutool.core.util.NumberUtil;
 import com.ruoyi.business.service.IBusinessService;
 import com.ruoyi.common.excel.ExcelResult;
 import com.ruoyi.common.excel.ImportMessage;
@@ -262,7 +263,12 @@ public class SubsidyQueueController extends BaseController {
     public R<ImportMessage> importData(@RequestPart("file") MultipartFile file, @ApiParam("主键串") @NotNull(message = "主键不能为空")
                                       @PathVariable Long businessId) throws Exception {
         ExcelResult<SubsidyQueueImportBo> result = ExcelUtil.importExcel(file.getInputStream(), SubsidyQueueImportBo.class, new SubsidyQueueImportListener(businessId));
-        List<SubsidyQueueImportBo> list = result.getList();
+        List<SubsidyQueueImportBo> list = result.getList().stream().map(item -> {
+            if(NumberUtil.isNumber(item.getQueueOrderStr())) {
+                item.setQueueOrder(Integer.parseInt(item.getQueueOrderStr()));
+            }
+            return item;
+        }).collect(Collectors.toList());
         List<SubsidyQueueImportBo> validList = list.stream().filter(item -> "正排队".equals(item.getQueueStatus())).sorted(Comparator.comparing(SubsidyQueueImportBo::getQueueOrder)).collect(Collectors.toList());
         List<SubsidyQueueImportBo> noValidList = list.stream().filter(item -> "已完成".equals(item.getQueueStatus())).collect(Collectors.toList());
 

+ 12 - 12
ruoyi-common/src/main/java/com/ruoyi/common/convert/ExcelDateTimeConvert.java

@@ -8,6 +8,7 @@ import com.alibaba.excel.metadata.data.WriteCellData;
 import com.alibaba.excel.metadata.property.ExcelContentProperty;
 import com.alibaba.excel.util.DateUtils;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.usermodel.DateUtil;
 
 import java.text.ParseException;
 import java.util.Date;
@@ -20,20 +21,19 @@ import java.util.Date;
 @Slf4j
 public class ExcelDateTimeConvert implements Converter<Date> {
 
-    @Override
-    public Class<String> supportJavaTypeKey() {
-        return String.class;
-    }
-
-    @Override
-    public CellDataTypeEnum supportExcelTypeKey() {
-        return CellDataTypeEnum.STRING;
-    }
-
     @Override
     public Date convertToJavaData(ReadCellData<?> cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
         try {
-            return DateUtils.parseDate(cellData.getStringValue(), DateUtils.DATE_FORMAT_16);
+            String value;
+            // 尝试获取字符串值,如果单元格不是字符串类型,尝试其他方式获取
+            if (cellData.getType() == CellDataTypeEnum.NUMBER) {
+                // 处理Excel日期序数(如45657表示某个日期)
+                double numericValue = cellData.getNumberValue().doubleValue();
+                return DateUtil.getJavaDate(numericValue);
+            } else {
+                value = cellData.getStringValue(); // 其他类型尝试转为字符串
+            }
+            return DateUtils.parseDate(value, DateUtils.DATE_FORMAT_19_FORWARD_SLASH);
         } catch (ParseException e) {
             e.printStackTrace();
         }
@@ -42,7 +42,7 @@ public class ExcelDateTimeConvert implements Converter<Date> {
 
     @Override
     public WriteCellData<String> convertToExcelData(Date object, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) {
-        return new WriteCellData<>(DateUtils.format(object, DateUtils.DATE_FORMAT_16));
+        return new WriteCellData<>(DateUtils.format(object, DateUtils.DATE_FORMAT_19_FORWARD_SLASH));
     }
 
 }

+ 2 - 1
ruoyi-line/src/main/java/com/ruoyi/subsidy/SubsidyQueueImportListener.java

@@ -7,13 +7,14 @@ import com.ruoyi.common.excel.ExcelResult;
 import com.ruoyi.subsidy.domain.bo.SubsidyQueueImportBo;
 import lombok.extern.slf4j.Slf4j;
 
+import java.util.ArrayList;
 import java.util.List;
 
 @Slf4j
 public class SubsidyQueueImportListener extends AnalysisEventListener<SubsidyQueueImportBo> implements ExcelListener<SubsidyQueueImportBo> {
     private final Long businessId;
 
-    private List<SubsidyQueueImportBo> originDataList;
+    private List<SubsidyQueueImportBo> originDataList = new ArrayList<>();
 
     public SubsidyQueueImportListener(Long businessId) {
         this.businessId = businessId;

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

@@ -4,21 +4,12 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
 import com.alibaba.excel.annotation.ExcelProperty;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ruoyi.common.convert.ExcelDateTimeConvert;
-import com.ruoyi.common.core.domain.BaseTimeEntity;
-import com.ruoyi.common.core.validate.AddGroup;
-import com.ruoyi.common.core.validate.EditGroup;
-import com.ruoyi.onlineorder.enums.OnlineOrderRefundStatus;
-import com.ruoyi.subsidy.enums.PurchaseSource;
-import com.ruoyi.subsidy.enums.SubsidyCancelType;
-import com.ruoyi.subsidy.enums.SubsidyStatus;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import org.springframework.format.annotation.DateTimeFormat;
 
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
@@ -40,7 +31,7 @@ public class SubsidyQueueImportBo implements Serializable {
      * 订单编号
      */
     @ApiModelProperty(value = "订单编号", required = true)
-    @ExcelProperty(value = "订单号")
+    @ExcelProperty(value = "订单号")
     private String orderNo;
 
     /**
@@ -63,8 +54,8 @@ public class SubsidyQueueImportBo implements Serializable {
      */
     @ApiModelProperty(value = "申请时间", required = true)
     @ExcelProperty(value = "申请时间",converter = ExcelDateTimeConvert.class)
-    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy/MM/dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
     private Date applyTime;
 
 
@@ -72,9 +63,9 @@ public class SubsidyQueueImportBo implements Serializable {
      * 排队时间
      */
     @ApiModelProperty(value = "排队时间", required = true)
-    @ExcelProperty(value = "申请时间",converter = ExcelDateTimeConvert.class)
-    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy-MM-dd HH:mm")
-    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm")
+    @ExcelProperty(value = "排队时间",converter = ExcelDateTimeConvert.class)
+    @JsonFormat(locale="zh", timezone="GMT+8", pattern="yyyy/MM/dd HH:mm:ss")
+    @DateTimeFormat(pattern = "yyyy/MM/dd HH:mm:ss")
     private Date queueTime;
 
     /**
@@ -104,8 +95,9 @@ public class SubsidyQueueImportBo implements Serializable {
     /**
      * 排队名次
      */
-    @ApiModelProperty(value = "排队名次", required = true)
     @ExcelProperty(value = "排队名次")
+    private String queueOrderStr;
+    @ApiModelProperty(value = "排队名次", required = true)
     private Integer queueOrder;
 
 

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

@@ -297,7 +297,7 @@ public class SubsidyQueueServiceImpl implements ISubsidyQueueService {
         return this.baseMapper.selectCount(new LambdaQueryWrapper<SubsidyQueue>()
             .eq(ObjectUtil.isNotNull(businessId), SubsidyQueue::getCurrentBusinessId, businessId)
             .eq(SubsidyQueue::getSubsidyStatus, SubsidyStatus.WAITING)
-            .eq(excludeCutIn, SubsidyQueue::getCutIn, false)
+            .eq(ObjectUtil.isNotNull(excludeCutIn) && excludeCutIn, SubsidyQueue::getCutIn, false)
         );
     }