Browse Source

fixed 商品可用平台功能迭代

fushengqian 3 weeks ago
parent
commit
2399d2a41b

+ 3 - 0
fuint-application/src/main/java/com/fuint/common/dto/GoodsDto.java

@@ -48,6 +48,9 @@ public class GoodsDto implements Serializable {
     @ApiModelProperty("商品条码")
     @ApiModelProperty("商品条码")
     private String goodsNo;
     private String goodsNo;
 
 
+    @ApiModelProperty("可用平台,0:不限,1:仅会员端(小程序和h5);2:仅收银端")
+    private Integer platform;
+
     @ApiModelProperty("可否单规格")
     @ApiModelProperty("可否单规格")
     private String isSingleSpec;
     private String isSingleSpec;
 
 

+ 3 - 0
fuint-application/src/main/java/com/fuint/common/param/GoodsListParam.java

@@ -25,6 +25,9 @@ public class GoodsListParam extends PageParam implements Serializable {
     @ApiModelProperty(value="商品类型", name="type")
     @ApiModelProperty(value="商品类型", name="type")
     private String type;
     private String type;
 
 
+    @ApiModelProperty(value="可用平台", name="platform")
+    private String platform;
+
     @ApiModelProperty(value="商品状态", name="status")
     @ApiModelProperty(value="商品状态", name="status")
     private String status;
     private String status;
 
 

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

@@ -93,12 +93,13 @@ public interface GoodsService {
      *
      *
      * @param storeId 店铺ID
      * @param storeId 店铺ID
      * @param keyword 关键字
      * @param keyword 关键字
+     * @param platform 平台
      * @param cateId 分类ID
      * @param cateId 分类ID
      * @param page 当前页码
      * @param page 当前页码
      * @param pageSize 每页数量
      * @param pageSize 每页数量
      * @return
      * @return
      * */
      * */
-    Map<String, Object> getStoreGoodsList(Integer storeId, String keyword, Integer cateId, Integer page, Integer pageSize) throws BusinessCheckException;
+    Map<String, Object> getStoreGoodsList(Integer storeId, String keyword, String platform, Integer cateId, Integer page, Integer pageSize) throws BusinessCheckException;
 
 
     /**
     /**
      * 根据skuId获取规格列表
      * 根据skuId获取规格列表

+ 17 - 3
fuint-application/src/main/java/com/fuint/common/service/impl/GoodsServiceImpl.java

@@ -10,6 +10,7 @@ import com.fuint.common.dto.GoodsDto;
 import com.fuint.common.dto.GoodsSpecValueDto;
 import com.fuint.common.dto.GoodsSpecValueDto;
 import com.fuint.common.dto.GoodsTopDto;
 import com.fuint.common.dto.GoodsTopDto;
 import com.fuint.common.enums.GoodsTypeEnum;
 import com.fuint.common.enums.GoodsTypeEnum;
+import com.fuint.common.enums.PlatformTypeEnum;
 import com.fuint.common.enums.StatusEnum;
 import com.fuint.common.enums.StatusEnum;
 import com.fuint.common.enums.YesOrNoEnum;
 import com.fuint.common.enums.YesOrNoEnum;
 import com.fuint.common.service.*;
 import com.fuint.common.service.*;
@@ -143,6 +144,14 @@ public class GoodsServiceImpl extends ServiceImpl<MtGoodsMapper, MtGoods> implem
                 lambdaQueryWrapper.gt(MtGoods::getPrice, 0);
                 lambdaQueryWrapper.gt(MtGoods::getPrice, 0);
             }
             }
         }
         }
+        String platform = paginationRequest.getSearchParams().get("platform") == null ? "" : paginationRequest.getSearchParams().get("platform").toString();
+        if (StringUtils.isNotBlank(platform)) {
+            if (platform.equals(PlatformTypeEnum.H5.getCode()) || platform.equals(PlatformTypeEnum.MP_WEIXIN.getCode()) || platform.equals("1")) {
+                lambdaQueryWrapper.in(MtGoods::getPlatform, new ArrayList<>(Arrays.asList("0", "1")));
+            } else if(platform.equals(PlatformTypeEnum.PC.getCode()) || platform.equals("2")) {
+                lambdaQueryWrapper.in(MtGoods::getPlatform, new ArrayList<>(Arrays.asList("0", "2")));
+            }
+        }
         String sortType = paginationRequest.getSearchParams().get("sortType") == null ? "" : paginationRequest.getSearchParams().get("sortType").toString();
         String sortType = paginationRequest.getSearchParams().get("sortType") == null ? "" : paginationRequest.getSearchParams().get("sortType").toString();
         String sortPrice = paginationRequest.getSearchParams().get("sortPrice") == null ? "0" : paginationRequest.getSearchParams().get("sortPrice").toString();
         String sortPrice = paginationRequest.getSearchParams().get("sortPrice") == null ? "0" : paginationRequest.getSearchParams().get("sortPrice").toString();
         if (StringUtil.isNotEmpty(sortType)) {
         if (StringUtil.isNotEmpty(sortType)) {
@@ -268,6 +277,9 @@ public class GoodsServiceImpl extends ServiceImpl<MtGoodsMapper, MtGoods> implem
         if (StringUtil.isNotEmpty(reqDto.getType())) {
         if (StringUtil.isNotEmpty(reqDto.getType())) {
             mtGoods.setType(reqDto.getType());
             mtGoods.setType(reqDto.getType());
         }
         }
+        if (reqDto.getPlatform() != null) {
+            mtGoods.setPlatform(reqDto.getPlatform());
+        }
         if (reqDto.getCateId() != null && reqDto.getCateId() > 0) {
         if (reqDto.getCateId() != null && reqDto.getCateId() > 0) {
             mtGoods.setCateId(reqDto.getCateId());
             mtGoods.setCateId(reqDto.getCateId());
         }
         }
@@ -573,6 +585,7 @@ public class GoodsServiceImpl extends ServiceImpl<MtGoodsMapper, MtGoods> implem
      *
      *
      * @param storeId 店铺ID
      * @param storeId 店铺ID
      * @param keyword 关键字
      * @param keyword 关键字
+     * @param platform 平台
      * @param cateId 分类ID
      * @param cateId 分类ID
      * @param page 当前页码
      * @param page 当前页码
      * @param pageSize 每页页数
      * @param pageSize 每页页数
@@ -580,7 +593,7 @@ public class GoodsServiceImpl extends ServiceImpl<MtGoodsMapper, MtGoods> implem
      * @return
      * @return
      * */
      * */
     @Override
     @Override
-    public Map<String, Object> getStoreGoodsList(Integer storeId, String keyword, Integer cateId, Integer page, Integer pageSize) throws BusinessCheckException {
+    public Map<String, Object> getStoreGoodsList(Integer storeId, String keyword, String platform, Integer cateId, Integer page, Integer pageSize) throws BusinessCheckException {
         MtStore mtStore = storeService.queryStoreById(storeId);
         MtStore mtStore = storeService.queryStoreById(storeId);
         if (mtStore == null) {
         if (mtStore == null) {
             Map<String, Object> result = new HashMap<>();
             Map<String, Object> result = new HashMap<>();
@@ -589,6 +602,7 @@ public class GoodsServiceImpl extends ServiceImpl<MtGoodsMapper, MtGoods> implem
             return result;
             return result;
         }
         }
         Integer merchantId = mtStore.getMerchantId() == null ? 0 : mtStore.getMerchantId();
         Integer merchantId = mtStore.getMerchantId() == null ? 0 : mtStore.getMerchantId();
+
         Page<MtGoods> pageHelper = PageHelper.startPage(page, pageSize);
         Page<MtGoods> pageHelper = PageHelper.startPage(page, pageSize);
         List<MtGoods> goodsList = new ArrayList<>();
         List<MtGoods> goodsList = new ArrayList<>();
         List<MtGoodsSku> skuList = new ArrayList<>();
         List<MtGoodsSku> skuList = new ArrayList<>();
@@ -601,9 +615,9 @@ public class GoodsServiceImpl extends ServiceImpl<MtGoodsMapper, MtGoods> implem
         } else {
         } else {
             pageHelper = PageHelper.startPage(page, pageSize);
             pageHelper = PageHelper.startPage(page, pageSize);
             if (keyword != null && StringUtil.isNotEmpty(keyword)) {
             if (keyword != null && StringUtil.isNotEmpty(keyword)) {
-                goodsList = mtGoodsMapper.searchStoreGoodsList(merchantId, storeId, keyword);
+                goodsList = mtGoodsMapper.searchStoreGoodsList(merchantId, storeId, keyword, platform);
             } else {
             } else {
-                goodsList = mtGoodsMapper.getStoreGoodsList(merchantId, storeId, cateId);
+                goodsList = mtGoodsMapper.getStoreGoodsList(merchantId, storeId, cateId, platform);
             }
             }
         }
         }
         List<MtGoods> dataList = new ArrayList<>();
         List<MtGoods> dataList = new ArrayList<>();

+ 3 - 5
fuint-application/src/main/java/com/fuint/module/backendApi/controller/BackendCashierController.java

@@ -137,12 +137,10 @@ public class BackendCashierController extends BaseController {
         List<MtGoodsCate> cateList = cateService.queryCateListByParams(param);
         List<MtGoodsCate> cateList = cateService.queryCateListByParams(param);
 
 
         param.put("status", StatusEnum.ENABLED.getKey());
         param.put("status", StatusEnum.ENABLED.getKey());
-        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, "", cateId, page, pageSize);
-
-        String imagePath = settingService.getUploadBasePath();
+        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, "", PlatformTypeEnum.PC.getCode(), cateId, page, pageSize);
 
 
         Map<String, Object> result = new HashMap<>();
         Map<String, Object> result = new HashMap<>();
-        result.put("imagePath", imagePath);
+        result.put("imagePath", settingService.getUploadBasePath());
         result.put("storeInfo", storeInfo);
         result.put("storeInfo", storeInfo);
         result.put("memberInfo", memberInfo);
         result.put("memberInfo", memberInfo);
         result.put("accountInfo", accountDto);
         result.put("accountInfo", accountDto);
@@ -183,7 +181,7 @@ public class BackendCashierController extends BaseController {
             }
             }
         }
         }
 
 
