Browse Source

权益列表

lyhzzz 2 years ago
parent
commit
ac8f437553

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/IInvoiceService.java

@@ -9,6 +9,8 @@ import com.fdkankan.ucenter.vo.request.InvoiceParam;
 import com.fdkankan.ucenter.vo.request.PlaceOrderParam;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Set;
 
 /**
  * <p>
@@ -45,4 +47,6 @@ public interface IInvoiceService extends IService<Invoice> {
     void addInvoice(String token, InvoiceParam param);
 
     void updateInvoice(String token, InvoiceParam param);
+
+    HashMap<Long, Invoice> getByIncrementOrderIds(Set<Long> ids);
 }

+ 3 - 0
src/main/java/com/fdkankan/ucenter/service/IUserIncrementService.java

@@ -7,6 +7,7 @@ import com.fdkankan.ucenter.vo.request.IncrementParam;
 
 import java.util.HashMap;
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -43,4 +44,6 @@ public interface IUserIncrementService extends IService<UserIncrement> {
     void addByCameraAndUser(List<Long> cameraIds, Long id);
 
     void delByCameraId(List<Long> cameraIds);
+
+    HashMap<String, List<Long>> getByOrderSnList(Set<String> orderSn);
 }

+ 10 - 5
src/main/java/com/fdkankan/ucenter/service/impl/IncrementOrderServiceImpl.java

@@ -28,6 +28,7 @@ import com.fdkankan.ucenter.vo.request.OrderParam;
 import com.fdkankan.ucenter.vo.response.GoodsSkuVo;
 import com.fdkankan.ucenter.vo.response.IncrementOrderVo;
 import org.apache.commons.lang3.StringUtils;
+import org.aspectj.weaver.patterns.HasMemberTypePattern;
 import org.joda.time.DateTime;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -35,10 +36,8 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
+import java.util.stream.Collectors;
 
 import static com.fdkankan.ucenter.util.DateUserUtil.getDateTime;
 
@@ -74,13 +73,19 @@ public class IncrementOrderServiceImpl extends ServiceImpl<IIncrementOrderMapper
         Page<IncrementOrder> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
 
         List<IncrementOrderVo> listVo  =new ArrayList<>();
+
+        Set<String> orderSn = page.getRecords().stream().map(IncrementOrder::getOrderSn).collect(Collectors.toSet());
+        Set<Long> ids = page.getRecords().stream().map(IncrementOrder::getId).collect(Collectors.toSet());
+        HashMap<String,List<Long>> map = userIncrementService.getByOrderSnList(orderSn);
+        HashMap<Long,Invoice> invoiceHashMap = invoiceService.getByIncrementOrderIds(ids);
         for (IncrementOrder record : page.getRecords()) {
             if(StringUtils.isNotBlank(record.getTradeTime())){
                 record.setTradeTime(DateUserUtil.AddMinute(record.getTradeTime(),record.getTimeZoneOff()));
             }
-            Invoice invoice = invoiceService.getByIncrementOrderId(record.getId());
+            Invoice invoice = invoiceHashMap.get(record.getId());
             IncrementOrderVo vo = new IncrementOrderVo();
             BeanUtils.copyProperties(record,vo);
+            vo.setIncrementIds(map.get(record.getOrderSn()));
             vo.setInvoice(invoice);
             listVo.add(vo);
         }

+ 15 - 0
src/main/java/com/fdkankan/ucenter/service/impl/InvoiceServiceImpl.java

@@ -25,7 +25,9 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -72,6 +74,19 @@ public class InvoiceServiceImpl extends ServiceImpl<IInvoiceMapper, Invoice> imp
     }
 
     @Override
+    public HashMap<Long, Invoice> getByIncrementOrderIds(Set<Long> ids) {
+        HashMap<Long, Invoice> map = new HashMap<>();
+        if(ids.size() >0){
+            LambdaQueryWrapper<Invoice> wrapper = new LambdaQueryWrapper<>();
+            wrapper.in(Invoice::getIncrementOrderId,ids);
+            List<Invoice> list = this.list(wrapper);
+            list.forEach(entity ->map.put(entity.getIncrementOrderId(),entity));
+        }
+
+        return map;
+    }
+
+    @Override
     public Invoice getByDownId(Long downId) {
         LambdaQueryWrapper<Invoice> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(Invoice::getDownloadOrderId,downId);

+ 16 - 0
src/main/java/com/fdkankan/ucenter/service/impl/UserIncrementServiceImpl.java

@@ -394,4 +394,20 @@ public class UserIncrementServiceImpl extends ServiceImpl<IUserIncrementMapper,
             this.remove(wrapper);
         }
     }
+
+    @Override
+    public HashMap<String, List<Long>> getByOrderSnList(Set<String> orderSn) {
+        HashMap<String, List<Long>> map = new HashMap<>();
+        if(orderSn.size() >0){
+            LambdaQueryWrapper<UserIncrement> wrapper = new LambdaQueryWrapper<>();
+            wrapper.in(UserIncrement::getOrderSn,orderSn);
+            List<UserIncrement> list = this.list(wrapper);
+            for (UserIncrement userIncrement : list) {
+                map.computeIfAbsent(userIncrement.getOrderSn(), k -> new ArrayList<>());
+                map.get(userIncrement.getOrderSn()).add(userIncrement.getId());
+            }
+        }
+
+        return map;
+    }
 }

+ 3 - 0
src/main/java/com/fdkankan/ucenter/vo/response/IncrementOrderVo.java

@@ -4,7 +4,10 @@ import com.fdkankan.ucenter.entity.IncrementOrder;
 import com.fdkankan.ucenter.entity.Invoice;
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class IncrementOrderVo extends IncrementOrder {
     private Invoice invoice;
+    private List<Long> incrementIds;
 }