licailing 4 роки тому
батько
коміт
ac0ef5404b

+ 3 - 0
src/main/java/com/izouma/nineth/domain/Order.java

@@ -71,6 +71,9 @@ public class Order {
     @Searchable
     private Long userId;
 
+    @Transient
+    private String nickname;
+
     @ApiModelProperty("藏品ID")
     @Searchable
     private Long collectionId;

+ 18 - 0
src/main/java/com/izouma/nineth/web/OrderController.java

@@ -2,6 +2,7 @@ package com.izouma.nineth.web;
 
 import com.github.binarywang.wxpay.exception.WxPayException;
 import com.izouma.nineth.domain.Order;
+import com.izouma.nineth.domain.User;
 import com.izouma.nineth.dto.OrderDTO;
 import com.izouma.nineth.dto.PageQuery;
 import com.izouma.nineth.enums.CollectionType;
@@ -9,6 +10,7 @@ import com.izouma.nineth.enums.OrderStatus;
 import com.izouma.nineth.enums.PayMethod;
 import com.izouma.nineth.exception.BusinessException;
 import com.izouma.nineth.repo.OrderRepo;
+import com.izouma.nineth.repo.UserRepo;
 import com.izouma.nineth.service.OrderService;
 import com.izouma.nineth.utils.ObjUtils;
 import com.izouma.nineth.utils.SecurityUtils;
@@ -22,8 +24,10 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
+import java.time.OffsetTime;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.Optional;
 import java.util.stream.Collectors;
 
@@ -33,6 +37,7 @@ import java.util.stream.Collectors;
 public class OrderController extends BaseController {
     private OrderService orderService;
     private OrderRepo    orderRepo;
+    private UserRepo     userRepo;
 
     //@PreAuthorize("hasRole('ADMIN')")
     @PostMapping("/save")
@@ -52,6 +57,19 @@ public class OrderController extends BaseController {
         return orderService.all(pageQuery);
     }
 
+    @PostMapping("/backAll")
+    public Page<Order> backAll(@RequestBody PageQuery pageQuery) {
+        Page<Order> all = orderService.all(pageQuery);
+        List<Long> userIds = all.getContent().stream().map(Order::getUserId).distinct().collect(Collectors.toList());
+        Map<Long, String> userMap = userRepo.findAllById(userIds)
+                .stream()
+                .collect(Collectors.toMap(User::getId, User::getNickname));
+        return all.map(order -> {
+            order.setNickname(userMap.get(order.getUserId()));
+            return order;
+        });
+    }
+
     @GetMapping("/get/{id}")
     public Order get(@PathVariable Long id) {
         return orderRepo.findById(id).orElseThrow(new BusinessException("无记录"));

+ 2 - 1
src/main/vue/src/views/OrderList.vue

@@ -54,6 +54,7 @@
             <el-table-column v-if="multipleMode" align="center" type="selection" width="50"> </el-table-column>
             <el-table-column prop="id" label="ID" width="155"> </el-table-column>
             <el-table-column prop="userId" label="用户ID"> </el-table-column>
+            <el-table-column prop="nickname" label="用户昵称" show-overflow-tooltip> </el-table-column>
             <el-table-column prop="collectionId" label="藏品ID"> </el-table-column>
             <el-table-column prop="name" label="名称" min-width="120" show-overflow-tooltip> </el-table-column>
             <el-table-column prop="pic" label="图片" width="80">
@@ -120,7 +121,7 @@ export default {
         return {
             multipleMode: false,
             search: '',
-            url: '/order/all',
+            url: '/order/backAll',
             downloading: false,
             statusOptions: [
                 { label: '未支付', value: 'NOT_PAID' },