wangqifan 4 年 前
コミット
39b6fd232f

+ 1 - 0
src/main/java/com/izouma/tcg/domain/card/CardCase.java

@@ -50,5 +50,6 @@ public class CardCase extends BaseEntity {
     @ApiModelProperty("详情介绍")
     @Column(columnDefinition = "TEXT")
     private String        description;
+    private Long          storeId;
     private boolean       special;
 }

+ 2 - 0
src/main/java/com/izouma/tcg/domain/customizeStore/Store.java

@@ -31,6 +31,8 @@ public class Store extends BaseEntity {
     private String       city;
     @ApiModelProperty(value = "详细地址", name = "detail")
     private String       detail;
+    @ApiModelProperty(value = "logo", name = "logo")
+    private String       logo;
     @Column(columnDefinition = "TEXT")
     @ApiModelProperty(value = "图片", name = "images")
     @Convert(converter = StringArrayConverter.class)

+ 2 - 0
src/main/java/com/izouma/tcg/dto/OrderInfoDTO.java

@@ -22,4 +22,6 @@ public class OrderInfoDTO {
     private String            remark;
     private LocalDateTime     createTime;
     private BigDecimal        total;
+    private Long              storeId;
+    private String            logo;
 }

+ 3 - 0
src/main/java/com/izouma/tcg/dto/cardCase/CardCaseDTO.java

@@ -14,6 +14,9 @@ public class CardCaseDTO {
     private BigDecimal    price;
     private Integer       preorder;
     private Integer       total;
+    private Long          storeId;
+    private String        storeName;
     private String        caseStatus;
     private boolean       special;
+    private String        storeLogo;
 }

+ 22 - 8
src/main/java/com/izouma/tcg/service/card/CardCaseService.java

@@ -1,31 +1,30 @@
 package com.izouma.tcg.service.card;
 
+import com.izouma.tcg.domain.User;
 import com.izouma.tcg.domain.card.CardBox;
 import com.izouma.tcg.domain.card.CardCase;
 import com.izouma.tcg.domain.card.Collection;
+import com.izouma.tcg.domain.customizeStore.Store;
 import com.izouma.tcg.dto.CardBoxDTO;
 import com.izouma.tcg.dto.GroupDTO;
 import com.izouma.tcg.dto.PageQuery;
 import com.izouma.tcg.dto.cardCase.CardCaseDTO;
 import com.izouma.tcg.dto.cardCase.CardCaseInputDTO;
-import com.izouma.tcg.dto.user.CartDTO;
 import com.izouma.tcg.enums.CaseStatus;
 import com.izouma.tcg.exception.BusinessException;
 import com.izouma.tcg.repo.card.CardBoxRepo;
 import com.izouma.tcg.repo.card.CardCaseRepo;
 import com.izouma.tcg.repo.card.CollectionRepo;
+import com.izouma.tcg.repo.customizeStore.StoreRepo;
 import com.izouma.tcg.utils.JpaUtils;
+import com.izouma.tcg.utils.SecurityUtils;
 import lombok.AllArgsConstructor;
 import org.apache.commons.lang3.StringUtils;
-import org.apache.logging.log4j.util.SortedArrayStringMap;
 import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 
 import javax.transaction.Transactional;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
 import java.util.*;
-import java.util.function.Function;
 import java.util.stream.Collectors;
 
 @Service
@@ -35,6 +34,7 @@ public class CardCaseService {
     private final CardCaseRepo   cardCaseRepo;
     private final CollectionRepo collectionRepo;
     private final CardBoxRepo    cardBoxRepo;
+    private final StoreRepo      storeRepo;
 
     public Page<CardCase> all(PageQuery pageQuery) {
         return cardCaseRepo
@@ -134,7 +134,12 @@ public class CardCaseService {
             cardCaseDTO.setEndTime(cardCase.getStartTime());
             cardCaseDTO.setCaseStatus(cardCase.getCaseStatus().toString());
             Integer preorderCount = cardBoxRepo.countAllByCardCaseIdAndUserIdNotNull(cardCase.getId());
-
+            Store store = storeRepo.findById(cardCase.getStoreId()).orElse(null);
+            if (store != null) {
+                cardCaseDTO.setStoreId(store.getId());
+                cardCaseDTO.setStoreName(store.getStoreName());
+                cardCaseDTO.setStoreLogo(store.getStoreName());
+            }
             cardCaseDTO.setPrice(cardCase.getBoxPrice());
             if (cardCase.isSpecial()) {
                 cardCaseDTO.setTotal(cardCase.getCardBoxList().size() / 2);
@@ -167,8 +172,12 @@ public class CardCaseService {
         cardCaseDTO.setCaseStatus(cardCase.getCaseStatus().toString());
         cardCaseDTO.setSpecial(cardCase.isSpecial());
         Integer preorderCount = cardBoxRepo.countAllByCardCaseIdAndUserIdNotNull(cardCase.getId());
-
-
+        Store store = storeRepo.findById(cardCase.getStoreId()).orElse(null);
+        if (store != null) {
+            cardCaseDTO.setStoreId(store.getId());
+            cardCaseDTO.setStoreName(store.getStoreName());
+            cardCaseDTO.setStoreLogo(store.getStoreName());
+        }
         if (cardCase.isSpecial()) {
             cardCaseDTO.setTotal(cardCase.getCardBoxList().size() / 2);
             cardCaseDTO.setPreorder(preorderCount / 2);
@@ -191,6 +200,11 @@ public class CardCaseService {
                 cardCase = orig;
             }
         }
+        User user = SecurityUtils.getAuthenticatedUser();
+        Store store = storeRepo.findFirstByUserId(user.getId());
+        if (store != null) {
+            cardCase.setStoreId(store.getId());
+        }
         Collection collection = collectionRepo.findById(cardCaseInputDTO.getCollectionId())
                 .orElseThrow(new BusinessException("无系列信息"));
         cardCase.setSeriesId(collection.getSeriesId());

+ 14 - 0
src/main/java/com/izouma/tcg/service/orderInfo/OrderInfoService.java

@@ -4,6 +4,7 @@ import com.github.benmanes.caffeine.cache.Cache;
 import com.izouma.tcg.domain.User;
 import com.izouma.tcg.domain.card.CardBox;
 import com.izouma.tcg.domain.card.CardCase;
+import com.izouma.tcg.domain.customizeStore.Store;
 import com.izouma.tcg.domain.orderInfo.OrderInfo;
 import com.izouma.tcg.domain.orderInfo.TransactionRecord;
 import com.izouma.tcg.dto.OrderInfoDTO;
@@ -14,6 +15,7 @@ import com.izouma.tcg.enums.TransactionRecordType;
 import com.izouma.tcg.exception.BusinessException;
 import com.izouma.tcg.repo.card.CardBoxRepo;
 import com.izouma.tcg.repo.card.CardCaseRepo;
+import com.izouma.tcg.repo.customizeStore.StoreRepo;
 import com.izouma.tcg.repo.orderInfo.OrderInfoRepo;
 import com.izouma.tcg.repo.orderInfo.TransactionRecordRepo;
 import com.izouma.tcg.service.card.CardCaseService;
@@ -48,6 +50,8 @@ public class OrderInfoService {
     private TransactionRecordRepo transactionRecordRepo;
     @Autowired
     private OrderDelayService     orderDelayService;
+    @Autowired
+    private StoreRepo             storeRepo;
 
     public OrderInfoService() {
     }
@@ -109,6 +113,10 @@ public class OrderInfoService {
         List<CardBox> cardBoxList = cardBoxRepo.findAllByIdIn(boxIds);
         CardCase cardCase = cardCaseRepo.findById(caseId).orElseThrow(new BusinessException("无信息"));
         Map<String, Object> resultMap = new HashMap<>();
+        Store store = storeRepo.findById(cardCase.getStoreId()).orElse(null);
+        if (store != null) {
+            resultMap.put("store", store);
+        }
         if (cardCase.isSpecial()) {
             Map<String, List<CardBox>> stringListMap = cardBoxList.stream()
                     .collect(Collectors.groupingBy(CardBox::getGroupCode));
@@ -236,6 +244,12 @@ public class OrderInfoService {
             orderInfoDTO.setStatus(orderInfo.getOrderStatus());
             orderInfoDTO.setTotal(orderInfo.getTotal());
             orderInfoDTO.setStoreName("卓卡官方");
+            Store store = storeRepo.findById(orderInfo.getStoreId()).orElse(null);
+            if (store != null) {
+                orderInfoDTO.setStoreName(store.getStoreName());
+                orderInfoDTO.setStoreId(store.getId());
+                orderInfoDTO.setLogo(store.getLogo());
+            }
             List<OrderBoxDTO> orderBoxDTOS = new ArrayList<>();
             if (orderInfo.getCardBoxList().size() < 1 & orderInfo.getCardBoxStr() != null) {
                 List<Long> boxIds = Arrays

+ 1 - 1
src/main/java/com/izouma/tcg/web/orderInfo/OrderInfoController.java

@@ -130,7 +130,7 @@ public class OrderInfoController extends BaseController {
 
     @GetMapping("/showMyOrderInfos")
     @ApiOperation("/展示订单列表")
-    public List<OrderInfoDTO> showMyOrderInfos(Long userId, OrderStatus orderStatus, @RequestParam(required = false) Long orderInfoId) {
+    public List<OrderInfoDTO> showMyOrderInfos(Long userId, OrderStatus orderStatus, @RequestParam(required = false) Long orderInfoId, @RequestParam(required = false) Long storeId) {
         return orderInfoService.showMyOrderInfos(userId, orderStatus, orderInfoId);
     }