licailing 3 лет назад
Родитель
Сommit
23dca459df

+ 50 - 4
src/main/java/com/izouma/nineth/dto/MintOrderDTO.java

@@ -1,6 +1,7 @@
 package com.izouma.nineth.dto;
 
 import com.alibaba.excel.annotation.ExcelProperty;
+import com.izouma.nineth.annotations.Searchable;
 import com.izouma.nineth.domain.MintMaterial;
 import com.izouma.nineth.domain.MintOrder;
 import io.swagger.annotations.ApiModel;
@@ -10,6 +11,10 @@ import lombok.Data;
 import lombok.NoArgsConstructor;
 import org.springframework.beans.BeanUtils;
 
+import javax.persistence.Column;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.stream.Collectors;
 
@@ -29,23 +34,64 @@ public class MintOrderDTO {
     @ExcelProperty("手机号")
     private String phone;
 
-    @ExcelProperty("铸造时间")
+    @ExcelProperty("下单时间")
     private LocalDateTime createdAt;
 
+    @ExcelProperty("活动ID")
+    private Long mintActivityId;
+
+    @ExcelProperty("活动名称")
+    private String mintActivity;
+
     @ExcelProperty("铸造材料")
     private String material;
 
-    @ExcelProperty("状态")
-    private String status;
-
     @ExcelProperty("是否消耗藏品")
     private String consume;
 
+    @ExcelProperty("gas费")
+    @Column(precision = 10, scale = 2)
+    private BigDecimal gasPrice;
+
+    @ExcelProperty("支付方式")
+    @Enumerated(EnumType.STRING)
+    private String payMethod;
+
+    @ExcelProperty("交易ID")
+    @Searchable
+    private String transactionId;
+
+    @ExcelProperty("支付时间")
+    private LocalDateTime payAt;
+
+    @ExcelProperty("铸造类型")
+    private String airDrop;
+
+    @ExcelProperty("快递单号")
+    private String courierId;
+
+    @ExcelProperty("收货人")
+    private String contactName;
+
+    @ExcelProperty("收货电话")
+    private String contactPhone;
+
+    @ExcelProperty("收货地址")
+    private String address;
+
+    @ExcelProperty("取消时间")
+    private LocalDateTime cancelTime;
+
+    @ExcelProperty("状态")
+    private String status;
+
     public MintOrderDTO(MintOrder mintOrder) {
         BeanUtils.copyProperties(mintOrder, this);
         this.status = mintOrder.getStatus().getDescription();
         this.consume = mintOrder.isConsume() ? "是" : "否";
         this.material = mintOrder.getMaterial().stream().map(MintMaterial::getName).collect(Collectors.joining(","));
+        this.airDrop = mintOrder.isAirDrop() ? "空投" : "实物";
+        this.payMethod = mintOrder.getPayMethod() == null ? "" : mintOrder.getPayMethod().getDescription();
     }
 
 }

+ 1 - 1
src/main/java/com/izouma/nineth/service/AssetService.java

@@ -55,7 +55,7 @@ public class AssetService {
     public Page<Asset> all(PageQuery pageQuery) {
         Page<Asset> all = assetRepo.findAll(JpaUtils.toSpecification(pageQuery, Asset.class), JpaUtils.toPageRequest(pageQuery));
         Map<String, Object> query = pageQuery.getQuery();
-        if (ObjectUtil.isNotEmpty(query.get("userId"))) {
+        if (query.containsKey("userId")) {
             List<Long> orderId = orderRepo.findAllByUserIdAndOpenedFalse(Convert.convert(Long.class, query.get("userId")));
             return all.map(asset -> {
                 if (orderId.contains(asset.getOrderId())){

+ 1 - 1
src/main/java/com/izouma/nineth/web/MintOrderController.java

@@ -94,7 +94,7 @@ public class MintOrderController extends BaseController {
         return mintOrderService.create(SecurityUtils.getAuthenticatedUser(), assetIds, mintActivityId, addressId);
     }
 
-    @ApiOperation("导出尼尔斯")
+    @ApiOperation("导出")
     @PostMapping("/excelPhone")
     public void excelPhone(HttpServletResponse response, @RequestBody PageQuery pageQuery) throws IOException {
         List<MintOrderDTO> data = all(pageQuery).map(MintOrderDTO::new).getContent();

+ 1 - 0
src/main/vue/src/views/MintOrderList.vue

@@ -238,6 +238,7 @@ export default {
             this.downloading = true;
             let params = this.beforeGetData();
             params.size = 10000;
+            params.sort = 'createdAt,desc';
             this.$axios
                 .post('/mintOrder/excelPhone', params, {
                     responseType: 'blob'