admin
2021-05-08 190d6bc6aa7e4ca33c281bd9785339f3bddaf11e
bug修复
6个文件已修改
103 ■■■■ 已修改文件
fanli/error.log 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/manger/goods/TaoBaoLinkManager.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/TaoBaoConstant.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/resource/dubbo/consumer.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/error.log
@@ -1,63 +0,0 @@
2021-01-26 12:13:03  [ dubbo-client-idleCheck-thread-1:310126 ] - [ ERROR ]   [DUBBO] Fail to connect to HeaderExchangeClient [channel=org.apache.dubbo.remoting.transport.netty4.NettyClient [192.168.254.2:0 -> /172.17.0.3:20882]], dubbo version: 2.7.5, current host: 192.168.254.2
org.apache.dubbo.remoting.RemotingException: client(url: dubbo://172.17.0.3:20882/com.yeshi.goods.facade.service.TaoBaoCouponCacheService?anyhost=true&application=main-consumer&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&init=false&interface=com.yeshi.goods.facade.service.TaoBaoCouponCacheService&methods=save&pid=17580&qos.accept.foreign.ip=false&qos.enable=true&qos.port=33333&register.ip=192.168.254.2&release=2.7.5&remote.application=goods-provider&revision=1.0.0&side=consumer&sticky=false&timeout=10000&timestamp=1610961140430&version=1.0.0) failed to connect to server /172.17.0.3:20882 client-side timeout 3000ms (elapsed: 3045ms) from netty client 192.168.254.2 using dubbo version 2.7.5
    at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:173)
    at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:191)
    at org.apache.dubbo.remoting.transport.AbstractClient.reconnect(AbstractClient.java:247)
    at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeClient.reconnect(HeaderExchangeClient.java:166)
    at org.apache.dubbo.remoting.exchange.support.header.ReconnectTimerTask.doTask(ReconnectTimerTask.java:49)
    at org.apache.dubbo.remoting.exchange.support.header.AbstractTimerTask.run(AbstractTimerTask.java:87)
    at org.apache.dubbo.common.timer.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:648)
    at org.apache.dubbo.common.timer.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:727)
    at org.apache.dubbo.common.timer.HashedWheelTimer$Worker.run(HashedWheelTimer.java:449)
    at java.lang.Thread.run(Thread.java:748)
2021-01-26 12:14:06  [ dubbo-client-idleCheck-thread-1:373978 ] - [ ERROR ]   [DUBBO] Fail to connect to HeaderExchangeClient [channel=org.apache.dubbo.remoting.transport.netty4.NettyClient [192.168.254.2:0 -> /172.17.0.3:20882]], dubbo version: 2.7.5, current host: 192.168.254.2
org.apache.dubbo.remoting.RemotingException: client(url: dubbo://172.17.0.3:20882/com.yeshi.goods.facade.service.TaoBaoCouponCacheService?anyhost=true&application=main-consumer&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&init=false&interface=com.yeshi.goods.facade.service.TaoBaoCouponCacheService&methods=save&pid=17580&qos.accept.foreign.ip=false&qos.enable=true&qos.port=33333&register.ip=192.168.254.2&release=2.7.5&remote.application=goods-provider&revision=1.0.0&side=consumer&sticky=false&timeout=10000&timestamp=1610961140430&version=1.0.0) failed to connect to server /172.17.0.3:20882 client-side timeout 3000ms (elapsed: 3021ms) from netty client 192.168.254.2 using dubbo version 2.7.5
    at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:173)
    at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:191)
    at org.apache.dubbo.remoting.transport.AbstractClient.reconnect(AbstractClient.java:247)
    at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeClient.reconnect(HeaderExchangeClient.java:166)
    at org.apache.dubbo.remoting.exchange.support.header.ReconnectTimerTask.doTask(ReconnectTimerTask.java:49)
    at org.apache.dubbo.remoting.exchange.support.header.AbstractTimerTask.run(AbstractTimerTask.java:87)
    at org.apache.dubbo.common.timer.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:648)
    at org.apache.dubbo.common.timer.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:727)
    at org.apache.dubbo.common.timer.HashedWheelTimer$Worker.run(HashedWheelTimer.java:449)
    at java.lang.Thread.run(Thread.java:748)
