1
This commit is contained in:
@@ -650,27 +650,77 @@ public class JDOrderController extends BaseController {
|
||||
createParam.put("skey", skey);
|
||||
createParam.put("amount", amount);
|
||||
createParam.put("quantity", quantity);
|
||||
createParam.put("owner", owner);
|
||||
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 materialUrl = product.getString("materialUrl");
|
||||
if (skuId != null && !skuId.trim().isEmpty()) {
|
||||
createParam.put("skuId", skuId);
|
||||
} else if (materialUrl != null && !materialUrl.trim().isEmpty()) {
|
||||
String oriItemId = product.getString("oriItemId");
|
||||
|
||||
// 判断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);
|
||||
logger.info("POP商品使用materialUrl: {}", materialUrl);
|
||||
} else if (hasValidSkuId) {
|
||||
createParam.put("skuId", skuId);
|
||||
logger.info("POP商品使用skuId: {}", skuId);
|
||||
} else {
|
||||
logger.warn("商品{}既无skuId也无materialUrl", product.getString("skuName"));
|
||||
logger.warn("POP商品{}缺少有效的oriItemId/materialUrl/skuId", 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", "商品信息不完整");
|
||||
info.put("error", "POP商品信息不完整");
|
||||
replacementInfo.add(info);
|
||||
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());
|
||||
logger.debug("礼金创建响应: {}", createResult);
|
||||
|
||||
Reference in New Issue
Block a user