fix(智慧超市):修复覆盖导入

This commit is contained in:
zjf committed 2025-08-08 10:37:45 +08:00
1 parent d84b843462
commit b4cab80e68
2 files changed
+63 -48

No files matched your search

@@ -1061,33 +1061,40 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
unit.setCostPrice(dto.getCostPrice() != null ?
BigDecimal.valueOf(dto.getCostPrice()).multiply(BigDecimal.valueOf(100)).intValue() : 0);
// 检查单位是否已存在(根据单位名称、口味和规格)
// 检查单位是否已存在(根据条码,因为每个商品下的包装单位条码是唯一的)
LambdaQueryWrapper<SmErpUnitEntity> 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<SmErpSpuMapper, SmErpSpuEnt
unit.setCostPrice(dto.getCostPrice() != null ?
BigDecimal.valueOf(dto.getCostPrice()).multiply(BigDecimal.valueOf(100)).intValue() : 0);
// 检查单位是否已存在(根据单位名称、口味和规格)
// 检查单位是否已存在(根据条码,因为每个商品下的包装单位条码是唯一的)
LambdaQueryWrapper<SmErpUnitEntity> 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);
@@ -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 {