Browse Source

收银商品分页功能

fushengqian 1 year ago
parent
commit
e5e682df60

+ 4 - 1
fuint-application/src/main/java/com/fuint/common/service/GoodsService.java

@@ -85,9 +85,12 @@ public interface GoodsService {
      *
      * @param storeId
      * @param keyword
+     * @param cateId
+     * @param page
+     * @param pageSize
      * @return
      * */
-    List<MtGoods> getStoreGoodsList(Integer storeId, String keyword) throws BusinessCheckException;
+    Map<String, Object> getStoreGoodsList(Integer storeId, String keyword, Integer cateId, Integer page, Integer pageSize) throws BusinessCheckException;
 
     /**
      * 根据skuId获取规格列表

+ 18 - 4
fuint-application/src/main/java/com/fuint/common/service/impl/GoodsServiceImpl.java

@@ -409,15 +409,24 @@ public class GoodsServiceImpl extends ServiceImpl<MtGoodsMapper, MtGoods> implem
      *
      * @param storeId
      * @param keyword
+     * @param cateId
+     * @param page
+     * @param pageSize
      * @return
      * */
     @Override
-    public List<MtGoods> getStoreGoodsList(Integer storeId, String keyword) throws BusinessCheckException {
+    public Map<String, Object> getStoreGoodsList(Integer storeId, String keyword, Integer cateId, Integer page, Integer pageSize) throws BusinessCheckException {
         MtStore mtStore = storeService.queryStoreById(storeId);
         if (mtStore == null) {
-            return new ArrayList<>();
+            Map<String, Object> result = new HashMap<>();
+            result.put("goodsList", new ArrayList<>());
+            result.put("total", 0);
+            return result;
         }
         Integer merchantId = mtStore.getMerchantId() == null ? 0 : mtStore.getMerchantId();
+
+        Page<MtGoods> pageHelper = PageHelper.startPage(page, pageSize);
+
         List<MtGoods> goodsList = new ArrayList<>();
         List<MtGoodsSku> skuList = new ArrayList<>();
         if (StringUtil.isNotEmpty(keyword)) {
@@ -430,7 +439,7 @@ public class GoodsServiceImpl extends ServiceImpl<MtGoodsMapper, MtGoods> implem
             if (keyword != null && StringUtil.isNotEmpty(keyword)) {
                 goodsList = mtGoodsMapper.searchStoreGoodsList(merchantId, storeId, keyword);
             } else {
-                goodsList = mtGoodsMapper.getStoreGoodsList(merchantId, storeId);
+                goodsList = mtGoodsMapper.getStoreGoodsList(merchantId, storeId, cateId);
             }
         }
         List<MtGoods> dataList = new ArrayList<>();
@@ -457,7 +466,12 @@ public class GoodsServiceImpl extends ServiceImpl<MtGoodsMapper, MtGoods> implem
                 dataList.add(mtGoods);
             }
         }
-        return dataList;
+
+        Map<String, Object> data = new HashMap<>();
+        data.put("goodsList", dataList);
+        data.put("total", pageHelper.getTotal());
+
+        return data;
     }
 
     /**

+ 9 - 4
fuint-application/src/main/java/com/fuint/module/backendApi/controller/BackendCashierController.java

@@ -1,5 +1,6 @@
 package com.fuint.module.backendApi.controller;
 
+import com.fuint.common.Constants;
 import com.fuint.common.dto.*;
 import com.fuint.common.enums.OrderModeEnum;
 import com.fuint.common.enums.PlatformTypeEnum;
@@ -103,6 +104,9 @@ public class BackendCashierController extends BaseController {
     @CrossOrigin
     public ResponseObject init(HttpServletRequest request, @PathVariable("userId") Integer userId) throws BusinessCheckException {
         String token = request.getHeader("Access-Token");
+        Integer page = request.getParameter("page") == null ? Constants.PAGE_NUMBER : Integer.parseInt(request.getParameter("page"));
+        Integer pageSize = request.getParameter("pageSize") == null ? Constants.PAGE_SIZE : Integer.parseInt(request.getParameter("pageSize"));
+        Integer cateId = request.getParameter("cateId") == null ? 0 : Integer.parseInt(request.getParameter("cateId"));
 
         AccountInfo accountDto = TokenUtil.getAccountInfoByToken(token);
         if (accountDto == null) {
@@ -142,7 +146,7 @@ public class BackendCashierController extends BaseController {
         List<MtGoodsCate> cateList = cateService.queryCateListByParams(param);
 
         param.put("status", StatusEnum.ENABLED.getKey());
-        List<MtGoods> goodsList = goodsService.getStoreGoodsList(storeId, "");
+        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, "", cateId, page, pageSize);
 
         String imagePath = settingService.getUploadBasePath();
 
@@ -151,7 +155,8 @@ public class BackendCashierController extends BaseController {
         result.put("storeInfo", storeInfo);
         result.put("memberInfo", memberInfo);
         result.put("accountInfo", accountDto);
-        result.put("goodsList", goodsList);
+        result.put("goodsList", goodsData.get("goodsList"));
+        result.put("totalGoods", goodsData.get("total"));
         result.put("cateList", cateList);
 
         return getSuccessResult(result);
@@ -179,8 +184,8 @@ public class BackendCashierController extends BaseController {
         TAccount accountInfo = accountService.getAccountInfoById(accountDto.getId());
         Integer storeId = accountInfo.getStoreId();
 
-        List<MtGoods> goodsList = goodsService.getStoreGoodsList(storeId, keyword);
-        return getSuccessResult(goodsList);
+        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, keyword, 0, 1, 100);
+        return getSuccessResult(goodsData.get("goodsList"));
     }
 
     /**

+ 5 - 4
fuint-application/src/main/java/com/fuint/module/clientApi/controller/ClientGoodsController.java

@@ -86,11 +86,12 @@ public class ClientGoodsController extends BaseController {
             param.put("storeId", storeId);
         }
         List<MtGoodsCate> cateList = cateService.queryCateListByParams(param);
-        List<MtGoods> goodsList = goodsService.getStoreGoodsList(storeId, "");
+        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, "", 0, 1, 200);
+        List<MtGoods> goodsList = (ArrayList)goodsData.get("goodsList");
         String baseImage = settingService.getUploadBasePath();
         if (goodsList.size() > 0) {
             for (MtGoods goods : goodsList) {
-                goods.setLogo(baseImage + goods.getLogo());
+                 goods.setLogo(baseImage + goods.getLogo());
             }
         }
 
@@ -121,8 +122,8 @@ public class ClientGoodsController extends BaseController {
     @CrossOrigin
     public ResponseObject list(HttpServletRequest request) throws BusinessCheckException {
         Integer storeId = request.getHeader("storeId") == null ? 0 : Integer.parseInt(request.getHeader("storeId"));
-        List<MtGoods> goodsList = goodsService.getStoreGoodsList(storeId, "");
-        return getSuccessResult(goodsList);
+        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, "", 0,1, 200);
+        return getSuccessResult(goodsData.get("goodsList"));
     }
 
     /**

+ 1 - 1
fuint-repository/src/main/java/com/fuint/repository/mapper/MtGoodsMapper.java

@@ -17,7 +17,7 @@ import java.util.List;
  */
 public interface MtGoodsMapper extends BaseMapper<MtGoods> {
 
-    List<MtGoods> getStoreGoodsList(@Param("merchantId") Integer merchantId, @Param("storeId") Integer storeId);
+    List<MtGoods> getStoreGoodsList(@Param("merchantId") Integer merchantId, @Param("storeId") Integer storeId, @Param("cateId") Integer cateId);
 
     List<MtGoods> searchStoreGoodsList(@Param("merchantId") Integer merchantId, @Param("storeId") Integer storeId, @Param("keyword") String keyword);
 

+ 6 - 1
fuint-repository/src/main/resources/mapper/MtGoodsMapper.xml

@@ -2,7 +2,12 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fuint.repository.mapper.MtGoodsMapper">
     <select id="getStoreGoodsList" resultType="com.fuint.repository.model.MtGoods">
-        select * from mt_goods t where (t.STORE_ID = #{storeId} or t.STORE_ID = 0) and t.MERCHANT_ID = #{merchantId} and t.STATUS = 'A' order by t.sort asc
+        select * from mt_goods t where (t.STORE_ID = #{storeId} or t.STORE_ID = 0)
+        <if test="cateId != null and cateId > 0">
+            AND t.CATE_ID = #{cateId}
+        </if>
+        and t.MERCHANT_ID = #{merchantId}
+        and t.STATUS = 'A' order by t.sort asc
     </select>
 
     <select id="searchStoreGoodsList" resultType="com.fuint.repository.model.MtGoods">