From 5997dc8acfa81a6c867c28810d1c3c9714efc46c Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期六, 29 三月 2025 14:55:42 +0800
Subject: [PATCH] fix: 登录

---
 src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java |   36 ++++++++++++++++++++++++++++++++----
 1 files changed, 32 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java b/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java
index c1d7c32..2cbfd39 100644
--- a/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java
+++ b/src/main/java/com/mzl/flower/service/flower/FlowerCategoryService.java
@@ -2,6 +2,7 @@
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.mzl.flower.base.Node;
 import com.mzl.flower.base.cache.CategoryPriceCacheClient;
 import com.mzl.flower.config.exception.ValidationException;
 import com.mzl.flower.config.security.SecurityUtils;
@@ -12,12 +13,15 @@
 import com.mzl.flower.dto.response.flower.FlowerCategoryDTO;
 import com.mzl.flower.dto.response.flower.FlowerCategoryShowDTO;
 import com.mzl.flower.dto.response.flower.FlowerCategoryTreeDTO;
+import com.mzl.flower.entity.customer.Customer;
 import com.mzl.flower.entity.flower.Flower;
 import com.mzl.flower.entity.flower.FlowerCategory;
 import com.mzl.flower.entity.flower.FlowerCategoryDaily;
+import com.mzl.flower.entity.menber.Member;
 import com.mzl.flower.mapper.flower.FlowerCategoryDailyMapper;
 import com.mzl.flower.mapper.flower.FlowerCategoryMapper;
 import com.mzl.flower.mapper.flower.FlowerMapper;
+import com.mzl.flower.mapper.member.MemberMapper;
 import com.mzl.flower.service.BaseService;
 import com.mzl.flower.utils.TreeBuilderUtil;
 import io.micrometer.core.instrument.util.StringUtils;
@@ -69,8 +73,9 @@
     public Long updateCategory(FlowerCategoryUpdateDTO dto){
         Long id = dto.getId();
         FlowerCategory g = categoryMapper.selectById(id);
-
+        Boolean shown = g.getShown();
         BeanUtils.copyProperties(dto, g);
+        g.setShown(shown);
         g.setSortBy(dto.getSortBy() == null ? 0 : dto.getSortBy());
         g.update(SecurityUtils.getUserId());
 
@@ -117,9 +122,26 @@
         return dto;
     }
 
+    public List<FlowerCategoryTreeDTO> selectCategoryList(FlowerCategoryQueryDTO dto){
+        return categoryMapper.selectCategoryList(dto);
+    }
+
     public List<FlowerCategoryTreeDTO> selectCategoryTree(FlowerCategoryQueryDTO dto) {
         List<FlowerCategoryTreeDTO> treeList = categoryMapper.selectTreeList(dto);
         treeList = (List<FlowerCategoryTreeDTO>) TreeBuilderUtil.buildListToTree(treeList);
+        if(treeList != null && treeList.size() > 0){
+            for(FlowerCategoryTreeDTO t : treeList){
+                List<Node> cLs = t.getChildren();
+                String ll = t.getLevelLimit();
+                if(cLs != null && cLs.size() > 0){
+                    for(Node c : cLs){
+                        FlowerCategoryTreeDTO cc = (FlowerCategoryTreeDTO)c;
+                        cc.setLevelLimit(ll);
+                    }
+                }
+            }
+        }
+
         return treeList;
     }
 
@@ -139,7 +161,11 @@
         List<FlowerCategoryTreeDTO> treeList = new ArrayList<>();
         List<FlowerCategoryTreeDTO> result = new ArrayList<>();
         if(tLs != null && tLs.size() > 0){
-            Long partnerId = getCurrentCustomerPartner();
+            Customer p = getCurrentCustomerWithoutCheck();
+            Long partnerId = p == null ? null : p.getPartnerId();
+            Long levelId = p == null ? null : p.getLevelId();
+            Member member = getMember(levelId);
+
             for(FlowerCategoryTreeDTO t : tLs){
                 if(t.getParentId() != null && t.getFlowerCount() == 0){
                     continue;
@@ -150,6 +176,8 @@
                     JSONObject o = parseObject(ppp, JSONObject.class);
                     t.setPriceLow(o.getBigDecimal("priceLow"));
                     t.setPriceHigh(o.getBigDecimal("priceHigh"));
+                    t.setPriceLowMember(calculateMemberPrice(t.getPriceLow(), member));
+                    t.setPriceHighMember(calculateMemberPrice(t.getPriceHigh(), member));
                 }
 
                 treeList.add(t);
@@ -176,11 +204,11 @@
             BigDecimal priceHigh = null;
             for (Flower f : ls) {
                 BigDecimal price = getFinalPrice(partnerId, categoryId, f.getId(), f.getPrice(), f.getLevel());
-                if(priceLow == null || priceLow.doubleValue() > price.doubleValue()){
+                if(priceLow == null || priceLow.compareTo(price) > 0){
                     priceLow = price;
                 }
 
-                if(priceHigh == null || priceHigh.doubleValue() < price.doubleValue()){
+                if(priceHigh == null || priceHigh.compareTo(price) < 0){
                     priceHigh = price;
                 }
             }

--
Gitblit v1.9.3