Explorar o código

Merge remote-tracking branch 'origin/release-201827-wangcz' into release-201827-wangcz

yujia %!s(int64=7) %!d(string=hai) anos
pai
achega
43664eb416

+ 31 - 23
src/main/java/com/uas/platform/b2c/prod/commodity/service/impl/ReleaseProductByBatchServiceImpl.java

@@ -501,6 +501,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 			goodses = goodsService.findGoodsByBatchCodes(batchCodes);
 		}
 		Goods newGoods = null;
+		List<GoodsHistory> goodsHistoryList = new ArrayList<>();
 		for (ReleaseProductByBatch aBatch : batchList) {
 			newGoods = null;
 			for (Goods goods : goodses) {
@@ -521,7 +522,10 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 				}
 			}
 			if (newGoods == null) {
-				newGoods = aBatch.releaseProductByBatchConvertToGoods(aBatch);
+				newGoods = new Goods();
+				TradeDeliveryDelayTime delayTime = getDelayTime(aBatch);
+				newGoods.setGoodsByReleaseProductByBatch(aBatch, delayTime);
+				goodsHistoryList.add(goodsHistoryService.converTGoodsHist(newGoods, GoodsHistory.OperateType.Publish.getPhrase(), false));
 			}
 			ResultMap resultMap = goodsService.updateGoods(newGoods);
 			if (resultMap.isSuccess()) {
@@ -1852,28 +1856,7 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		if (CollectionUtils.isNotEmpty(list)) {
 			List<Goods> goodses = new ArrayList<>();
 			Goods goods = null;
-			TradeDeliveryDelayTime delayTime = null;
-			ReleaseProductByBatch releaseProductByBatch1 = list.get(0);
-			if (releaseProductByBatch1.getStoreid().equals(SysConf.getStoreid())) {
-				// 增加交货延长期限
-				List<TradeDeliveryDelayTime> tradeDeliveryDelayTime = tradeDeliveryDelayTimeService.getTradeDeliveryDelayTime();
-				if (releaseProductByBatch1.getCurrency().equals(StringConstant.RMB)) {
-					for (TradeDeliveryDelayTime deliveryDelayTime : tradeDeliveryDelayTime) {
-						if (deliveryDelayTime.getType() == IntegerConstant.DOMESTIC_DELAY) {
-							delayTime = deliveryDelayTime;
-						}
-					}
-				} else {
-					for (TradeDeliveryDelayTime deliveryDelayTime : tradeDeliveryDelayTime) {
-						if (deliveryDelayTime.getType() == IntegerConstant.ABROAD_DELAY) {
-							delayTime = deliveryDelayTime;
-						}
-					}
-				}
-				if (delayTime == null) {
-					throw new IllegalOperatorException("平台未设置供应商延长时间,请联系管理员");
-				}
-			}
+			TradeDeliveryDelayTime delayTime = getDelayTime(list.get(0));
 			List<Goods> goodlist = null;
 			if (CollectionUtils.isNotEmpty(idSet)) {
 				List<Long> prids = new ArrayList<>();
@@ -1929,6 +1912,31 @@ public class ReleaseProductByBatchServiceImpl implements ReleaseProductByBatchSe
 		}
 	}
 
+	public TradeDeliveryDelayTime getDelayTime(ReleaseProductByBatch releaseProductByBatch) {
+		TradeDeliveryDelayTime delayTime = null;
+		if (releaseProductByBatch.getStoreid().equals(SysConf.getStoreid())) {
+			// 增加交货延长期限
+			List<TradeDeliveryDelayTime> tradeDeliveryDelayTime = tradeDeliveryDelayTimeService.getTradeDeliveryDelayTime();
+			if (releaseProductByBatch.getCurrency().equals(StringConstant.RMB)) {
+				for (TradeDeliveryDelayTime deliveryDelayTime : tradeDeliveryDelayTime) {
+					if (deliveryDelayTime.getType() == IntegerConstant.DOMESTIC_DELAY) {
+						delayTime = deliveryDelayTime;
+					}
+				}
+			} else {
+				for (TradeDeliveryDelayTime deliveryDelayTime : tradeDeliveryDelayTime) {
+					if (deliveryDelayTime.getType() == IntegerConstant.ABROAD_DELAY) {
+						delayTime = deliveryDelayTime;
+					}
+				}
+			}
+			if (delayTime == null) {
+				throw new IllegalOperatorException("平台未设置供应商延长时间,请联系管理员");
+			}
+		}
+		return delayTime;
+	}
+
 	/**
 	 * 批量保存pcb的信息
 	 * @param idSet id