|
@@ -14,6 +14,7 @@ import com.gree.mall.miniapp.commonmapper.MaterialMapper;
|
|
|
import com.gree.mall.miniapp.commonmapper.stock.MaterialGoodsStockCMapper;
|
|
|
import com.gree.mall.miniapp.constant.Constant;
|
|
|
import com.gree.mall.miniapp.enums.material.PartsPushFlagEnum;
|
|
|
+import com.gree.mall.miniapp.enums.material.WebsitGoodsTypeEnum;
|
|
|
import com.gree.mall.miniapp.exception.RemoteServiceException;
|
|
|
import com.gree.mall.miniapp.logic.common.CommonLogic;
|
|
|
import com.gree.mall.miniapp.plus.entity.*;
|
|
@@ -330,7 +331,7 @@ public class MaterialGoodsStockLogic {
|
|
|
List<WorkerStock> existWorkerStockList = materialGoodsStockCMapper.queryExistWorkerStockList(workerStockDTO.getCompanyWechatId()
|
|
|
, workerStockDTO.getWorkerId(), stockList);
|
|
|
// 全部商品库存
|
|
|
- Map<String, WorkerStock> existWorkerStockMap = this.createNotExistWorkerStock(stockList, existWorkerStockList);
|
|
|
+ Map<String, WorkerStock> existWorkerStockMap = this.createNotExistWorkerStock(workerStockDTO.getGoodsType(), stockList, existWorkerStockList);
|
|
|
// 计算商品库存
|
|
|
List<WorkerStockAcc> workerStockAccList = new ArrayList<>();
|
|
|
this.computeWorkerStock(stockList, existWorkerStockMap, null, workerStockAccList);
|
|
@@ -353,14 +354,25 @@ public class MaterialGoodsStockLogic {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private Map<String, WorkerStock> createNotExistWorkerStock(List<WorkerStockDTO> stockList, List<WorkerStock> existWorkerStockList) {
|
|
|
+ private Map<String, WorkerStock> createNotExistWorkerStock(String goodsType, List<WorkerStockDTO> stockList, List<WorkerStock> existWorkerStockList) {
|
|
|
// 已存在的商品库存转成Map
|
|
|
- Map<String, WorkerStock> existShopStockMap = existWorkerStockList.stream()
|
|
|
- .collect(Collectors.toMap(WorkerStock::getGoodsId, Function.identity()));
|
|
|
+ Map<String, WorkerStock> existShopStockMap;
|
|
|
+
|
|
|
+ if (goodsType.equals(WebsitGoodsTypeEnum.M.toString())) {
|
|
|
+ existShopStockMap = existWorkerStockList.stream()
|
|
|
+ .collect(Collectors.toMap(WorkerStock::getGoodsId, Function.identity()));
|
|
|
+ } else {
|
|
|
+ existShopStockMap = existWorkerStockList.stream()
|
|
|
+ .collect(Collectors.toMap(o -> o.getCompanyWechatId() + o.getWebsitId() + o.getPartsWebsitId() + o.getGoodsId(), Function.identity()));
|
|
|
+ }
|
|
|
|
|
|
// 找出不存在的商品库存并存入新商品库存List
|
|
|
for (WorkerStockDTO workerStockDTO : stockList) {
|
|
|
WorkerStock workerStock = existShopStockMap.get(workerStockDTO.getGoodsId());
|
|
|
+ if (goodsType.equals(WebsitGoodsTypeEnum.P.toString())) {
|
|
|
+ workerStock = existShopStockMap.get(workerStockDTO.getCompanyWechatId() + workerStockDTO.getWebsitId() + workerStockDTO.getPartsWebsitId() + workerStockDTO.getGoodsId());
|
|
|
+ }
|
|
|
+
|
|
|
if (Objects.isNull(workerStock)) {
|
|
|
workerStock = workerStockDTO.createWorkerStock();
|
|
|
existShopStockMap.put(workerStockDTO.getGoodsId(), workerStock);
|