This commit is contained in:
2024-11-29 14:54:06 +08:00
parent b6c5180a39
commit b1ba27aa1e

View File

@@ -337,26 +337,28 @@ public class TbShopSyncInfoServiceImpl extends ServiceImpl<TbShopSyncInfoMapper,
public void syncGroupPackage(Integer shopId, Map<Integer, Integer> pros, Map<Integer, Integer> skus) {
productRepository.findPackageByShopId(shopId.toString()).forEach(tbProduct -> {
tbProduct.setProGroupVo(JSONUtil.parseJSONStrTList(tbProduct.getGroupSnap(), ProductGroupVo.class));
tbProduct.getProGroupVo().forEach(proGroupVo -> {
proGroupVo.getGoods().forEach(goods -> {
if (pros.containsKey(goods.getProId())) {
if (goods.getSkuId() != null && skus.containsKey(goods.getSkuId())) {
goods.setProId(pros.get(goods.getProId()));
goods.setSkuId(skus.get(goods.getSkuId()));
} else {
goods.setProId(pros.get(goods.getProId()));
if (tbProduct.getProGroupVo() != null) {
tbProduct.getProGroupVo().forEach(proGroupVo -> {
proGroupVo.getGoods().forEach(goods -> {
if (pros.containsKey(goods.getProId())) {
if (goods.getSkuId() != null && skus.containsKey(goods.getSkuId())) {
goods.setProId(pros.get(goods.getProId()));
goods.setSkuId(skus.get(goods.getSkuId()));
} else {
goods.setProId(pros.get(goods.getProId()));
}
}
});
proGroupVo.setCount(proGroupVo.getGoods().size());
if (proGroupVo.getNumber() != null && proGroupVo.getNumber() > 0) {
if (proGroupVo.getNumber() > proGroupVo.getCount()) {
proGroupVo.setNumber(proGroupVo.getCount());
}
}
});
proGroupVo.setCount(proGroupVo.getGoods().size());
if (proGroupVo.getNumber() != null && proGroupVo.getNumber() > 0) {
if (proGroupVo.getNumber() > proGroupVo.getCount()) {
proGroupVo.setNumber(proGroupVo.getCount());
}
}
});
tbProduct.setGroupSnap(ListUtil.listToJsonString(tbProduct.getProGroupVo()));
productRepository.save(tbProduct);
tbProduct.setGroupSnap(ListUtil.listToJsonString(tbProduct.getProGroupVo()));
productRepository.save(tbProduct);
}
});
}