Browse Source

删除历史记录

PLF 5 years ago
parent
commit
5015b880b7

+ 27 - 4
src/main/java/com/caimei/controller/search/SearchController.java

@@ -37,12 +37,18 @@ public class SearchController {
     @ResponseBody
     @RequestMapping("/product")
     public CmWxJsonModel searchProduct(Integer organizeID, String searchWord, String code, Integer index,
-                                     Integer pageSize, HttpServletRequest request) {
+                                       Integer pageSize, HttpServletRequest request) {
         CmWxJsonModel jsonModel = loginController.login(code, request, organizeID);
         String openID = (String) jsonModel.getData();
-        //保存并删除大于10条的历史记录
-        searchService.saveProductRecord(organizeID, searchWord, openID);
-        searchService.deleteProductRecord(organizeID, openID);
+        //查询历史记录是否存在
+        CmMallProductSearchHistory productSearchHistory = searchService.findAllProductRecord(organizeID, searchWord, openID);
+        if (productSearchHistory == null) {
+            //保存并删除大于10条的历史记录
+            searchService.saveProductRecord(organizeID, searchWord, openID);
+            searchService.deleteProductRecord(organizeID, openID);
+        } else {
+            searchService.updateProductRecord(organizeID, searchWord, openID);
+        }
         if (index == null) index = 0;
         if (pageSize == null) pageSize = 10;
         PageHelper.startPage(index, pageSize);
@@ -70,4 +76,21 @@ public class SearchController {
         List<CmMallProductSearchHistory> historyList = searchService.findProductRecord(organizeID, openID);
         return CmWxJsonModel.newInstance().success(historyList);
     }
+
+    /**
+     * 首页搜索删除历史记录
+     */
+    @ResponseBody
+    @RequestMapping("/delete")
+    public CmWxJsonModel deleteProductRecord(Integer organizeID, String code, HttpServletRequest request) {
+        CmWxJsonModel model = CmWxJsonModel.newInstance();
+        try {
+            CmWxJsonModel jsonModel = loginController.login(code, request, organizeID);
+            String openID = (String) jsonModel.getData();
+            searchService.deleteRecord(organizeID, openID);
+        } catch (Exception e) {
+            return model.error("删除失败");
+        }
+        return model.success();
+    }
 }

+ 9 - 0
src/main/java/com/caimei/entity/CmMallOrganizeProducts.java

@@ -37,6 +37,7 @@ public class CmMallOrganizeProducts implements Serializable {
     private String productClassifyName;//商品分类名字
     private Boolean productsChecked = false;  //商品勾选状态
     private String postageToPay;//邮费是否到付:1是,2否[是为到付,否为不到付并非包邮具体是否包邮参考邮费规则]
+    private List<CmMallProductLadderPrice> productLadderPrices;  //阶梯价格
 
     public Integer getId() {
         return id;
@@ -301,4 +302,12 @@ public class CmMallOrganizeProducts implements Serializable {
     public void setLadderPriceFlag(String ladderPriceFlag) {
         this.ladderPriceFlag = ladderPriceFlag;
     }
+
+    public List<CmMallProductLadderPrice> getProductLadderPrices() {
+        return productLadderPrices;
+    }
+
+    public void setProductLadderPrices(List<CmMallProductLadderPrice> productLadderPrices) {
+        this.productLadderPrices = productLadderPrices;
+    }
 }

+ 2 - 0
src/main/java/com/caimei/mapper/products/DetailsMapper.java

@@ -22,4 +22,6 @@ public interface DetailsMapper {
     CmMallCart findCartProduct(CmMallCart cmMallCart);
 
     void updateCart(CmMallCart cart);
+
+    List<CmMallProductLadderPrice> findLadderPrice(Integer id);
 }

+ 6 - 0
src/main/java/com/caimei/mapper/search/SearchMapper.java

@@ -19,4 +19,10 @@ public interface SearchMapper {
     CmMallProductLadderPrice findLadderPrice(Integer id);
 
     List<CmMallProductSearchHistory> findProductRecord(@Param("organizeID") Integer organizeID, @Param("openID") String openID);
+
+    void deleteRecord(@Param("organizeID") Integer organizeID, @Param("openID") String openID);
+
+    CmMallProductSearchHistory findAllProductRecord(@Param("organizeID") Integer organizeID, @Param("openID") String openID, @Param("searchWord") String searchWord);
+
+    void updateProductRecord(CmMallProductSearchHistory productSearchHistory);
 }

+ 5 - 0
src/main/java/com/caimei/service/products/impl/DetailsServiceImpl.java

@@ -71,6 +71,11 @@ public class DetailsServiceImpl implements DetailsService {
         Integer count = homePageMapper.cartQuantity(userID);
         if (count == null) count = 0;
         organizeProducts.setCartCount(count);
+        //启用阶梯价格
+        if (organizeProducts.getLadderPriceFlag().equals("1")) {
+            List<CmMallProductLadderPrice> ladderPriceList = detailsMapper.findLadderPrice(id);
+            organizeProducts.setProductLadderPrices(ladderPriceList);
+        }
         return organizeProducts;
     }
 

+ 15 - 5
src/main/java/com/caimei/service/products/impl/ShoppingServiceImpl.java

@@ -1,9 +1,7 @@
 package com.caimei.service.products.impl;
 
-import com.caimei.entity.CmMallCart;
-import com.caimei.entity.CmMallOrganizeProducts;
-import com.caimei.entity.CmMallPage;
-import com.caimei.entity.CmMallShop;
+import com.caimei.entity.*;
+import com.caimei.mapper.products.DetailsMapper;
 import com.caimei.mapper.products.HomePageMapper;
 import com.caimei.mapper.products.ShoppingMapper;
 import com.caimei.service.products.ShoppingService;
@@ -26,6 +24,8 @@ public class ShoppingServiceImpl implements ShoppingService {
     private ShoppingMapper shoppingMapper;
     @Autowired
     private HomePageMapper homePageMapper;
+    @Autowired
+    private DetailsMapper detailsMapper;
     @Value("${miniprogram.domain}")
     private String domain;
 
@@ -42,6 +42,16 @@ public class ShoppingServiceImpl implements ShoppingService {
                 for (CmMallOrganizeProducts products : productsList) {
                     products.setMainImage(AppUtils.getImageURL("product", products.getMainImage(), 0, domain));
                     if (products.getValidFlag().equals("1")) {
+                        if (products.getLadderPriceFlag().equals("1")) {
+                            //启用阶梯价格
+                            List<CmMallProductLadderPrice> ladderPriceList = detailsMapper.findLadderPrice(products.getId());
+                            for (CmMallProductLadderPrice ladderPrice : ladderPriceList) {
+                                if (products.getProductCount() >= ladderPrice.getBuyNum()) {
+                                    products.setRetailPrice(ladderPrice.getBuyPrice());
+                                }
+                            }
+                            products.setProductLadderPrices(ladderPriceList);
+                        }
                         totalPrice += (products.getRetailPrice() * products.getProductCount());
                     }
                 }
@@ -51,7 +61,7 @@ public class ShoppingServiceImpl implements ShoppingService {
         CmMallPage<CmMallShop> page = new CmMallPage<>(cmMallShopList);
         Integer cartQuantity = homePageMapper.cartQuantity(userID);
         if (cartQuantity == null) cartQuantity = 0;
-        logger.info("------------ShoppingServiceImpl.findAllCart.cartQuantity:"+cartQuantity);
+        logger.info("------------ShoppingServiceImpl.findAllCart.cartQuantity:" + cartQuantity);
         map.put("page", page);
         map.put("cartQuantity", cartQuantity);
         return map;

+ 6 - 0
src/main/java/com/caimei/service/search/SearchService.java

@@ -16,4 +16,10 @@ public interface SearchService {
     List<CmMallProductSearchHistory> findProductRecord(Integer organizeID, String openID);
 
     CmMallProductLadderPrice findLadderPrice(Integer id);
+
+    void deleteRecord(Integer organizeID, String openID);
+
+    CmMallProductSearchHistory findAllProductRecord(Integer organizeID, String searchWord, String openID);
+
+    void updateProductRecord(Integer organizeID, String searchWord, String openID);
 }

+ 20 - 0
src/main/java/com/caimei/service/search/impl/SearchServiceImpl.java

@@ -47,4 +47,24 @@ public class SearchServiceImpl implements SearchService {
     public CmMallProductLadderPrice findLadderPrice(Integer id) {
         return searchMapper.findLadderPrice(id);
     }
+
+    @Override
+    public void deleteRecord(Integer organizeID, String openID) {
+        searchMapper.deleteRecord(organizeID, openID);
+    }
+
+    @Override
+    public CmMallProductSearchHistory findAllProductRecord(Integer organizeID, String searchWord, String openID) {
+        return searchMapper.findAllProductRecord(organizeID, openID, searchWord);
+    }
+
+    @Override
+    public void updateProductRecord(Integer organizeID, String searchWord, String openID) {
+        CmMallProductSearchHistory productSearchHistory = new CmMallProductSearchHistory();
+        productSearchHistory.setOpenID(openID);
+        productSearchHistory.setOrganizeID(organizeID);
+        productSearchHistory.setSearchDate(new Date());
+        productSearchHistory.setSearchWord(searchWord);
+        searchMapper.updateProductRecord(productSearchHistory);
+    }
 }

+ 11 - 0
src/main/resources/mapper/DetailsMapper.xml

@@ -84,4 +84,15 @@
           id = #{id}
     </update>
 
+    <select id="findLadderPrice" resultType="com.caimei.entity.CmMallProductLadderPrice">
+        SELECT
+          *
+        FROM
+          cm_mall_product_ladder_price
+        WHERE
+          productId = #{id}
+          AND delFlag = '0'
+        ORDER BY
+          ladderNum ASC
+    </select>
 </mapper>

+ 33 - 0
src/main/resources/mapper/SearchMapper.xml

@@ -83,5 +83,38 @@
           organizeID = #{organizeID}
           AND openID = #{openID}
           AND delFlag = '0'
+          ORDER BY searchDate DESC
     </select>
+
+    <delete id="deleteRecord">
+        DELETE FROM
+          cm_mall_product_search_history
+        WHERE
+          openID = #{openID}
+          AND organizeID = #{organizeID}
+    </delete>
+
+    <select id="findAllProductRecord" resultType="com.caimei.entity.CmMallProductSearchHistory">
+        SELECT
+          *
+        FROM
+          cm_mall_product_search_history
+        WHERE
+          organizeID = #{organizeID}
+          AND openID = #{openID}
+          AND searchWord = #{searchWord}
+          AND delFlag = '0'
+    </select>
+
+    <update id="updateProductRecord">
+        UPDATE
+          cm_mall_product_search_history
+        SET
+          searchDate = #{searchDate}
+        WHERE
+          openID = #{openID}
+          AND organizeID = #{organizeID}
+          AND searchWord = #{searchWord}
+          AND delFlag = '0'
+    </update>
 </mapper>