Browse Source

Merge branch 'zx_saas_goods' into test

刘俊驰 1 year ago
parent
commit
a70ee74ac6

+ 19 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java

@@ -1124,6 +1124,10 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 		}
 		GoodsWrapper.Goods detail = JSON.parseObject(JSON.toJSONString(goods), GoodsWrapper.Goods.class);
 		detail.setGoodsSubList(queryGoodsSubByGoodId(goodsId));
+
+		List<ProductCategoryDto> productCategoryDtos = treeToList(queryGoodsCategoryList());
+		Map<Long, String> IdNamemap = productCategoryDtos.stream().collect(Collectors.toMap(ProductCategoryDto::getId, ProductCategoryDto::getName));
+		detail.setGoodsCategoryName(IdNamemap.getOrDefault(Long.valueOf(detail.getGoodsCategoryId()), ""));
 		return detail;
 	}
 
@@ -1163,6 +1167,21 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 
 			BigDecimal organCostPrice = goodsSubList.stream().map(GoodsWrapper.GoodsSub::getGoodsPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
 			goodsInfo.setOrganCostPrice(organCostPrice);
+
+			//获取最小的库存数
+			String skuIds = goodsSubList.stream().map(e -> e.getSku().toString()).collect(Collectors.joining(","));
+			PmsProductQueryParamDto paramDto = new PmsProductQueryParamDto();
+			paramDto.setSkuStockIds(skuIds);
+			paramDto.setPageSize(1000);
+			paramDto.setPageNum(1);
+			paramDto.setJson(JSON.toJSONString(paramDto));
+			List<PmsProductDto> productList = mallFeignService.getProductList(paramDto).getRows();
+			if(CollectionUtils.isEmpty(productList)){
+				throw new BizException("子商品不存在");
+			}
+			//获取最小库存数量
+			Integer stock = productList.stream().map(PmsProductDto::getStock).min(Integer::compareTo).get();
+			goodsInfo.setStockCount(stock);
 		}
 		update(goodsInfo);
 	}

+ 1 - 1
mec-biz/src/main/resources/config/mybatis/GoodsSubMapper.xml

@@ -17,6 +17,6 @@
         </foreach>
     </update>
     <select id="queryChildGoods" resultType="com.ym.mec.biz.dal.dto.ComplementGoodsDto">
-        select sku_ skuStockId,goods_id_ goodsId,goods_price_ organCostPrice from goods_sub where goods_id_ = 1
+        select sku_ skuStockId,goods_id_ goodsId,goods_price_ organCostPrice from goods_sub where goods_id_ = #{goodsId}
     </select>
 </mapper>

+ 17 - 10
mec-mall/mall-admin/src/main/java/com/yonge/cooleshow/admin/service/impl/OmsOrderServiceImpl.java

@@ -18,6 +18,7 @@ import com.yonge.cooleshow.admin.enums.OrderStatisticalEnum;
 import com.yonge.cooleshow.admin.service.*;
 import com.yonge.cooleshow.mbg.mapper.*;
 import com.yonge.cooleshow.mbg.model.*;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -40,6 +41,7 @@ import java.util.stream.Collectors;
  * Created by macro on 2018/10/11.
  */
 @Service
+@Slf4j
 public class OmsOrderServiceImpl implements OmsOrderService {
     @Autowired
     private OmsOrderMapper orderMapper;
@@ -92,18 +94,23 @@ public class OmsOrderServiceImpl implements OmsOrderService {
         List<Long> schoolIds = list.stream().filter(o->o.getSourceType() ==2).map(OmsOrder::getMemberId).collect(Collectors.toList());
 
         if (!CollectionUtils.isEmpty(schoolIds)) {
-            HttpResponseResult<List<SchoolDto>> schoolDtoHttpResponseResult = webFeignService.schoolListByIds(schoolIds);
-            if (schoolDtoHttpResponseResult.getCode() == 200 && schoolDtoHttpResponseResult.getStatus()) {
-                Map<Long, SchoolDto> schoolDtoMap = schoolDtoHttpResponseResult.getData().stream().collect(Collectors.toMap(SchoolDto::getId, o -> o));
-                list.forEach(o->{
-                    if (o.getSourceType() == 2) {
-                        SchoolDto schoolDto = schoolDtoMap.get(o.getMemberId());
-                        if (schoolDto != null) {
-                            o.setMemberUsername(schoolDto.getName());
+            try {
+                HttpResponseResult<List<SchoolDto>> schoolDtoHttpResponseResult = webFeignService.schoolListByIds(schoolIds);
+                if (schoolDtoHttpResponseResult.getCode() == 200 && schoolDtoHttpResponseResult.getStatus()) {
+                    Map<Long, SchoolDto> schoolDtoMap = schoolDtoHttpResponseResult.getData().stream().collect(Collectors.toMap(SchoolDto::getId, o -> o));
+                    list.forEach(o->{
+                        if (o.getSourceType() == 2) {
+                            SchoolDto schoolDto = schoolDtoMap.get(o.getMemberId());
+                            if (schoolDto != null) {
+                                o.setMemberUsername(schoolDto.getName());
+                            }
                         }
-                    }
-                });
+                    });
+                }
+            } catch (Exception e) {
+                log.error("查询学校信息失败", e);
             }
+
         }
 
         return list;