Commit a5df4984 by kk

查数据:16832-简易视频任务导+刷数据

parent df1f427f
package cn.kk.spring_simple_operation.mapper; package cn.kk.spring_simple_operation.mapper;
import cn.kk.spring_simple_operation.entity.PhotoProgress; import cn.kk.spring_simple_operation.entity.PhotoProgress;
import cn.kk.spring_simple_operation.model.vo.PhotoSkuInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -19,4 +20,6 @@ import java.util.List; ...@@ -19,4 +20,6 @@ import java.util.List;
public interface PhotoProgressMapper extends BaseMapper<PhotoProgress> { public interface PhotoProgressMapper extends BaseMapper<PhotoProgress> {
List<PhotoProgress> getListBySku(@Param("skuList") List<String> collect); List<PhotoProgress> getListBySku(@Param("skuList") List<String> collect);
List<PhotoSkuInfo> getSkuInfo();
} }
package cn.kk.spring_simple_operation.model.vo;
import lombok.Data;
/**
* @author kk
* @date 2025/5/16
*/
@Data
public class PhotoSkuInfo {
private String sku;
private Integer productType;
private Integer isCombVariant;
private Integer isChangeSimpleVideoStatus;
private String combParentSku;
private String relativeSku;
private String dept;
}
...@@ -17,4 +17,6 @@ import java.util.List; ...@@ -17,4 +17,6 @@ import java.util.List;
public interface PhotoProgressService extends IService<PhotoProgress> { public interface PhotoProgressService extends IService<PhotoProgress> {
void setUploadStatusIsDeleted(List<SkuSiteDTO> list); void setUploadStatusIsDeleted(List<SkuSiteDTO> list);
void getVideoSkuArea();
} }
...@@ -3,15 +3,23 @@ package cn.kk.spring_simple_operation.service.impl; ...@@ -3,15 +3,23 @@ package cn.kk.spring_simple_operation.service.impl;
import cn.kk.spring_simple_operation.entity.PhotoProgress; import cn.kk.spring_simple_operation.entity.PhotoProgress;
import cn.kk.spring_simple_operation.mapper.PhotoProgressMapper; import cn.kk.spring_simple_operation.mapper.PhotoProgressMapper;
import cn.kk.spring_simple_operation.model.dto.SkuSiteDTO; import cn.kk.spring_simple_operation.model.dto.SkuSiteDTO;
import cn.kk.spring_simple_operation.model.vo.PhotoSkuInfo;
import cn.kk.spring_simple_operation.service.PhotoProgressService; import cn.kk.spring_simple_operation.service.PhotoProgressService;
import cn.kk.spring_simple_operation.service.VisualDesignLogService; import cn.kk.spring_simple_operation.service.VisualDesignLogService;
import cn.kk.spring_simple_operation.utils.CommonUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentSkipListSet;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
...@@ -22,6 +30,7 @@ import java.util.stream.Collectors; ...@@ -22,6 +30,7 @@ import java.util.stream.Collectors;
* @author guokunkun * @author guokunkun
* @since 2024-12-25 * @since 2024-12-25
*/ */
@Slf4j
@Service @Service
public class PhotoProgressServiceImpl extends ServiceImpl<PhotoProgressMapper, PhotoProgress> implements PhotoProgressService { public class PhotoProgressServiceImpl extends ServiceImpl<PhotoProgressMapper, PhotoProgress> implements PhotoProgressService {
...@@ -42,4 +51,149 @@ public class PhotoProgressServiceImpl extends ServiceImpl<PhotoProgressMapper, P ...@@ -42,4 +51,149 @@ public class PhotoProgressServiceImpl extends ServiceImpl<PhotoProgressMapper, P
); );
visualDesignLogService.addBatchLog("photo_progress", "根据文件将sku的视频上传后台状态设置为已删除", ids); visualDesignLogService.addBatchLog("photo_progress", "根据文件将sku的视频上传后台状态设置为已删除", ids);
} }
@Override
public void getVideoSkuArea() {
List<PhotoSkuInfo> skuInfoList = baseMapper.getSkuInfo();
ConcurrentHashMap<String, Integer> areaCountSingleMap = new ConcurrentHashMap<>();
areaCountSingleMap.put("深圳", 0);
areaCountSingleMap.put("武汉", 0);
areaCountSingleMap.put("合肥", 0);
areaCountSingleMap.put("长沙", 0);
ConcurrentHashMap<String, ConcurrentSkipListSet<String>> areaCountMainMap = new ConcurrentHashMap<>();
areaCountMainMap.put("深圳", new ConcurrentSkipListSet<>());
areaCountMainMap.put("武汉", new ConcurrentSkipListSet<>());
areaCountMainMap.put("合肥", new ConcurrentSkipListSet<>());
areaCountMainMap.put("长沙", new ConcurrentSkipListSet<>());
skuInfoList.forEach(t -> {
String region = CommonUtils.getRegion(t.getDept());
areaCountSingleMap.put(region, areaCountSingleMap.getOrDefault(region, 0) + 1);
ConcurrentSkipListSet<String> skuList = areaCountMainMap.get(region);
if (Objects.isNull(skuList)) {
throw new RuntimeException("区域:" + region + "不存在");
}
switch (t.getProductType()) {
case 1:
// 普通产品
if (StringUtils.isEmpty(t.getRelativeSku())) {
skuList.add(t.getSku());
}
else {
skuList.add(t.getRelativeSku());
}
break;
case 2:
// 组合产品
if (t.getIsCombVariant() == 0) {
//母体
skuList.add(t.getSku());
}
else if (t.getIsCombVariant() == 1) {
// 变体,添加他的母体
skuList.add(t.getCombParentSku());
}
break;
case 3:
skuList.add(t.getRelativeSku());
break;
default:
log.error("产品类型错误:" + t.getProductType());
break;
}
});
AtomicInteger totalCount = new AtomicInteger(0);
log.info("区域统计结果:----母体sku总数");
areaCountMainMap.forEach((k, v) -> {
log.info("区域:" + k + ",SKU数量:" + v.size());
totalCount.addAndGet(v.size());
});
log.info("合计: " + totalCount.get());
totalCount.set(0);
log.info("区域统计结果:----sku总数");
areaCountSingleMap.forEach((k, v) -> {
log.info("区域:" + k + ",SKU数量:" + v);
totalCount.addAndGet(v);
});
log.info("合计: " + totalCount.get());
areaCountMainMap.clear();
areaCountSingleMap.clear();
areaCountSingleMap.put("深圳", 0);
areaCountSingleMap.put("武汉", 0);
areaCountSingleMap.put("合肥", 0);
areaCountSingleMap.put("长沙", 0);
areaCountMainMap.put("深圳", new ConcurrentSkipListSet<>());
areaCountMainMap.put("武汉", new ConcurrentSkipListSet<>());
areaCountMainMap.put("合肥", new ConcurrentSkipListSet<>());
areaCountMainMap.put("长沙", new ConcurrentSkipListSet<>());
skuInfoList.stream().filter(t -> t.getIsChangeSimpleVideoStatus() == 1).forEach(t -> {
String region = CommonUtils.getRegion(t.getDept());
areaCountSingleMap.put(region, areaCountSingleMap.getOrDefault(region, 0) + 1);
ConcurrentSkipListSet<String> skuList = areaCountMainMap.get(region);
if (Objects.isNull(skuList)) {
throw new RuntimeException("区域:" + region + "不存在");
}
switch (t.getProductType()) {
case 1:
// 普通产品
if (StringUtils.isEmpty(t.getRelativeSku())) {
skuList.add(t.getSku());
}
else {
skuList.add(t.getRelativeSku());
}
break;
case 2:
// 组合产品
if (t.getIsCombVariant() == 0) {
//母体
skuList.add(t.getSku());
}
else if (t.getIsCombVariant() == 1) {
// 变体,添加他的母体
skuList.add(t.getCombParentSku());
}
break;
case 3:
skuList.add(t.getRelativeSku());
break;
default:
log.error("产品类型错误:" + t.getProductType());
break;
}
});
totalCount.set(0);
log.info("老任务区域统计结果:----母体sku总数");
areaCountMainMap.forEach((k, v) -> {
log.info("区域:" + k + ",SKU数量:" + v.size());
totalCount.addAndGet(v.size());
});
log.info("合计: " + totalCount.get());
totalCount.set(0);
log.info("老任务区域统计结果:----sku总数");
areaCountSingleMap.forEach((k, v) -> {
log.info("区域:" + k + ",SKU数量:" + v);
totalCount.addAndGet(v);
});
log.info("合计: " + totalCount.get());
}
} }
...@@ -10,4 +10,31 @@ ...@@ -10,4 +10,31 @@
#{item} #{item}
</foreach> </foreach>
</select> </select>
<select id="getSkuInfo" resultType="cn.kk.spring_simple_operation.model.vo.PhotoSkuInfo">
SELECT
pp.id,
pp.sku,
ppp.is_change_simple_video_status,
spa.product_type,
spa.is_comb_variant,
spa.comb_parent_sku,
spa.relative_sku,
sd.dept
FROM
photo_progress pp
INNER JOIN photo_progress_person ppp ON ppp.id = pp.id
INNER JOIN sync_product_audit spa ON spa.sku = pp.sku
INNER JOIN sync_developer sd ON spa.developer_num = sd.developer_num
INNER JOIN sync_product_publish spp ON spp.sku = pp.sku
AND spp.sale_status = '正常销售'
AND spp.site = 'Amazon.com'
LEFT JOIN video_product vp ON vp.sku = pp.sku
AND vp.is_delete = 0
WHERE
vp.id IS NULL
AND pp.sku > ''
AND ppp.simple_video_status != 2
AND spp.sale_time > 1716048000
GROUP BY pp.sku
</select>
</mapper> </mapper>
package cn.kk.spring_simple_operation; package cn.kk.spring_simple_operation;
import cn.kk.spring_simple_operation.mapper.PhotoProgressMapper;
import cn.kk.spring_simple_operation.model.dto.BrandAccountDto; import cn.kk.spring_simple_operation.model.dto.BrandAccountDto;
import cn.kk.spring_simple_operation.model.dto.SkuPeopleNameDto; import cn.kk.spring_simple_operation.model.dto.SkuPeopleNameDto;
import cn.kk.spring_simple_operation.model.vo.PhotoSkuInfo;
import cn.kk.spring_simple_operation.service.*; import cn.kk.spring_simple_operation.service.*;
import cn.kk.spring_simple_operation.utils.ExcelUtil; import cn.kk.spring_simple_operation.utils.ExcelUtil;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
...@@ -29,6 +31,9 @@ public class ApplicationTest { ...@@ -29,6 +31,9 @@ public class ApplicationTest {
private PhotoProgressService photoProgressService; private PhotoProgressService photoProgressService;
@Resource @Resource
private PhotoProgressMapper photoProgressMapper;
@Resource
private APlusProductService aPlusProductService; private APlusProductService aPlusProductService;
@Resource @Resource
...@@ -44,7 +49,9 @@ public class ApplicationTest { ...@@ -44,7 +49,9 @@ public class ApplicationTest {
//updateBrandId(); //updateBrandId();
updateBrandTransparencyPlan(); //updateBrandTransparencyPlan();
getVideoSkuArea();
} }
//private void setUploadStatusIsDeleted() throws Exception { //private void setUploadStatusIsDeleted() throws Exception {
...@@ -72,16 +79,21 @@ public class ApplicationTest { ...@@ -72,16 +79,21 @@ public class ApplicationTest {
//} //}
private void updateBrandTransparencyPlan() throws Exception { //private void updateBrandTransparencyPlan() throws Exception {
File file = new File("2025-04-16_vlrd_高首批新品匹配透明计划账号.xlsx"); // File file = new File("2025-04-16_vlrd_高首批新品匹配透明计划账号.xlsx");
ExcelUtil<BrandAccountDto> util = new ExcelUtil<>(BrandAccountDto.class); // ExcelUtil<BrandAccountDto> util = new ExcelUtil<>(BrandAccountDto.class);
List<BrandAccountDto> list = util.importExcel(Files.newInputStream(file.toPath())); // List<BrandAccountDto> list = util.importExcel(Files.newInputStream(file.toPath()));
//
// list.forEach(dto -> {
// System.out.printf("update brand_record_tool set is_transparency_plan = 1 where record_brand = '%s' and account = '%s' and is_delete = 0;\n", dto.getBrand(), dto.getAccount());
// });
//}
list.forEach(dto -> {
System.out.printf("update brand_record_tool set is_transparency_plan = 1 where record_brand = '%s' and account = '%s' and is_delete = 0;\n", dto.getBrand(), dto.getAccount());
});
}
private void getVideoSkuArea() {
photoProgressService.getVideoSkuArea();
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment