|
@@ -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, Integer flag) {
|
|
|
+ public ResponseJson<Map<String, Object>> getClassifyData(Integer pageId, Integer userId, Integer source) {
|
|
|
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, flag);
|
|
|
+ setFloorImageProduct(userId, floorImageList, source);
|
|
|
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, Integer flag) {
|
|
|
+ public ResponseJson<Map<String, Object>> getHomeData(Integer userId, Integer source) {
|
|
|
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, flag);
|
|
|
+ setFloorImageProduct(userId, floorImageList, source);
|
|
|
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, Integer flag) {
|
|
|
+ public ResponseJson<Map<String, Object>> getPageBeautyData(Integer pageId, Integer userId, Integer source) {
|
|
|
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, flag);
|
|
|
+ setFloorImageProduct(userId, floorImageList, source);
|
|
|
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, Integer flag) {
|
|
|
+ public ResponseJson<Map<String, Object>> getPageFloorData(Integer floorId, Integer userId, Integer source) {
|
|
|
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, flag);
|
|
|
+ setFloorImageProduct(userId, floorImageList, source);
|
|
|
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, Integer flag) {
|
|
|
+ public ResponseJson<Map<String, Object>> getPageCentreData(Integer centreId, Integer userId, Integer source) {
|
|
|
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, flag);
|
|
|
+ setFloorImageProduct(userId, floorImageList, source);
|
|
|
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, Integer flag) {
|
|
|
+ public ResponseJson<ProductDetailVo> getProductDetails(Integer productId, Integer userId) {
|
|
|
ProductDetailVo product = pageMapper.getProductDetails(productId);
|
|
|
if (product == null) {
|
|
|
//商品不存在
|
|
@@ -560,25 +560,33 @@ public class PageServiceImpl implements PageService {
|
|
|
shop.setBusinessLicense(ImageUtils.getImageURL("shopLogo", shop.getBusinessLicense(), 0, domain));
|
|
|
product.setShop(shop);
|
|
|
}
|
|
|
- // 商品可见度:3:所有人可见,2:普通机构可见,1:会员机构可见
|
|
|
+ // 商品可见度:3:所有人可见,2:普通机构可见,1:会员机构可见,4:仅医美机构可见
|
|
|
Integer visibility = product.getVisibility();
|
|
|
if (null != userId && userId > 0) {
|
|
|
// 用户身份:0个人,1协销,2会员机构,3供应商,4普通机构
|
|
|
Integer identity = shopMapper.getUserIdentityById(userId);
|
|
|
+ // 会员机构类型:1医美,2生美
|
|
|
+ Integer clubType = 0;
|
|
|
+ if (null != identity && identity == 2) {
|
|
|
+ clubType = priceMapper.getClubTypeById(userId);
|
|
|
+ }
|
|
|
// 超级会员用户id
|
|
|
- Integer svipUserId = priceMapper.getSvipUserIdByUserId(userId);
|
|
|
- // 超级会员
|
|
|
- boolean pass1 = null != svipUserId;
|
|
|
- // 协销 | 会员机构 | 综合供应商
|
|
|
- boolean pass2 = null != identity && (identity == 1 || identity == 2);
|
|
|
+ Integer superVipId = priceMapper.getSvipUserIdByUserId(userId);
|
|
|
+ // 所有人可见
|
|
|
+ boolean pass1 = visibility == 3;
|
|
|
+ // 协销
|
|
|
+ boolean pass2 = null != identity && identity == 1;
|
|
|
+ // 医美机构
|
|
|
+ boolean pass3 = visibility == 4 && (null != clubType && clubType == 1);
|
|
|
+ // 会员机构 | 超级会员
|
|
|
+ boolean pass4 = visibility == 1 && (null != superVipId || (null != identity && identity == 2));
|
|
|
// 普通机构
|
|
|
- boolean pass3 = null != identity && (identity == 4 && (visibility == 2 || visibility == 3));
|
|
|
- // 游客
|
|
|
- boolean pass4 = visibility == 3;
|
|
|
- if (!(pass1 || pass2 || pass3 || pass4)) {
|
|
|
+ boolean pass5 = visibility == 2 && (null != identity && (identity == 4 || identity == 2));
|
|
|
+ // 没有权限查看该商品
|
|
|
+ if (!(pass1 || pass2 || pass3 || pass4 || pass5)) {
|
|
|
return ResponseJson.success(1, "没有权限查看该商品", new ProductDetailVo());
|
|
|
}
|
|
|
- } else if (2 == visibility || 1 == visibility) {
|
|
|
+ } else if (2 == visibility || 1 == visibility || 4 == visibility) {
|
|
|
return ResponseJson.success(1, "没有权限查看该商品,userId为空", new ProductDetailVo());
|
|
|
}
|
|
|
// 商品不处于已删除/待审核/审核未通过的状态
|
|
@@ -586,7 +594,7 @@ public class PageServiceImpl implements PageService {
|
|
|
// 数据库获取基本价格信息
|
|
|
PriceVo price = priceMapper.getDetailPrice(productId);
|
|
|
// 根据用户id设置详细价格
|
|
|
- priceUtilService.setPriceByUserId(price, userId, flag);
|
|
|
+ priceUtilService.setPriceByUserId(price, userId);
|
|
|
// 设置价格
|
|
|
product.setActStatus(price.getActStatus());
|
|
|
product.setPrice(price.getPrice());
|
|
@@ -624,7 +632,7 @@ public class PageServiceImpl implements PageService {
|
|
|
* @param pageSize
|
|
|
*/
|
|
|
@Override
|
|
|
- public ResponseJson<PaginationVo<ProductItemVo>> getBuyAgainProducts(Integer userId, Integer flag, int pageNum, int pageSize) {
|
|
|
+ public ResponseJson<PaginationVo<ProductItemVo>> getBuyAgainProducts(Integer userId, int pageNum, int pageSize) {
|
|
|
if (null == userId) {
|
|
|
return ResponseJson.error("参数错误:用户Id不能为空!", null);
|
|
|
}
|
|
@@ -639,7 +647,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, flag);
|
|
|
+ priceUtilService.setProductDetails(userId, product);
|
|
|
//优惠券标识
|
|
|
Boolean couponsLogo = pageService.setCouponsLogo(userId, product.getProductId(), 2);
|
|
|
product.setCouponsLogo(couponsLogo);
|
|
@@ -654,9 +662,17 @@ public class PageServiceImpl implements PageService {
|
|
|
* @param equipmentId 项目仪器Id
|
|
|
*/
|
|
|
@Override
|
|
|
- public ResponseJson<PageDetailVo> getEquipmentDetails(Integer equipmentId) {
|
|
|
- if (equipmentId == null) {
|
|
|
- return ResponseJson.error("参数异常:项目仪器Id不能为空!", null);
|
|
|
+ public ResponseJson<PageDetailVo> getEquipmentDetails(Integer equipmentId, Integer userId) {
|
|
|
+ // 项目仪器详情只针对资质机构开放
|
|
|
+ Integer identity = 0;
|
|
|
+ if (null != userId && userId > 0) {
|
|
|
+ // 用户身份:0个人,1协销,2会员机构,3供应商,4普通机构
|
|
|
+ identity = shopMapper.getUserIdentityById(userId);
|
|
|
+ identity = null == identity ? 0 : identity;
|
|
|
+ }
|
|
|
+ boolean flag = (identity == 1 || identity == 2 || identity == 3);
|
|
|
+ if (!flag) {
|
|
|
+ return ResponseJson.success(1, "没有权限查看该项目仪器", new PageDetailVo());
|
|
|
}
|
|
|
//仪器详情
|
|
|
PageDetailVo equipment = pageMapper.getPageDetails(equipmentId, 2);
|
|
@@ -893,7 +909,7 @@ public class PageServiceImpl implements PageService {
|
|
|
/**
|
|
|
* 设置楼层相关图片的商品信息
|
|
|
*/
|
|
|
- private void setFloorImageProduct(Integer userId, List<FloorImageVo> floorImageList, Integer source, Integer flag) {
|
|
|
+ private void setFloorImageProduct(Integer userId, List<FloorImageVo> floorImageList, Integer source) {
|
|
|
Iterator<FloorImageVo> iterator = floorImageList.iterator();
|
|
|
while (iterator.hasNext()) {
|
|
|
FloorImageVo image = iterator.next();
|
|
@@ -903,36 +919,39 @@ public class PageServiceImpl implements PageService {
|
|
|
image.setLinkParam(linkParam);
|
|
|
// 超级会员标识
|
|
|
Integer svipUserId = pageMapper.getSvipUserIdByUserId(userId);
|
|
|
- boolean svipUserFlag = null != svipUserId;
|
|
|
+ boolean isSuperVip = null != svipUserId;
|
|
|
+ // 根据用户Id查询用户身份: 0个人,1协销,2会员机构,3供应商,4普通机构
|
|
|
+ Integer identity = priceMapper.getIdentityByUserId(userId);
|
|
|
+ if (null == identity) {identity = 0;}
|
|
|
+ // 会员机构类型:1医美,2生美
|
|
|
+ Integer clubType = 0;
|
|
|
+ if (identity == 2) {
|
|
|
+ clubType = priceMapper.getClubTypeById(userId);
|
|
|
+ if (null == clubType) {clubType = 0;}
|
|
|
+ }
|
|
|
if (image.getProductId() != null) {
|
|
|
// 获取商品及价格
|
|
|
ProductItemVo product = pageMapper.getProductItemById(image.getProductId());
|
|
|
if (product != null) {
|
|
|
- // 商品价格
|
|
|
- priceUtilService.setProductDetails(userId, product, flag);
|
|
|
- // 设置商品主图
|
|
|
- image.setListType(1);
|
|
|
- image.setName(product.getName());
|
|
|
- image.setImage(ImageUtils.getImageURL("product", product.getImage(), 0, domain));
|
|
|
- image.setProduct(product);
|
|
|
- if (userId != null) {
|
|
|
- if (product.getUserIdentity() > 0) {
|
|
|
- if (!svipUserFlag && 4 == product.getUserIdentity() && "1".equals(product.getVisibility())) {
|
|
|
- iterator.remove();
|
|
|
- }
|
|
|
- } else {
|
|
|
- if ("1".equals(product.getVisibility()) || "2".equals(product.getVisibility())) {
|
|
|
- iterator.remove();
|
|
|
- }
|
|
|
- }
|
|
|
+ // visibility 3:所有人可见,2:普通机构可见,1:会员机构可见,4:仅医美机构可见
|
|
|
+ String visibility = product.getVisibility();
|
|
|
+ boolean visibileFlag = "3".equals(visibility) || ("4".equals(visibility) && clubType == 1) || ("1".equals(visibility) && (isSuperVip || identity == 2))
|
|
|
+ || ("2".equals(visibility) && (isSuperVip || identity == 2 || identity == 4));
|
|
|
+ if (!visibileFlag) {
|
|
|
+ iterator.remove();
|
|
|
} else {
|
|
|
- if ("1".equals(product.getVisibility()) || "2".equals(product.getVisibility())) {
|
|
|
- iterator.remove();
|
|
|
- }
|
|
|
+ // 商品价格
|
|
|
+ priceUtilService.setProductDetails(userId, product);
|
|
|
+ // 设置商品主图
|
|
|
+ image.setListType(1);
|
|
|
+ image.setName(product.getName());
|
|
|
+ image.setImage(ImageUtils.getImageURL("product", product.getImage(), 0, domain));
|
|
|
+ //优惠券标识
|
|
|
+ Boolean couponsLogo = setCouponsLogo(userId, image.getProductId(), source);
|
|
|
+ product.setCouponsLogo(couponsLogo);
|
|
|
+
|
|
|
+ image.setProduct(product);
|
|
|
}
|
|
|
- //优惠券标识
|
|
|
- Boolean couponsLogo = setCouponsLogo(userId, image.getProductId(), source);
|
|
|
- product.setCouponsLogo(couponsLogo);
|
|
|
} else {
|
|
|
iterator.remove();
|
|
|
}
|
|
@@ -1146,13 +1165,13 @@ public class PageServiceImpl implements PageService {
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public ResponseJson<Map<String, Object>> getSvipProductPage(Integer userId, Integer source, Integer pageNum, Integer pageSize, Integer flag) {
|
|
|
+ public ResponseJson<Map<String, Object>> getSvipProductPage(Integer userId, Integer source, Integer pageNum, Integer pageSize) {
|
|
|
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, flag);
|
|
|
+ priceUtilService.setProductDetails(userId, svipProduct);
|
|
|
svipProduct.setImage(ImageUtils.getImageURL("product", svipProduct.getImage(), 0, domain));
|
|
|
});
|
|
|
PaginationVo<ProductItemVo> svipProductPage = new PaginationVo<>(svipProductList);
|