Просмотр исходного кода

Merge branch 'zx_saas_goods' of http://git.dayaedu.com/yonge/mec into zx_saas_goods

刘俊驰 1 год назад
Родитель
Сommit
1577bccb1d

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroupPaymentCalenderAddress.java

@@ -42,6 +42,10 @@ public class MusicGroupPaymentCalenderAddress implements Serializable {
     @ApiModelProperty(value = "区")
     private String region;
 
+    @TableField("post_code_")
+    @ApiModelProperty(value = "邮编")
+    private String postCode;
+
     @TableField("address_")
     @ApiModelProperty(value = "详细地址")
     private String address;

+ 26 - 16
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java

@@ -190,7 +190,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 		String skuIds = goodsSubList.stream().map(e -> e.getSku().toString()).collect(Collectors.joining(","));
 		PmsProductQueryParamDto paramDto = new PmsProductQueryParamDto();
 		paramDto.setSkuStockIds(skuIds);
-		paramDto.setPublishStatus(1);
+//		paramDto.setPublishStatus(1);
 		paramDto.setPageSize(1000);
 		paramDto.setPageNum(1);
 		paramDto.setJson(JSON.toJSONString(paramDto));
@@ -204,6 +204,7 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 		goods.setSellCount(0);
 		Goods goodsRecord = new Goods();
 		BeanUtils.copyProperties(goods,goodsRecord);
+		goodsRecord.setStatus(YesOrNoEnum.NO);
 		BigDecimal organCostPrice = goodsSubList.stream().map(GoodsWrapper.GoodsSub::getGoodsPrice).reduce(BigDecimal.ZERO, BigDecimal::add);
 		goodsRecord.setOrganCostPrice(organCostPrice);
 		goodsDao.insert(goodsRecord);
@@ -291,8 +292,13 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 		QueryWrapper<GoodsSub> queryWrapper = new QueryWrapper<>();
 		queryWrapper.eq("goods_id_", goodsId);
 		List<GoodsSub> goodsSubs = goodsSubMapper.selectList(queryWrapper);
+		if (goodsSubs.isEmpty()) {
+			return new ArrayList<>();
+		}
+		List<String> skuList = goodsSubs.stream().map(next -> next.getSku().toString()).distinct().collect(Collectors.toList());
 		List<GoodsWrapper.GoodsSub> goodsSubList = goodsSubs.stream().map(next -> {
 			GoodsWrapper.GoodsSub goodsSub = new GoodsWrapper.GoodsSub();
+			goodsSub.setId(next.getId());
 			goodsSub.setGoodsId(goodsId);
 			goodsSub.setMallGoodsId(next.getMallGoodsId());
 			goodsSub.setGoodsStatus(next.getGoodsStatus());
@@ -300,21 +306,25 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 			goodsSub.setGoodsPrice(next.getGoodsPrice());
 			return goodsSub;
 		}).collect(Collectors.toList());
-		if (!CollectionUtils.isEmpty(goodsSubList)) {
-			List<String> goodIdList = goodsSubList.stream().map(next -> next.getMallGoodsId().toString()).distinct().collect(Collectors.toList());
-			PmsProductQueryParamDto build = PmsProductQueryParamDto.builder()
-					.productIds(String.join(",", goodIdList))
-					.pageSize(9999)
-					.pageNum(1).build();
-			build.setJson(JSON.toJSONString(build));
-			Map<String, PmsProductDto> map = mallFeignService.getProductList(build)
-					.getRows().stream().collect(Collectors.toMap(next -> next.getGoodsId() + "_" + next.getSkuStockId(), Function.identity()));
-			goodsSubList.forEach(next -> {
-				PmsProductDto orDefault = map.getOrDefault(next.getMallGoodsId() + "_" + next.getSku(), new PmsProductDto());
-				next.setPrice(orDefault.getPrice());
-				next.setMallGoodsName(orDefault.getName());
-			});
-		}
+		PmsProductQueryParamDto build = PmsProductQueryParamDto.builder()
+				.skuStockIds(String.join(",", skuList))
+				.pageSize(9999)
+				.pageNum(1).build();
+		build.setJson(JSON.toJSONString(build));
+		Map<Integer, PmsProductDto> map = mallFeignService.getProductList(build)
+				.getRows().stream().collect(Collectors.toMap(PmsProductDto::getSkuStockId, Function.identity()));
+		goodsSubList.forEach(next -> {
+			PmsProductDto dto = map.get(next.getSku());
+			if (dto != null) {
+				next.setPrice(dto.getPrice());
+				if (1 == dto.getDeleteStatus()) {
+					next.setGoodsStatus(false);
+				} else {
+					next.setGoodsStatus(dto.getPublishStatus() == 1);
+				}
+				next.setMallGoodsName(dto.getName());
+			}
+		});
 		return goodsSubList;
 	}
 

+ 20 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupPaymentCalenderServiceImpl.java

@@ -19,6 +19,7 @@ import com.ym.mec.biz.event.source.SendSeoMessageSource;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.dto.OrderCreate;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
@@ -1032,6 +1033,25 @@ public class MusicGroupPaymentCalenderServiceImpl extends BaseServiceImpl<Long,
                         , studentIds, courseIds, classGroupStudents, allLockCourseIds, batchNo, adjust.getMasterTotalPrice());
             } else if (calender.getPaymentType() == GOODS_PURCHASE) {
                 //TODO 推送订单到商城
+                OrderCreate orderCreate = new OrderCreate();
+                String orderNo = idGeneratorService.generatorId("payment") + "";
+                orderCreate.setOrderNo(orderNo);
+                orderCreate.setOrchestraId(musicGroup.getId());
+                orderCreate.setMemberId(musicGroup.getSchoolId().longValue());
+                orderCreate.setTotalAmount(calender.getCurrentTotalAmount());
+                orderCreate.setOrderFormType("MEC");
+                orderCreate.setPlatformType("SCHOOL");
+                MusicGroupPaymentCalenderAddress address = musicGroupPaymentCalenderAddressService.lambdaQuery()
+                        .eq(MusicGroupPaymentCalenderAddress::getCalenderId, calender.getId()).one();
+                if (address != null) {
+                    orderCreate.setReceiverName(address.getName());
+                    orderCreate.setReceiverPostCode(address.getPostCode());
+                    orderCreate.setReceiverPhone(address.getPhone());
+                    orderCreate.setReceiverProvince(address.getProvince());
+                    orderCreate.setReceiverCity(address.getCity());
+                    orderCreate.setReceiverRegion(address.getRegion());
+                    orderCreate.setReceiverDetailAddress(address.getAddress());
+                }
             }
             for (MusicGroupPaymentCalender musicGroupPaymentCalender : musicGroupPaymentCalenders) {
                 //将0元未缴费学员缴费状态更新为已缴费

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

@@ -4,8 +4,8 @@
 
     <insert id="saveBatch" parameterType="com.ym.mec.biz.dal.entity.GoodsSub">
         insert into goods_sub(goods_id_, mall_goods_id_, sku_, goods_status_, goods_price_) values
-        <foreach collection="goodsSubs" item="item" open="(" close=")" separator=",">
-            item.goodsId,item.mallGoodsId,item.sku,item.goodsStatus,item.goodsPrice
+        <foreach collection="goodsSubs" item="item" separator=",">
+            (#{item.goodsId},#{item.mallGoodsId},#{item.sku},#{item.goodsStatus},#{item.goodsPrice})
         </foreach>
     </insert>