From 87ec61eabf4ffdc020bcf86a38a91cb59a90eaba Mon Sep 17 00:00:00 2001
From: 陶杰 <1378534974@qq.com>
Date: 星期日, 08 九月 2024 16:29:14 +0800
Subject: [PATCH] 1.我的浏览历史-增加清空失效商品

---
 src/main/resources/mapper/flower/FlowerMapper.xml                      |    5 +++++
 src/main/java/com/mzl/flower/service/customer/BrowseService.java       |   12 ++++++++----
 src/main/java/com/mzl/flower/web/customer/BrowseHistoryController.java |    8 ++++++++
 src/main/java/com/mzl/flower/service/flower/FlowerService.java         |   10 ++++++++++
 src/main/java/com/mzl/flower/mapper/flower/FlowerMapper.java           |    2 ++
 5 files changed, 33 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/mzl/flower/mapper/flower/FlowerMapper.java b/src/main/java/com/mzl/flower/mapper/flower/FlowerMapper.java
index 09f8b27..5dac1ce 100644
--- a/src/main/java/com/mzl/flower/mapper/flower/FlowerMapper.java
+++ b/src/main/java/com/mzl/flower/mapper/flower/FlowerMapper.java
@@ -44,4 +44,6 @@
     List<FlowerListDTO> selectZoneFlowerList(Page page, @Param("condition") FlowerZoneQueryDTO dto);
 
     void updateFlowerCategoryInfo(Long category);
+
+    List<Long> searchInvalidHistory(@Param("userId") String userId);
 }
diff --git a/src/main/java/com/mzl/flower/service/customer/BrowseService.java b/src/main/java/com/mzl/flower/service/customer/BrowseService.java
index e02b040..335afb1 100644
--- a/src/main/java/com/mzl/flower/service/customer/BrowseService.java
+++ b/src/main/java/com/mzl/flower/service/customer/BrowseService.java
@@ -1,13 +1,10 @@
 package com.mzl.flower.service.customer;
 
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.mzl.flower.config.exception.ValidationException;
-import com.mzl.flower.config.security.SecurityUtils;
 import com.mzl.flower.entity.customer.BrowseHistory;
 import com.mzl.flower.mapper.customer.BrowseHistoryMapper;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.scheduling.annotation.Async;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -64,4 +61,11 @@
             log.error(e.getMessage(), e);
         }
     }
+
+    public boolean deleteBatchIds(List<Long> ids) {
+        if(CollectionUtils.isNotEmpty(ids)){
+            return browseHistoryMapper.deleteBatchIds(ids)>0;
+        }
+        return false;
+    }
 }
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 57ab80d..6e4038e 100644
--- a/src/main/java/com/mzl/flower/service/flower/FlowerService.java
+++ b/src/main/java/com/mzl/flower/service/flower/FlowerService.java
@@ -702,4 +702,14 @@
 
         return page;
     }
+
+    public void clearInvalidHistory(String userId) {
+
+        List<Long> ids = flowerMapper.searchInvalidHistory(userId);
+        if(ids!=null && ids.size()>0){
+            browseService.deleteBatchIds(ids);
+
+        }
+
+    }
 }
diff --git a/src/main/java/com/mzl/flower/web/customer/BrowseHistoryController.java b/src/main/java/com/mzl/flower/web/customer/BrowseHistoryController.java
index e94a99f..f8c508d 100644
--- a/src/main/java/com/mzl/flower/web/customer/BrowseHistoryController.java
+++ b/src/main/java/com/mzl/flower/web/customer/BrowseHistoryController.java
@@ -4,6 +4,7 @@
 import com.mzl.flower.base.BaseController;
 import com.mzl.flower.base.R;
 import com.mzl.flower.base.ReturnDataDTO;
+import com.mzl.flower.config.security.SecurityUtils;
 import com.mzl.flower.dto.request.flower.FlowerShowQueryDTO;
 import com.mzl.flower.dto.response.flower.FlowerShowListDTO;
 import com.mzl.flower.service.flower.FlowerService;
@@ -32,4 +33,11 @@
     public ResponseEntity<ReturnDataDTO<Page<FlowerShowListDTO>>> myBrowseHistory(Page page, FlowerShowQueryDTO dto) {
         return returnData(R.SUCCESS.getCode(),flowerService.myBrowseHistory(page,dto));
     }
+
+    @PostMapping("/clear")
+    @ApiOperation(value = "清空失效商品", notes = "清空失效商品")
+    public ResponseEntity<ReturnDataDTO<Page<FlowerShowListDTO>>> clear() {
+        flowerService.clearInvalidHistory(SecurityUtils.getUserId());
+        return returnData(R.SUCCESS.getCode(),null);
+    }
 }
diff --git a/src/main/resources/mapper/flower/FlowerMapper.xml b/src/main/resources/mapper/flower/FlowerMapper.xml
index e5dfa38..8c60d42 100644
--- a/src/main/resources/mapper/flower/FlowerMapper.xml
+++ b/src/main/resources/mapper/flower/FlowerMapper.xml
@@ -381,6 +381,11 @@
         </if>
         ORDER BY fzp.rank asc
     </select>
+    <select id="searchInvalidHistory" resultType="java.lang.Long">
+        SELECT c.id
+        FROM t_browse_his c left join t_flower f on c.flower_id = f.id
+        WHERE f.deleted = 0 and c.deleted = 0 and f.status != 'UP' and c.user_id = #{userId}
+    </select>
 
     <update id="updateFlowerCategoryInfo">
         update t_flower f, t_flower_category fc

--
Gitblit v1.9.3