From 28cf328a098334b51a3e9d2d56f983fb8c862211 Mon Sep 17 00:00:00 2001 From: yujian <yujian@163.com> Date: 星期六, 23 五月 2020 09:54:38 +0800 Subject: [PATCH] 足迹、收藏订单兼容新需求 --- fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoClassServiceImpl.java | 156 ++++++++++++++++++++------------------------------- 1 files changed, 61 insertions(+), 95 deletions(-) diff --git a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoClassServiceImpl.java b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoClassServiceImpl.java index 916ea84..26157ba 100644 --- a/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoClassServiceImpl.java +++ b/fanli/src/main/java/com/yeshi/fanli/service/impl/goods/TaoBaoClassServiceImpl.java @@ -21,127 +21,93 @@ @Resource private TaoBaoClassMapper taoBaoClassMapper; - + @Resource private TaoBaoClassRelationMapper taoBaoClassRelationMapper; - @Override public List<TaoBaoClass> listBySystemCid(long start, int count, Long systemCid) { return taoBaoClassMapper.listBySystemCid(start, count, systemCid); } - + @Override public String getTaoBaoCatIds(Long classId) { List<TaoBaoClass> listCatIds = listBySystemCid(0, 10, classId); if (listCatIds == null || listCatIds.size() == 0) { return null; } - + String taobaoCatIds = ""; - for (TaoBaoClass taoBaoClass: listCatIds) { - Integer categoryId = taoBaoClass.getCategoryId(); - - if (categoryId == null ) { - continue; - } - taobaoCatIds += categoryId + ","; + for (TaoBaoClass taoBaoClass : listCatIds) { + Integer categoryId = taoBaoClass.getCategoryId(); + + if (categoryId == null) { + continue; + } + taobaoCatIds += categoryId + ","; } - - if (!StringUtil.isNullOrEmpty(taobaoCatIds)){ - taobaoCatIds = taobaoCatIds.substring(0, taobaoCatIds.length()-1); - } + + if (!StringUtil.isNullOrEmpty(taobaoCatIds)) { + taobaoCatIds = taobaoCatIds.substring(0, taobaoCatIds.length() - 1); + } return taobaoCatIds; } - - + @Override public TaoBaoClass getByCategoryId(Integer categoryId) { return taoBaoClassMapper.getByCategoryId(categoryId); } - - + @Override @Transactional - public void save(Long classId, String taobaoCids) { - if (StringUtil.isNullOrEmpty(taobaoCids) || "null".equalsIgnoreCase(taobaoCids)) { + public void save(Long classId, List<Long> taobaoCids) { + if (taobaoCids == null) { return; } - - List<Long> listId = new ArrayList<Long>(); - List<TaoBaoClass> listExist = taoBaoClassMapper.listBySystemCid(0, Integer.MAX_VALUE, classId); - if (listExist != null && listExist.size() > 0) { - for (TaoBaoClass taoBaoClass: listExist) { - listId.add(taoBaoClass.getId()); - } - } - - - String[] array = taobaoCids.split(","); - for (String info: array) { - if(StringUtil.isNullOrEmpty(info)) { + + // 鍒犻櫎涔嬪墠鐨勶紝鎻掑叆鐜板湪鐨� + taoBaoClassRelationMapper.deleteByCid(classId); + for (Long categoryId : taobaoCids) { + TaoBaoClass taoBaoClass = taoBaoClassMapper.getByCategoryId(Integer.parseInt(categoryId + "")); + if (taoBaoClass == null) continue; - } - - try { - String[] taobaoArray = info.split("-"); - - Integer categoryId = Integer.parseInt(taobaoArray[1]); - if (listExist != null && listExist.size() > 0) { - for (int i =0; i< listExist.size(); i++) { - TaoBaoClass taoBaoClass = listExist.get(i); - Integer categoryId2 = taoBaoClass.getCategoryId(); - if (categoryId == categoryId2 || categoryId.equals(categoryId2)) { - if (listId.size() > 0) { - listId.remove(taoBaoClass.getId()); - listExist.remove(i); - i--; - } - } - } - } - - TaoBaoClass tbClass = taoBaoClassMapper.getByCategoryId(Integer.parseInt(taobaoArray[1])); - if (tbClass == null) { - tbClass = new TaoBaoClass(); - tbClass.setCategoryName(taobaoArray[0].trim()); - tbClass.setCategoryId(Integer.parseInt(taobaoArray[1].trim())); - tbClass.setCreatetime(new Date()); - tbClass.setUpdatetime(new Date()); - taoBaoClassMapper.insert(tbClass); - } - - TaoBaoClassRelation relation = taoBaoClassRelationMapper.getByLocalCid(tbClass.getId()); - if (relation != null) { - if (classId.equals(relation.getCid()) || classId == relation.getCid()) { - continue; - } - TaoBaoClassRelation updateRelation = new TaoBaoClassRelation(); - updateRelation.setId(relation.getId()); - updateRelation.setCid(classId); - updateRelation.setUpdatetime(new Date()); - taoBaoClassRelationMapper.updateByPrimaryKeySelective(updateRelation); - } else { - relation = new TaoBaoClassRelation(); - relation.setCid(classId); - relation.setTaobaoCid(tbClass.getId()); - relation.setCreatetime(new Date()); - relation.setUpdatetime(new Date()); - relation.setWeight(0.0); - taoBaoClassRelationMapper.insertSelective(relation); - } - - } catch (Exception e) { - e.printStackTrace(); - } - } - - if (listId.size() > 0) { - for (Long id: listId) { - taoBaoClassMapper.deleteByPrimaryKey(id); - taoBaoClassRelationMapper.deleteRelationByLocalCid(id); - } + TaoBaoClassRelation relation = new TaoBaoClassRelation(); + relation.setCid(classId); + relation.setTaobaoCid(taoBaoClass.getId()); + relation.setCreatetime(new Date()); + relation.setUpdatetime(new Date()); + relation.setWeight(0.0); + taoBaoClassRelationMapper.insertSelective(relation); } } - + + @Transactional + @Override + public void saveSub(Long subClassId, List<Long> taobaoCids) { + if (taobaoCids == null) { + return; + } + + // 鍒犻櫎涔嬪墠鐨勶紝鎻掑叆鐜板湪鐨� + taoBaoClassRelationMapper.deleteBySubId(subClassId); + for (Long categoryId : taobaoCids) { + TaoBaoClass taoBaoClass = taoBaoClassMapper.getByCategoryId(Integer.parseInt(categoryId + "")); + if (taoBaoClass == null) + continue; + TaoBaoClassRelation relation = new TaoBaoClassRelation(); + relation.setSubId(subClassId); + relation.setTaobaoCid(taoBaoClass.getId()); + relation.setCreatetime(new Date()); + relation.setUpdatetime(new Date()); + relation.setWeight(0.0); + taoBaoClassRelationMapper.insertSelective(relation); + } + } + + @Override + public List<TaoBaoClass> listBySystemSubCid(long start, int count, Long systemSubCid) { + + return taoBaoClassMapper.listBySystemSubCid(start, count, systemSubCid); + } + } -- Gitblit v1.8.0