admin
2019-08-15 00ae1ad282df5afa8205c11e86755ff311402ece
淘礼金规则修改
6个文件已修改
87 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/recommend/HomeRecommendGoodsServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/TLJBuyGoodsServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/dataoke/DaTaoKeGoodsDetailV2ServiceImpl.java 39 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/DaTaoKeUtil.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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);