From 0f704a4650edd60cea2e57778b6703509376a42c Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期五, 08 三月 2024 17:48:09 +0800
Subject: [PATCH] 京东API(大淘客补充)优化/日志优化
---
fanli/src/main/java/com/yeshi/fanli/util/suning/SuningUtil.java | 184 +++++++++++++++++++++++++---------------------
1 files changed, 100 insertions(+), 84 deletions(-)
diff --git a/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningUtil.java
index 1222d3d..d051ad5 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/suning/SuningUtil.java
@@ -10,101 +10,117 @@
import com.yeshi.fanli.util.StringUtil;
public class SuningUtil {
- public static BigDecimal getGoodsFanLiMoney(SuningGoodsInfo goods, BigDecimal rate) {
+ public static BigDecimal getGoodsFanLiMoney(SuningGoodsInfo goods, BigDecimal rate) {
- BigDecimal hundred = new BigDecimal(100);
- rate = MoneyBigDecimalUtil.div(rate, hundred);
+ BigDecimal hundred = new BigDecimal(100);
+ rate = MoneyBigDecimalUtil.div(rate, hundred);
- String commodityPrice = goods.getCommodityInfo().getCommodityPrice();
- if (StringUtil.isNullOrEmpty(commodityPrice)) {
- commodityPrice = goods.getCommodityInfo().getSnPrice();
- }
+ BigDecimal afterUseCouponPrice = getCouponPrice(goods);
- BigDecimal afterUseCouponPrice = new BigDecimal(commodityPrice);
- if (goods.getCouponInfo() != null && !StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl())) {
- // 鏈夊埜
- BigDecimal startPrice = null;
- if (StringUtil.isNullOrEmpty(goods.getCouponInfo().getBounsLimit())) {
- startPrice = new BigDecimal(goods.getCouponInfo().getCouponValue());
- } else
- startPrice = new BigDecimal(goods.getCouponInfo().getBounsLimit());
- if (afterUseCouponPrice.compareTo(startPrice) >= 0) {
- afterUseCouponPrice = afterUseCouponPrice.subtract(new BigDecimal(goods.getCouponInfo().getCouponValue()));
- }
- }
-
- BigDecimal commission=MoneyBigDecimalUtil.mul(afterUseCouponPrice,MoneyBigDecimalUtil.div(new BigDecimal(goods.getCommodityInfo().getRate()), new BigDecimal(100),5));
+ BigDecimal commission = MoneyBigDecimalUtil.mul(afterUseCouponPrice, MoneyBigDecimalUtil.div(new BigDecimal(goods.getCommodityInfo().getRate()), new BigDecimal(100), 5));
- BigDecimal money = MoneyBigDecimalUtil.mul(commission,
- rate);
- return BigDecimalUtil.getWithNoZera(money).setScale(2);
- }
+ BigDecimal money = MoneyBigDecimalUtil.mul(commission,
+ rate);
+ return BigDecimalUtil.getWithNoZera(money).setScale(2);
+ }
- /**
- * 鑾峰彇鎷兼帴鐨勫晢鍝両D
- * @Title: getConcatGoodsIId
- * @Description:
- * @param supplierCode
- * @param goodsId
- * @return
- * String 杩斿洖绫诲瀷
- * @throws
- */
- public static String getConcatGoodsIId(String supplierCode, String goodsId) {
+ /**
+ * 鑾峰彇鍒稿悗浠�
+ *
+ * @param goods
+ * @return
+ */
- return supplierCode + "-" + goodsId;
- }
+ public static BigDecimal getCouponPrice(SuningGoodsInfo goods) {
+ String commodityPrice = goods.getCommodityInfo().getCommodityPrice();
+ if (StringUtil.isNullOrEmpty(commodityPrice)) {
+ commodityPrice = goods.getCommodityInfo().getSnPrice();
+ }
- public static String getFullSupplierCode(String supplierCode) {
- for (int i = 0; i < 10; i++) {
- if (supplierCode.length() < 10)
- supplierCode = "0" + supplierCode;
- }
+ BigDecimal afterUseCouponPrice = new BigDecimal(commodityPrice);
+ if (goods.getCouponInfo() != null && !StringUtil.isNullOrEmpty(goods.getCouponInfo().getCouponUrl())) {
+ // 鏈夊埜
+ BigDecimal startPrice = null;
+ if (StringUtil.isNullOrEmpty(goods.getCouponInfo().getBounsLimit())) {
+ startPrice = new BigDecimal(goods.getCouponInfo().getCouponValue());
+ } else
+ startPrice = new BigDecimal(goods.getCouponInfo().getBounsLimit());
+ if (afterUseCouponPrice.compareTo(startPrice) >= 0) {
+ afterUseCouponPrice = afterUseCouponPrice.subtract(new BigDecimal(goods.getCouponInfo().getCouponValue()));
+ }
+ }
+ return afterUseCouponPrice;
+ }
- return supplierCode;
- }
+ /**
+ * 鑾峰彇鎷兼帴鐨勫晢鍝両D
+ *
+ * @param supplierCode
+ * @param goodsId
+ * @return String 杩斿洖绫诲瀷
+ * @throws
+ * @Title: getConcatGoodsIId
+ * @Description:
+ */
+ public static String getConcatGoodsIId(String supplierCode, String goodsId) {
- /**
- * 閫氳繃鎷兼帴鐨勫晢鍝両D瑙f瀽鍑烘潵姝g‘鐨勫晢鍝両D
- * @Title: getGoodsIdDetail
- * @Description:
- * @param concatGoodsId
- * @return
- * String[] 杩斿洖绫诲瀷
- * @throws
- */
- public static String[] getGoodsIdDetail(String concatGoodsId) {
- String[] sts = concatGoodsId.split("-");
- String supplierCode = sts[0];
- for (int i = 0; i < 10; i++) {
- if (supplierCode.length() < 10)
- supplierCode = "0" + supplierCode;
- }
- return new String[] { supplierCode, sts[1] };
- }
+ return supplierCode + "-" + goodsId;
+ }
- public static String getProductUrl(String supplierCode, String goodsId) {
+ public static String getFullSupplierCode(String supplierCode) {
+ for (int i = 0; i < 10; i++) {
+ if (supplierCode.length() < 10)
+ supplierCode = "0" + supplierCode;
+ }
- return String.format("https://product.suning.com/%s/%s.html", supplierCode, goodsId);
- }
+ return supplierCode;
+ }
- public static String parseGoodsIdByUrl(String url) {
- try {
- if (url.contains(".suning.com/")
- && (url.contains(".suning.com/product/") || url.contains("product.suning.com/"))) {
- String preUrl = url.split("\\?")[0];
- String[] sts = preUrl.split("/");
- if (sts.length > 2) {
- String goodsId = sts[sts.length - 1].replace(".html", "").replace(".htm", "");
- String supplierCode = sts[sts.length - 2];
- if (NumberUtil.isNumeric(goodsId) && NumberUtil.isNumeric(supplierCode)) {
- return supplierCode + "-" + goodsId;
- }
- }
- }
- } catch (Exception e) {
- }
- return null;
- }
+ /**
+ * 閫氳繃鎷兼帴鐨勫晢鍝両D瑙f瀽鍑烘潵姝g‘鐨勫晢鍝両D
+ *
+ * @param concatGoodsId
+ * @return String[] 杩斿洖绫诲瀷
+ * @throws
+ * @Title: getGoodsIdDetail
+ * @Description:
+ */
+ public static String[] getGoodsIdDetail(String concatGoodsId) {
+ String[] sts = concatGoodsId.split("-");
+ String supplierCode = sts[0];
+ for (int i = 0; i < 10; i++) {
+ if (supplierCode.length() < 10)
+ supplierCode = "0" + supplierCode;
+ }
+ return new String[]{supplierCode, sts[1]};
+ }
+
+ public static String getProductUrl(String supplierCode, String goodsId) {
+
+ return String.format("https://product.suning.com/%s/%s.html", supplierCode, goodsId);
+ }
+
+ public static boolean isSuningLink(String url) {
+ return (url.contains(".suning.com/")
+ && (url.contains(".suning.com/product/") || url.contains("product.suning.com/")));
+ }
+
+ public static String parseGoodsIdByUrl(String url) {
+ try {
+ if (isSuningLink(url)) {
+ String preUrl = url.split("\\?")[0];
+ String[] sts = preUrl.split("/");
+ if (sts.length > 2) {
+ String goodsId = sts[sts.length - 1].replace(".html", "").replace(".htm", "");
+ String supplierCode = sts[sts.length - 2];
+ if (NumberUtil.isNumeric(goodsId) && NumberUtil.isNumeric(supplierCode)) {
+ return supplierCode + "-" + goodsId;
+ }
+ }
+ }
+ } catch (Exception e) {
+ }
+ return null;
+ }
}
--
Gitblit v1.8.0