瀏覽代碼

促销活动协销不可见权限控制

zhijiezhao 3 年之前
父節點
當前提交
51e8636df6

+ 6 - 4
src/main/java/com/caimei365/commodity/components/PriceUtilService.java

@@ -85,7 +85,7 @@ public class PriceUtilService {
      * @param price  商品价格类
      * @param userId 用户Id
      */
-    public void setPriceByUserId(PriceVo price, Integer userId) {
+    public void setPriceByUserId(PriceVo price, Integer userId, Integer flag) {
         // 根据用户Id查询用户身份
         Integer identity = priceMapper.getIdentityByUserId(userId);
         // 根据用户Id查询超级会员id
@@ -95,7 +95,9 @@ public class PriceUtilService {
         // 根据商品id查询商品活动
         PromotionsVo promotions = promotionsMapper.getPromotionsByProductId(price.getProductId());
         // 如果身份不是机构,并且促销活动不可见,直接把促销置空
-        if (promotions != null && promotions.getSeen() != null && identity != null && promotions.getSeen() == 2 && identity == 1) {
+        if (promotions != null && promotions.getSeen() != null && promotions.getSeen() == 2 && flag == 1) {
+            promotions = null;
+        }else if (promotions != null && promotions.getSeen() != null && promotions.getSeen() == 2 && identity == 1) {
             promotions = null;
         }
         price.setRepurchaseFlag(0);
@@ -205,7 +207,7 @@ public class PriceUtilService {
      * @param userId  用户Id
      * @param product ProductItemVo
      */
-    public void setProductDetails(Integer userId, ProductItemVo product) {
+    public void setProductDetails(Integer userId, ProductItemVo product, Integer flag) {
         // 设置图片
         product.setImage(ImageUtils.getImageURL("product", product.getImage(), 0, domain));
         // 设置价格等级
@@ -213,7 +215,7 @@ public class PriceUtilService {
         // 数据库获取基本价格信息
         PriceVo price = priceMapper.getDetailPrice(product.getProductId());
         // 根据用户id设置详细价格
-        setPriceByUserId(price, userId);
+        setPriceByUserId(price, userId, flag);
         // 设置价格
         product.setActStatus(price.getActStatus());
         product.setPrice(price.getPrice());

+ 68 - 50
src/main/java/com/caimei365/commodity/controller/ProductPageApi.java

@@ -22,13 +22,14 @@ import java.util.Map;
  * @author : Charles
  * @date : 2021/4/12
  */
-@Api(tags="商品页面数据API")
+@Api(tags = "商品页面数据API")
 @RestController
 @RequiredArgsConstructor
 @RequestMapping("/commodity")
 public class ProductPageApi {
 
     private final PageService pageService;
+
     /**
      * 获取分类列表
      *
@@ -37,8 +38,8 @@ public class ProductPageApi {
      */
     @ApiOperation("获取分类菜单(旧:/product/classify)")
     @ApiImplicitParams({
-        @ApiImplicitParam(required = true, name = "typeSort", value = "分类类型:1产品,2仪器,0全部"),
-        @ApiImplicitParam(required = false, name = "source", value = "请求来源:www,crm")
+            @ApiImplicitParam(required = true, name = "typeSort", value = "分类类型:1产品,2仪器,0全部"),
+            @ApiImplicitParam(required = false, name = "source", value = "请求来源:www,crm")
     })
     @GetMapping("/classify")
     public ResponseJson<List<BigTypeVo>> getClassify(Integer typeSort, String source) {
@@ -54,16 +55,18 @@ public class ProductPageApi {
      */
     @ApiOperation("产品/仪器页面数据(旧:/home/instrumentData)")
     @ApiImplicitParams({
-        @ApiImplicitParam(required = true, name = "pageId", value = "页面信息id"),
-        @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
-        @ApiImplicitParam(required = false, name = "source", value = "来源:1网站,2小程序")
+            @ApiImplicitParam(required = true, name = "pageId", value = "页面信息id"),
+            @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
+            @ApiImplicitParam(required = false, name = "source", value = "来源:1网站,2小程序"),
+            @ApiImplicitParam(required = false, name = "flag", value = "协销身份标记: 1 协销 2机构 3供应商")
     })
     @GetMapping("/classify/product")
-    public ResponseJson<Map<String, Object>> getClassifyData(Integer pageId, Integer userId, Integer source) {
+    public ResponseJson<Map<String, Object>> getClassifyData(Integer pageId, Integer userId, Integer source,
+                                                             @RequestParam(value = "flag", defaultValue = "2") Integer flag) {
         if (pageId == null) {
             return ResponseJson.error("参数异常", null);
         }
-        return pageService.getClassifyData(pageId, userId, source);
+        return pageService.getClassifyData(pageId, userId, source, flag);
     }
 
     /**
@@ -74,12 +77,14 @@ public class ProductPageApi {
      */
     @ApiOperation("首页楼层数据(旧:/home/data)")
     @ApiImplicitParams({
-        @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
-        @ApiImplicitParam(required = false, name = "source", value = "来源:1网站,2小程序")
+            @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
+            @ApiImplicitParam(required = false, name = "source", value = "来源:1网站,2小程序"),
+            @ApiImplicitParam(required = false, name = "flag", value = "协销身份标记: 1 协销 2机构 3供应商")
     })
     @GetMapping("/home/floor")
-    public ResponseJson<Map<String, Object>> getHomeData(Integer userId, Integer source) {
-        return pageService.getHomeData(userId, source);
+    public ResponseJson<Map<String, Object>> getHomeData(Integer userId, Integer source,
+                                                         @RequestParam(value = "flag", defaultValue = "2") Integer flag) {
+        return pageService.getHomeData(userId, source, flag);
     }
 
     /**
@@ -140,49 +145,55 @@ public class ProductPageApi {
      */
     @ApiOperation("活动专题楼层数据(美博会)(旧:/home/activity/data)")
     @ApiImplicitParams({
-        @ApiImplicitParam(required = false, name = "pageId", value = "页面id"),
-        @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
-        @ApiImplicitParam(required = false, name = "source", value = "来源:1网站,2小程序")
+            @ApiImplicitParam(required = false, name = "pageId", value = "页面id"),
+            @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
+            @ApiImplicitParam(required = false, name = "source", value = "来源:1网站,2小程序"),
+            @ApiImplicitParam(required = false, name = "flag", value = "协销身份标记: 1 协销 2机构 3供应商")
     })
     @GetMapping("/page/beauty")
-    public ResponseJson<Map<String, Object>> getPageBeautyData(Integer pageId, Integer userId, Integer source) {
-        return pageService.getPageBeautyData(pageId, userId, source);
+    public ResponseJson<Map<String, Object>> getPageBeautyData(Integer pageId, Integer userId, Integer source,
+                                                               @RequestParam(value = "flag", defaultValue = "2") Integer flag) {
+        return pageService.getPageBeautyData(pageId, userId, source,flag);
     }
 
     /**
      * 楼层详情
      *
      * @param floorId 楼层id
-     * @param userId 用户id
-     * @param source 来源 : 1 网站 ; 2 小程序
+     * @param userId  用户id
+     * @param source  来源 : 1 网站 ; 2 小程序
      */
     @ApiOperation("楼层详情(旧:/home/floorContentDetails)")
     @ApiImplicitParams({
-        @ApiImplicitParam(required = false, name = "floorId", value = "楼层id"),
-        @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
-        @ApiImplicitParam(required = false, name = "source", value = "来源:1网站,2小程序")
+            @ApiImplicitParam(required = false, name = "floorId", value = "楼层id"),
+            @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
+            @ApiImplicitParam(required = false, name = "source", value = "来源:1网站,2小程序"),
+            @ApiImplicitParam(required = false, name = "flag", value = "协销身份标记: 1 协销 2机构 3供应商")
     })
     @GetMapping("/page/floor/details")
-    public ResponseJson<Map<String, Object>> getPageFloorData(Integer floorId, Integer userId, Integer source) {
-        return pageService.getPageFloorData(floorId, userId, source);
+    public ResponseJson<Map<String, Object>> getPageFloorData(Integer floorId, Integer userId, Integer source,
+                                                              @RequestParam(value = "flag", defaultValue = "2") Integer flag) {
+        return pageService.getPageFloorData(floorId, userId, source, flag);
     }
 
     /**
      * 分页详情楼层详情
      *
      * @param centreId 分页详情楼层id
-     * @param userId 用户id
-     * @param source 来源 : 1 网站 ; 2 小程序
+     * @param userId   用户id
+     * @param source   来源 : 1 网站 ; 2 小程序
      */
     @ApiOperation("分页详情楼层详情(旧:/home/pageFloorDetails)")
     @ApiImplicitParams({
-        @ApiImplicitParam(required = false, name = "centreId", value = "分页详情楼层id"),
-        @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
-        @ApiImplicitParam(required = false, name = "source", value = "来源:1网站,2小程序")
+            @ApiImplicitParam(required = false, name = "centreId", value = "分页详情楼层id"),
+            @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
+            @ApiImplicitParam(required = false, name = "source", value = "来源:1网站,2小程序"),
+            @ApiImplicitParam(required = false, name = "flag", value = "协销身份标记: 1 协销 2机构 3供应商")
     })
     @GetMapping("/page/floor/centre")
-    public ResponseJson<Map<String, Object>> getPageCentreData(Integer centreId, Integer userId, Integer source) {
-        return pageService.getPageCentreData(centreId, userId, source);
+    public ResponseJson<Map<String, Object>> getPageCentreData(Integer centreId, Integer userId, Integer source,
+                                                               @RequestParam(value = "flag", defaultValue = "2") Integer flag) {
+        return pageService.getPageCentreData(centreId, userId, source, flag);
     }
 
     /**
@@ -193,12 +204,13 @@ public class ProductPageApi {
      */
     @ApiOperation("商品详情页(旧:/product/details)")
     @ApiImplicitParams({
-        @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
-        @ApiImplicitParam(required = false, name = "productId", value = "商品Id")
+            @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
+            @ApiImplicitParam(required = false, name = "productId", value = "商品Id"),
+            @ApiImplicitParam(required = false, name = "flag", value = "协销身份标记: 1 协销 2机构 3供应商")
     })
     @GetMapping("/product/details")
-    public ResponseJson<ProductDetailVo> getProductDetails(Integer productId, Integer userId) {
-        return pageService.getProductDetails(productId, userId);
+    public ResponseJson<ProductDetailVo> getProductDetails(Integer productId, Integer userId, @RequestParam(value = "flag", defaultValue = "2") Integer flag) {
+        return pageService.getProductDetails(productId, userId, flag);
     }
 
     /**
@@ -208,15 +220,17 @@ public class ProductPageApi {
      */
     @ApiOperation("再次购买商品列表(旧:/repeat/buyAgain)")
     @ApiImplicitParams({
-        @ApiImplicitParam(required = false, name = "userId", value = "用户Id"),
-        @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
-        @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
+            @ApiImplicitParam(required = false, name = "userId", value = "用户Id"),
+            @ApiImplicitParam(required = false, name = "flag", value = "协销身份标记: 1 协销 2机构 3供应商"),
+            @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
+            @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
     })
     @GetMapping("/product/repeat")
     public ResponseJson<PaginationVo<ProductItemVo>> getBuyAgainProducts(Integer userId,
+                                                                         @RequestParam(value = "flag", defaultValue = "2") Integer flag,
                                                                          @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
                                                                          @RequestParam(value = "pageSize", defaultValue = "10") int pageSize) {
-        return pageService.getBuyAgainProducts(userId, pageNum, pageSize);
+        return pageService.getBuyAgainProducts(userId, flag, pageNum, pageSize);
     }
 
 
@@ -259,15 +273,15 @@ public class ProductPageApi {
     /**
      * 商品详情页-相关推荐
      *
-     * @param productId 商品Id
+     * @param productId     商品Id
      * @param recommendType 相关推荐类型: 0自动选择, 1手动推荐
-     * @param userId    用户Id
+     * @param userId        用户Id
      */
     @ApiOperation("商品详情-相关推荐(旧:/product/detail/recommend)")
     @ApiImplicitParams({
-        @ApiImplicitParam(required = false, name = "productId", value = "商品Id"),
-        @ApiImplicitParam(required = false, name = "recommendType", value = "相关推荐类型: 0自动选择, 1手动推荐"),
-        @ApiImplicitParam(required = false, name = "userId", value = "用户id")
+            @ApiImplicitParam(required = false, name = "productId", value = "商品Id"),
+            @ApiImplicitParam(required = false, name = "recommendType", value = "相关推荐类型: 0自动选择, 1手动推荐"),
+            @ApiImplicitParam(required = false, name = "userId", value = "用户id")
     })
     @GetMapping("/detail/recommend")
     public ResponseJson<List<ProductListVo>> getProductDetailRecommends(Integer productId, Integer recommendType, Integer userId) {
@@ -276,6 +290,7 @@ public class ProductPageApi {
 
     /**
      * 商品维修(链接分享数据)
+     *
      * @param code 维修code
      */
     @ApiOperation("商品维修(链接分享)")
@@ -314,15 +329,16 @@ public class ProductPageApi {
     @GetMapping("/product/archive/detail")
     public ResponseJson<ArchiveDetailVo> getArchiveDetail(Integer archiveId, Integer userId) {
         if (null == archiveId || null == userId) {
-            return ResponseJson.error("参数错误",  null);
+            return ResponseJson.error("参数错误", null);
         }
         return pageService.getArchiveDetail(archiveId, userId);
     }
 
     /**
      * 超级会员优惠商品页面
-     * @param userId    用户id
-     * @param source    来源 : 1 网站 ; 2 小程序
+     *
+     * @param userId 用户id
+     * @param source 来源 : 1 网站 ; 2 小程序
      * @return
      */
     @ApiOperation("超级会员优惠商品页面")
@@ -330,15 +346,17 @@ public class ProductPageApi {
             @ApiImplicitParam(required = false, name = "userId", value = "用户id"),
             @ApiImplicitParam(required = false, name = "source", value = "来源 : 1 网站 ; 2 小程序"),
             @ApiImplicitParam(required = false, name = "pageNum", value = "页码"),
-            @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量")
+            @ApiImplicitParam(required = false, name = "pageSize", value = "每页数量"),
+            @ApiImplicitParam(required = false, name = "flag", value = "协销身份标记: 1 协销 2机构 3供应商")
     })
     @GetMapping("/svip/product/page")
     public ResponseJson<Map<String, Object>> getSvipProductPage(Integer userId, Integer source,
                                                                 @RequestParam(value = "pageNum", defaultValue = "1") int pageNum,
-                                                                @RequestParam(value = "pageSize", defaultValue = "20") int pageSize) {
+                                                                @RequestParam(value = "pageSize", defaultValue = "20") int pageSize,
+                                                                @RequestParam(value = "flag", defaultValue = "2") Integer flag) {
         if (null == userId || source == null) {
             return ResponseJson.error("参数错误", null);
         }
-        return pageService.getSvipProductPage(userId, source, pageNum, pageSize);
+        return pageService.getSvipProductPage(userId, source, pageNum, pageSize, flag);
     }
 }

+ 16 - 15
src/main/java/com/caimei365/commodity/controller/ProductPriceApi.java

@@ -11,10 +11,7 @@ import io.swagger.annotations.ApiImplicitParams;
 import io.swagger.annotations.ApiOperation;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.lang.StringUtils;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -41,14 +38,15 @@ public class ProductPriceApi {
     @ApiOperation("获取商品详情价格(旧:/product/detail/price)(注意:supplierId更改为shopId)")
     @ApiImplicitParams({
             @ApiImplicitParam(required = true, name = "userId", value = "用户Id"),
-            @ApiImplicitParam(required = true, name = "productId", value = "商品Id")
+            @ApiImplicitParam(required = true, name = "productId", value = "商品Id"),
+            @ApiImplicitParam(required = false, name = "flag", value = "协销身份标记: 1 协销 2机构 3供应商")
     })
     @GetMapping("/detail")
-    public ResponseJson<PriceVo> getDetailPrice(Integer userId, Integer productId) {
+    public ResponseJson<PriceVo> getDetailPrice(Integer userId, Integer productId, @RequestParam(value = "flag", defaultValue = "2") Integer flag) {
         if (null == userId || null == productId) {
             return ResponseJson.error("参数错误", null);
         }
-        return priceService.getDetailPrice(userId, productId);
+        return priceService.getDetailPrice(userId, productId, flag);
     }
 
     /**
@@ -61,14 +59,16 @@ public class ProductPriceApi {
     @ApiImplicitParams({
             @ApiImplicitParam(required = true, name = "userId", value = "用户Id"),
             @ApiImplicitParam(required = true, name = "productIds", value = "商品Ids,逗号拼接"),
-            @ApiImplicitParam(required = true, name = "source", value = "来源 : 1 网站 ; 2 小程序")
+            @ApiImplicitParam(required = true, name = "source", value = "来源 : 1 网站 ; 2 小程序"),
+            @ApiImplicitParam(required = false, name = "flag", value = "协销身份标记: 1 协销 2机构 3供应商")
     })
     @GetMapping("/list")
-    public ResponseJson<List<PriceVo>> getProductPrice(Integer userId, String productIds, Integer source) {
+    public ResponseJson<List<PriceVo>> getProductPrice(Integer userId, String productIds, Integer source,
+                                                       @RequestParam(value = "flag", defaultValue = "2") Integer flag) {
         if (null == userId || StringUtils.isEmpty(productIds) || source == null) {
             return ResponseJson.error("参数错误", null);
         }
-        return priceService.getListPrice(userId, productIds, source);
+        return priceService.getListPrice(userId, productIds, source, flag);
     }
 
     /**
@@ -88,16 +88,17 @@ public class ProductPriceApi {
 
     /**
      * 更新商品销量
+     *
      * @param productSalesDto {productInfo: [ // 商品id,数量
-     *                                      {"productId": 2789, "productCount": 1},
-     *                                      {"productId": 2790, "productCount": 2}
-     *                                       ]
+     *                        {"productId": 2789, "productCount": 1},
+     *                        {"productId": 2790, "productCount": 2}
+     *                        ]
      *                        }
      */
     @ApiOperation("更新商品销量")
     @PostMapping("/sales/update")
-    public ResponseJson<Void> productSaleUpdate(ProductSalesDto productSalesDto){
-        if (StringUtils.isEmpty(productSalesDto.getProductInfo())){
+    public ResponseJson<Void> productSaleUpdate(ProductSalesDto productSalesDto) {
+        if (StringUtils.isEmpty(productSalesDto.getProductInfo())) {
             return ResponseJson.error("商品数据不能为空!", null);
         }
         return priceService.productSaleUpdate(productSalesDto.getProductInfo());

+ 22 - 18
src/main/java/com/caimei365/commodity/service/PageService.java

@@ -30,7 +30,7 @@ public interface PageService {
      * @param userId 用户id
      * @param source 来源:1网站,2小程序
      */
-    ResponseJson<Map<String, Object>> getClassifyData(Integer pageId, Integer userId, Integer source);
+    ResponseJson<Map<String, Object>> getClassifyData(Integer pageId, Integer userId, Integer source, Integer flag);
 
     /**
      * 首页楼层数据
@@ -38,7 +38,7 @@ public interface PageService {
      * @param userId 用户id
      * @param source 来源:1网站,2小程序
      */
-    ResponseJson<Map<String, Object>> getHomeData(Integer userId, Integer source);
+    ResponseJson<Map<String, Object>> getHomeData(Integer userId, Integer source, Integer flag);
 
     /**
      * 首页基础数据(小程序)
@@ -49,6 +49,7 @@ public interface PageService {
 
     /**
      * 首页侧边栏数据
+     *
      * @param source 来源 : 1 网站 ; 2 小程序
      */
     ResponseJson<Map<String, Object>> getHomesideBar(Integer source);
@@ -60,6 +61,7 @@ public interface PageService {
 
     /**
      * 二级专题页楼层数据
+     *
      * @param pageId 页面id
      * @param source 来源 : 1 网站 ; 2 小程序
      */
@@ -72,7 +74,7 @@ public interface PageService {
      * @param userId 用户id
      * @param source 来源 : 1 网站 ; 2 小程序
      */
-    ResponseJson<Map<String, Object>> getPageBeautyData(Integer pageId, Integer userId, Integer source);
+    ResponseJson<Map<String, Object>> getPageBeautyData(Integer pageId, Integer userId, Integer source, Integer flag);
 
     /**
      * 楼层详情
@@ -81,7 +83,7 @@ public interface PageService {
      * @param userId  用户id
      * @param source  来源 : 1 网站 ; 2 小程序
      */
-    ResponseJson<Map<String, Object>> getPageFloorData(Integer floorId, Integer userId, Integer source);
+    ResponseJson<Map<String, Object>> getPageFloorData(Integer floorId, Integer userId, Integer source, Integer flag);
 
     /**
      * 分页详情楼层详情
@@ -90,7 +92,7 @@ public interface PageService {
      * @param userId   用户id
      * @param source   来源 : 1 网站 ; 2 小程序
      */
-    ResponseJson<Map<String, Object>> getPageCentreData(Integer centreId, Integer userId, Integer source);
+    ResponseJson<Map<String, Object>> getPageCentreData(Integer centreId, Integer userId, Integer source, Integer flag);
 
     /**
      * 商品详情页
@@ -98,14 +100,14 @@ public interface PageService {
      * @param productId 商品Id
      * @param userId    用户Id
      */
-    ResponseJson<ProductDetailVo> getProductDetails(Integer productId, Integer userId);
+    ResponseJson<ProductDetailVo> getProductDetails(Integer productId, Integer userId, Integer flag);
 
     /**
      * 再次购买商品列表
      *
      * @param userId 用户Id
      */
-    ResponseJson<PaginationVo<ProductItemVo>> getBuyAgainProducts(Integer userId, int pageNum, int pageSize);
+    ResponseJson<PaginationVo<ProductItemVo>> getBuyAgainProducts(Integer userId, Integer flag, int pageNum, int pageSize);
 
     /**
      * 项目仪器详情页
@@ -156,18 +158,20 @@ public interface PageService {
 
     /**
      * 商品资料列表
-     * @param keyword       搜索关键词
-     * @param productType   商品属性:1产品,2仪器
-     * @param pageNum       页码
-     * @param pageSize      每页数量
+     *
+     * @param keyword     搜索关键词
+     * @param productType 商品属性:1产品,2仪器
+     * @param pageNum     页码
+     * @param pageSize    每页数量
      * @return
      */
     ResponseJson<PaginationVo<ArchiveVo>> getProductArchive(String keyword, Integer productType, Integer pageNum, Integer pageSize);
 
     /**
      * 商品资料详情
-     * @param archiveId     商品资料id
-     * @param userId        用户id
+     *
+     * @param archiveId 商品资料id
+     * @param userId    用户id
      * @return
      */
     ResponseJson<ArchiveDetailVo> getArchiveDetail(Integer archiveId, Integer userId);
@@ -175,12 +179,12 @@ public interface PageService {
     /**
      * 超级会员优惠商品页面
      *
-     * @param userId    用户id
-     * @param source    来源 : 1 网站 ; 2 小程序
-     * @param pageNum   页码
-     * @param pageSize  每页数量
+     * @param userId   用户id
+     * @param source   来源 : 1 网站 ; 2 小程序
+     * @param pageNum  页码
+     * @param pageSize 每页数量
      * @return
      */
-    ResponseJson<Map<String, Object>> getSvipProductPage(Integer userId, Integer source, Integer pageNum, Integer pageSize);
+    ResponseJson<Map<String, Object>> getSvipProductPage(Integer userId, Integer source, Integer pageNum, Integer pageSize, Integer flag);
 
 }

+ 7 - 5
src/main/java/com/caimei365/commodity/service/PriceService.java

@@ -20,7 +20,7 @@ public interface PriceService {
      * @param productId 商品Id
      * @return PriceVo
      */
-    ResponseJson<PriceVo> getDetailPrice(Integer userId, Integer productId);
+    ResponseJson<PriceVo> getDetailPrice(Integer userId, Integer productId, Integer flag);
 
     /**
      * 获取商品列表价格
@@ -30,7 +30,7 @@ public interface PriceService {
      * @param source     来源 : 1 网站 ; 2 小程序
      * @return List<PriceVo>
      */
-    ResponseJson<List<PriceVo>> getListPrice(Integer userId, String productIds, Integer source);
+    ResponseJson<List<PriceVo>> getListPrice(Integer userId, String productIds, Integer source, Integer flag);
 
     /**
      * 获取阶梯价格
@@ -39,12 +39,14 @@ public interface PriceService {
      * @return LadderPriceVo
      */
     ResponseJson<List<LadderPriceVo>> getLadderPrice(Integer productId);
+
     /**
      * 更新商品销量
+     *
      * @param productInfo [ // 商品id,数量
-     *                   {"productId": 2789, "productCount": 1},
-     *                   {"productId": 2790, "productCount": 2}
-     *                 ]
+     *                    {"productId": 2789, "productCount": 1},
+     *                    {"productId": 2790, "productCount": 2}
+     *                    ]
      */
     ResponseJson<Void> productSaleUpdate(String productInfo);
 }

+ 1 - 1
src/main/java/com/caimei365/commodity/service/impl/CouponServiceImpl.java

@@ -100,7 +100,7 @@ public class CouponServiceImpl implements CouponService {
         List<ProductItemVo> productList = couponMapper.findCouponProduct(couponId, source);
         productList.forEach(p -> {
             p.setCouponsLogo(true);
-            priceUtilService.setProductDetails(userId, p);
+            priceUtilService.setProductDetails(userId, p,2);
         });
         PageInfo<ProductItemVo> pageInfo = new PageInfo<>(productList);
         map.put("coupon", coupon);

+ 34 - 32
src/main/java/com/caimei365/commodity/service/impl/PageServiceImpl.java

@@ -106,7 +106,7 @@ public class PageServiceImpl implements PageService {
      */
     @Override
     @Cacheable(value = "insCommodityData", key = "#pageId+'-'+#userId+'-'+#source", unless = "#result == null")
-    public ResponseJson<Map<String, Object>> getClassifyData(Integer pageId, Integer userId, Integer source) {
+    public ResponseJson<Map<String, Object>> getClassifyData(Integer pageId, Integer userId, Integer source,Integer flag) {
         source = source == null ? 1 : source;
         Map<String, Object> map = new HashMap<>(3);
         Integer typeSort = pageMapper.getPageTypeSort(pageId);
@@ -117,7 +117,7 @@ public class PageServiceImpl implements PageService {
             setFloorLinkType(floorContent);
             floor.setFloorContent(floorContent);
             List<FloorImageVo> floorImageList = pageMapper.getFloorImageByCentreId(floor.getId(), source);
-            setFloorImageProduct(userId, floorImageList, source);
+            setFloorImageProduct(userId, floorImageList, source,flag);
             floor.setFloorImageList(floorImageList);
         }
         map.put("typeSort", typeSort);
@@ -134,7 +134,7 @@ public class PageServiceImpl implements PageService {
      */
     @Cacheable(value = "getHomeCommodityData", key = "#userId +'-'+ #source", unless = "#result == null")
     @Override
-    public ResponseJson<Map<String, Object>> getHomeData(Integer userId, Integer source) {
+    public ResponseJson<Map<String, Object>> getHomeData(Integer userId, Integer source,Integer flag) {
         Map<String, Object> map = new HashMap<>(2);
         //楼层管理
         source = source == null ? 1 : source;
@@ -150,7 +150,7 @@ public class PageServiceImpl implements PageService {
                 floorIterator.remove();
                 continue;
             }
-            setFloorImageProduct(userId, floorImageList, source);
+            setFloorImageProduct(userId, floorImageList, source,flag);
             floor.setFloorImageList(floorImageList);
         }
         map.put("homePageFloor", homePageFloor);
@@ -352,7 +352,7 @@ public class PageServiceImpl implements PageService {
      */
     @Cacheable(value = "getPageBeautyData", key = "#userId +'-'+ #pageId +'-'+ #source", unless = "#result == null")
     @Override
-    public ResponseJson<Map<String, Object>> getPageBeautyData(Integer pageId, Integer userId, Integer source) {
+    public ResponseJson<Map<String, Object>> getPageBeautyData(Integer pageId, Integer userId, Integer source,Integer flag) {
         if (pageId == null) {
             return ResponseJson.error("参数异常: 页面id不能为空!", null);
         }
@@ -375,7 +375,7 @@ public class PageServiceImpl implements PageService {
             } else {
                 setFloorLinkType(floorContent);
                 List<FloorImageVo> floorImageList = pageMapper.getFloorImageByCentreId(floor.getId(), source);
-                setFloorImageProduct(userId, floorImageList, source);
+                setFloorImageProduct(userId, floorImageList, source,flag);
                 floor.setFloorImageList(floorImageList);
                 String templateTypeStr = floorContent.getTemplateType();
                 if (StringUtils.isNotEmpty(templateTypeStr)) {
@@ -426,14 +426,14 @@ public class PageServiceImpl implements PageService {
      * @param source  来源 : 1 网站 ; 2 小程序
      */
     @Override
-    public ResponseJson<Map<String, Object>> getPageFloorData(Integer floorId, Integer userId, Integer source) {
+    public ResponseJson<Map<String, Object>> getPageFloorData(Integer floorId, Integer userId, Integer source, Integer flag) {
         if (floorId == null) {
             return ResponseJson.error("参数异常: 页面id不能为空!", null);
         }
         FloorContentVo floorContent = pageMapper.getFloorContentById(floorId);
         setFloorLinkType(floorContent);
         List<FloorImageVo> floorImageList = pageMapper.getFloorImageById(floorId, source);
-        setFloorImageProduct(userId, floorImageList, source);
+        setFloorImageProduct(userId, floorImageList, source, flag);
         Map<String, Object> map = new HashMap<>(2);
         map.put("floorContent", floorContent);
         map.put("floorImageList", floorImageList);
@@ -448,7 +448,7 @@ public class PageServiceImpl implements PageService {
      * @param source   来源 : 1 网站 ; 2 小程序
      */
     @Override
-    public ResponseJson<Map<String, Object>> getPageCentreData(Integer centreId, Integer userId, Integer source) {
+    public ResponseJson<Map<String, Object>> getPageCentreData(Integer centreId, Integer userId, Integer source, Integer flag) {
         if (centreId == null) {
             return ResponseJson.error("参数异常: 分页详情楼层id不能为空!", null);
         }
@@ -471,7 +471,7 @@ public class PageServiceImpl implements PageService {
             }
         }
         List<FloorImageVo> floorImageList = pageMapper.getFloorImageByCentreId(centreId, source);
-        setFloorImageProduct(userId, floorImageList, source);
+        setFloorImageProduct(userId, floorImageList, source, flag);
         Map<String, Object> map = new HashMap<>(2);
         map.put("floorContent", floorContent);
         map.put("floorImageList", floorImageList);
@@ -485,7 +485,7 @@ public class PageServiceImpl implements PageService {
      * @param userId    用户Id
      */
     @Override
-    public ResponseJson<ProductDetailVo> getProductDetails(Integer productId, Integer userId) {
+    public ResponseJson<ProductDetailVo> getProductDetails(Integer productId, Integer userId, Integer flag) {
         ProductDetailVo product = pageMapper.getProductDetails(productId);
         if (product == null) {
             //商品不存在
@@ -586,7 +586,7 @@ public class PageServiceImpl implements PageService {
             // 数据库获取基本价格信息
             PriceVo price = priceMapper.getDetailPrice(productId);
             // 根据用户id设置详细价格
-            priceUtilService.setPriceByUserId(price, userId);
+            priceUtilService.setPriceByUserId(price, userId, flag);
             // 设置价格
             product.setActStatus(price.getActStatus());
             product.setPrice(price.getPrice());
@@ -624,7 +624,7 @@ public class PageServiceImpl implements PageService {
      * @param pageSize
      */
     @Override
-    public ResponseJson<PaginationVo<ProductItemVo>> getBuyAgainProducts(Integer userId, int pageNum, int pageSize) {
+    public ResponseJson<PaginationVo<ProductItemVo>> getBuyAgainProducts(Integer userId, Integer flag, int pageNum, int pageSize) {
         if (null == userId) {
             return ResponseJson.error("参数错误:用户Id不能为空!", null);
         }
@@ -639,7 +639,7 @@ public class PageServiceImpl implements PageService {
             boolean state = (costFlag == 1 && MathUtil.compare(costPrice, discountPrice) >= 0) || MathUtil.compare(discountPrice, price) > 0;
             product.setRepurchasePriceState(state);
             // 设置商品主图及价格
-            priceUtilService.setProductDetails(userId, product);
+            priceUtilService.setProductDetails(userId, product, flag);
             //优惠券标识
             Boolean couponsLogo = pageService.setCouponsLogo(userId, product.getProductId(), 2);
             product.setCouponsLogo(couponsLogo);
@@ -893,7 +893,7 @@ public class PageServiceImpl implements PageService {
     /**
      * 设置楼层相关图片的商品信息
      */
-    private void setFloorImageProduct(Integer userId, List<FloorImageVo> floorImageList, Integer source) {
+    private void setFloorImageProduct(Integer userId, List<FloorImageVo> floorImageList, Integer source, Integer flag) {
         Iterator<FloorImageVo> iterator = floorImageList.iterator();
         while (iterator.hasNext()) {
             FloorImageVo image = iterator.next();
@@ -909,7 +909,7 @@ public class PageServiceImpl implements PageService {
                 ProductItemVo product = pageMapper.getProductItemById(image.getProductId());
                 if (product != null) {
                     // 商品价格
-                    priceUtilService.setProductDetails(userId, product);
+                    priceUtilService.setProductDetails(userId, product, flag);
                     // 设置商品主图
                     image.setListType(1);
                     image.setName(product.getName());
@@ -993,17 +993,18 @@ public class PageServiceImpl implements PageService {
 
     /**
      * 商品资料列表
-     * @param keyword       搜索关键词
-     * @param productType   商品属性:1产品,2仪器
-     * @param pageNum       页码
-     * @param pageSize      每页数量
+     *
+     * @param keyword     搜索关键词
+     * @param productType 商品属性:1产品,2仪器
+     * @param pageNum     页码
+     * @param pageSize    每页数量
      * @return
      */
     @Override
     public ResponseJson<PaginationVo<ArchiveVo>> getProductArchive(String keyword, Integer productType, Integer pageNum, Integer pageSize) {
         PageHelper.startPage(pageNum, pageSize);
         List<ArchiveVo> archiveList = pageMapper.getProductArchiveList(keyword, productType);
-        archiveList.forEach(archive->{
+        archiveList.forEach(archive -> {
             if (null != archive.getProductId()) {
                 String imageURL = ImageUtils.getImageURL("product", archive.getProductImage(), 0, domain);
                 archive.setProductImage(imageURL);
@@ -1015,8 +1016,9 @@ public class PageServiceImpl implements PageService {
 
     /**
      * 商品资料内容
-     * @param archiveId     商品资料id
-     * @param userId        用户id
+     *
+     * @param archiveId 商品资料id
+     * @param userId    用户id
      * @return
      */
     @Override
@@ -1035,21 +1037,21 @@ public class PageServiceImpl implements PageService {
             permission = 0;
         }
         int finalPermission = permission;
-        imageArchiveList.forEach(imageArchive->{
+        imageArchiveList.forEach(imageArchive -> {
             List<String> imageList = pageMapper.getArchiveImageList(imageArchive.getArchiveContentId());
             if (0 == finalPermission) {
                 imageArchive.setImageList(imageList);
             }
             imageArchive.setImageNum(imageList.size());
         });
-        videoArchiveList.forEach(videoArchive->{
+        videoArchiveList.forEach(videoArchive -> {
             ArchiveFilePo archiveFile = pageMapper.getArchiveFile(videoArchive.getArchiveContentId());
             if (0 == finalPermission) {
                 String fileUrl = generateFileUrl(archiveFile);
                 videoArchive.setFileUrl(fileUrl);
             }
         });
-        fileArchiveList.forEach(fileArchive->{
+        fileArchiveList.forEach(fileArchive -> {
             ArchiveFilePo archiveFile = pageMapper.getArchiveFile(fileArchive.getArchiveContentId());
             fileArchive.setFileName(archiveFile.getFileName());
             if (0 == finalPermission) {
@@ -1105,7 +1107,7 @@ public class PageServiceImpl implements PageService {
                 if (1 == productClassify && (0 == clubType || 2 == clubType)) {
                     // 三级医美资料,生美会员机构
                     permission = 3;
-                } else if (null == historyId){
+                } else if (null == historyId) {
                     permission = 4;
                 } else {
                     permission = 0;
@@ -1113,7 +1115,7 @@ public class PageServiceImpl implements PageService {
             } else {
                 permission = 0;
             }
-        } else{
+        } else {
             permission = 5;
         }
         return permission;
@@ -1131,7 +1133,7 @@ public class PageServiceImpl implements PageService {
             Date dateTwo = format.parse("2021-09-17 18:00:00");
             if (archiveFile.getUploadTime() != null && archiveFile.getUploadTime().compareTo(dateOne) > 0 && archiveFile.getUploadTime().compareTo(dateTwo) < 0) {
                 ossName = active + "/" + ossName;
-            } else if (archiveFile.getUploadTime() != null && archiveFile.getUploadTime().compareTo(dateTwo)>0){
+            } else if (archiveFile.getUploadTime() != null && archiveFile.getUploadTime().compareTo(dateTwo) > 0) {
                 ossName = active + "/archiveFile/" + ossName;
             }
         } catch (ParseException e) {
@@ -1143,13 +1145,13 @@ public class PageServiceImpl implements PageService {
     }
 
     @Override
-    public ResponseJson<Map<String, Object>> getSvipProductPage(Integer userId, Integer source, Integer pageNum, Integer pageSize) {
+    public ResponseJson<Map<String, Object>> getSvipProductPage(Integer userId, Integer source, Integer pageNum, Integer pageSize,Integer flag) {
         Map<String, Object> svipProductPageData = new HashMap<>(2);
         String adsImage = pageMapper.getSvipProductAdsImage(userId, source);
         PageHelper.startPage(pageNum, pageSize);
         List<ProductItemVo> svipProductList = pageMapper.getSvipProductList();
-        svipProductList.forEach(svipProduct->{
-            priceUtilService.setProductDetails(userId, svipProduct);
+        svipProductList.forEach(svipProduct -> {
+            priceUtilService.setProductDetails(userId, svipProduct,flag);
             svipProduct.setImage(ImageUtils.getImageURL("product", svipProduct.getImage(), 0, domain));
         });
         PaginationVo<ProductItemVo> svipProductPage = new PaginationVo<>(svipProductList);

+ 10 - 11
src/main/java/com/caimei365/commodity/service/impl/PriceServiceImpl.java

@@ -7,9 +7,9 @@ import com.caimei365.commodity.components.PriceUtilService;
 import com.caimei365.commodity.mapper.PriceMapper;
 import com.caimei365.commodity.mapper.ShopMapper;
 import com.caimei365.commodity.model.ResponseJson;
-import com.caimei365.commodity.model.vo.ProductSalesVo;
 import com.caimei365.commodity.model.vo.LadderPriceVo;
 import com.caimei365.commodity.model.vo.PriceVo;
+import com.caimei365.commodity.model.vo.ProductSalesVo;
 import com.caimei365.commodity.model.vo.TaxVo;
 import com.caimei365.commodity.service.PageService;
 import com.caimei365.commodity.service.PriceService;
@@ -22,7 +22,6 @@ import javax.annotation.Resource;
 import java.util.List;
 
 import static com.alibaba.fastjson.JSON.parseArray;
-import static com.alibaba.fastjson.JSON.parseObject;
 
 /**
  * Description
@@ -50,11 +49,11 @@ public class PriceServiceImpl implements PriceService {
      * @return PriceVo
      */
     @Override
-    public ResponseJson<PriceVo> getDetailPrice(Integer userId, Integer productId) {
+    public ResponseJson<PriceVo> getDetailPrice(Integer userId, Integer productId,Integer flag) {
         // 数据库获取基本价格信息
         PriceVo price = priceMapper.getDetailPrice(productId);
         // 根据用户id设置详细价格
-        priceUtilService.setPriceByUserId(price, userId);
+        priceUtilService.setPriceByUserId(price, userId,flag);
         log.info(">>>读取商品价格,商品ID:" + productId + ",用户ID:" + userId);
         return ResponseJson.success(price);
     }
@@ -67,7 +66,7 @@ public class PriceServiceImpl implements PriceService {
      * @return List<PriceVo>
      */
     @Override
-    public ResponseJson<List<PriceVo>> getListPrice(Integer userId, String productIds, Integer source) {
+    public ResponseJson<List<PriceVo>> getListPrice(Integer userId, String productIds, Integer source, Integer flag) {
         List<Integer> productIdList = Lists.newArrayList();
         if (productIds.contains(",")) {
             String[] productArr = productIds.split(",");
@@ -84,7 +83,7 @@ public class PriceServiceImpl implements PriceService {
         List<PriceVo> priceList = priceMapper.getListPriceByProductIds(productIdList);
         for (PriceVo price : priceList) {
             // 根据用户id设置详细价格
-            priceUtilService.setPriceByUserId(price, userId);
+            priceUtilService.setPriceByUserId(price, userId, flag);
             Boolean couponsLogo = pageService.setCouponsLogo(userId, price.getProductId(), source);
             price.setCouponsLogo(couponsLogo);
         }
@@ -135,7 +134,7 @@ public class PriceServiceImpl implements PriceService {
             Integer productCount = (Integer) productTemp.get("productCount");
             // 获取商品销量信息
             ProductSalesVo salesVo = priceMapper.getProductSalesInfo(productId);
-            if (null == salesVo || ObjectUtils.isEmpty(salesVo)){
+            if (null == salesVo || ObjectUtils.isEmpty(salesVo)) {
                 return ResponseJson.error("商品数据异常!", null);
             }
             int dbCount = (null == salesVo.getProductCount()) ? 0 : salesVo.getProductCount();
@@ -145,10 +144,10 @@ public class PriceServiceImpl implements PriceService {
             salesVo.setShopName(shopName);
             // 分类名称
             String typeName = shopMapper.getTypeName(salesVo.getBigTypeId(), salesVo.getSmallTypeId(), salesVo.getTinyTypeId());
-            if (null != salesVo.getCommodityType() && 2 == salesVo.getCommodityType()){
-                salesVo.setProperty("仪器-"+typeName);
+            if (null != salesVo.getCommodityType() && 2 == salesVo.getCommodityType()) {
+                salesVo.setProperty("仪器-" + typeName);
             } else {
-                salesVo.setProperty("产品-"+typeName);
+                salesVo.setProperty("产品-" + typeName);
             }
             if (null == salesVo.getId()) {
                 // 新商品
@@ -157,7 +156,7 @@ public class PriceServiceImpl implements PriceService {
                 // 更新销量
                 priceMapper.updateProductSales(salesVo);
             }
-            log.info("【更新商品销量】:"+salesVo.toString());
+            log.info("【更新商品销量】:" + salesVo.toString());
         }
         return ResponseJson.success(null);
     }

+ 3 - 3
src/main/java/com/caimei365/commodity/service/impl/SellerServiceImpl.java

@@ -54,7 +54,7 @@ public class SellerServiceImpl implements SellerService {
         List<ProductItemVo> productList = sellerMapper.getSingleProductList(searchWord);
         productList.forEach(product -> {
             // 设置商品主图及价格
-            priceUtilService.setProductDetails(clubUserId, product);
+            priceUtilService.setProductDetails(clubUserId, product, 1);
         });
         PaginationVo<ProductItemVo> pageData = new PaginationVo<>(productList);
         return ResponseJson.success(pageData);
@@ -87,7 +87,7 @@ public class SellerServiceImpl implements SellerService {
                 product.setInitProductNum(0);
                 product.setTotalPrice(0d);
                 // 设置商品主图及价格
-                priceUtilService.setProductDetails(clubUserId, product);
+                priceUtilService.setProductDetails(clubUserId, product, 1);
                 //优惠券标识
                 Boolean couponsLogo = pageService.setCouponsLogo(clubUserId, product.getProductId(), 2);
                 product.setCouponsLogo(couponsLogo);
@@ -115,7 +115,7 @@ public class SellerServiceImpl implements SellerService {
             productList.add(0, productItemVo);
             productList.forEach(product -> {
                 // 设置商品主图及价格
-                priceUtilService.setProductDetails(userId, product);
+                priceUtilService.setProductDetails(userId, product, 2);
                 //优惠券标识
                 Boolean couponsLogo = pageService.setCouponsLogo(userId, product.getProductId(), source);
                 product.setCouponsLogo(couponsLogo);

+ 2 - 2
src/main/java/com/caimei365/commodity/service/impl/ShopServiceImpl.java

@@ -112,7 +112,7 @@ public class ShopServiceImpl implements ShopService {
                 product.setIsChecked(false);
                 // 设置商品主图及价格
                 Integer userId = shopMapper.getUserIdByshopId(shopId);
-                priceUtilService.setProductDetails(userId, product);
+                priceUtilService.setProductDetails(userId, product, 3);
             }
         }
         PaginationVo<ProductItemVo> productPage = new PaginationVo<>(productList);
@@ -252,7 +252,7 @@ public class ShopServiceImpl implements ShopService {
         product.setTaxPoint(productDto.getTaxPoint());
         product.setAllAreaFlag(productDto.getAllAreaFlag());
         product.setProvinceIds(productDto.getProvinceIds());*/
-        BeanUtils.copyProperties(productDto,product);
+        BeanUtils.copyProperties(productDto, product);
         product.setUpdateTime(current);
         product.setValidFlag(1);
         product.setProductCategory(1);

+ 2 - 2
src/main/java/com/caimei365/commodity/service/impl/UserLikeServiceImpl.java

@@ -58,7 +58,7 @@ public class UserLikeServiceImpl implements UserLikeService {
         List<ProductItemVo> productList = likeMapper.findLikeList(userId);
         productList.forEach(product -> {
             // 设置商品主图及价格
-            priceUtilService.setProductDetails(userId, product);
+            priceUtilService.setProductDetails(userId, product, 2);
             //优惠券标识
             Boolean couponsLogo = pageService.setCouponsLogo(userId, product.getProductId(), 2);
             product.setCouponsLogo(couponsLogo);
@@ -76,7 +76,7 @@ public class UserLikeServiceImpl implements UserLikeService {
         if (productIds.contains(",")) {
             String[] productArr = productIds.split(",");
             for (String id : productArr) {
-                Integer ids=Integer.parseInt(id);
+                Integer ids = Integer.parseInt(id);
                 productIdList.add(ids);
             }
         } else {

+ 15 - 17
src/test/java/com/caimei365/commodity/ProductApplicationTests.java

@@ -1,20 +1,18 @@
-package com.caimei365.commodity;
-
-import org.apache.commons.lang.StringUtils;
-import org.junit.jupiter.api.Test;
-import org.springframework.boot.test.context.SpringBootTest;
-
-import java.util.Arrays;
-
-@SpringBootTest
-class ProductApplicationTests {
-
+//package com.caimei365.commodity;
+//
+//import org.junit.jupiter.api.Test;
+//import org.springframework.boot.test.context.SpringBootTest;
+//
+//@SpringBootTest
+//class ProductApplicationTests {
+//
 //    @Test
 //    void contextLoads() {
-//        String[] split = new String[]{"wwe","dsfsdf","","","dsfds"};
-//        Object[] objects = Arrays.stream(split).filter(StringUtils::isNotEmpty).toArray();
-//        System.out.println(Arrays.toString(objects));
+////        String[] split = new String[]{"wwe","dsfsdf","","","dsfds"};
+////        Object[] objects = Arrays.stream(split).filter(StringUtils::isNotEmpty).toArray();
+////        System.out.println(Arrays.toString(objects));
+//
 //    }
-
-
-}
+//
+//
+//}