This commit is contained in:
van
2026-04-08 16:36:20 +08:00
parent 2d4f933791
commit c9876df3de
5 changed files with 44 additions and 19 deletions

View File

@@ -1057,22 +1057,30 @@ public class JDOrderController extends BaseController {
} }
try { try {
// 构建配置键名 String trimmed = distributionMark.trim();
String configKey = CONFIG_KEY_PREFIX + distributionMark.trim(); String configKey = CONFIG_KEY_PREFIX + trimmed;
// 从系统配置中获取接收人列表
String configValue = sysConfigService.selectConfigByKey(configKey); String configValue = sysConfigService.selectConfigByKey(configKey);
if (StringUtils.hasText(configValue)) { if (StringUtils.hasText(configValue)) {
// 清理配置值(去除空格)
String touser = configValue.trim().replaceAll(",\\s+", ","); String touser = configValue.trim().replaceAll(",\\s+", ",");
logger.info("从配置获取接收人列表 - 分销标识: {}, 配置键: {}, 接收人: {}", logger.info("从配置获取接收人列表 - 分销标识: {}, 配置键: {}, 接收人: {}",
distributionMark, configKey, touser); distributionMark, configKey, touser);
return 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) { } catch (Exception e) {
logger.error("获取接收人配置失败 - 分销标识: {}, 错误: {}", distributionMark, e.getMessage(), e); logger.error("获取接收人配置失败 - 分销标识: {}, 错误: {}", distributionMark, e.getMessage(), e);
return null; return null;

View File

@@ -1379,7 +1379,14 @@ public class InstructionServiceImpl implements IInstructionService {
if (mark == null) { if (mark == null) {
return false; 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) { private static boolean isNewTemplateDanWriteSuccess(String primary) {

View File

@@ -59,7 +59,7 @@ public class JDOrderProfitServiceImpl implements IJDOrderProfitService {
return; return;
} }
if ("F".equals(mark)) { if ("F".equals(mark) || mark.startsWith("F-")) {
if (!sellingLocked) { if (!sellingLocked) {
fillSellingPriceFromConfig(order); fillSellingPriceFromConfig(order);
} }

View File

@@ -896,22 +896,32 @@ public class LogisticsServiceImpl implements ILogisticsService {
} }
try { try {
// 构建配置键名 String trimmed = distributionMark.trim();
String configKey = CONFIG_KEY_PREFIX + distributionMark.trim(); // 构建配置键名(可与订单中的标识完全一致,如 F-王杰)
String configKey = CONFIG_KEY_PREFIX + trimmed;
// 从系统配置中获取接收人列表
String configValue = sysConfigService.selectConfigByKey(configKey); String configValue = sysConfigService.selectConfigByKey(configKey);
if (StringUtils.hasText(configValue)) { if (StringUtils.hasText(configValue)) {
// 清理配置值(去除空格)
String touser = configValue.trim().replaceAll(",\\s+", ","); String touser = configValue.trim().replaceAll(",\\s+", ",");
logger.info("从配置获取接收人列表 - 分销标识: {}, 配置键: {}, 接收人: {}", logger.info("从配置获取接收人列表 - 分销标识: {}, 配置键: {}, 接收人: {}",
distributionMark, configKey, touser); distributionMark, configKey, touser);
return 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) { } catch (Exception e) {
logger.error("获取接收人配置失败 - 分销标识: {}, 错误: {}", distributionMark, e.getMessage(), e); logger.error("获取接收人配置失败 - 分销标识: {}, 错误: {}", distributionMark, e.getMessage(), e);
return null; return null;

View File

@@ -282,7 +282,7 @@
<select id="selectJDOrderListByDistributionMarkFOrPDD" resultMap="JDOrderResult"> <select id="selectJDOrderListByDistributionMarkFOrPDD" resultMap="JDOrderResult">
<include refid="selectJDOrderBase"/> <include refid="selectJDOrderBase"/>
<where> <where>
(distribution_mark = 'F' OR distribution_mark = 'PDD' OR distribution_mark = 'H' OR distribution_mark = 'W' OR distribution_mark = 'PDD-W') (distribution_mark = 'F' OR distribution_mark LIKE 'F-%' OR distribution_mark = 'PDD' OR distribution_mark = 'H' OR distribution_mark = 'W' OR distribution_mark = 'PDD-W')
AND logistics_link IS NOT NULL AND logistics_link IS NOT NULL
AND logistics_link != '' AND logistics_link != ''
AND create_time >= DATE_SUB(NOW(), INTERVAL 30 DAY) AND create_time >= DATE_SUB(NOW(), INTERVAL 30 DAY)