2021-01-26 13:41:09  [ dubbo-client-idleCheck-thread-1:161105 ] - [ ERROR ]   [DUBBO] Fail to connect to HeaderExchangeClient [channel=org.apache.dubbo.remoting.transport.netty4.NettyClient [192.168.254.2:0 -> /172.17.0.3:20882]], dubbo version: 2.7.5, current host: 192.168.254.2
org.apache.dubbo.remoting.RemotingException: client(url: dubbo://172.17.0.3:20882/com.yeshi.goods.facade.service.TaoBaoCouponCacheService?anyhost=true&application=main-consumer&check=false&codec=dubbo&deprecated=false&dubbo=2.0.2&dynamic=true&generic=false&heartbeat=60000&init=false&interface=com.yeshi.goods.facade.service.TaoBaoCouponCacheService&methods=save&pid=23272&qos.accept.foreign.ip=false&qos.enable=true&qos.port=33333&register.ip=192.168.254.2&release=2.7.5&remote.application=goods-provider&revision=1.0.0&side=consumer&sticky=false&timeout=10000&timestamp=1610961140430&version=1.0.0) failed to connect to server /172.17.0.3:20882, error message is:connection timed out: /172.17.0.3:20882
    at org.apache.dubbo.remoting.transport.netty4.NettyClient.doConnect(NettyClient.java:168)
    at org.apache.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:191)
    at org.apache.dubbo.remoting.transport.AbstractClient.reconnect(AbstractClient.java:247)
    at org.apache.dubbo.remoting.exchange.support.header.HeaderExchangeClient.reconnect(HeaderExchangeClient.java:166)
    at org.apache.dubbo.remoting.exchange.support.header.ReconnectTimerTask.doTask(ReconnectTimerTask.java:49)
    at org.apache.dubbo.remoting.exchange.support.header.AbstractTimerTask.run(AbstractTimerTask.java:87)
    at org.apache.dubbo.common.timer.HashedWheelTimer$HashedWheelTimeout.expire(HashedWheelTimer.java:648)
    at org.apache.dubbo.common.timer.HashedWheelTimer$HashedWheelBucket.expireTimeouts(HashedWheelTimer.java:727)
    at org.apache.dubbo.common.timer.HashedWheelTimer$Worker.run(HashedWheelTimer.java:449)
    at java.lang.Thread.run(Thread.java:748)
Caused by: io.netty.channel.ConnectTimeoutException: connection timed out: /172.17.0.3:20882
    at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe$1.run(AbstractNioChannel.java:267)
    at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38)
    at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:125)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute$$$capture(AbstractEventExecutor.java:163)
    at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java)
    at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:404)
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:465)
    at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:884)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    ... 1 more
2021-01-26 13:41:38  [ Curator-Framework-0:189732 ] - [ ERROR ]  Connection timed out for connection string (134.175.68.214:2181) and timeout (3000) / elapsed (4706)
org.apache.curator.CuratorConnectionLossException: KeeperErrorCode = ConnectionLoss
    at org.apache.curator.ConnectionState.checkTimeouts(ConnectionState.java:225)
    at org.apache.curator.ConnectionState.getZooKeeper(ConnectionState.java:94)
    at org.apache.curator.CuratorZookeeperClient.getZooKeeper(CuratorZookeeperClient.java:117)
    at org.apache.curator.framework.imps.CuratorFrameworkImpl.performBackgroundOperation(CuratorFrameworkImpl.java:835)
    at org.apache.curator.framework.imps.CuratorFrameworkImpl.backgroundOperationsLoop(CuratorFrameworkImpl.java:809)
    at org.apache.curator.framework.imps.CuratorFrameworkImpl.access$300(CuratorFrameworkImpl.java:64)
    at org.apache.curator.framework.imps.CuratorFrameworkImpl$4.call(CuratorFrameworkImpl.java:267)
    at java.util.concurrent.FutureTask.run$$$capture(FutureTask.java:266)
    at java.util.concurrent.FutureTask.run(FutureTask.java)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
