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