|
@@ -12,6 +12,7 @@ import cn.rankin.data.api.app.vo.ItemVo;
|
|
|
import cn.rankin.data.api.product.entity.*;
|
|
|
import cn.rankin.data.api.product.vo.CourseItemVo;
|
|
|
import cn.rankin.data.api.product.vo.SupportItemVo;
|
|
|
+import cn.rankin.data.api.product.vo.TrainingItemVo;
|
|
|
import cn.rankin.productservice.repository.*;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
@@ -35,6 +36,9 @@ public class ItemService {
|
|
|
private SupportRepository supportRepository;
|
|
|
|
|
|
@Autowired
|
|
|
+ private TrainingRepository trainingRepository;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
private GoodsRepository goodsRepository;
|
|
|
|
|
|
@Autowired
|
|
@@ -135,6 +139,25 @@ public class ItemService {
|
|
|
return supportItemVo;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ public TrainingItemVo findTrainingItem(String id, String merchantId) {
|
|
|
+ MerchantProduct merchantProduct = merchantProductRepository.findByPidAndMerchantId(id, merchantId);
|
|
|
+ if (merchantProduct == null || !BaseStatusEnum.NORMAL.equals(merchantProduct.getStatus())) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ Training training = trainingRepository.find(id);
|
|
|
+ TrainingItemVo targetItemVo = new TrainingItemVo();
|
|
|
+ BeanUtils.copyProperties(training, targetItemVo);
|
|
|
+ List<Goods> goodsList = goodsRepository.findByPidAndMerchantId(id, merchantId);
|
|
|
+ List<ItemGoodsVo> itemGoodsVoList = new ArrayList<>();
|
|
|
+ for (Goods goods : goodsList) {
|
|
|
+ ItemGoodsVo itemGoodsVo = convert(goods);
|
|
|
+ itemGoodsVoList.add(itemGoodsVo);
|
|
|
+ }
|
|
|
+ targetItemVo.setGoods(itemGoodsVoList);
|
|
|
+ return targetItemVo;
|
|
|
+ }
|
|
|
+
|
|
|
public List<ItemVo> findSupportByCourseId(String courseId, String merchantId) {
|
|
|
List<CourseSupportRelation> relationList = courseSupportRelationRepository.findByCourseId(courseId, BaseStatusEnum.NORMAL);
|
|
|
if (CollectionUtils.isEmpty(relationList)) {
|
|
@@ -153,6 +176,7 @@ public class ItemService {
|
|
|
List<MerchantProduct> merchantProductList = merchantProductRepository.findByPidsAndMerchantId(productIdList, merchantId);
|
|
|
List<String> courseIdList = new ArrayList<>();
|
|
|
List<String> supportIdList = new ArrayList<>();
|
|
|
+ List<String> trainingIdList = new ArrayList<>();
|
|
|
for (MerchantProduct merchantProduct : merchantProductList) {
|
|
|
String productId = merchantProduct.getPid();
|
|
|
ProductTypeEnum type = merchantProduct.getType();
|
|
@@ -160,7 +184,10 @@ public class ItemService {
|
|
|
courseIdList.add(productId);
|
|
|
} else if (type.equals(ProductTypeEnum.SUPPORT)) {
|
|
|
supportIdList.add(productId);
|
|
|
+ } else if (type.equals(ProductTypeEnum.TRAINING)){
|
|
|
+ trainingIdList.add(productId);
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
|
|
|
List<Course> courseList = new ArrayList<>();
|
|
@@ -173,6 +200,11 @@ public class ItemService {
|
|
|
supportList = supportRepository.findByIds(supportIdList);
|
|
|
}
|
|
|
|
|
|
+ List<Training> trainingList = new ArrayList<>();
|
|
|
+ if (!CollectionUtils.isEmpty(trainingIdList)){
|
|
|
+ trainingList = trainingRepository.findByIds(trainingIdList);
|
|
|
+ }
|
|
|
+
|
|
|
// 拿产品信息
|
|
|
Map<String, ItemVo> itemVoMap = new HashMap<>();
|
|
|
for (Course course : courseList) {
|
|
@@ -186,6 +218,12 @@ public class ItemService {
|
|
|
itemVoMap.put(productId, itemVo);
|
|
|
}
|
|
|
|
|
|
+ for(Training training : trainingList){
|
|
|
+ String productId = training.getId();
|
|
|
+ ItemVo itemVo = convert(training);
|
|
|
+ itemVoMap.put(productId, itemVo);
|
|
|
+ }
|
|
|
+
|
|
|
// 取商品信息
|
|
|
List<Goods> goodsList = goodsRepository.findByPidsAndMerchantId(productIdList, merchantId);
|
|
|
Map<String, List<Goods>> goodsMap = new HashMap<>();
|
|
@@ -296,6 +334,17 @@ public class ItemService {
|
|
|
return itemVo;
|
|
|
}
|
|
|
|
|
|
+ public static ItemVo convert(Training training) {
|
|
|
+ ItemVo itemVo = new ItemVo();
|
|
|
+ itemVo.setId(training.getId());
|
|
|
+ itemVo.setCode(training.getCode());
|
|
|
+ itemVo.setTitle(training.getTitle());
|
|
|
+ itemVo.setType(ProductTypeEnum.TRAINING);
|
|
|
+ itemVo.setCoverUrl(training.getCoverUrl());
|
|
|
+ itemVo.setImgList(training.getImgList());
|
|
|
+ return itemVo;
|
|
|
+ }
|
|
|
+
|
|
|
public static ItemGoodsVo convert(Goods goods) {
|
|
|
ItemGoodsVo itemGoodsVo = new ItemGoodsVo();
|
|
|
itemGoodsVo.setId(goods.getId());
|