admin
2019-05-22 6eee4b9602f02664bfc4c55ae36583a1f419f73b
提现规则修改
15个文件已修改
285 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/aspect/SignValidateAspect.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/entity/bus/user/LostOrder.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/order/LostOrderService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java 52 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java 35 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/aspect/SignValidateAspect.java
@@ -110,12 +110,12 @@
            try {
                obj = joinPoint.proceed(args);
            } catch (Throwable e) {
                e.printStackTrace();
                try {
                    LogHelper.errorDetailInfo(e, getHttpServletParams(request), request.getRequestURI().toString());
                } catch (Exception e1) {
                    e1.printStackTrace();
                }
                out.print(JsonUtil.loadFalseResult(90009, "服务器内部错误"));
            }
            return obj;
        } else {
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/RecommendController.java
@@ -104,6 +104,7 @@
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.ThreadUtil;
import com.yeshi.fanli.util.TimeUtil;
import com.yeshi.fanli.util.VersionUtil;
import com.yeshi.fanli.util.cache.TaoBaoGoodsCacheUtil;
import com.yeshi.fanli.util.factory.MonitorFactory;
import com.yeshi.fanli.util.taobao.TaoBaoCouponUtil;
@@ -1602,8 +1603,8 @@
            if ("ios".equalsIgnoreCase(platform)) {
                root.put("htmlLink", configService.get("index_html_link_ios"));
            }
            root.put("spikeGoods",  getSpikeGoodsContent(acceptData));
            root.put("spikeGoods", getSpikeGoodsContent(acceptData));
            out.print(JsonUtil.loadTrueResult(root));
        } catch (Exception e) {
@@ -1687,8 +1688,8 @@
        nextTime.set(Calendar.MILLISECOND, 0);
        JSONArray array = null;
        String timekey = "spikeGoods_hour";
        String cachekey = "spikeGoodsList";
        String timekey = String.format("spikeGoods_hour-%s-%s",acceptData.getPlatform(),acceptData.getVersion());
        String cachekey = String.format("spikeGoodsList-%s-%s",acceptData.getPlatform(),acceptData.getVersion());
        String timeValue = redisManager.getCommonString(timekey);
        if (timeValue == null || !timeValue.equals(hour + "")) {
@@ -1699,7 +1700,7 @@
                array = JSONArray.fromObject(cacheValue);
            }
        }
        JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web");
        if (array == null) {
            array = new JSONArray();
@@ -1714,30 +1715,41 @@
            }
            /* 遍历列表数据 */
            for (QualityFactory qualityFactory : listGoods) {
            for (QualityFactory qualityFactory : listGoods) {
                TaoBaoGoodsBrief taoBaoGoodsBrief = qualityFactory.getTaoBaoGoodsBrief();
                if (taoBaoGoodsBrief == null) {
                    continue;
                }
                array.add(gson
                JSONObject goods = new JSONObject();
                goods.put("goods", gson
                        .toJson(TaoBaoUtil.getTaoBaoGoodsBriefExtra(taoBaoGoodsBrief, proportion.toString(), null)));
                goods.put("jumpDetail", jumpDetail);
                JSONObject params = new JSONObject();
                params.put("url", configService.get("spike_goods_link") + "?id=" + taoBaoGoodsBrief.getAuctionId());
                goods.put("params", params);
                // 1.5.4及以后返回
                if (VersionUtil.greaterThan_1_5_40(acceptData.getPlatform(), acceptData.getVersion())) {
                    array.add(goods);
                } else {
                    array.add(goods.optJSONObject("goods"));
                }
            }
            // 缓存半个小时
            redisManager.cacheCommonString(cachekey, array.toString(), 60 * 30);
        }
        Long endTime = nextTime.getTimeInMillis() - java.lang.System.currentTimeMillis();
        JSONObject root = new JSONObject();
        root.put("time", nextTime.getTimeInMillis());
        root.put("endTime", endTime > 0? endTime : 0);
        root.put("endTime", endTime > 0 ? endTime : 0);
        root.put("listgoods", array);
        JSONObject params = new JSONObject();
        params.put("url", configService.get("spike_goods_link"));
        JumpDetailV2 jumpDetail = jumpDetailV2Service.getByTypeCache("web");
        root.put("params", params);
        root.put("jumpDetail", jumpDetail);
@@ -1932,11 +1944,10 @@
        goodsJson.put("price", tb.getReservePrice().toString());
        goodsJson.put("zkPrice", tb.getZkPrice().toString());
        // 30天销量
        goodsJson.put("saleCount", TaoBaoUtil.getSaleCount(tb.getBiz30day()));
        goodsJson.put("salesCount", TaoBaoUtil.getSaleCount(tb.getBiz30day()));
        // 分享赚
        BigDecimal shareMoney = taoBaoGoodsBriefService.getShareGoodsUserHongBao(tb);
        data.put("shareMoney", "¥" + shareMoney);
@@ -2056,17 +2067,15 @@
            } else {
                tbShopInfo.setUserType("0");
            }
            String shopLink = tbShopInfo.getShopUrl();
            if (StringUtil.isNullOrEmpty(shopLink)) {
                tbShopInfo.setShopUrl(TaoBaoUtil.getShopLink(tbShopInfo.getUserId()));
            }
        }
        // 店铺
        if (("android".equalsIgnoreCase(acceptData.getPlatform()) && Integer.parseInt(acceptData.getVersion()) >= 40)
                || ("ios".equalsIgnoreCase(acceptData.getPlatform())
                        && Integer.parseInt(acceptData.getVersion()) >= 49)) {
        // 店铺1.5.4及以后版本
        if (VersionUtil.greaterThan_1_5_40(acceptData.getPlatform(), acceptData.getVersion())) {
            TaoBaoShop shop = taoBaoShopService.getTaoBaoShop(goods.getAuctionId(), goods.getSellerId());
            if (shop != null) {
                String shopLink = shop.getShopLink();
@@ -2079,7 +2088,7 @@
            goodsJson.put("shopInfo", tbShopInfo);
        }
        goodsJson.put("fanliValid",true);// 是否有返利
        goodsJson.put("fanliValid", true);// 是否有返利
        // 分享路径
        String shareUrl = String.format("%s?id=" + tb.getAuctionId(), Constant.systemCommonConfig.getAppShareInfoUrl());
@@ -2097,9 +2106,9 @@
        data.put("shareUsers", listShareUser);
        data.put("couponUsers", listCouponUser);
        data.put("detailWebUrl", "http://apph5.yeshitv.com/apppage/goods_img.html?id=" + id);
        data.put("noRebateHelpLink", configService.get("no_rebate_help_link"));
        // 商品链接
        String h5Url = String.format("http://%s%s?id=%s&appType=flq", configService.getH5Host(),
                Constant.systemCommonConfig.getShareGoodsPagePath(), tb.getAuctionId() + "");
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/UserOrderController.java
@@ -8,26 +8,32 @@
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.yeshi.utils.DateUtil;
import org.yeshi.utils.IPUtil;
import org.yeshi.utils.JsonUtil;
import org.yeshi.utils.encrypt.DESUtil;
import com.yeshi.fanli.entity.AppVersionInfo;
import com.yeshi.fanli.entity.accept.AcceptData;
import com.yeshi.fanli.entity.bus.user.LostOrder;
import com.yeshi.fanli.entity.bus.user.Order;
import com.yeshi.fanli.entity.bus.user.UserExtraTaoBaoInfo;
import com.yeshi.fanli.entity.bus.user.UserInfo;
import com.yeshi.fanli.entity.order.CommonOrder;
import com.yeshi.fanli.entity.taobao.TaoBaoOrder;
import com.yeshi.fanli.exception.order.CommonOrderException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.config.AppVersionService;
import com.yeshi.fanli.service.inter.config.ConfigService;
import com.yeshi.fanli.service.inter.count.HongBaoV2CountService;
import com.yeshi.fanli.service.inter.order.CommonOrderService;
import com.yeshi.fanli.service.inter.order.LostOrderService;
import com.yeshi.fanli.service.inter.order.OrderService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoOrderService;
import com.yeshi.fanli.service.inter.user.UserExtraTaoBaoInfoService;
@@ -72,6 +78,9 @@
    @Resource
    private OrderService orderService;
    @Resource
    private LostOrderService lostOrderService;
    /**
     * 订单列表
@@ -430,7 +439,8 @@
     * @param out
     */
    @RequestMapping(value = "uploadParsedOrder", method = RequestMethod.POST)
    public void uploadParsedOrder(AcceptData acceptData, Long uid, String orderData, String source, PrintWriter out) {
    public void uploadParsedOrder(AcceptData acceptData, Long uid, String orderData, String source,
            HttpServletRequest request, PrintWriter out) {
        if (uid == null || StringUtil.isNullOrEmpty(orderData)) {
            out.print(JsonUtil.loadFalseResult(1, "数据错误"));
            return;
@@ -446,14 +456,32 @@
        }
        if ("findOrder".equalsIgnoreCase(source)) {
            boolean success = false;
            // 匹配订单
            for (String order : orders) {
                if (!StringUtil.isNullOrEmpty(order)) {
                    List<TaoBaoOrder> orderList = taoBaoOrderService.getTaoBaoOrderByOrderId(order);
                    // 计算订单状态
                    if (orderList != null && orderList.size() > 0) {
                        int inValid = 0;
                        for (TaoBaoOrder taoBaoOrder : orderList) {
                            if (taoBaoOrder.getOrderState().equalsIgnoreCase("订单失效")) {
                                inValid++;
                            }
                        }
                        // 订单全是失效
                        if (inValid == orderList.size())
                            continue;
                        List<CommonOrder> commonOrderList = commonOrderService
                                .listBySourceTypeAndOrderId(Constant.SOURCE_TYPE_TAOBAO, order);
                        if (commonOrderList == null || commonOrderList.size() == 0) {
                            Order o = orderService.findOrderByOrderIdAndType(order, Order.ORDER_TYPE_TAOBAO);
                            if (o != null)// 原来已经存在,则不需要找回
                                continue;
                            Order or = new Order();
                            or.setBeizhu("人工自动找回补单");
                            or.setCreatetime(System.currentTimeMillis());
@@ -468,14 +496,40 @@
                                isS = orderService.addOrder(or);
                                if (isS) {
                                    CMQManager.getInstance().addTaoBaoOrderMsg(order, orderList);
                                    // 加入到LostOrder
                                    LostOrder lo = new LostOrder();
                                    lo.setCreateTime(System.currentTimeMillis());
                                    lo.setHandleTime(System.currentTimeMillis());
                                    lo.setIpInfo(IPUtil.getRemotIP(request) + ":" + request.getRemotePort());
                                    lo.setOrder(or);
                                    lo.setOrderId(order);
                                    lo.setState(LostOrder.STATE_PASS);
                                    lo.setResultCode(LostOrder.RESULT_CODE_VERFING);
                                    lo.setType(LostOrder.TYPE_TAOBAO);
                                    lo.setUserInfo(new UserInfo(uid));
                                    lostOrderService.saveLostOrder(lo);
                                    if (success == false)
                                        success = true;
                                }
                            } catch (Exception e) {
                                e.printStackTrace();
                                try {
                                    LogHelper.errorDetailInfo(e, order, "");
                                } catch (Exception e1) {
                                    e1.printStackTrace();
                                }
                            }
                        }
                    }
                }
            }
            if (success) {
                out.print(JsonUtil.loadTrue(0, null, "订单找回成功,请到“我的-订单”中查看"));
                return;
            } else {
                out.print(JsonUtil.loadFalseResult("没有可找回的订单,请尝试手动找回"));
                return;
            }
        } else {
            String orderId = null;
            if (orders != null && orders.length > 0)
fanli/src/main/java/com/yeshi/fanli/entity/bus/user/LostOrder.java
@@ -29,6 +29,9 @@
    public final static int STATE_VERFING = 0;
    public final static int STATE_PASS = 1;
    public final static int STATE_REJECT = 2;
    public final static int TYPE_TAOBAO = 1;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
fanli/src/main/java/com/yeshi/fanli/job/UpdateDaTaoKeJob.java
@@ -64,13 +64,20 @@
    }
    //20分钟更新一次
    // 20分钟更新一次
    @Scheduled(cron = "0 0/20 * * * ? ")
    public void doSyncJob() {
        if (!Constant.IS_TASK)
            return;
        try {
            daTaoKeGoodsService.startSyncGoods();
            new Thread(new Runnable() {
                @Override
                public void run() {
                    daTaoKeGoodsService.startSyncGoods();
                }
            }).start();
        } catch (Exception e) {
            try {
                LogHelper.errorDetailInfo(e);
fanli/src/main/java/com/yeshi/fanli/service/impl/dynamic/DynamicInfoServiceImpl.java
@@ -111,6 +111,8 @@
        String materialId = inviteMaterial.getId();
        String content = inviteMaterial.getText();
        
        ActivityUser user=activityUserService.selectByPrimaryKey(1L);
        if (!StringUtil.isNullOrEmpty(content)) {
            DynamicInfo dynamicTxt= new DynamicInfo();
            dynamicTxt.setId(UUID.randomUUID().toString().replace("-", ""));
@@ -119,7 +121,7 @@
            dynamicTxt.setSubclassId(0L);
            dynamicTxt.setShowType(DynamicInfo.SHOW_TYPE_ZERO);
            dynamicTxt.setShareType(DynamicInfo.SHARE_TYPE_INVITE);
            dynamicTxt.setUser(activityUserService.listRand(1).get(0));
            dynamicTxt.setUser(user);
            dynamicTxt.setShareCount(1000 + (int) (Math.random() * 8000));
            dynamicTxt.setCreateTime(date);
            dynamicTxt.setUpdateTime(date);
@@ -161,7 +163,7 @@
            dynamicPic.setSubclassId(0L);
            dynamicPic.setShowType(DynamicInfo.SHOW_TYPE_ONE);
            dynamicPic.setShareType(DynamicInfo.SHARE_TYPE_INVITE);
            dynamicPic.setUser(activityUserService.listRand(1).get(0));
            dynamicPic.setUser(user);
            dynamicPic.setShareCount(1000 + (int) (Math.random() * 8000));
            dynamicPic.setCreateTime(date);
            dynamicPic.setUpdateTime(date);
fanli/src/main/java/com/yeshi/fanli/service/impl/order/LostOrderServiceImpl.java
@@ -318,4 +318,9 @@
        return lostOrderMapper.listByStateAndResultCode(state, resultCode, (page - 1) * pageSize, pageSize);
    }
    @Override
    public void saveLostOrder(LostOrder lostOrder) {
        lostOrderMapper.insertSelective(lostOrder);
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/order/OrderProcessServiceImpl.java
@@ -897,6 +897,8 @@
            try {
                commonOrderList = commonOrderService.addTaoBaoOrder(orderList, uid);
                hongBaoV2Service.addHongBao(commonOrderList, HongBaoV2.TYPE_ZIGOU);
            } catch (CommonOrderException e) {
                try {
                    LogHelper.errorDetailInfo(e, "addTaoBaoOrder或addHongBao出错", "订单号:" + orderId);
fanli/src/main/java/com/yeshi/fanli/service/impl/user/ExtractServiceImpl.java
@@ -515,9 +515,14 @@
    @Transactional
    @Override
    public void checkExtract(Long uid) throws ExtractException {
        BigDecimal compensateMoney = extractMapper.computeCompensateByUid(uid);
        if (compensateMoney == null)
            compensateMoney = new BigDecimal(0);
        // 不判定到账红包问题
        Long count = hongBaoV2Mapper.countByUidAndState(uid, HongBao.STATE_YILINGQU);
        if (count == null || count == 0)
        if ((count == null || count == 0) && compensateMoney.compareTo(new BigDecimal(0)) == 0) {
            throw new ExtractException(1, "没有已到账的红包");
        }
        // 查询是否有欠账
        boolean isDebt = userMoneyDebtService.isHaveDebtToRepay(uid);
        if (isDebt)
@@ -546,10 +551,6 @@
        weiqaunMoney = weiqaunMoney.abs();
        BigDecimal balance = userInfoService.selectByPKey(uid).getMyHongBao();
        BigDecimal compensateMoney = extractMapper.computeCompensateByUid(uid);
        if (compensateMoney == null)
            compensateMoney = new BigDecimal(0);
        BigDecimal after = hongBaoMoney.subtract(extractMoney.add(weiqaunMoney).add(balance).add(compensateMoney));
fanli/src/main/java/com/yeshi/fanli/service/inter/order/LostOrderService.java
@@ -9,6 +9,9 @@
public interface LostOrderService {
    static final ReentrantReadWriteLock lostOrderLock = new ReentrantReadWriteLock(true);
    void saveLostOrder(LostOrder lostOrder);
    int addLostOrder(LostOrder lostOrder);
fanli/src/main/java/com/yeshi/fanli/util/SpringContext.java
@@ -390,7 +390,7 @@
    public void doUpdateGoodsJob() {
        // 采用4个线程做更新
        for (int i = 0; i < 1; i++)
        for (int i = 0; i < 4; i++)
            executor.execute(new Runnable() {
                @Override
                public void run() {
fanli/src/main/java/com/yeshi/fanli/util/dataoke/DaTaoKeApiUtil.java
@@ -8,6 +8,7 @@
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import org.yeshi.utils.HttpUtil;
@@ -52,54 +53,17 @@
     * @return
     */
    public static List<String> getBrandIdList() {
        List<String> listId = null;
        List<String> listId = new ArrayList<>();
        try {
            Document doc = Jsoup.connect("http://www.dataoke.com/brandFeature").get();
            Elements els = doc.getElementsByTag("script");
            for (int i = 0; i < els.size(); i++) {
                if (els.get(i).html().contains("var brandData")) {
                    JSONObject data = JSONObject
                            .fromObject(els.get(i).html().replace("var brandData =", "").trim().split("};")[0] + "}");
                    listId = convertList(data);
                    break;
                }
            Document doc = Jsoup.connect("http://www.dataoke.com/brandFilter?cid=0&sort=1&main=0").get();
            Element root = doc.getElementsByClass("brand-list").get(0);
            Elements items = root.getElementsByTag("a");
            for (int i = 0; i < items.size(); i++) {
                String id = items.get(i).attr("href").split("\\?")[1].replace("id=", "").trim();
                listId.add(id);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return listId;
    }
    public static List<String> convertList(JSONObject data) {
        List<String> listId = new ArrayList<String>();
        // 萌趣新生力 夏日好食光栏目
        JSONArray arrayActs = data.optJSONObject("acts").optJSONArray("list");
        for (int i = 0; i < arrayActs.size(); i++) {
            JSONObject item = arrayActs.optJSONObject(i);
            listId.add(item.optString("brand_id"));
        }
        // 热推爆款
        JSONArray arrayPushs = data.optJSONObject("pushs").optJSONArray("list");
        for (int i = 0; i < arrayPushs.size(); i++) {
            JSONObject item = arrayPushs.optJSONObject(i);
            listId.add(item.optString("brand_id"));
        }
        // 热销品牌榜
        JSONArray arrayRanks = data.optJSONObject("ranks").optJSONArray("list");
        for (int i = 0; i < arrayRanks.size(); i++) {
            JSONObject item = arrayRanks.optJSONObject(i);
            // long id = item.optLong("id");
            // String title =item.optString("title");
            JSONArray goods = item.optJSONArray("goods");
            for (int j = 0; j < goods.size(); j++) {
                JSONObject good = goods.optJSONObject(j);
                listId.add(good.optString("brand_id"));
            }
        }
        return listId;
    }
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoBaoUtil.java
@@ -28,6 +28,7 @@
import org.springframework.stereotype.Component;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.NodeList;
import org.yeshi.utils.BigDecimalUtil;
import org.yeshi.utils.HttpUtil;
import org.yeshi.utils.NumberUtil;
import org.yeshi.utils.entity.ProxyIP;
@@ -1349,9 +1350,11 @@
     * @return
     */
    public static BigDecimal getGoodsHongBaoMoney(TaoBaoGoodsBrief goodsBrief, BigDecimal rate) {
        BigDecimal money = null;
        if (StringUtil.isNullOrEmpty(goodsBrief.getCouponInfo())
                || goodsBrief.getCouponInfo().trim().equalsIgnoreCase("无")) {
            return MoneyBigDecimalUtil.mul(
            money = MoneyBigDecimalUtil.mul(
                    MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), goodsBrief.getTkRate()),
                            new BigDecimal("0.01")),
                    MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
@@ -1363,16 +1366,17 @@
            if (startFee.compareTo(goodsBrief.getZkPrice()) <= 0
                    && goodsBrief.getZkPrice().compareTo(couponAccount) > 0) {
                BigDecimal finalPrice = goodsBrief.getZkPrice().subtract(couponAccount);
                return MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil
                money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil
                        .mul(MoneyBigDecimalUtil.mul(finalPrice, goodsBrief.getTkRate()), new BigDecimal("0.01")),
                        MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
            } else {// 不能用券
                return MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(
                money = MoneyBigDecimalUtil.mul(MoneyBigDecimalUtil.mul(
                        MoneyBigDecimalUtil.mul(goodsBrief.getZkPrice(), goodsBrief.getTkRate()),
                        new BigDecimal("0.01")), MoneyBigDecimalUtil.div(rate, new BigDecimal(100)));
            }
        }
        return BigDecimalUtil.getWithNoZera(money);
    }
    // }
@@ -1406,30 +1410,7 @@
     */
    public static BigDecimal getShareGoodsHongBaoInfo(TaoBaoGoodsBrief goodsBrief, BigDecimal rate) {
        // 计算返利
        // 无券
        if (StringUtil.isNullOrEmpty(goodsBrief.getCouponInfo()) || goodsBrief.getCouponInfo().contains("无")) {
            return goodsBrief.getZkPrice().multiply(goodsBrief.getTkRate()).divide(new BigDecimal(10000)).multiply(rate)
                    .setScale(2, BigDecimal.ROUND_DOWN);
        } else// 有券
        {
            List<BigDecimal> list = TaoBaoCouponUtil.getCouponInfo(goodsBrief.getCouponInfo());
            BigDecimal startFee = list.get(0);
            BigDecimal couponAccount = list.get(1);
            if (startFee.compareTo(goodsBrief.getZkPrice()) <= 0
                    && goodsBrief.getZkPrice().compareTo(couponAccount) > 0) {
                BigDecimal finalPrice = goodsBrief.getZkPrice().subtract(couponAccount);
                return finalPrice.multiply(goodsBrief.getTkRate()).divide(new BigDecimal(10000)).multiply(rate)
                        .setScale(2, BigDecimal.ROUND_DOWN);
            } else {// 不能用券
                return goodsBrief.getZkPrice().multiply(goodsBrief.getTkRate()).divide(new BigDecimal(10000))
                        .multiply(rate).setScale(2, BigDecimal.ROUND_DOWN);
            }
        }
        return getGoodsHongBaoMoney(goodsBrief, rate);
    }
    /**
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeApiUtil.java
@@ -27,6 +27,7 @@
import com.yeshi.fanli.tag.PageEntity;
import com.yeshi.fanli.util.MoneyBigDecimalUtil;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.TimeUtil;
import net.sf.json.JSONArray;
@@ -1761,17 +1762,46 @@
    public static void taoKeContent() {
        Map<String, String> map = new HashMap<>();
        map.put("method", "taobao.tbk.content.get");
        map.put("adzone_id",TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]);
        map.put("type", "1");
        map.put("count", "100");
        TaoKeAppInfo app = new TaoKeAppInfo();
        app.setAppKey("24838852");
        app.setAppSecret("bc8265e2bf8d8115329d652f9d3d4cd8");
        app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
        app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        try {
            JSONObject json = TaoKeBaseUtil.baseRequest(map,app);
            System.out.println(json);
        } catch (TaoKeApiException e) {
            e.printStackTrace();
        }
    }
    public static void taoKeContentSource(String contentId,String source) {
        Map<String, String> map = new HashMap<>();
        map.put("method", "taobao.tbk.dg.optimus.material");
        map.put("adzone_id",TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT.split("_")[3]);
        map.put("page_size", "10");
        map.put("page_no", "1");
        map.put("content_id",contentId);
        map.put("content_source", source);
        map.put("material_id", "1");
        TaoKeAppInfo app = new TaoKeAppInfo();
        app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
        app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        try {
            JSONObject json = TaoKeBaseUtil.baseRequest(map,app);
            System.out.println(json);
        } catch (TaoKeApiException e) {
            e.printStackTrace();
        }
    }
    // AA5ISJ
fanli/src/main/java/com/yeshi/fanli/util/taobao/TaoKeOrderApiUtil.java
@@ -179,8 +179,8 @@
        map.put("page_size", "20");
        map.put("start_time", "2019-01-01 00:00:00");
        map.put("tb_trade_parent_id", "370829441412331676");
        map.put("punish_status", "2");
        map.put("violation_type", "2");
        map.put("violation_type", "1");
        map.put("relation_id", "550913878");
        // map.put("start_time", "2019-01-01 00:00:00");
        TaoKeAppInfo app = new TaoKeAppInfo();