fix(thirdparty):验证码修复

This commit is contained in:
zjf committed 2025-08-08 10:26:07 +08:00
1 parent 169b86b1cc
commit d84b843462
3 files changed
+69 -21

No files matched your search

@@ -1049,8 +1049,9 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
unit.setUnit(dto.getUnit());
unit.setPackageNum(dto.getPackageNum());
unit.setIsBase(true); // 默认为基础单位
unit.setBarCode(dto.getBarCode()); // 包装单位的条码来自主条码
unit.setTaste(dto.getTaste()); // 设置口味
unit.setBarCode(StringUtils.isNotBlank(dto.getBarCode()) ? dto.getBarCode() : null); // 包装单位的条码来自主条码
unit.setTaste(StringUtils.isNotBlank(dto.getTaste()) ? dto.getTaste() : null); // 设置口味,空值设为null
unit.setSpec(StringUtils.isNotBlank(dto.getSpec()) ? dto.getSpec() : null); // 设置规格字段,空值设为null
unit.setPurchasePrice(dto.getPurchasePrice() != null ?
BigDecimal.valueOf(dto.getPurchasePrice()).multiply(BigDecimal.valueOf(100)).intValue() : 0);
unit.setRetailPrice(dto.getRetailPrice() != null ?
@@ -1060,29 +1061,48 @@ 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())
.eq(SmErpUnitEntity::getTaste, dto.getTaste());
.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);
if (existingUnit != null) {
// 包装单位已存在,记录警告但不更新(保护线上数据)
errorReasons.add("包装单位已存在,跳过导入以避免覆盖线上数据。单位:" + dto.getUnit() + ",口味:" + dto.getTaste());
errorList.add(createErrorInfo(rowNumber, dto.getProductCode(), errorReasons));
continue;
// 如果需要更新模式,可以取消注释下面的代码
/*
// 更新现有包装单位
existingUnit.setPackageNum(dto.getPackageNum());
existingUnit.setBarCode(dto.getBarCode()); // 更新条码
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.setPurchasePrice(unit.getPurchasePrice());
existingUnit.setRetailPrice(unit.getRetailPrice());
existingUnit.setPromotionPrice(unit.getPromotionPrice());
existingUnit.setCostPrice(unit.getCostPrice());
smErpUnitService.updateById(existingUnit);
*/
} else {
smErpUnitService.save(unit);
}
@@ -1282,7 +1302,8 @@ public class SmErpSpuServiceImpl extends ServiceImpl<SmErpSpuMapper, SmErpSpuEnt
unit.setPackageNum(dto.getPackageNum());
unit.setIsBase(true); // 默认为基础单位
unit.setBarCode(dto.getBarCode()); // 包装单位的条码来自主条码
unit.setTaste(dto.getTaste()); // 设置口味
unit.setTaste(StringUtils.isNotBlank(dto.getTaste()) ? dto.getTaste() : null); // 设置口味,空值设为null
unit.setSpec(StringUtils.isNotBlank(dto.getSpec()) ? dto.getSpec() : null); // 设置规格字段,空值设为null
unit.setPurchasePrice(dto.getPurchasePrice() != null ?
BigDecimal.valueOf(dto.getPurchasePrice()).multiply(BigDecimal.valueOf(100)).intValue() : 0);
unit.setRetailPrice(dto.getRetailPrice() != null ?
@@ -1292,17 +1313,43 @@ 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())
.eq(SmErpUnitEntity::getTaste, dto.getTaste());
.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);
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.setPurchasePrice(unit.getPurchasePrice());
existingUnit.setRetailPrice(unit.getRetailPrice());
existingUnit.setPromotionPrice(unit.getPromotionPrice());
@@ -327,10 +327,11 @@ public class ThirdPartyOAth2Cotroller {
stringHashMap.put("date","5");
smsService.sendSms(mobilePhone, "20657",stringHashMap, WebUtils.getIP());
if (type == 1){
redisTemplate.opsForValue().set(CacheConstants.SMS_VISITOR_CODE_KEY +mobilePhone,s, 5, TimeUnit.MINUTES);
}else {
if (null==type){
redisTemplate.opsForValue().set(CacheConstants.SMS_CODE_KEY +mobilePhone,s, 5, TimeUnit.MINUTES);
}else {
redisTemplate.opsForValue().set(CacheConstants.SMS_VISITOR_CODE_KEY +mobilePhone,s, 5, TimeUnit.MINUTES);
}
// redisTemplate.opsForValue().set(CacheConstants.SMS_CODE_KEY +mobilePhone,s, 5, TimeUnit.MINUTES);
return R.ok();