1
This commit is contained in:
@@ -650,27 +650,77 @@ public class JDOrderController extends BaseController {
|
|||||||
createParam.put("skey", skey);
|
createParam.put("skey", skey);
|
||||||
createParam.put("amount", amount);
|
createParam.put("amount", amount);
|
||||||
createParam.put("quantity", quantity);
|
createParam.put("quantity", quantity);
|
||||||
createParam.put("owner", owner);
|
|
||||||
createParam.put("skuName", product.getString("skuName"));
|
createParam.put("skuName", product.getString("skuName"));
|
||||||
|
|
||||||
// 设置skuId或materialUrl
|
// 处理owner字段:p -> pop, g -> g
|
||||||
|
String productOwner = product.getString("owner");
|
||||||
|
if (productOwner == null || productOwner.trim().isEmpty()) {
|
||||||
|
productOwner = owner; // 使用用户选择的
|
||||||
|
} else if ("p".equalsIgnoreCase(productOwner)) {
|
||||||
|
productOwner = "pop";
|
||||||
|
}
|
||||||
|
createParam.put("owner", productOwner);
|
||||||
|
|
||||||
|
// 设置skuId或materialUrl(注意:POP商品优先使用materialUrl或oriItemId)
|
||||||
String skuId = product.getString("skuId");
|
String skuId = product.getString("skuId");
|
||||||
String materialUrl = product.getString("materialUrl");
|
String materialUrl = product.getString("materialUrl");
|
||||||
if (skuId != null && !skuId.trim().isEmpty()) {
|
String oriItemId = product.getString("oriItemId");
|
||||||
createParam.put("skuId", skuId);
|
|
||||||
} else if (materialUrl != null && !materialUrl.trim().isEmpty()) {
|
// 判断skuId是否有效(排除字符串"null")
|
||||||
|
boolean hasValidSkuId = skuId != null && !skuId.trim().isEmpty() &&
|
||||||
|
!"null".equalsIgnoreCase(skuId) &&
|
||||||
|
!"undefined".equalsIgnoreCase(skuId);
|
||||||
|
|
||||||
|
// 判断materialUrl是否有效
|
||||||
|
boolean hasValidMaterialUrl = materialUrl != null && !materialUrl.trim().isEmpty() &&
|
||||||
|
!"null".equalsIgnoreCase(materialUrl);
|
||||||
|
|
||||||
|
// 判断oriItemId是否有效
|
||||||
|
boolean hasValidOriItemId = oriItemId != null && !oriItemId.trim().isEmpty() &&
|
||||||
|
!"null".equalsIgnoreCase(oriItemId);
|
||||||
|
|
||||||
|
if ("pop".equalsIgnoreCase(productOwner)) {
|
||||||
|
// POP商品优先使用oriItemId或materialUrl
|
||||||
|
if (hasValidOriItemId) {
|
||||||
|
createParam.put("materialUrl", oriItemId);
|
||||||
|
logger.info("POP商品使用oriItemId: {}", oriItemId);
|
||||||
|
} else if (hasValidMaterialUrl) {
|
||||||
createParam.put("materialUrl", materialUrl);
|
createParam.put("materialUrl", materialUrl);
|
||||||
|
logger.info("POP商品使用materialUrl: {}", materialUrl);
|
||||||
|
} else if (hasValidSkuId) {
|
||||||
|
createParam.put("skuId", skuId);
|
||||||
|
logger.info("POP商品使用skuId: {}", skuId);
|
||||||
} else {
|
} else {
|
||||||
logger.warn("商品{}既无skuId也无materialUrl", product.getString("skuName"));
|
logger.warn("POP商品{}缺少有效的oriItemId/materialUrl/skuId", product.getString("skuName"));
|
||||||
JSONObject info = new JSONObject();
|
JSONObject info = new JSONObject();
|
||||||
info.put("index", i + 1);
|
info.put("index", i + 1);
|
||||||
info.put("originalUrl", originalUrl);
|
info.put("originalUrl", originalUrl);
|
||||||
info.put("newUrl", originalUrl);
|
info.put("newUrl", originalUrl);
|
||||||
info.put("success", false);
|
info.put("success", false);
|
||||||
info.put("error", "商品信息不完整");
|
info.put("error", "POP商品信息不完整");
|
||||||
replacementInfo.add(info);
|
replacementInfo.add(info);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
// 自营商品优先使用skuId
|
||||||
|
if (hasValidSkuId) {
|
||||||
|
createParam.put("skuId", skuId);
|
||||||
|
logger.info("自营商品使用skuId: {}", skuId);
|
||||||
|
} else if (hasValidMaterialUrl) {
|
||||||
|
createParam.put("materialUrl", materialUrl);
|
||||||
|
logger.info("自营商品使用materialUrl: {}", materialUrl);
|
||||||
|
} else {
|
||||||
|
logger.warn("自营商品{}缺少有效的skuId/materialUrl", product.getString("skuName"));
|
||||||
|
JSONObject info = new JSONObject();
|
||||||
|
info.put("index", i + 1);
|
||||||
|
info.put("originalUrl", originalUrl);
|
||||||
|
info.put("newUrl", originalUrl);
|
||||||
|
info.put("success", false);
|
||||||
|
info.put("error", "自营商品信息不完整");
|
||||||
|
replacementInfo.add(info);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
String createResult = HttpUtils.sendJsonPost(createUrl, createParam.toJSONString());
|
String createResult = HttpUtils.sendJsonPost(createUrl, createParam.toJSONString());
|
||||||
logger.debug("礼金创建响应: {}", createResult);
|
logger.debug("礼金创建响应: {}", createResult);
|
||||||
|
|||||||
Reference in New Issue
Block a user