fanli/src/main/java/com/yeshi/fanli/service/impl/goods/recommend/HomeRecommendGoodsServiceImpl.java
@@ -274,8 +274,8 @@ if (finalList != null && finalList.size() > 0) { Collections.shuffle(finalList); if (finalList.size() >= 3) finalList = finalList.subList(0, 3); if (finalList.size() >= 10) finalList = finalList.subList(0, 10); list = new ArrayList<>(); for (TaoBaoGoodsBrief goods : finalList) { list.add(map.get(goods.getAuctionId())); fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TLJBuyGoodsServiceImpl.java
@@ -91,6 +91,16 @@ List<TLJBuyGoods> goodsList = new ArrayList<>(); for (TaoBaoUnionConfig appInfo : configList) { List<TLJBuyGoods> list = listByDay(appInfo.getAppKey(), day, 10); if (list != null) for (int i = 0; i < list.size(); i++) { // 过滤淘礼金大于10块钱的 BigDecimal hongBao = TaoBaoUtil.getGoodsHongBaoMoney(list.get(i).getGoods(), TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE); if (hongBao.compareTo(new BigDecimal(10)) > 0) { list.remove(i--); } } if (list != null && list.size() > 0) goodsList.addAll(list); } @@ -157,7 +167,7 @@ } @Override public boolean verifyCanCreateTLJ(Long auctionId,TaoKeAppInfo app) { public boolean verifyCanCreateTLJ(Long auctionId, TaoKeAppInfo app) { TaoLiJinDTO taoLiJinDTO = null; try { taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, "淘礼金验证", new BigDecimal("1.00"), 1, new Date(), fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java
@@ -28,6 +28,7 @@ import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.util.dataoke.DaTaoKeApiUtil; import com.yeshi.fanli.util.taobao.DaTaoKeUtil; import com.yeshi.fanli.util.taobao.TaoBaoUtil; @Service public class DaTaoKeGoodsDetailV2ServiceImpl implements DaTaoKeGoodsDetailV2Service { @@ -240,17 +241,25 @@ return finalList; } private boolean canAddToTLJBuyGoods(DaTaoKeDetailV2 v2) { return TaoBaoUtil.canAddToTLJBuyGoods(TaoBaoUtil.convert(v2)); } @Override public List<DaTaoKeDetailV2> listPreTLJBuyGoods(int page) { if (page == 1) { List<DaTaoKeDetailV2> listPreGoodsList = new ArrayList<>(); DaTaoKeGoodsResult result = DaTaoKeApiUtil.getRankingList(DaTaoKeApiUtil.RANK_TYPE_HOT, null); List<DaTaoKeDetailV2> goodsList = new ArrayList<>(); for (DaTaoKeDetailV2 v2 : result.getGoodsList()) { BigDecimal commision = MoneyBigDecimalUtil .div(MoneyBigDecimalUtil.mul(v2.getActualPrice(), v2.getCommissionRate()), new BigDecimal(100)); if (result != null && result.getGoodsList() != null) listPreGoodsList.addAll(result.getGoodsList()); if (commision.multiply(new BigDecimal("0.7")).compareTo(new BigDecimal("1.01")) >= 0 && v2.getActualPrice().compareTo(new BigDecimal(30)) < 0 && v2.getMonthSales() >= 5000) { result = DaTaoKeApiUtil.getRankingList(DaTaoKeApiUtil.RANK_TYPE_REBUY, null); if (result != null && result.getGoodsList() != null) listPreGoodsList.addAll(result.getGoodsList()); List<DaTaoKeDetailV2> goodsList = new ArrayList<>(); for (DaTaoKeDetailV2 v2 : listPreGoodsList) { if (canAddToTLJBuyGoods(v2)) { Date time = new Date(TimeUtil.convertToTimeTemp(v2.getCouponEndTime(), "yyyy-MM-dd HH:mm:ss")); Date targetTime = new Date(TimeUtil @@ -267,6 +276,24 @@ goodsList.add(v2); } } // 去重 Map<Long, DaTaoKeDetailV2> goodsMap = new HashMap<>(); for (DaTaoKeDetailV2 v2 : goodsList) { goodsMap.put(v2.getGoodsId(), v2); } goodsList.clear(); for (Iterator<Long> its = goodsMap.keySet().iterator(); its.hasNext();) { goodsList.add(goodsMap.get(its.next())); } Comparator<DaTaoKeDetailV2> cm = new Comparator<DaTaoKeDetailV2>() { @Override public int compare(DaTaoKeDetailV2 o1, DaTaoKeDetailV2 o2) { return o1.getActualPrice().compareTo(o2.getActualPrice()); } }; Collections.sort(goodsList, cm); return goodsList; } else return new ArrayList<>(); fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java
@@ -476,6 +476,7 @@ public static int RANK_TYPE_TIME = 1;// 实时 public static int RANK_TYPE_DAY = 2;// 全天榜 public static int RANK_TYPE_HOT = 3;// 热推榜 public static int RANK_TYPE_REBUY = 4;// 复购榜 /** * 各大榜单 @@ -493,7 +494,13 @@ if (cid != null) params.put("cid", cid + ""); params.put("sign", getSign(params, app.getAppSecret())); String result = HttpUtil.get("https://openapi.dataoke.com/api/goods/get-ranking-list", params, new HashMap<>()); // 做2次请求 String result = null; try { result = HttpUtil.get("https://openapi.dataoke.com/api/goods/get-ranking-list", params, new HashMap<>()); } catch (Exception e) { result = HttpUtil.get("https://openapi.dataoke.com/api/goods/get-ranking-list", params, new HashMap<>()); } JSONObject json = JSONObject.fromObject(result); if (json != null) { JSONArray array = json.optJSONArray("data"); fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java
@@ -575,4 +575,6 @@ return detail; } } fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
@@ -63,9 +63,9 @@ import com.yeshi.fanli.util.Constant; import com.yeshi.fanli.util.MoneyBigDecimalUtil; import com.yeshi.fanli.util.StringUtil; import com.yeshi.fanli.util.TaoBaoConstant; import com.yeshi.fanli.util.TaoBaoHttpUtil; import com.yeshi.fanli.util.TimeUtil; import com.yeshi.fanli.vo.msg.ClientTextStyleVO; import net.sf.json.JSONArray; import net.sf.json.JSONObject; @@ -1899,6 +1899,25 @@ return "http://store.taobao.com/shop/view_shop.htm?user_number_id=" + sellerId; } /** * 是否可以加入淘礼金的预选商品库 * * @param v2 * @return */ public static boolean canAddToTLJBuyGoods(TaoBaoGoodsBrief goods) { BigDecimal tljMoney = getShareGoodsHongBaoInfo(goods, TaoBaoConstant.OWN_BUY_WITHOUT_FANLI_RATE); // 不能小于1块 if (tljMoney.compareTo(new BigDecimal(1)) < 0 || tljMoney.compareTo(new BigDecimal(10)) > 0) return false; // 券后价不能大于150 if (getAfterUseCouplePrice(goods).compareTo(new BigDecimal(150)) > 0) return false; return true; } public static void main(String[] args) { String s = channelMap.get("3"); System.out.println(s);