diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/JDOrderController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/JDOrderController.java index 0a6b9f8..ad5c8fb 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/JDOrderController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/jarvis/JDOrderController.java @@ -1057,22 +1057,30 @@ public class JDOrderController extends BaseController { } try { - // 构建配置键名 - String configKey = CONFIG_KEY_PREFIX + distributionMark.trim(); - - // 从系统配置中获取接收人列表 + String trimmed = distributionMark.trim(); + String configKey = CONFIG_KEY_PREFIX + trimmed; String configValue = sysConfigService.selectConfigByKey(configKey); if (StringUtils.hasText(configValue)) { - // 清理配置值(去除空格) String touser = configValue.trim().replaceAll(",\\s+", ","); logger.info("从配置获取接收人列表 - 分销标识: {}, 配置键: {}, 接收人: {}", distributionMark, configKey, touser); return touser; - } else { - logger.debug("未找到接收人配置 - 分销标识: {}, 配置键: {}", distributionMark, configKey); - return null; } + if (trimmed.startsWith("F-") || "F".equals(trimmed)) { + if (!trimmed.equals("F")) { + String fallbackKey = CONFIG_KEY_PREFIX + "F"; + String fallbackVal = sysConfigService.selectConfigByKey(fallbackKey); + if (StringUtils.hasText(fallbackVal)) { + String touser = fallbackVal.trim().replaceAll(",\\s+", ","); + logger.info("从配置获取接收人列表(F 系回退) - 分销标识: {}, 配置键: {}, 接收人: {}", + distributionMark, fallbackKey, touser); + return touser; + } + } + } + logger.debug("未找到接收人配置 - 分销标识: {}, 配置键: {}", distributionMark, configKey); + return null; } catch (Exception e) { logger.error("获取接收人配置失败 - 分销标识: {}, 错误: {}", distributionMark, e.getMessage(), e); return null; diff --git a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/InstructionServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/InstructionServiceImpl.java index dae8599..8737f43 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/InstructionServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/InstructionServiceImpl.java @@ -1379,7 +1379,14 @@ public class InstructionServiceImpl implements IInstructionService { if (mark == null) { return false; } - return "F".equalsIgnoreCase(mark.trim()); + String t = mark.trim(); + if (t.isEmpty()) { + return false; + } + if ("F".equalsIgnoreCase(t)) { + return true; + } + return t.length() >= 2 && t.regionMatches(true, 0, "F-", 0, 2); } private static boolean isNewTemplateDanWriteSuccess(String primary) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/JDOrderProfitServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/JDOrderProfitServiceImpl.java index 7c6fdd1..7f38a0f 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/JDOrderProfitServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/JDOrderProfitServiceImpl.java @@ -59,7 +59,7 @@ public class JDOrderProfitServiceImpl implements IJDOrderProfitService { return; } - if ("F".equals(mark)) { + if ("F".equals(mark) || mark.startsWith("F-")) { if (!sellingLocked) { fillSellingPriceFromConfig(order); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/LogisticsServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/LogisticsServiceImpl.java index 6ee3639..351a649 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/LogisticsServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/jarvis/service/impl/LogisticsServiceImpl.java @@ -896,22 +896,32 @@ public class LogisticsServiceImpl implements ILogisticsService { } try { - // 构建配置键名 - String configKey = CONFIG_KEY_PREFIX + distributionMark.trim(); - - // 从系统配置中获取接收人列表 + String trimmed = distributionMark.trim(); + // 构建配置键名(可与订单中的标识完全一致,如 F-王杰) + String configKey = CONFIG_KEY_PREFIX + trimmed; String configValue = sysConfigService.selectConfigByKey(configKey); if (StringUtils.hasText(configValue)) { - // 清理配置值(去除空格) String touser = configValue.trim().replaceAll(",\\s+", ","); logger.info("从配置获取接收人列表 - 分销标识: {}, 配置键: {}, 接收人: {}", distributionMark, configKey, touser); return touser; - } else { - logger.debug("未找到接收人配置 - 分销标识: {}, 配置键: {}", distributionMark, configKey); - return null; } + // F、F-中文 等未单独配置时,共用 logistics.push.touser.F + if (trimmed.startsWith("F-") || "F".equals(trimmed)) { + if (!trimmed.equals("F")) { + String fallbackKey = CONFIG_KEY_PREFIX + "F"; + String fallbackVal = sysConfigService.selectConfigByKey(fallbackKey); + if (StringUtils.hasText(fallbackVal)) { + String touser = fallbackVal.trim().replaceAll(",\\s+", ","); + logger.info("从配置获取接收人列表(F 系回退) - 分销标识: {}, 配置键: {}, 接收人: {}", + distributionMark, fallbackKey, touser); + return touser; + } + } + } + logger.debug("未找到接收人配置 - 分销标识: {}, 配置键: {}", distributionMark, configKey); + return null; } catch (Exception e) { logger.error("获取接收人配置失败 - 分销标识: {}, 错误: {}", distributionMark, e.getMessage(), e); return null; diff --git a/ruoyi-system/src/main/resources/mapper/jarvis/JDOrderMapper.xml b/ruoyi-system/src/main/resources/mapper/jarvis/JDOrderMapper.xml index d10ed11..ded282a 100644 --- a/ruoyi-system/src/main/resources/mapper/jarvis/JDOrderMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/jarvis/JDOrderMapper.xml @@ -282,7 +282,7 @@