-        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, keyword, 0, 1, 100);
+        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, keyword, "",0,1, 100);
         return getSuccessResult(goodsData.get("goodsList"));
         return getSuccessResult(goodsData.get("goodsList"));
     }
     }
 
 

+ 4 - 0
fuint-application/src/main/java/com/fuint/module/backendApi/controller/BackendGoodsController.java

@@ -317,6 +317,7 @@ public class BackendGoodsController extends BaseController {
         String salePoint = param.get("salePoint") == null ? "" : param.get("salePoint").toString();
         String salePoint = param.get("salePoint") == null ? "" : param.get("salePoint").toString();
         String canUsePoint = param.get("canUsePoint") == null ? "" : param.get("canUsePoint").toString();
         String canUsePoint = param.get("canUsePoint") == null ? "" : param.get("canUsePoint").toString();
         String isMemberDiscount = param.get("isMemberDiscount") == null ? "" : param.get("isMemberDiscount").toString();
         String isMemberDiscount = param.get("isMemberDiscount") == null ? "" : param.get("isMemberDiscount").toString();
+        String platform = param.get("platform") == null ? "" : param.get("platform").toString();
         String isSingleSpec = param.get("isSingleSpec") == null ? "" : param.get("isSingleSpec").toString();
         String isSingleSpec = param.get("isSingleSpec") == null ? "" : param.get("isSingleSpec").toString();
         Integer cateId = (param.get("cateId") == null || StringUtil.isEmpty(param.get("cateId").toString())) ? 0 : Integer.parseInt(param.get("cateId").toString());
         Integer cateId = (param.get("cateId") == null || StringUtil.isEmpty(param.get("cateId").toString())) ? 0 : Integer.parseInt(param.get("cateId").toString());
         String storeIds = (param.get("storeId") == null) ? null : param.get("storeId").toString();
         String storeIds = (param.get("storeId") == null) ? null : param.get("storeId").toString();
@@ -476,6 +477,9 @@ public class BackendGoodsController extends BaseController {
         if (StringUtil.isNotEmpty(sort)) {
         if (StringUtil.isNotEmpty(sort)) {
             mtGoods.setSort(Integer.parseInt(sort));
             mtGoods.setSort(Integer.parseInt(sort));
         }
         }
+        if (StringUtil.isNotEmpty(platform)) {
+            mtGoods.setPlatform(Integer.parseInt(platform));
+        }
         if (StringUtil.isNotEmpty(status)) {
         if (StringUtil.isNotEmpty(status)) {
             mtGoods.setStatus(status);
             mtGoods.setStatus(status);
         }
         }

+ 8 - 2
fuint-application/src/main/java/com/fuint/module/clientApi/controller/ClientGoodsController.java

@@ -74,6 +74,7 @@ public class ClientGoodsController extends BaseController {
     public ResponseObject cateList(HttpServletRequest request) throws BusinessCheckException {
     public ResponseObject cateList(HttpServletRequest request) throws BusinessCheckException {
         String merchantNo = request.getHeader("merchantNo") == null ? "" : request.getHeader("merchantNo");
         String merchantNo = request.getHeader("merchantNo") == null ? "" : request.getHeader("merchantNo");
         Integer storeId = request.getHeader("storeId") == null ? 0 : Integer.parseInt(request.getHeader("storeId"));
         Integer storeId = request.getHeader("storeId") == null ? 0 : Integer.parseInt(request.getHeader("storeId"));
+        String platform = request.getHeader("platform") == null ? "" : request.getHeader("platform");
 
 
         Map<String, Object> param = new HashMap<>();
         Map<String, Object> param = new HashMap<>();
         param.put("status", StatusEnum.ENABLED.getKey());
         param.put("status", StatusEnum.ENABLED.getKey());
@@ -85,7 +86,7 @@ public class ClientGoodsController extends BaseController {
             param.put("storeId", storeId);
             param.put("storeId", storeId);
         }
         }
         List<MtGoodsCate> cateList = cateService.queryCateListByParams(param);
         List<MtGoodsCate> cateList = cateService.queryCateListByParams(param);
-        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, "", 0, 1, 500);
+        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, "", platform, 0, 1, 500);
         List<MtGoods> goodsList = (ArrayList)goodsData.get("goodsList");
         List<MtGoods> goodsList = (ArrayList)goodsData.get("goodsList");
         String baseImage = settingService.getUploadBasePath();
         String baseImage = settingService.getUploadBasePath();
         if (goodsList.size() > 0) {
         if (goodsList.size() > 0) {
@@ -121,7 +122,8 @@ public class ClientGoodsController extends BaseController {
     @CrossOrigin
     @CrossOrigin
     public ResponseObject list(HttpServletRequest request) throws BusinessCheckException {
     public ResponseObject list(HttpServletRequest request) throws BusinessCheckException {
         Integer storeId = request.getHeader("storeId") == null ? 0 : Integer.parseInt(request.getHeader("storeId"));
         Integer storeId = request.getHeader("storeId") == null ? 0 : Integer.parseInt(request.getHeader("storeId"));
-        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, "", 0,1, 200);
+        String platform = request.getHeader("platform") == null ? "" : request.getHeader("platform");
+        Map<String, Object> goodsData = goodsService.getStoreGoodsList(storeId, "", platform, 0,1, 200);
         return getSuccessResult(goodsData.get("goodsList"));
         return getSuccessResult(goodsData.get("goodsList"));
     }
     }
 
 
@@ -134,6 +136,7 @@ public class ClientGoodsController extends BaseController {
     public ResponseObject search(HttpServletRequest request, @RequestBody GoodsSearchRequest params) throws BusinessCheckException {
     public ResponseObject search(HttpServletRequest request, @RequestBody GoodsSearchRequest params) throws BusinessCheckException {
         Integer storeId = request.getHeader("storeId") == null ? 0 : Integer.parseInt(request.getHeader("storeId"));
         Integer storeId = request.getHeader("storeId") == null ? 0 : Integer.parseInt(request.getHeader("storeId"));
         String merchantNo = request.getHeader("merchantNo") == null ? "" : request.getHeader("merchantNo");
         String merchantNo = request.getHeader("merchantNo") == null ? "" : request.getHeader("merchantNo");
+        String platform = request.getHeader("platform") == null ? "" : request.getHeader("platform");
         Integer page = params.getPage() == null ? 1 : params.getPage();
         Integer page = params.getPage() == null ? 1 : params.getPage();
         Integer pageSize = params.getPageSize() == null ? Constants.PAGE_SIZE : params.getPageSize();
         Integer pageSize = params.getPageSize() == null ? Constants.PAGE_SIZE : params.getPageSize();
         String name = params.getName() == null ? "" : params.getName();
         String name = params.getName() == null ? "" : params.getName();
@@ -167,6 +170,9 @@ public class ClientGoodsController extends BaseController {
         if (StringUtil.isNotEmpty(sortPrice)) {
         if (StringUtil.isNotEmpty(sortPrice)) {
             searchParams.put("sortPrice", sortPrice);
             searchParams.put("sortPrice", sortPrice);
         }
         }
+        if (StringUtil.isNotEmpty(platform)) {
+            searchParams.put("platform", platform);
+        }
 
 
         paginationRequest.setSearchParams(searchParams);
         paginationRequest.setSearchParams(searchParams);
         PaginationResponse<GoodsDto> paginationResponse = goodsService.queryGoodsListByPagination(paginationRequest);
         PaginationResponse<GoodsDto> paginationResponse = goodsService.queryGoodsListByPagination(paginationRequest);

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

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

+ 5 - 4
fuint-repository/src/main/java/com/fuint/repository/model/MtGoods.java

@@ -8,8 +8,7 @@ import java.math.BigDecimal;
 import java.util.Date;
 import java.util.Date;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import io.swagger.annotations.ApiModelProperty;
-import lombok.Getter;
-import lombok.Setter;
+import lombok.Data;
 
 
 /**
 /**
  * 商品表
  * 商品表
@@ -17,8 +16,7 @@ import lombok.Setter;
  * Created by FSQ
  * Created by FSQ
  * CopyRight https://www.fuint.cn
  * CopyRight https://www.fuint.cn
  */
  */
-@Getter
-@Setter
+@Data
 @TableName("mt_goods")
 @TableName("mt_goods")
 @ApiModel(value = "MtGoods对象", description = "MtGoods对象")
 @ApiModel(value = "MtGoods对象", description = "MtGoods对象")
 public class MtGoods implements Serializable {
 public class MtGoods implements Serializable {
@@ -47,6 +45,9 @@ public class MtGoods implements Serializable {
     @ApiModelProperty("商品编码")
     @ApiModelProperty("商品编码")
     private String goodsNo;
     private String goodsNo;
 
 
+    @ApiModelProperty("可用平台,0:不限,1:仅会员端(小程序和h5);2:仅收银端")
+    private Integer platform;
+
     @ApiModelProperty("是否单规格")
     @ApiModelProperty("是否单规格")
     private String isSingleSpec;
     private String isSingleSpec;
 
 

+ 12 - 0
fuint-repository/src/main/resources/mapper/MtGoodsMapper.xml

@@ -6,6 +6,12 @@
         <if test="cateId != null and cateId > 0">
         <if test="cateId != null and cateId > 0">
             AND t.CATE_ID = #{cateId}
             AND t.CATE_ID = #{cateId}
         </if>
         </if>
+        <if test="platform != null and (platform == 'H5' or platform == 'MP-WEIXIN')">
+            AND t.platform IN(0, 1)
+        </if>
+        <if test="platform != null and platform == 'PC'">
+            AND t.platform IN(0, 2)
+        </if>
         and t.MERCHANT_ID = #{merchantId}
         and t.MERCHANT_ID = #{merchantId}
         and t.PRICE > 0
         and t.PRICE > 0
         and t.STATUS = 'A' order by t.sort asc
         and t.STATUS = 'A' order by t.sort asc
@@ -19,6 +25,12 @@
         <if test="storeId != null and storeId > 0">
         <if test="storeId != null and storeId > 0">
             and (t.STORE_ID = #{storeId} or (t.STORE_ID = 0 AND t.id IN( SELECT s.GOODS_ID FROM mt_store_goods s WHERE s.STORE_ID = #{storeId} AND s.STATUS = 'A' )))
             and (t.STORE_ID = #{storeId} or (t.STORE_ID = 0 AND t.id IN( SELECT s.GOODS_ID FROM mt_store_goods s WHERE s.STORE_ID = #{storeId} AND s.STATUS = 'A' )))
         </if>
         </if>
+        <if test="platform != null and (platform == 'H5' or platform == 'MP-WEIXIN')">
+            AND t.platform IN(0, 1)
+        </if>
+        <if test="platform != null and platform == 'PC'">
+            AND t.platform IN(0, 2)
+        </if>
         and t.PRICE > 0
         and t.PRICE > 0
         and (t.name like concat('%',#{keyword},'%') or t.goods_no = #{keyword} or t.ID = #{keyword} or t.description like concat('%',#{keyword},'%'))
         and (t.name like concat('%',#{keyword},'%') or t.goods_no = #{keyword} or t.ID = #{keyword} or t.description like concat('%',#{keyword},'%'))
         order by t.sort asc
         order by t.sort asc