From dd8eb85c96c18fdcbbd60350828afbe85176dbef Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Fri, 8 Aug 2025 12:04:20 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=99=BA=E6=85=A7=E8=B6=85=E5=B8=82):?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=AF=BC=E5=85=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/SmErpSpuServiceImpl.java | 172 ++++-------------- .../main/resources/mapper/SmErpSpuMapper.xml | 2 +- 2 files changed, 39 insertions(+), 135 deletions(-) diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java index 1fc5c8949..4836da3d2 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/java/com/bsd/pjcloud/supermarket/service/impl/SmErpSpuServiceImpl.java @@ -985,36 +985,8 @@ public class SmErpSpuServiceImpl extends ServiceImpl existingUnitWrapper = new LambdaQueryWrapper<>(); existingUnitWrapper.eq(SmErpUnitEntity::getSpuId, spu.getId()); - - if (StringUtils.isNotBlank(dto.getBarCode())) { - // 如果有条码,使用条码作为主要去重依据 + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getBarCode())) { existingUnitWrapper.eq(SmErpUnitEntity::getBarCode, dto.getBarCode()); } else { - // 如果条码为空,使用单位名称、口味和规格的组合作为去重依据 existingUnitWrapper.eq(SmErpUnitEntity::getUnit, dto.getUnit()); - - // 处理口味字段的查询条件 - if (StringUtils.isNotBlank(dto.getTaste())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getTaste())) { existingUnitWrapper.eq(SmErpUnitEntity::getTaste, dto.getTaste()); } else { - // 当口味为空时,查询口味为null或空字符串的记录 - existingUnitWrapper.and(wrapper -> wrapper - .isNull(SmErpUnitEntity::getTaste) - .or() - .eq(SmErpUnitEntity::getTaste, "") - ); + existingUnitWrapper.and(w -> w.isNull(SmErpUnitEntity::getTaste).or().eq(SmErpUnitEntity::getTaste, "")); } - - // 处理规格字段的查询条件 - if (StringUtils.isNotBlank(dto.getSpec())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getSpec())) { existingUnitWrapper.eq(SmErpUnitEntity::getSpec, dto.getSpec()); } else { - // 当规格为空时,查询规格为null或空字符串的记录 - existingUnitWrapper.and(wrapper -> wrapper - .isNull(SmErpUnitEntity::getSpec) - .or() - .eq(SmErpUnitEntity::getSpec, "") - ); + existingUnitWrapper.and(w -> w.isNull(SmErpUnitEntity::getSpec).or().eq(SmErpUnitEntity::getSpec, "")); } } - SmErpUnitEntity existingUnit = smErpUnitService.getOne(existingUnitWrapper); if (existingUnit != null) { - // 更新现有包装单位 + // 更新现有包装单位(不改动主数据) existingUnit.setPackageNum(dto.getPackageNum()); - existingUnit.setBarCode(StringUtils.isNotBlank(dto.getBarCode()) ? dto.getBarCode() : null); // 更新条码 - existingUnit.setTaste(StringUtils.isNotBlank(dto.getTaste()) ? dto.getTaste() : null); // 更新口味 - existingUnit.setSpec(StringUtils.isNotBlank(dto.getSpec()) ? dto.getSpec() : null); // 更新规格 + existingUnit.setBarCode(org.apache.commons.lang3.StringUtils.isNotBlank(dto.getBarCode()) ? dto.getBarCode() : null); // 更新条码 existingUnit.setPurchasePrice(unit.getPurchasePrice()); existingUnit.setRetailPrice(unit.getRetailPrice()); existingUnit.setPromotionPrice(unit.getPromotionPrice()); @@ -1116,19 +1068,19 @@ public class SmErpSpuServiceImpl extends ServiceImpl auxiliaryBarcodes = new ArrayList<>(); - if (StringUtils.isNotBlank(dto.getAuxiliaryBarcode1())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getAuxiliaryBarcode1())) { auxiliaryBarcodes.add(dto.getAuxiliaryBarcode1()); } - if (StringUtils.isNotBlank(dto.getAuxiliaryBarcode2())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getAuxiliaryBarcode2())) { auxiliaryBarcodes.add(dto.getAuxiliaryBarcode2()); } - if (StringUtils.isNotBlank(dto.getAuxiliaryBarcode3())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getAuxiliaryBarcode3())) { auxiliaryBarcodes.add(dto.getAuxiliaryBarcode3()); } - if (StringUtils.isNotBlank(dto.getAuxiliaryBarcode4())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getAuxiliaryBarcode4())) { auxiliaryBarcodes.add(dto.getAuxiliaryBarcode4()); } - if (StringUtils.isNotBlank(dto.getAuxiliaryBarcode5())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getAuxiliaryBarcode5())) { auxiliaryBarcodes.add(dto.getAuxiliaryBarcode5()); } @@ -1167,9 +1119,12 @@ public class SmErpSpuServiceImpl extends ServiceImpl existingUnitWrapper = new LambdaQueryWrapper<>(); - existingUnitWrapper.eq(SmErpUnitEntity::getSpuId, spu.getId()); - - if (StringUtils.isNotBlank(dto.getBarCode())) { - // 如果有条码,使用条码作为主要去重依据 - existingUnitWrapper.eq(SmErpUnitEntity::getBarCode, dto.getBarCode()); - } else { - // 如果条码为空,使用单位名称、口味和规格的组合作为去重依据 - existingUnitWrapper.eq(SmErpUnitEntity::getUnit, dto.getUnit()); - - // 处理口味字段的查询条件 - if (StringUtils.isNotBlank(dto.getTaste())) { - existingUnitWrapper.eq(SmErpUnitEntity::getTaste, dto.getTaste()); - } else { - // 当口味为空时,查询口味为null或空字符串的记录 - existingUnitWrapper.and(wrapper -> wrapper - .isNull(SmErpUnitEntity::getTaste) - .or() - .eq(SmErpUnitEntity::getTaste, "") - ); - } - - // 处理规格字段的查询条件 - if (StringUtils.isNotBlank(dto.getSpec())) { - existingUnitWrapper.eq(SmErpUnitEntity::getSpec, dto.getSpec()); - } else { - // 当规格为空时,查询规格为null或空字符串的记录 - existingUnitWrapper.and(wrapper -> wrapper - .isNull(SmErpUnitEntity::getSpec) - .or() - .eq(SmErpUnitEntity::getSpec, "") - ); - } - } - + existingUnitWrapper.eq(SmErpUnitEntity::getSpuId, spu.getId()) + .eq(SmErpUnitEntity::getUnit, dto.getUnit()) + .eq(SmErpUnitEntity::getTaste, dto.getTaste()) + .eq(SmErpUnitEntity::getSpec, dto.getSpec()); // 加入规格字段作为查询条件 SmErpUnitEntity existingUnit = smErpUnitService.getOne(existingUnitWrapper); if (existingUnit != null) { // 更新现有包装单位 existingUnit.setPackageNum(dto.getPackageNum()); existingUnit.setBarCode(dto.getBarCode()); // 更新条码 - existingUnit.setTaste(StringUtils.isNotBlank(dto.getTaste()) ? dto.getTaste() : null); // 更新口味 - existingUnit.setSpec(StringUtils.isNotBlank(dto.getSpec()) ? dto.getSpec() : null); // 更新规格 + existingUnit.setTaste(dto.getTaste()); // 更新口味 + existingUnit.setSpec(dto.getSpec()); // 更新规格 existingUnit.setPurchasePrice(unit.getPurchasePrice()); existingUnit.setRetailPrice(unit.getRetailPrice()); existingUnit.setPromotionPrice(unit.getPromotionPrice()); @@ -1375,19 +1279,19 @@ public class SmErpSpuServiceImpl extends ServiceImpl auxiliaryBarcodes = new ArrayList<>(); - if (StringUtils.isNotBlank(dto.getAuxiliaryBarcode1())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getAuxiliaryBarcode1())) { auxiliaryBarcodes.add(dto.getAuxiliaryBarcode1()); } - if (StringUtils.isNotBlank(dto.getAuxiliaryBarcode2())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getAuxiliaryBarcode2())) { auxiliaryBarcodes.add(dto.getAuxiliaryBarcode2()); } - if (StringUtils.isNotBlank(dto.getAuxiliaryBarcode3())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getAuxiliaryBarcode3())) { auxiliaryBarcodes.add(dto.getAuxiliaryBarcode3()); } - if (StringUtils.isNotBlank(dto.getAuxiliaryBarcode4())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getAuxiliaryBarcode4())) { auxiliaryBarcodes.add(dto.getAuxiliaryBarcode4()); } - if (StringUtils.isNotBlank(dto.getAuxiliaryBarcode5())) { + if (org.apache.commons.lang3.StringUtils.isNotBlank(dto.getAuxiliaryBarcode5())) { auxiliaryBarcodes.add(dto.getAuxiliaryBarcode5()); } diff --git a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpSpuMapper.xml b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpSpuMapper.xml index 5533ea250..e2a78fd99 100644 --- a/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpSpuMapper.xml +++ b/pjcloud-supermarket/pjcloud-supermarket-biz/src/main/resources/mapper/SmErpSpuMapper.xml @@ -170,7 +170,7 @@ spu.sales_count, spu.dept_id, spu.create_by, - spu.unit, + unit.unit, spu.spec, unit.retail_price, spu.cost_price,