|
@@ -3,61 +3,38 @@ package edu.travel.commodity.service.impl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import edu.travel.commodity.entity.ShopProductSku;
|
|
import edu.travel.commodity.entity.ShopProductSku;
|
|
import edu.travel.commodity.mapper.ShopProductSkuMapper;
|
|
import edu.travel.commodity.mapper.ShopProductSkuMapper;
|
|
|
|
+import edu.travel.commodity.mapper.ShopProductSpecMapper;
|
|
import edu.travel.commodity.service.ShopProductSkuService;
|
|
import edu.travel.commodity.service.ShopProductSkuService;
|
|
-import edu.travel.commodity.service.ShopSkuSpecValueService;
|
|
|
|
-import edu.travel.commodity.service.ShopSpecService;
|
|
|
|
-import edu.travel.commodity.service.ShopSpecValueService;
|
|
|
|
-import edu.travel.commodity.vo.SortSpecVo;
|
|
|
|
-import edu.travel.commodity.vo.SpecValueVo;
|
|
|
|
-import edu.travel.commodity.vo.SpecVo;
|
|
|
|
|
|
+import edu.travel.commodity.vo.ShopSkuSpecValueVo;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.web.context.request.RequestContextHolder;
|
|
|
|
+import org.springframework.web.context.request.ServletRequestAttributes;
|
|
|
|
|
|
|
|
+import javax.servlet.http.HttpServletRequest;
|
|
import java.util.*;
|
|
import java.util.*;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
public class ShopProductSkuServiceImpl extends ServiceImpl<ShopProductSkuMapper, ShopProductSku> implements ShopProductSkuService {
|
|
public class ShopProductSkuServiceImpl extends ServiceImpl<ShopProductSkuMapper, ShopProductSku> implements ShopProductSkuService {
|
|
|
|
|
|
- @Autowired
|
|
|
|
- private ShopProductSkuService shopProductSkuService;
|
|
|
|
- @Autowired
|
|
|
|
- private ShopSkuSpecValueService shopSkuSpecValueService;
|
|
|
|
- @Autowired
|
|
|
|
- private ShopSpecValueService shopSpecValueService;
|
|
|
|
- @Autowired
|
|
|
|
- private ShopSpecService shopSpecService;
|
|
|
|
- @Autowired
|
|
|
|
- private ShopProductSkuMapper shopProductSkuMapper;
|
|
|
|
|
|
|
|
|
|
+ @Autowired
|
|
|
|
+ private ShopProductSpecMapper shopProductSpecMapper;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 查询SKU下的规格和对应的规格值 规格 排序 规格值排序
|
|
* 查询SKU下的规格和对应的规格值 规格 排序 规格值排序
|
|
|
|
+ * sku -> 规格 ->规格值
|
|
* @param skuId
|
|
* @param skuId
|
|
* @return {@link Map }<{@link String },{@link List }<{@link SpecVo }>>
|
|
* @return {@link Map }<{@link String },{@link List }<{@link SpecVo }>>
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public Map<String,List<SpecVo>> getSkuValuesById(Set<String> skuId) {
|
|
|
|
- List<SpecVo> list=shopProductSkuMapper.getSkuValuesById(skuId);
|
|
|
|
- return list.stream().collect(Collectors.groupingBy(SpecVo::getSkuId));
|
|
|
|
|
|
+ public Map<String, List<ShopSkuSpecValueVo>> getSkuValuesById(Set<String> skuId) {
|
|
|
|
+ HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
|
|
|
|
+ String project = request.getHeader("project");
|
|
|
|
+ List<ShopSkuSpecValueVo> list = shopProductSpecMapper.getSkuValue(skuId, project);
|
|
|
|
+ return list.stream().collect(Collectors.groupingBy(ShopSkuSpecValueVo::getSkuId));
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 商品和sku关联表ID ->sku详情
|
|
|
|
- * @param shopProductSkuIds 商品和sku关联表ID
|
|
|
|
- * @return {@link Map }<{@link String },{@link SpecValueVo }>
|
|
|
|
- */
|
|
|
|
- @Override
|
|
|
|
- public Map<String,List<SortSpecVo>> getShopProductSkuId(Set<String> shopProductSkuIds) {
|
|
|
|
- List<SortSpecVo> list=shopProductSkuMapper.getValuesByProductIds(shopProductSkuIds);
|
|
|
|
- Map<String, List<SortSpecVo>> collect = list.stream().collect(Collectors.groupingBy(SortSpecVo::getSkuId));
|
|
|
|
-
|
|
|
|
- collect.forEach((k,v)->
|
|
|
|
- {
|
|
|
|
- List<SortSpecVo> collect1 = v.stream().sorted(Comparator.comparing(SortSpecVo::getSpecOrder)
|
|
|
|
- .thenComparing(SortSpecVo::getValueSort)).collect(Collectors.toList());
|
|
|
|
- collect.put(k,collect1);
|
|
|
|
- });
|
|
|
|
- return collect;
|
|
|
|
- }
|
|
|
|
|
|
+
|
|
}
|
|
}
|