admin
2019-06-28 3d479c3901d087b298630334553253726f5d75c8
分享爆品库调整
5个文件已修改
89 ■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/job/UpdateTaoBaoGoodsJob.java 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/ShareHotGoodsService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/controller/web/ShareHotGoodsController.java
@@ -70,11 +70,13 @@
     * @param out
     */
    @RequestMapping(value = "setShareGoods", method = RequestMethod.GET)
    public void setShareGoods(String callback, AcceptData acceptData, String ids, PrintWriter out) {
    public void setShareGoods(String callback, AcceptData acceptData, String ids, String day, PrintWriter out) {
        // 大淘客数据,更新
        JSONArray array = JSONArray.fromObject(ids);
        String day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd");
        if (StringUtil.isNullOrEmpty(day)) {
            day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd");
        }
        int count = 0;
        for (int i = 0; i < array.size(); i++) {
            // 获取商品详情
@@ -112,7 +114,8 @@
            day = TimeUtil.getGernalTime(System.currentTimeMillis() + 1000 * 60 * 60 * 24L, "yyyy-MM-dd");
        }
        List<ShareHotGoods> listGoods = shareHotGoodsService.listByDay(day);
        // 最多30个商品
        List<ShareHotGoods> listGoods = shareHotGoodsService.listByDay(day, 30);
        BigDecimal rate = hongBaoManageService.getFanLiRate();
        JSONArray array = new JSONArray();
        for (ShareHotGoods sh : listGoods) {
fanli/src/main/java/com/yeshi/fanli/job/UpdateTaoBaoGoodsJob.java
@@ -8,6 +8,7 @@
import org.springframework.stereotype.Component;
import com.yeshi.fanli.entity.bus.activity.RecommendActivity;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
import com.yeshi.fanli.exception.ActivityException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.activity.ActivityService;
@@ -16,11 +17,12 @@
import com.yeshi.fanli.service.inter.lable.LabelService;
import com.yeshi.fanli.service.inter.lable.QualityFactoryService;
import com.yeshi.fanli.service.inter.lable.QualityFlashSaleService;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsActivityService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.util.BeanUtil;
import com.yeshi.fanli.util.CMQManager;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.TimeUtil;
/**
 * 淘宝商品更细
@@ -55,6 +57,9 @@
    @Resource
    private TaoBaoGoodsActivityService taoBaoGoodsActivityService;
    @Resource
    private ShareHotGoodsService shareHotGoodsService;
    // 动态商品更新 ,1个小时更新
    @Scheduled(cron = "0 0 */1 * * ?")
@@ -163,14 +168,24 @@
    }
    /**
     * 每小时更新一次
     * 每天凌晨过5分钟验证
     */
    @Scheduled(cron = "0 0 0/1 * * ?")
    @Scheduled(cron = "0 5 0 * * ? *")
    public void update618() {
        if (!Constant.IS_TASK)
            return;
        LogHelper.test("更新618商品");
        taoBaoGoodsActivityService.sysncS618Goods();
        LogHelper.test("验证爆款商品库商品");
        String day = TimeUtil.getGernalTime(System.currentTimeMillis(), "yyyy-MM-dd");
        List<ShareHotGoods> list = shareHotGoodsService.listByDay(day, 15);
        int count = 0;
        for (int i = 0; i < list.size(); i++) {
            if (count >= 10)
                break;
            boolean success = shareHotGoodsService.verifyCanCreateTLJ(list.get(i).getGoods().getAuctionId());
            if (success) {
                count++;
            }
        }
    }
}
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityGoodsServiceImpl.java
@@ -171,7 +171,17 @@
    @Override
    @Cacheable(value = "qualityCache", key = "'listQueryByClassId-'+#start+'-'+#cid")
    public List<QualityFactory> listQueryByClassId(long start, int count, Long cid) {
        return qualityFactoryMapper.listQuery(start, count, null, cid, null, null, 1);
        List<QualityFactory> list = qualityFactoryMapper.listQuery(start, count, null, cid, null, null, 1);
        List<TaoBaoGoodsBrief> goodsList = new ArrayList<>();
        for (QualityFactory qf : list)
            goodsList.add(qf.getTaoBaoGoodsBrief());
        goodsList = daTaoKeGoodsDetailService.filterTaoBaoGoods(goodsList);// 过滤大淘客标题
        for (int i = 0; i < list.size(); i++) {
            if (i < goodsList.size())
                list.get(i).setTaoBaoGoodsBrief(goodsList.get(i));
        }
        return list;
    }
    @Override
fanli/src/main/java/com/yeshi/fanli/service/impl/taobao/ShareHotGoodsServiceImpl.java
@@ -1,5 +1,6 @@
package com.yeshi.fanli.service.impl.taobao;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -9,13 +10,17 @@
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.taobao.ShareHotGoodsDao;
import com.yeshi.fanli.dto.taobao.TaoLiJinDTO;
import com.yeshi.fanli.entity.taobao.ShareHotGoods;
import com.yeshi.fanli.entity.taobao.TaoBaoGoodsBrief;
import com.yeshi.fanli.entity.taobao.dataoke.DaTaoKeDetailV2;
import com.yeshi.fanli.exception.taobao.TaoKeApiException;
import com.yeshi.fanli.service.inter.taobao.ShareHotGoodsService;
import com.yeshi.fanli.service.inter.taobao.dataoke.DaTaoKeGoodsDetailV2Service;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.TaoBaoConstant;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
import com.yeshi.fanli.util.taobao.TaoKeApiUtil;
@Service
public class ShareHotGoodsServiceImpl implements ShareHotGoodsService {
@@ -37,7 +42,12 @@
    @Override
    public List<ShareHotGoods> listByDay(String day) {
        return shareHotGoodsDao.listByDayOrderByUpdateTime(day, 1, 10);
        return listByDay(day, 10);
    }
    @Override
    public List<ShareHotGoods> listByDay(String day, int count) {
        return shareHotGoodsDao.listByDayOrderByUpdateTime(day, 1, count);
    }
    @Override
@@ -60,4 +70,24 @@
    public void deleteByGoodsId(Long goodsId) {
        shareHotGoodsDao.deleteByGoodsId(goodsId);
    }
    @Override
    public boolean verifyCanCreateTLJ(Long auctionId) {
        TaoLiJinDTO taoLiJinDTO = null;
        try {
            taoLiJinDTO = TaoKeApiUtil.createTaoLiJin(auctionId, "淘礼金验证", new BigDecimal("1.00"), 1, new Date(),
                    new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 6), new Date(),
                    new Date(System.currentTimeMillis() + 1000 * 60 * 60 * 6),
                    TaoBaoConstant.TAOBAO_RELATION_PID_DEFAULT);
        } catch (TaoKeApiException e) {
            if (e.getCode() == TaoKeApiException.CODE_TLJ_FORBIDDEN) {
                // 该商品不支持创建淘礼金红包
                deleteByGoodsId(auctionId);
                return false;
            } else if (e.getCode() == TaoKeApiException.CODE_TLJ_NO_MONEY) {
                // 官方玩法钱包余额不足 TODO
            }
        }
        return true;
    }
}
fanli/src/main/java/com/yeshi/fanli/service/inter/taobao/ShareHotGoodsService.java
@@ -22,6 +22,9 @@
     */
    public List<ShareHotGoods> listByDay(String day);
    public List<ShareHotGoods> listByDay(String day,int count);
    /**
     * 根据主键删除
     * 
@@ -43,4 +46,12 @@
     */
    public void deleteByGoodsId(Long goodsId);
    /**
     * 验证是否可以创建淘礼金
     *
     * @param auctionId
     * @return
     */
    public boolean verifyCanCreateTLJ(Long auctionId);
}