From e1a62ec62e7331d97af9302e90e1ce44af8235eb Mon Sep 17 00:00:00 2001
From: admin <weikou2014>
Date: 星期三, 27 一月 2021 15:26:55 +0800
Subject: [PATCH] 拼多多授权绑定

---
 fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java |   39 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 38 insertions(+), 1 deletions(-)

diff --git a/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java b/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java
index 7a037f8..dcec3d9 100644
--- a/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java
+++ b/fanli/src/main/java/com/yeshi/fanli/util/pinduoduo/PinDuoDuoUtil.java
@@ -37,6 +37,7 @@
 
 import net.sf.json.JSONArray;
 import net.sf.json.JSONObject;
+import org.yeshi.utils.TimeUtil;
 
 public class PinDuoDuoUtil {
 
@@ -58,6 +59,30 @@
             promotionRate = MoneyBigDecimalUtil.div3(goods.getPredictPromotionRate(),
                     new BigDecimal(1000));
 
+        Boolean hasCoupon = goods.getHasCoupon();
+        if (hasCoupon == null || !hasCoupon) {
+            money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(price, promotionRate), rate);
+        } else {
+            BigDecimal amount = MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponDiscount()), hundred);
+            BigDecimal startFree = MoneyBigDecimalUtil.div(new BigDecimal(goods.getCouponMinOrderAmount()), hundred);
+            if (startFree.compareTo(price) <= 0 && price.compareTo(amount) > 0) {
+                BigDecimal finalPrice = price.subtract(amount);
+                money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(finalPrice, promotionRate), rate);
+            } else {// 涓嶈兘鐢ㄥ埜
+                money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(price, promotionRate), rate);
+            }
+        }
+        return BigDecimalUtil.getWithNoZera(money).setScale(2);
+    }
+
+
+    public static BigDecimal getGoodsShareMoney(PDDGoodsDetail goods, BigDecimal rate) {
+        BigDecimal money = null;
+        BigDecimal hundred = new BigDecimal(100);
+        rate = MoneyBigDecimalUtil.div(rate, hundred);
+        BigDecimal price = MoneyBigDecimalUtil.div(new BigDecimal(goods.getMinGroupPrice()), hundred).setScale(2);
+        BigDecimal promotionRate = MoneyBigDecimalUtil.div3(new BigDecimal(goods.getPromotionRate()),
+                new BigDecimal(1000));
         Boolean hasCoupon = goods.getHasCoupon();
         if (hasCoupon == null || !hasCoupon) {
             money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(price, promotionRate), rate);
@@ -122,7 +147,11 @@
                             JSONArray array = json.optJSONObject("store").optJSONObject("initDataObj")
                                     .optJSONObject("goods").optJSONArray("detailGallery");
                             for (int j = 0; j < array.size(); j++) {
-                                imgList.add("http:" + array.optJSONObject(j).optString("url"));
+                                String u = array.optJSONObject(j).optString("url");
+                                if (!u.startsWith("http"))
+                                    imgList.add("http:" + u);
+                                else
+                                    imgList.add(u);
                             }
                         }
                     } catch (Exception e) {
@@ -617,4 +646,12 @@
         return urlList;
     }
 
+    public static String getCustomParams(Long uid) {
+        return uid + "_" + TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyyMMdd");
+    }
+
+    public static String getUidFromCustomParams(String params) {
+        return params.split("_")[0];
+    }
+
 }

--
Gitblit v1.8.0