From a768dc3daa04d35fedfbe75c0a59b9b2545b85c4 Mon Sep 17 00:00:00 2001
From: gongzuming <gongzuming>
Date: 星期四, 19 九月 2024 16:59:33 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master-v2'

---
 src/main/java/com/mzl/flower/service/flower/FlowerService.java |   69 ++++++++++++++++++++++++++--------
 1 files changed, 52 insertions(+), 17 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/flower/FlowerService.java b/src/main/java/com/mzl/flower/service/flower/FlowerService.java
index d7b2ea7..3a25854 100644
--- a/src/main/java/com/mzl/flower/service/flower/FlowerService.java
+++ b/src/main/java/com/mzl/flower/service/flower/FlowerService.java
@@ -11,6 +11,7 @@
 import com.mzl.flower.entity.customer.Collect;
 import com.mzl.flower.entity.customer.Customer;
 import com.mzl.flower.entity.flower.*;
+import com.mzl.flower.entity.menber.Member;
 import com.mzl.flower.entity.payment.Cart;
 import com.mzl.flower.entity.payment.Order;
 import com.mzl.flower.entity.payment.OrderItem;
@@ -214,6 +215,7 @@
         } else {
             g.setPrice(dto.getPrice());
             g.setStock(dto.getStock());
+            g.setLimited(dto.getLimited());
         }
 
         g.update(SecurityUtils.getUserId());
@@ -245,6 +247,7 @@
     public Long editFlowerAdmin(FlowerUpdateAdminDTO dto){
         Flower g = flowerMapper.selectById(dto.getId());
         g.setSales(dto.getSales());
+        g.setLimited(dto.getLimited());
         g.update(SecurityUtils.getUserId());
         flowerMapper.updateById(g);
 
@@ -406,8 +409,6 @@
             dto.setZoneName(String.join(",", zoneNameLs));
         }
 
-        //TODO 合伙人加价列表
-
         return dto;
     }
 
@@ -465,6 +466,9 @@
     public void deleteFlower(Long id){
 
         final Flower flower = flowerMapper.selectById(id);
+        if(flower == null){
+            throw new ValidationException("商品未找到");
+        }
 
         flowerMapper.deleteById(id);
 
@@ -552,20 +556,7 @@
         dto.setUserId(SecurityUtils.getUserId());
         dto.setParamId(paramService.getParamIdByCategoryId(dto.getCategory()));
         List<FlowerShowListDTO> ls = flowerMapper.selectFlowerShowList(page, dto);
-        if(ls != null && ls.size() > 0){
-            Long partnerId = getCurrentCustomerPartner();
-            for(FlowerShowListDTO s : ls){
-                BigDecimal price = getFinalPrice(partnerId, s.getCategory()
-                        , s.getId(), s.getPrice(), s.getLevel());
-                s.setPrice(price);
-                s.setCollection(s.getCollectCount() > 0);
-                s.setShopnum(s.getShopnum() == null ? 0 : s.getShopnum());
-
-                if(s.getSales() != null && s.getRealSales() != null){
-                    s.setSales(s.getSales() + s.getRealSales());
-                }
-            }
-        }
+        prepareShowList(ls);
 
         page.setRecords(ls);
 
@@ -592,10 +583,14 @@
         if(pId == null){
             pId = getCurrentCustomerPartner();
         }
+        Customer p = getCurrentCustomerWithoutCheck();
+        Long levelId = p == null ? null : p.getLevelId();
+        Member member = getMember(levelId);
 
         BigDecimal price = getFinalPrice(pId, dto.getCategory()
                 , dto.getId(), dto.getPrice(), dto.getLevel());
         dto.setPrice(price);
+        dto.setPriceMember(calculateMemberPrice(price, member));
 
         String userId = SecurityUtils.getUserId();
         if(StringUtils.isNotEmpty(userId)) {
@@ -696,8 +691,33 @@
 
         dto.setParamId(paramService.getParamIdByCategoryId(dto.getCategory()));
         List<FlowerShowListDTO> flowerShowListDTOS = flowerMapper.myCollect(page, dto);
+        prepareShowList(flowerShowListDTOS);
+
         page.setRecords(flowerShowListDTOS);
         return page;
+    }
+
+    private void prepareShowList(List<FlowerShowListDTO> ls){
+        if(ls != null && ls.size() > 0){
+            Customer p = getCurrentCustomerWithoutCheck();
+            Long partnerId = p == null ? null : p.getPartnerId();
+            Long levelId = p == null ? null : p.getLevelId();
+            Member member = getMember(levelId);
+
+            for(FlowerShowListDTO s : ls){
+                BigDecimal price = getFinalPrice(partnerId, s.getCategory()
+                        , s.getId(), s.getPrice(), s.getLevel());
+                s.setPrice(price);
+                s.setPriceMember(calculateMemberPrice(price, member));
+
+                s.setCollection(s.getCollectCount() > 0);
+                s.setShopnum(s.getShopnum() == null ? 0 : s.getShopnum());
+
+                if(s.getSales() != null && s.getRealSales() != null){
+                    s.setSales(s.getSales() + s.getRealSales());
+                }
+            }
+        }
     }
 
     public Page<FlowerShowListDTO> myBrowseHistory(Page page, FlowerShowQueryDTO dto) {
@@ -711,6 +731,8 @@
         }*/
         dto.setParamId(paramService.getParamIdByCategoryId(dto.getCategory()));
         List<FlowerShowListDTO> flowerShowListDTOS = flowerMapper.myBrowseHistory(page, dto);
+        prepareShowList(flowerShowListDTOS);
+
         page.setRecords(flowerShowListDTOS);
         return page;
     }
@@ -719,7 +741,8 @@
         if(dto.getZoneId()!=null && dto.getZoneId().size()>0){//添加专区
             for (Long zoneId : dto.getZoneId()) {
                 for(Long flowerId : dto.getIds()) {
-                    FlowerZoneMap fzp = flowerZoneMapMapper.selectOne(new QueryWrapper<FlowerZoneMap>().eq("flower_id", flowerId).eq("zone_id", zoneId));
+                    FlowerZoneMap fzp = flowerZoneMapMapper.selectOne(new QueryWrapper<FlowerZoneMap>()
+                            .eq("flower_id", flowerId).eq("zone_id", zoneId));
                     if(fzp==null){
                         fzp = new FlowerZoneMap();
                         fzp.setFlowerId(flowerId);
@@ -854,5 +877,17 @@
         return flowerDeleteDO;
     }
 
+    public void setFlowersLimited(FlowerLimitedDTO dto) {
+        List<Long> ids = dto.getIds();
+        if (ids == null || ids.size() == 0) {
+            throw new ValidationException("请选择商品");
+        }
+        for (Long id : ids) {
+            Flower f = flowerMapper.selectById(id);
+            f.setLimited(dto.getLimited());
+            flowerMapper.updateById(f);
+        }
+    }
+
 
 }

--
Gitblit v1.9.3