yujian
2019-05-30 f0ce6c75e05041b7ca39230df4bf14474ccbeb41
后端手动加入精选库 修改
3个文件已修改
169 ■■■■■ 已修改文件
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java 157 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/inter/goods/TaoBaoGoodsBriefService.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoGoodsBriefServiceImpl.java
@@ -5,7 +5,6 @@
import javax.annotation.Resource;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import com.yeshi.fanli.dao.mybatis.taobao.TaoBaoGoodsBriefMapper;
@@ -76,10 +75,6 @@
            return null;
    }
    @Override
    public int insertSelective(TaoBaoGoodsBrief taoBaoGoodsBrief) {
        return taoBaoGoodsBriefMapper.insertSelective(taoBaoGoodsBrief);
    }
    @Override
    public int insertBatch(List<TaoBaoGoodsBrief> list) {
fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java
@@ -3,7 +3,6 @@
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -27,14 +26,12 @@
import com.yeshi.fanli.exception.QualityFactoryException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsDownException;
import com.yeshi.fanli.exception.taobao.TaobaoGoodsUpdateException;
import com.yeshi.fanli.log.LogHelper;
import com.yeshi.fanli.service.inter.goods.TaoBaoGoodsBriefService;
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.TaoBaoGoodsUpdateService;
import com.yeshi.fanli.service.inter.taobao.TaoBaoUnionConfigService;
import com.yeshi.fanli.util.Constant;
import com.yeshi.fanli.util.RedisManager;
import com.yeshi.fanli.util.StringUtil;
import com.yeshi.fanli.util.taobao.TaoBaoUtil;
@@ -164,86 +161,120 @@
        }
        // 创建标签
        List<Label> listLabel = labelService.addBatchByNames(lableNames, admin);
        List<Label> listLabs = labelService.addBatchByNames(lableNames, admin);
        // 添加商品标签列表
        List<LabelGoods> listLabelAdd = new ArrayList<LabelGoods>();
        // 插入商品集合
        List<TaoBaoGoodsBrief> listGoodsInsert = new ArrayList<TaoBaoGoodsBrief>();
        // 更新商品集合
        List<TaoBaoGoodsBrief> listGoodsUpdate = new ArrayList<TaoBaoGoodsBrief>();
        // 进入精选商品列表
        List<QualityFactory> listInsertQuality = new ArrayList<QualityFactory>();
        List<QualityFactory> listQuality = new ArrayList<QualityFactory>();
        List<LabelGoods> listLabelGoods = new ArrayList<LabelGoods>();
        // 插入商品淘宝ID集合
        List<Long> listAuctionId = new ArrayList<Long>();
        for (TaoBaoGoodsBrief goodsBrief : listTaoBaoGoods) {
            listAuctionId.add(goodsBrief.getAuctionId());
        }
        List<Long> listHas = taoBaoGoodsBriefService.listExistById(listAuctionId);
            // 本地是否已存在此商品
            List<TaoBaoGoodsBrief> hasList = taoBaoGoodsBriefService.queryByAuctionId(goodsBrief.getAuctionId());
            if (hasList != null && hasList.size() > 0) {
                TaoBaoGoodsBrief currentGoodsBrief = hasList.get(0);
                goodsBrief.setId(currentGoodsBrief.getId());
                // 更新商品最新信息
                taoBaoGoodsUpdateService.updateTaoBaoGoods(goodsBrief);
        // 遍历商品
        for (TaoBaoGoodsBrief newGoodsBrief : listTaoBaoGoods) {
            Long auctionId = newGoodsBrief.getAuctionId();
            // 设置成主键
            newGoodsBrief.setId(auctionId);
            newGoodsBrief.setState(0); // 状态启用
            newGoodsBrief.setCreatetime(new Date());
            newGoodsBrief.setUpdatetime(new Date());
            /* 判断商品 是否已经存在数据库 */
            if (listHas != null && listHas.size() > 0 && listHas.contains(auctionId)) {
                // 更新商品
                listGoodsUpdate.add(newGoodsBrief);
                // 商品标签
                if (listLabs != null && listLabs.size() > 0) {
                    for (Label lab: listLabs) {
                        long existence = labelGoodsMapper.isExistence(auctionId, lab.getId());
                        if (existence <= 0) {
                            // 贴上新标签
                            LabelGoods lg = new LabelGoods();
                            lg.setLabel(lab);
                            lg.setCreateUser(admin);
                            lg.setCreatetime(new Date());
                            lg.setTaoBaoGoodsBrief(newGoodsBrief);
                            listLabelAdd.add(lg);
                        }
                    }
                }
                // 更新的商品信息 是否存在精选库中
                QualityFactory quality = qualityFactoryMapper.getByAuctionId(auctionId);
                if (quality == null) {
                    QualityFactory selectionGoods = new QualityFactory();
                    selectionGoods.setTaoBaoGoodsBrief(newGoodsBrief);
                    selectionGoods.setCreateUser(admin);
                    selectionGoods.setCreatetime(new Date());
                    selectionGoods.setUpdateUser(admin);
                    selectionGoods.setUpdatetime(new Date());
                    selectionGoods.setEntryMode(QualityFactory.MODE_MANUAL);// 人工筛选
                    selectionGoods.setGoodsSource(QualityFactory.SOURCE_TAOBAO);// 来源
                    selectionGoods.setWeight((int) (Math.random() * (4000)));
                    listInsertQuality.add(selectionGoods);
                }
            } else {
                goodsBrief.setId(null);
                goodsBrief.setState(0);
                goodsBrief.setCreatetime(new Date());
                goodsBrief.setUpdatetime(new Date());
                // 非空项 设置默认值
                taoBaoGoodsBriefService.setGoodsBriefDefault(goodsBrief);
                // 保存至本地
                taoBaoGoodsBriefService.insertSelective(goodsBrief);
            }
            // 是否已入库
            List<QualityFactory> selectionList = qualityFactoryMapper.queryByGoodsId(goodsBrief.getId());
            if (selectionList == null || selectionList.size() == 0) {
                // 添加至精选商品库
                // 设置商品默认值
                taoBaoGoodsBriefService.setGoodsBriefDefault(newGoodsBrief);
                listGoodsInsert.add(newGoodsBrief);
                // 精选库信息
                QualityFactory selectionGoods = new QualityFactory();
                selectionGoods.setTaoBaoGoodsBrief(newGoodsBrief);
                selectionGoods.setCreateUser(admin);
                selectionGoods.setCreatetime(new Date());
                selectionGoods.setUpdateUser(admin);
                selectionGoods.setUpdatetime(new Date());
                selectionGoods.setWeight(50);// 默认50
                selectionGoods.setTaoBaoGoodsBrief(goodsBrief);
                selectionGoods.setEntryMode(QualityFactory.MODE_MANUAL);// 人工筛选
                selectionGoods.setGoodsSource(QualityFactory.SOURCE_TAOBAO);// 来源淘宝
                selectionGoods.setGoodsSource(QualityFactory.SOURCE_TAOBAO);// 来源
                selectionGoods.setWeight((int) (Math.random() * (4000)));
                listInsertQuality.add(selectionGoods);
                listQuality.add(selectionGoods);
            } else {
                // 更新商品
                QualityFactory selectionGoods = selectionList.get(0);
                selectionGoods.setUpdatetime(new Date());
                qualityFactoryMapper.updateByPrimaryKeySelective(selectionGoods);
            }
            if (listLabel != null && listLabel.size() > 0) {
                for (Label label : listLabel) {
                    /* 贴上标签 : 已贴不处理则 */
                    Long existence = labelGoodsMapper.isExistence(goodsBrief.getId(), label.getId());
                    // 该商品不存在此标签则添加, 反之不做处理
                    if (existence == null || existence == 0l) {
                        // 贴上新标签
                // 商品标签
                if (listLabs != null && listLabs.size() > 0) {
                    for (Label lab: listLabs) {
                        LabelGoods lg = new LabelGoods();
                        lg.setLabel(label);
                        lg.setLabel(lab);
                        lg.setCreateUser(admin);
                        lg.setCreatetime(new Date());
                        lg.setTaoBaoGoodsBrief(goodsBrief);
                        listLabelGoods.add(lg);
                        lg.setTaoBaoGoodsBrief(newGoodsBrief);
                        listLabelAdd.add(lg);
                    }
                }
            }
        }
        // 插入淘宝商品
        if (listGoodsInsert.size() > 0) {
            taoBaoGoodsBriefService.insertBatch(listGoodsInsert);
        }
        // 更新淘宝商品
        if (listGoodsUpdate.size() > 0) {
            taoBaoGoodsUpdateService.updateTaoBaoGoods(listGoodsUpdate);
        }
        // 加入精选库
        if (listInsertQuality.size() > 0) {
            qualityFactoryMapper.insertBatch(listInsertQuality);
        }
        if (listQuality.size() > 0) {
            qualityFactoryMapper.insertBatch(listQuality);
        // 添加标签
        if (listLabelAdd.size() > 0) {
            labelGoodsMapper.insertBatch(listLabelAdd);
        }
        if (listLabelGoods.size() > 0) {
            labelGoodsMapper.insertBatch(listLabelGoods);
        }
    }
    @Override
fanli/src/main/java/com/yeshi/fanli/service/inter/goods/TaoBaoGoodsBriefService.java
@@ -32,13 +32,6 @@
     */
    List<TaoBaoGoodsBrief> queryByAuctionId(Long auctionId);
    /**
     * 选择行插入数据
     *
     * @param taoBaoGoodsBrief
     * @return
     */
    public int insertSelective(TaoBaoGoodsBrief taoBaoGoodsBrief);
    public TaoBaoGoodsBrief selectByPrimaryKey(Long id);