admin
2019-03-20 b7eec597af221cbf5d79ba13f440ccb4f63f1bc8
bug修改
5个文件已修改
74 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/UserMsgController.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/RecommendUserGoodsServiceImpl.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/goods/RecommendUserGoodsService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/client/RecommendController.java
@@ -1808,9 +1808,13 @@
            String token = "";
            if (!StringUtil.isNullOrEmpty(tb.getCouponLink())) {
                 token = redisManager.getCommonTaoToken(tb.getAuctionId());
                if (StringUtil.isNullOrEmpty(token)) {
                token = TaoKeApiUtil.getTKToken(tb.getPictUrl(), tb.getTitle(), tb.getCouponLink());
                tb.setCouponLinkTaoToken(token);
                    redisManager.saveCommonTaoToken(tb.getAuctionId(), token);
            }
            }
            tb.setCouponLinkTaoToken(token);
            // 服务端转链
            if (convertInServer && !StringUtil.isNullOrEmpty(tb.getCouponLink())) {
fanli/src/main/java/com/yeshi/fanli/controller/client/UserMsgController.java
@@ -391,6 +391,9 @@
        }
        
        if (page == 1) {
            if (uid != null)
                recommendUserGoodsService.syncDeviceAndUid(uid, acceptData.getDevice());
            boolean canAdd = false;
            int hour = Calendar.getInstance().get(Calendar.HOUR);
            RecommendUserGoods goods = recommendUserGoodsService.getLatestRecommendUserGoodsByDevice(device);
@@ -428,7 +431,8 @@
        List<UserHomeMsgVO> volist = new ArrayList<>();
        
        List<RecommendUserGoods> list = recommendUserGoodsService.listRecommendGoodsByDevice(device, page, Constant.PAGE_SIZE);
        List<RecommendUserGoods> list = recommendUserGoodsService.listRecommendGoodsByDevice(device, page,
                Constant.PAGE_SIZE);
        long count = recommendUserGoodsService.countRecommendGoodsByDevice(device);
        Date now = new Date();
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/RecommendUserGoodsServiceImpl.java
@@ -18,6 +18,7 @@
import com.yeshi.fanli.exception.goods.RecommendUserGoodsException;
import com.yeshi.fanli.service.inter.goods.CommonGoodsService;
import com.yeshi.fanli.service.inter.goods.RecommendUserGoodsService;
import com.yeshi.fanli.util.StringUtil;
@Service
public class RecommendUserGoodsServiceImpl implements RecommendUserGoodsService {
@@ -92,4 +93,19 @@
        return recommendUserGoodsMapper.countRecommendGoodsByDevice(device);
    }
    @Override
    public void syncDeviceAndUid(Long uid, String targetDevice) {
        List<RecommendUserGoods> list = recommendUserGoodsMapper.listRecommendGoods(uid, 0, 20);
        for (RecommendUserGoods ru : list) {
            if (StringUtil.isNullOrEmpty(ru.getDevice())) {
                RecommendUserGoods update = new RecommendUserGoods();
                update.setId(ru.getId());
                update.setDevice(targetDevice);
                recommendUserGoodsMapper.updateByPrimaryKeySelective(update);
            }
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/goods/RecommendUserGoodsService.java
@@ -36,7 +36,6 @@
     */
    public Long countByUidAndCommonGoodsId(Long uid,Long commonGoodsId);
    
    /**
     * 获取推荐列表
     * 
@@ -59,6 +58,7 @@
    /**
     *  根据设备获取最近的推荐
     *
     * @param device
     * @return
     */
@@ -66,6 +66,7 @@
    /**
     * 根据设备号查询
     *
     * @param device
     * @param page
     * @param pageSize
@@ -75,9 +76,18 @@
    /**
     * 根据设备号统计
     *
     * @param device
     * @return
     */
    public long countRecommendGoodsByDevice(String device);
    /**
     * 将用户ID的推荐记录同步到设备
     *
     * @param uid
     * @param targetDevice
     */
    public void syncDeviceAndUid(Long uid, String targetDevice);
}
fanli/src/main/java/com/yeshi/fanli/util/RedisManager.java
@@ -415,9 +415,9 @@
        return !StringUtil.isNullOrEmpty(getString(key));
    }
    
    /**
     * 缓存短连接1分钟
     *
     * @param uid
     * @param shortlink
     */
@@ -438,6 +438,7 @@
    
    /**
     * 获取用户短连接
     *
     * @param uid
     * @return
     */
@@ -452,4 +453,35 @@
        return value;
    }
    /**
     * 保存淘口令
     *
     * @param auctionId
     * @param token
     */
    public void saveCommonTaoToken(Long auctionId, String token) {
        String key = "taobao-common-token-" + auctionId;
        if (Constant.IS_OUTNET) {
            if (!StringUtil.isNullOrEmpty(token)) {
                // 口令缓存24小时
                cacheCommonString(key, token, 60 * 60 * 24);
            }
        }
    }
    /**
     * 获取用户短连接
     *
     * @param uid
     * @return
     */
    public String getCommonTaoToken(Long auctionId) {
        String key = "taobao-common-token-" + auctionId;
        if (Constant.IS_OUTNET) {
            return getCommonString(key);
        }
        return null;
    }
}