From b4cab80e68b63644f86c81cb9a84b4961e5d9a18 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Fri, 8 Aug 2025 10:37:45 +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=E8=A6=86=E7=9B=96=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 | 110 ++++++++++-------- .../controller/ThirdPartyOAth2Cotroller.java | 1 + 2 files changed, 63 insertions(+), 48 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 c68ed4299..1fc5c8949 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 @@ -1061,33 +1061,40 @@ public class SmErpSpuServiceImpl extends ServiceImpl existingUnitWrapper = new LambdaQueryWrapper<>(); - existingUnitWrapper.eq(SmErpUnitEntity::getSpuId, spu.getId()) - .eq(SmErpUnitEntity::getUnit, dto.getUnit()); + existingUnitWrapper.eq(SmErpUnitEntity::getSpuId, spu.getId()); - // 处理口味字段的查询条件 - if (StringUtils.isNotBlank(dto.getTaste())) { - existingUnitWrapper.eq(SmErpUnitEntity::getTaste, dto.getTaste()); + if (StringUtils.isNotBlank(dto.getBarCode())) { + // 如果有条码,使用条码作为主要去重依据 + existingUnitWrapper.eq(SmErpUnitEntity::getBarCode, dto.getBarCode()); } 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::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, "") + ); + } } SmErpUnitEntity existingUnit = smErpUnitService.getOne(existingUnitWrapper); @@ -1313,33 +1320,40 @@ public class SmErpSpuServiceImpl extends ServiceImpl existingUnitWrapper = new LambdaQueryWrapper<>(); - existingUnitWrapper.eq(SmErpUnitEntity::getSpuId, spu.getId()) - .eq(SmErpUnitEntity::getUnit, dto.getUnit()); + existingUnitWrapper.eq(SmErpUnitEntity::getSpuId, spu.getId()); - // 处理口味字段的查询条件 - if (StringUtils.isNotBlank(dto.getTaste())) { - existingUnitWrapper.eq(SmErpUnitEntity::getTaste, dto.getTaste()); + if (StringUtils.isNotBlank(dto.getBarCode())) { + // 如果有条码,使用条码作为主要去重依据 + existingUnitWrapper.eq(SmErpUnitEntity::getBarCode, dto.getBarCode()); } 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::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, "") + ); + } } SmErpUnitEntity existingUnit = smErpUnitService.getOne(existingUnitWrapper); diff --git a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/ThirdPartyOAth2Cotroller.java b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/ThirdPartyOAth2Cotroller.java index 9e212940b..3736a4217 100644 --- a/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/ThirdPartyOAth2Cotroller.java +++ b/pjcloud-thirdparty/pjcloud-thirdparty-biz/src/main/java/com/bsd/pjcloud/thirdparty/controller/ThirdPartyOAth2Cotroller.java @@ -327,6 +327,7 @@ public class ThirdPartyOAth2Cotroller { stringHashMap.put("date","5"); smsService.sendSms(mobilePhone, "20657",stringHashMap, WebUtils.getIP()); + // null 适配之前诗画的,=1访客,先else if (null==type){ redisTemplate.opsForValue().set(CacheConstants.SMS_CODE_KEY +mobilePhone,s, 5, TimeUnit.MINUTES); }else {