1
This commit is contained in:
@@ -54,7 +54,7 @@ public class BatchPublishServiceImpl implements IBatchPublishService
|
||||
|
||||
// 京东接口配置
|
||||
private final static String requestUrl = "http://192.168.8.88:6666/jd/";
|
||||
private final static String skey = "your_skey_here";
|
||||
private final static String skey = "2192057370ef8140c201079969c956a3";
|
||||
|
||||
@Autowired
|
||||
private IOuterIdGeneratorService outerIdGeneratorService;
|
||||
@@ -68,7 +68,10 @@ public class BatchPublishServiceImpl implements IBatchPublishService
|
||||
JSONObject param = new JSONObject();
|
||||
param.put("skey", skey);
|
||||
param.put("promotionContent", requestBody.get("promotionContent"));
|
||||
|
||||
log.info("调用京东接口,URL: {}, 参数: {}", url, param.toJSONString());
|
||||
String result = HttpUtils.sendJsonPost(url, param.toJSONString());
|
||||
log.info("京东接口响应: {}", result);
|
||||
|
||||
// 尝试将 priceInfo.price 提取为顶层 price 字段,并清理文案中的 URL
|
||||
try {
|
||||
@@ -113,6 +116,8 @@ public class BatchPublishServiceImpl implements IBatchPublishService
|
||||
List<String> skuids = LineReportParser.extractSkuids(message);
|
||||
|
||||
log.info("提取到 {} 个URL, {} 个SKUID", urls.size(), skuids.size());
|
||||
log.info("提取的URLs: {}", urls);
|
||||
log.info("提取的SKUIDs: {}", skuids);
|
||||
|
||||
// 查询商品详情
|
||||
List<Map<String, Object>> products = new ArrayList<>();
|
||||
|
||||
75
test_parse.html
Normal file
75
test_parse.html
Normal file
@@ -0,0 +1,75 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>线报解析测试</title>
|
||||
</head>
|
||||
<body>
|
||||
<h2>线报解析测试</h2>
|
||||
<textarea id="message" rows="10" cols="80" placeholder="请输入线报消息">
|
||||
【京东】iPhone 15 Pro Max
|
||||
https://item.jd.com/100012345678.html
|
||||
到手价:7999元
|
||||
|
||||
【京东】MacBook Pro
|
||||
https://item.jd.com/100087654321.html
|
||||
到手价:12999元
|
||||
|
||||
SKUID: 1000987654321
|
||||
</textarea>
|
||||
<br><br>
|
||||
<button onclick="testParse()">测试解析</button>
|
||||
<div id="result"></div>
|
||||
|
||||
<script>
|
||||
function testParse() {
|
||||
const message = document.getElementById('message').value;
|
||||
const resultDiv = document.getElementById('result');
|
||||
|
||||
// 京东链接正则表达式
|
||||
const jdUrlPattern = /https?:\/\/[^\s]*?jd\.com[^\s]*/g;
|
||||
|
||||
// SKUID正则表达式(10-13位数字)
|
||||
const skuidPattern = /\b(\d{10,13})\b/g;
|
||||
|
||||
// 提取URLs
|
||||
const urls = [];
|
||||
let match;
|
||||
while ((match = jdUrlPattern.exec(message)) !== null) {
|
||||
let url = match[0];
|
||||
url = url.replace(/[\s,,。!!??]+$/, '');
|
||||
if (!urls.includes(url)) {
|
||||
urls.push(url);
|
||||
}
|
||||
}
|
||||
|
||||
// 提取SKUIDs
|
||||
const skuids = [];
|
||||
while ((match = skuidPattern.exec(message)) !== null) {
|
||||
const skuid = match[1];
|
||||
if (skuid.length >= 11) {
|
||||
skuids.push(skuid);
|
||||
}
|
||||
}
|
||||
|
||||
// 从URL中提取SKUID
|
||||
for (const url of urls) {
|
||||
const skuidMatch = url.match(/item\.jd\.com\/(\d+)\.html/);
|
||||
if (skuidMatch) {
|
||||
const skuid = skuidMatch[1];
|
||||
if (!skuids.includes(skuid)) {
|
||||
skuids.push(skuid);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
resultDiv.innerHTML = `
|
||||
<h3>解析结果:</h3>
|
||||
<p><strong>提取到 ${urls.length} 个URL:</strong></p>
|
||||
<ul>${urls.map(url => `<li>${url}</li>`).join('')}</ul>
|
||||
<p><strong>提取到 ${skuids.length} 个SKUID:</strong></p>
|
||||
<ul>${skuids.map(skuid => `<li>${skuid}</li>`).join('')}</ul>
|
||||
`;
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user