|
@@ -36,7 +36,9 @@ public class BrandCityTierStat {
|
|
|
for (String tier : tierList) {
|
|
|
// 根据类别查询地区信息
|
|
|
QueryWrapper<AddrCategory> addrCategoryQueryWrapper = new QueryWrapper<>();
|
|
|
- map.put(tier, addrCategoryDao.selectList(addrCategoryQueryWrapper.eq("city_tier", tier)));
|
|
|
+ addrCategoryQueryWrapper.eq("city_tier", tier)
|
|
|
+ .eq("type","zone");
|
|
|
+ map.put(tier, addrCategoryDao.selectList(addrCategoryQueryWrapper));
|
|
|
}
|
|
|
int i = 1;
|
|
|
for (String brandId : brandIds) {
|
|
@@ -83,4 +85,40 @@ public class BrandCityTierStat {
|
|
|
i++;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public void newStart(){
|
|
|
+ // 查询城市等级类别
|
|
|
+ List<String> tierList = addrCategoryDao.selectCityTierList(); // 目前实际上就5个
|
|
|
+ Map<String, List<String>> map = new LinkedHashMap<>();
|
|
|
+ for (String tier : tierList) {
|
|
|
+ // 根据类别查询地区信息
|
|
|
+ map.put(tier, addrCategoryDao.selectCodeListByCityTier(tier));
|
|
|
+ }
|
|
|
+ // 查询未完成统计或者因出错而统计到一半的品牌
|
|
|
+ List<String> noUse = tierMapper.selectNoUse(tierList.size());
|
|
|
+ // 删除这些无效统计信息
|
|
|
+ if (!noUse.isEmpty())
|
|
|
+ tierMapper.deleteAllById(noUse);
|
|
|
+ System.out.println("删除无效数据:" + noUse.size() + "条");
|
|
|
+ // 查询已完成统计的品牌
|
|
|
+ List<String> notIns = tierMapper.selectAllId();
|
|
|
+ System.out.println("已完成:" + notIns.size());
|
|
|
+ // 查询未完成的有效品牌
|
|
|
+ List<String> brandIds = brandDao.selectAllByNotIn(notIns);
|
|
|
+ System.out.println("未完成:" + brandIds.size());
|
|
|
+ int totalBrand = brandIds.size();
|
|
|
+
|
|
|
+ int i = 1;
|
|
|
+ for (String brandId : brandIds) {
|
|
|
+ // 遍历城市等级类别
|
|
|
+ for (String tier : tierList) {
|
|
|
+ // 根据每个类别的地区,统计其数量
|
|
|
+ int total = 0;
|
|
|
+ total += brandZoneDao.selectTierCountByBrandIdAndCodes(brandId, map.get(tier));
|
|
|
+ tierMapper.insert(new BrandCityTier(brandId, tier, total));
|
|
|
+ }
|
|
|
+ System.out.println(totalBrand + "/" + i);
|
|
|
+ i++;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|