From f0ce6c75e05041b7ca39230df4bf14474ccbeb41 Mon Sep 17 00:00:00 2001 From: yujian <yujian@123.com> Date: 星期四, 30 五月 2019 12:10:04 +0800 Subject: [PATCH] 后端手动加入精选库 修改 --- fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java | 157 +++++++++++++++++++++++++++++++--------------------- 1 files changed, 94 insertions(+), 63 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java index e7e60b5..a6a4c43 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/lable/QualityFactoryServiceImpl.java +++ b/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 -- Gitblit v1.8.0