Pārlūkot izejas kodu

订单详情商品可见度

plf 3 gadi atpakaļ
vecāks
revīzija
9c847862ab

+ 6 - 3
src/main/java/com/caimei365/commodity/controller/SecondHandApi.java

@@ -57,10 +57,13 @@ public class SecondHandApi {
      * @param productId 商品表的商品Id
      */
     @ApiOperation("二手商品详情(旧:/product/getSecondHandProductDetail)")
-    @ApiImplicitParam(required = true, name = "productId", value = "商品Id")
+    @ApiImplicitParams({
+            @ApiImplicitParam(required = true, name = "userId", value = "机构用户id"),
+            @ApiImplicitParam(required = true, name = "productId", value = "商品Id")
+    })
     @GetMapping("detail")
-    public ResponseJson<SecondDetailVo> getSecondDetail(Integer productId) {
-        return secondHandService.getSecondHandDetail(productId);
+    public ResponseJson<SecondDetailVo> getSecondDetail(Integer userId, Integer productId) {
+        return secondHandService.getSecondHandDetail(userId, productId);
     }
 
     /**

+ 97 - 31
src/main/java/com/caimei365/commodity/model/vo/SecondDetailVo.java

@@ -15,69 +15,135 @@ import java.util.List;
 @Data
 public class SecondDetailVo implements Serializable {
     private static final long serialVersionUID = 1L;
-    /** 商品productID */
+    /**
+     * 商品productID
+     */
     private Integer productId;
-    /** 名称name */
+    /**
+     * 名称name
+     */
     private String name;
-    /** 主图mainImage */
+    /**
+     * 主图mainImage
+     */
     private String image;
-    /** 品牌 */
+    /**
+     * 品牌
+     */
     private String brandName;
     private Integer brandId;
-    /** 是否已售 0和空未出售,1已出售 */
+    /**
+     * 是否已售 0和空未出售,1已出售
+     */
     private String sold;
-    /** 是否新上架 0非新上架,1新上架 */
+    /**
+     * 是否新上架 0非新上架,1新上架
+     */
     private String newAdded;
-    /** 是否启用详聊,1不开启,2开启(开启详聊不展示交易价)*/
+    /**
+     * 是否启用详聊,1不开启,2开启(开启详聊不展示交易价)
+     */
     private Integer detailTalkFlag;
-    /** 价格 */
+    /**
+     * 价格
+     */
     private Double price;
-    /** 交易价字符串千分位 */
+    /**
+     * 交易价字符串千分位
+     */
     private String priceStr;
-    /** 上架时间(审核时上架变化、自动下架后再上架变化、手动下架后上架如果不在有效期内才变化) */
+    /**
+     * 上架时间(审核时上架变化、自动下架后再上架变化、手动下架后上架如果不在有效期内才变化)
+     */
     private Date onLineDate;
-    /** 上架时间字符串(年月日) */
+    /**
+     * 上架时间字符串(年月日)
+     */
     private String onLineDateStr;
-    /** 浏览量 */
+    /**
+     * 浏览量
+     */
     private Integer viewingNum;
-    /** 省市区(地址前部分) */
+    /**
+     * 省市区(地址前部分)
+     */
     private String provinceCityDistrict;
-    /** 二手商品列表图片数据集合 */
+    /**
+     * 二手商品列表图片数据集合
+     */
     private List<String> imageList;
 
-    /** 商品类型:0其它类型(默认),1妆字号,2械字号 */
+    /**
+     * 商品类型:0其它类型(默认),1妆字号,2械字号
+     */
     private String productType;
-    /** 二手商品分类,1二手仪1器,2临期产品,3其他 */
+    /**
+     * 二手商品分类,1二手仪1器,2临期产品,3其他
+     */
     private String secondHandType;
-    /** 二手仪器分类的类型,1轻光电、2重光电、3耗材配件(仅适用于二手仪器分类多个用英文逗号分分隔) */
+    /**
+     * 二手仪器分类的类型,1轻光电、2重光电、3耗材配件(仅适用于二手仪器分类多个用英文逗号分分隔)
+     */
     private String instrumentType;
-    /** 商品类型(二手仪器-重光电) */
+    /**
+     * 商品类型(二手仪器-重光电)
+     */
     private String typeStr;
-    /** 品牌信息(品牌描述) */
+    /**
+     * 品牌信息(品牌描述)
+     */
     private String brandInfo;
-    /** 商品详情信息(补充信息) */
+    /**
+     * 商品详情信息(补充信息)
+     */
     private String productDetails;
-    /** 是否已售 0和空未出售,1已出售 */
+    /**
+     * 是否已售 0和空未出售,1已出售
+     */
     private String productQuality;
-    /** 库存 */
+    /**
+     * 库存
+     */
     private Integer stock;
-    /** 市场价 */
+    /**
+     * 市场价
+     */
     private Double normalPrice;
-    /** 市场价价字符串千分位 */
+    /**
+     * 市场价价字符串千分位
+     */
     private String normalPriceStr;
-    /** 采购价/原价(该二手原始购买价格) */
+    /**
+     * 采购价/原价(该二手原始购买价格)
+     */
     private Double originalPrice;
-    /** 采购价/原价(该二手原始购买价格)千分位串 */
+    /**
+     * 采购价/原价(该二手原始购买价格)千分位串
+     */
     private String originalPriceStr;
-    /** 出厂日期格式:2020年6月 */
+    /**
+     * 出厂日期格式:2020年6月
+     */
     private String fixedYears;
-    /** 产品到期日格式:2020年6月(仅适用于临期产品) */
+    /**
+     * 产品到期日格式:2020年6月(仅适用于临期产品)
+     */
     private String maturityYears;
-    /** 是否显示联系人,1不显示,2显示 */
+    /**
+     * 是否显示联系人,1不显示,2显示
+     */
     private String showContactFlag;
-    /** 联系人名字 */
+    /**
+     * 联系人名字
+     */
     private String contactName;
-    /** 联系方式 */
+    /**
+     * 联系方式
+     */
     private String contactMobile;
+    /**
+     * 商品可见度:(3:所有人可见,2:普通机构可见,1:会员机构可见)
+     */
+    private Integer visibility;
 
 }

+ 2 - 1
src/main/java/com/caimei365/commodity/service/SecondHandService.java

@@ -33,10 +33,11 @@ public interface SecondHandService {
     /**
      * 获取二手商品详情
      *
+     * @param userId    机构用户id
      * @param productId 商品表的商品Id
      * @return SecondDetailVo
      */
-    ResponseJson<SecondDetailVo> getSecondHandDetail(Integer productId);
+    ResponseJson<SecondDetailVo> getSecondHandDetail(Integer userId, Integer productId);
 
     /**
      * 发布二手商品

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

@@ -97,12 +97,24 @@ public class SecondHandServiceImpl implements SecondHandService {
     /**
      * 获取二手商品详情
      *
+     * @param userId    机构用户id
      * @param productId 商品表的商品Id
      * @return SecondDetailVo
      */
     @Override
-    public ResponseJson<SecondDetailVo> getSecondHandDetail(Integer productId) {
+    public ResponseJson<SecondDetailVo> getSecondHandDetail(Integer userId, Integer productId) {
+        //0游客,2会员机构,4普通机构
+        Integer userIdentity = 0;
+        if (userId != null && userId > 0) {
+            userIdentity = priceMapper.getIdentityByUserId(userId);
+        }
         SecondDetailVo second = secondHandMapper.getSecondHandDetail(productId);
+        Integer visibility = second.getVisibility();
+        boolean b = userIdentity == 0 && (visibility == 1 || visibility == 2);
+        boolean a = userIdentity == 4 && visibility == 1;
+        if (b || a) {
+            return ResponseJson.error("无权限查看", null);
+        }
         // 优化地址信息
         String provinceCityDistrict = second.getProvinceCityDistrict();
         provinceCityDistrict = provinceCityDistrict.replace("/", "").replace("市辖区", "");

+ 1 - 0
src/main/resources/mapper/SecondHandMapper.xml

@@ -82,6 +82,7 @@
             p.productType,
             p.stock,
             p.brandID as brandId,
+            p.visibility as visibility,
 	        IF(p.brandID != 161,cb.name ,cshd.brandName) as "brandName",
 	        cb.description as "brandInfo",
 	        cshd.originalPrice,