Kaynağa Gözat

下载execl调整

sunkean 3 yıl önce
ebeveyn
işleme
b0326e34ae

+ 10 - 0
src/main/java/com/izouma/nineth/domain/MetaTaskToUser.java

@@ -1,5 +1,6 @@
 package com.izouma.nineth.domain;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.izouma.nineth.annotations.Searchable;
 import com.izouma.nineth.enums.MetaTaskStatus;
 import com.izouma.nineth.enums.MetaTaskType;
@@ -21,34 +22,43 @@ public class MetaTaskToUser extends BaseEntity{
 
     @ApiModelProperty("用户id")
     @Searchable
+    @ExcelProperty("用户id")
     private Long userId;
 
     @ApiModelProperty("领取时间")
+    @ExcelProperty("领取时间")
     private LocalDateTime getTime;
 
     @ApiModelProperty("完成时间")
+    @ExcelProperty("完成时间")
     private LocalDateTime finishTime;
 
     @ApiModelProperty("任务id")
+    @ExcelProperty("任务id")
     @Searchable
     private Long taskId;
 
     @ApiModelProperty("任务名称")
+    @ExcelProperty("任务名称")
     @Searchable
     private String taskName;
 
     @ApiModelProperty("任务类型")
     @Enumerated(EnumType.STRING)
+    @ExcelProperty("任务类型")
     private MetaTaskType taskType;
 
     @ApiModelProperty("任务详情")
+    @ExcelProperty("任务详情")
     @Column(columnDefinition = "TEXT")
     private String detail;
 
     @ApiModelProperty("奖励图片")
+    @ExcelProperty("奖励图片地址")
     private String awardPic;
 
     @ApiModelProperty("当前状态")
+    @ExcelProperty("当前状态")
     @Enumerated(EnumType.STRING)
     private MetaTaskStatus status;
 

+ 8 - 0
src/main/java/com/izouma/nineth/domain/MetaUserTaskProgress.java

@@ -1,5 +1,6 @@
 package com.izouma.nineth.domain;
 
+import com.alibaba.excel.annotation.ExcelProperty;
 import com.izouma.nineth.enums.MetaTaskType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -19,24 +20,31 @@ import javax.persistence.Enumerated;
 public class MetaUserTaskProgress extends BaseEntity{
 
     @ApiModelProperty("元宇宙玩家领取任务记录id")
+    @ExcelProperty("玩家领取任务记录id")
     private Long metaTaskToUserId;
 
     @ApiModelProperty("任务id")
+    @ExcelProperty("任务id")
     private Long taskId;
 
     @ApiModelProperty("任务类型")
+    @ExcelProperty("任务类型")
     @Enumerated(EnumType.STRING)
     private MetaTaskType taskType;
 
     @ApiModelProperty("任务名称")
+    @ExcelProperty("任务名称")
     private String taskName;
 
     @ApiModelProperty("用户id")
+    @ExcelProperty("用户id")
     private Long userId;
 
     @ApiModelProperty("备注")
+    @ExcelProperty("备注")
     private String remark;
 
     @ApiModelProperty("备注参数是否唯一,例如收集彩蛋的任务每个备注(彩蛋id)不允许重复完成")
+    @ExcelProperty("备注参数是否唯一")
     private boolean remarkOnly;
 }

+ 1 - 0
src/main/java/com/izouma/nineth/utils/excel/ExcelUtils.java

@@ -23,6 +23,7 @@ public class ExcelUtils<T> {
                 .registerConverter(new OrderStatusConverter())
                 .registerConverter(new PayMethodConverter())
                 .registerConverter(new MetaTaskTypeConverter())
+                .registerConverter(new MetaTaskStatusConverter())
                 .doWrite(data);
     }
 }

+ 42 - 0
src/main/java/com/izouma/nineth/utils/excel/MetaTaskStatusConverter.java

@@ -0,0 +1,42 @@
+package com.izouma.nineth.utils.excel;
+
+import com.alibaba.excel.converters.Converter;
+import com.alibaba.excel.enums.CellDataTypeEnum;
+import com.alibaba.excel.metadata.CellData;
+import com.alibaba.excel.metadata.GlobalConfiguration;
+import com.alibaba.excel.metadata.property.ExcelContentProperty;
+import com.izouma.nineth.enums.MetaTaskStatus;
+
+public class MetaTaskStatusConverter implements Converter<MetaTaskStatus> {
+
+    @Override
+    public Class supportJavaTypeKey() {
+        return MetaTaskStatus.class;
+    }
+
+    @Override
+    public CellDataTypeEnum supportExcelTypeKey() {
+        return null;
+    }
+
+    @Override
+    public MetaTaskStatus convertToJavaData(CellData cellData, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        try {
+            for (MetaTaskStatus value : MetaTaskStatus.values()) {
+                if (value.getDescription().equals(cellData.getStringValue())) {
+                    return value;
+                }
+            }
+        } catch (Exception ignored) {
+        }
+        return null;
+    }
+
+    @Override
+    public CellData convertToExcelData(MetaTaskStatus value, ExcelContentProperty contentProperty, GlobalConfiguration globalConfiguration) throws Exception {
+        if (value != null) {
+            return new CellData(value.getDescription());
+        }
+        return null;
+    }
+}