Browse Source

品牌映射Controller类增加enUu导入方法

hulh 8 years ago
parent
commit
58525f038d

+ 6 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/controller/BrandMapController.java

@@ -102,4 +102,10 @@ public class BrandMapController {
 		logger.log("品牌映射", "品牌映射初始化");
 		mapService.initBrandMap();
 	}
+
+	@RequestMapping(value = "/initMap/{enuu}", method = RequestMethod.GET)
+	public void initBrandMapByEnUU(@PathVariable Long enuu){
+		logger.log("品牌映射", "品牌映射初始化");
+		mapService.initBrandMapByEnUU(enuu);
+	}
 }

+ 20 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/modal/BrandTemp.java

@@ -29,6 +29,26 @@ public class BrandTemp {
 	@Column(name = "name_sd")
 	private String nameSd;
 
+	@Override
+	public boolean equals(Object o) {
+		if (this == o) return true;
+		if (o == null || getClass() != o.getClass()) return false;
+
+		BrandTemp temp = (BrandTemp) o;
+
+		if (nameCd != null ? !nameCd.equals(temp.nameCd) : temp.nameCd != null)
+			return false;
+		return nameSd != null ? nameSd.equals(temp.nameSd) : temp.nameSd == null;
+
+	}
+
+	@Override
+	public int hashCode() {
+		int result = nameCd != null ? nameCd.hashCode() : 0;
+		result = 31 * result + (nameSd != null ? nameSd.hashCode() : 0);
+		return result;
+	}
+
 	public Long getId() {
 		return id;
 	}

+ 2 - 0
src/main/java/com/uas/platform/b2c/prod/product/brand/service/BrandMapService.java

@@ -38,4 +38,6 @@ public interface BrandMapService {
 	Object deleteOneMap(Long id);
 
 	void initBrandMap();
+
+	void initBrandMapByEnUU(Long enuu);
 }

+ 44 - 4
src/main/java/com/uas/platform/b2c/prod/product/brand/service/impl/BrandMapServiceImpl.java

@@ -30,10 +30,7 @@ import javax.persistence.criteria.CriteriaBuilder;
 import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 
 /**
  * 品牌映射服务的实现类
@@ -181,4 +178,47 @@ public class BrandMapServiceImpl implements BrandMapService{
 			}
 		}
 	}
+
+	@Override
+	public void initBrandMapByEnUU(Long enuu) {
+		List<BrandTemp> originalList = brandTempDao.getAllBySdNameNotNull();
+		Set<BrandTemp> convertList = new LinkedHashSet<>(originalList.size());
+		for (BrandTemp temp : originalList){
+			if (!temp.getNameCd().equals(temp.getNameSd())) { //相同的不记录
+				convertList.add(temp);
+			}
+		}
+		List<BrandMap> resultList = new ArrayList<>();
+
+		List<StoreIn> storeList = storeInDao.findByEnUU(enuu);
+		if (CollectionUtils.isEmpty(storeList)){
+			throw new IllegalOperatorException("对应的店铺信息丢失,请刷新重新");
+		}else{
+			StoreIn store = storeList.get(0);
+			for (BrandTemp temp : convertList){
+				List<Brand> brandList = brandDao.findByNameEn(temp.getNameSd());
+				if (!CollectionUtils.isEmpty(brandList)){
+					Brand brand = brandList.get(0);
+					BrandMap map = new BrandMap();
+					map.setNameStandardEn(temp.getNameSd());
+					map.setNameStandardCn(brand.getNameCn());
+					map.setBrandid(brand.getId());
+					map.setUuid(brand.getUuid());
+					map.setNameChildEn(temp.getNameCd());
+					map.setNameChildCn(temp.getNameCd());
+					map.setEnuu(store.getEnUU());
+					map.setEnName(store.getStoreName());
+					map.setType(store.getType());
+
+					User user = SystemSession.getUser();
+					map.setUserUU(user.getUserUU());
+					map.setOperateName(user.getUserName());
+					map.setOperateTime(new Date());
+
+					resultList.add(map);
+				}
+			}
+			brandMapDao.save(resultList);
+		}
+	}
 }