fanli/src/main/java/com/yeshi/fanli/controller/client/v1/GoodsController.java
@@ -5,6 +5,7 @@
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import com.yeshi.fanli.entity.SystemEnum;
import com.yeshi.fanli.entity.SystemFunction;
import com.yeshi.fanli.exception.taobao.TaoBaoConvertLinkException;
import com.yeshi.fanli.service.manger.goods.TaoBaoLinkManager;
@@ -132,8 +133,15 @@
    private void getTaoBaoLinkWithoutFanLi(AcceptData acceptData, Long auctionId, String from, String source,
                                           HttpServletRequest request, PrintWriter out) {
        try {
            TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForRecieveCoupon(auctionId, null, TaoBaoConstant.TAOBAO_COUPON_PID);
            String pid =  TaoBaoConstant.TAOBAO_COUPON_PID;
            if (acceptData.getSystem() == SystemEnum.yhqjx) {
                pid="mm_124933865_56750082_19510050154";
            }
            TaoBaoLink taoBaoLink = taoBaoLinkManager.getTaoBaoLinkForRecieveCoupon(auctionId, null, pid);
            JSONObject data = new JSONObject();
            JSONObject link = new JSONObject();
            link.put("clickUrl", taoBaoLink.getClickUrl());
fanli/src/main/java/com/yeshi/fanli/service/manger/goods/TaoBaoLinkManager.java
@@ -61,12 +61,13 @@
    /**
     * 只领券
     *
     * @param auctionId
     * @param specialId
     * @param pid
     * @return
     */
    public TaoBaoLink getTaoBaoLinkForRecieveCoupon(Long auctionId, String specialId, String pid) throws TaoBaoConvertLinkException{
    public TaoBaoLink getTaoBaoLinkForRecieveCoupon(Long auctionId, String specialId, String pid) throws TaoBaoConvertLinkException {
        if (auctionId == null || auctionId <= 0) {
            throw new TaoBaoConvertLinkException(2, "商品ID不能为空");
        }
@@ -74,7 +75,10 @@
        TaoKeAppInfo app = new TaoKeAppInfo();
        app.setAppKey(TaoBaoConstant.TAOBAO_AUTH_APPKEY);
        app.setAppSecret(TaoBaoConstant.TAOBAO_AUTH_APPSECRET);
        app.setPid(TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT);
        if (pid == null)
            app.setPid(TaoBaoConstant.TAOBAO_SPECIAL_PID_DEFAULT);
        else
            app.setPid(pid);
        TaoBaoLink taoBaoLink = new TaoBaoLink();
        taoBaoLink.setAuctionId(auctionId);
@@ -136,7 +140,7 @@
        if (uid == null || uid <= 0) {
            throw new TaoBaoConvertLinkException(1, "用户ID不能为空");
        }
        return getTaoBaoLinkForRecieveCoupon(auctionId,specialId,pid);
        return getTaoBaoLinkForRecieveCoupon(auctionId, specialId, pid);
    }
@@ -206,7 +210,7 @@
                    return;
                try {
                    TaoBaoCouponCache cache = TaoBaoCouponCacheFactory.create(goods.getAuctionId(), goods.getCouponActivityId(), goods.getCouponAmount(), goods.getCouponStartFee(), new Date(TimeUtil.convertToTimeTemp(goods.getCouponEffectiveStartTime(), "yyyy-MM-dd")), new Date(TimeUtil.convertToTimeTemp(goods.getCouponEffectiveEndTime(), "yyyy-MM-dd")+1000*60*60*24L), pid, goods.getCouponLink());
                    TaoBaoCouponCache cache = TaoBaoCouponCacheFactory.create(goods.getAuctionId(), goods.getCouponActivityId(), goods.getCouponAmount(), goods.getCouponStartFee(), new Date(TimeUtil.convertToTimeTemp(goods.getCouponEffectiveStartTime(), "yyyy-MM-dd")), new Date(TimeUtil.convertToTimeTemp(goods.getCouponEffectiveEndTime(), "yyyy-MM-dd") + 1000 * 60 * 60 * 24L), pid, goods.getCouponLink());
                    if (cache != null) {
                        taoBaoCouponCacheService.save(cache);
                    }
@@ -331,13 +335,13 @@
        if (!StringUtil.isNullOrEmpty(tbLink.getCouponLink())) {// 通过立即推广方式获取淘口令成功
            String quanToken = convertLinkManager.createTaoBaoToken(uid, goods.getPictUrl(), goods.getTitle(),
                    tbLink.getCouponLink(),false);
                    tbLink.getCouponLink(), false);
            if (!StringUtil.isNullOrEmpty(quanToken)) {
                tbLink.setTaoToken(quanToken);
            }
        } else if (!StringUtil.isNullOrEmpty(tbLink.getClickUrl())) {
            String quanToken = convertLinkManager.createTaoBaoToken(uid, goods.getPictUrl(), goods.getTitle(),
                    tbLink.getClickUrl(),false);
                    tbLink.getClickUrl(), false);
            if (!StringUtil.isNullOrEmpty(quanToken)) {
                tbLink.setTaoToken(quanToken);
            }
fanli/src/main/java/com/yeshi/fanli/util/TaoBaoConstant.java
@@ -31,8 +31,8 @@
    //单纯领券PID
    public static final String TAOBAO_COUPON_PID = "mm_124933865_56750082_19509400077";
    // 淘礼金会员
    public static final String TAOBAO_TLJ_SPECIAL_PID_DEFAULT = "mm_124933865_56750082_19509300170";
    public static BigDecimal OWN_BUY_WITHOUT_FANLI_RATE = new BigDecimal(70);// 自购立减的比例
fanli/src/main/java/com/yeshi/fanli/util/factory/goods/GoodsDetailVOFactory.java
@@ -425,12 +425,14 @@
        MoneyInfoVO moneyInfoVO = new MoneyInfoVO();
        moneyInfoVO.setMoneyType(1); // 默认显示:返 ¥6.6
        //非返利商品库商品走分享比例
        boolean isSpecialGoods = TaoBaoUtil.isSpecialGoods(goods.getMaterialLibType());
        BigDecimal buyCommission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate(), false);
        BigDecimal buyCommission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getFanLiRate(), !isSpecialGoods);
        BigDecimal baseCommisstion = null;
        if (params.getBaseFanliRate() != null)
            baseCommisstion = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getBaseFanliRate(), false);
            baseCommisstion = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getBaseFanliRate(),  !isSpecialGoods);
        moneyInfoVO.setFanliMoney("¥" + buyCommission);
        if (params.getMaxRewardRate() != null)
            moneyInfoVO
@@ -441,7 +443,7 @@
            BigDecimal rate = MoneyBigDecimalUtil.div(buyCommission.multiply(new BigDecimal(100)), price);
            moneyInfoVO.setRateInfo("返利比 " + rate + "%");
            BigDecimal maxCommission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate(), false);
            BigDecimal maxCommission = TaoBaoUtil.getGoodsHongBaoMoney(goods, params.getVipFanLiRate(),  !isSpecialGoods);
            BigDecimal maxRate = MoneyBigDecimalUtil.div(maxCommission.multiply(new BigDecimal(100)), price);
            moneyInfoVO.setMaxRateInfo("返利比 " + maxRate + "%");
            moneyInfoVO.setMaxMoney("¥" + maxCommission);
fanli/src/main/resource/dubbo/consumer.xml
@@ -9,7 +9,7 @@
        <dubbo:parameter key="qos.port" value="33333"></dubbo:parameter>
    </dubbo:application>
    <dubbo:registry  address="zookeeper://134.175.68.214:2181"/>
    <dubbo:registry  address="zookeeper://172.16.16.26:2181"/>
    <!-- url=dubbo://192.168.3.122:20882/com.yeshi.goods.facade.service.TaoBaoCouponCacheService -->