From cba8297979e793300e1b498730902133b224b7e3 Mon Sep 17 00:00:00 2001
From: kk <guokunkun@yswg.com.cn>
Date: Mon, 26 May 2025 16:28:58 +0800
Subject: [PATCH] 16832-简易视频任务导+刷数据

---
 pom.xml                                                                                |   5 +++++
 src/main/java/cn/kk/spring_simple_operation/controller/DeptGroupController.java        |  20 ++++++++++++++++++++
 src/main/java/cn/kk/spring_simple_operation/entity/DeptGroup.java                      |  68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/cn/kk/spring_simple_operation/entity/PhotoProgressPerson.java            |   2 ++
 src/main/java/cn/kk/spring_simple_operation/entity/VisualDesignLog.java                |   3 ++-
 src/main/java/cn/kk/spring_simple_operation/enums/StatusEnum.java                      |  51 +++++++++++++++++++++++++++++++++++++++++++++++++++
 src/main/java/cn/kk/spring_simple_operation/mapper/DeptGroupMapper.java                |  22 ++++++++++++++++++++++
 src/main/java/cn/kk/spring_simple_operation/mapper/PhotoProgressMapper.java            |   2 +-
 src/main/java/cn/kk/spring_simple_operation/model/vo/PhotoSkuInfo.java                 |   1 +
 src/main/java/cn/kk/spring_simple_operation/service/DeptGroupService.java              |  19 +++++++++++++++++++
 src/main/java/cn/kk/spring_simple_operation/service/PhotoProgressService.java          |   2 ++
 src/main/java/cn/kk/spring_simple_operation/service/impl/DeptGroupServiceImpl.java     |  31 +++++++++++++++++++++++++++++++
 src/main/java/cn/kk/spring_simple_operation/service/impl/PhotoProgressServiceImpl.java | 351 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------------------------------------------------------------------
 src/main/resources/mapper/DeptGroupMapper.xml                                          |  19 +++++++++++++++++++
 src/main/resources/mapper/PhotoProgressMapper.xml                                      |  11 +++++++++--
 src/test/java/cn/kk/spring_simple_operation/ApplicationTest.java                       |  16 +++++++++++-----
 16 files changed, 489 insertions(+), 134 deletions(-)
 create mode 100644 src/main/java/cn/kk/spring_simple_operation/controller/DeptGroupController.java
 create mode 100644 src/main/java/cn/kk/spring_simple_operation/entity/DeptGroup.java
 create mode 100644 src/main/java/cn/kk/spring_simple_operation/enums/StatusEnum.java
 create mode 100644 src/main/java/cn/kk/spring_simple_operation/mapper/DeptGroupMapper.java
 create mode 100644 src/main/java/cn/kk/spring_simple_operation/service/DeptGroupService.java
 create mode 100644 src/main/java/cn/kk/spring_simple_operation/service/impl/DeptGroupServiceImpl.java
 create mode 100644 src/main/resources/mapper/DeptGroupMapper.xml

diff --git a/pom.xml b/pom.xml
index 36be0fb..d1fd101 100644
--- a/pom.xml
+++ b/pom.xml
@@ -103,6 +103,11 @@
 			<artifactId>commons-lang3</artifactId>
 			<scope>compile</scope>
 		</dependency>
+		<dependency>
+			<groupId>com.google.guava</groupId>
+			<artifactId>guava</artifactId>
+			<version>27.0-jre</version>
+		</dependency>
 
 	</dependencies>
 
diff --git a/src/main/java/cn/kk/spring_simple_operation/controller/DeptGroupController.java b/src/main/java/cn/kk/spring_simple_operation/controller/DeptGroupController.java
new file mode 100644
index 0000000..33f47a8
--- /dev/null
+++ b/src/main/java/cn/kk/spring_simple_operation/controller/DeptGroupController.java
@@ -0,0 +1,20 @@
+package cn.kk.spring_simple_operation.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ * 各部门分组表 前端控制器
+ * </p>
+ *
+ * @author guokunkun
+ * @since 2025-05-26
+ */
+@RestController
+@RequestMapping("/spring_simple_operation/dept-group")
+public class DeptGroupController {
+
+}
diff --git a/src/main/java/cn/kk/spring_simple_operation/entity/DeptGroup.java b/src/main/java/cn/kk/spring_simple_operation/entity/DeptGroup.java
new file mode 100644
index 0000000..a13bc58
--- /dev/null
+++ b/src/main/java/cn/kk/spring_simple_operation/entity/DeptGroup.java
@@ -0,0 +1,68 @@
+package cn.kk.spring_simple_operation.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 各部门分组表
+ * </p>
+ *
+ * @author guokunkun
+ * @since 2025-05-26
+ */
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("dept_group")
+@ApiModel(value = "DeptGroup对象", description = "各部门分组表")
+public class DeptGroup implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @ApiModelProperty("id")
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @ApiModelProperty("父组Id")
+    @TableField("parent_id")
+    private Integer parentId;
+
+    @ApiModelProperty("归属的顶级部门如:开发、摄影等")
+    @TableField("module")
+    private String module;
+
+    @ApiModelProperty("部门/组名称")
+    @TableField("group_name")
+    private String groupName;
+
+    @ApiModelProperty("部门/组简称(代表组路径)")
+    @TableField("group_num")
+    private String groupNum;
+
+    @ApiModelProperty("部门/组职位")
+    @TableField("position")
+    private String position;
+
+    @ApiModelProperty("是否是叶子节点")
+    @TableField("is_leaf")
+    private Integer isLeaf;
+
+    @ApiModelProperty("节点全路径")
+    @TableField("node_path")
+    private String nodePath;
+
+    @ApiModelProperty("路径全名")
+    @TableField("full_name")
+    private String fullName;
+
+
+}
diff --git a/src/main/java/cn/kk/spring_simple_operation/entity/PhotoProgressPerson.java b/src/main/java/cn/kk/spring_simple_operation/entity/PhotoProgressPerson.java
index 34b751a..aa46662 100644
--- a/src/main/java/cn/kk/spring_simple_operation/entity/PhotoProgressPerson.java
+++ b/src/main/java/cn/kk/spring_simple_operation/entity/PhotoProgressPerson.java
@@ -135,5 +135,7 @@ public class PhotoProgressPerson implements Serializable {
     @TableField("video_tort_reason")
     private String videoTortReason;
 
+    @ApiModelProperty(value = "是否改变了简易视频拍摄状态:0-否,1-是")
+    private Integer isChangeSimpleVideoStatus;
 
 }
diff --git a/src/main/java/cn/kk/spring_simple_operation/entity/VisualDesignLog.java b/src/main/java/cn/kk/spring_simple_operation/entity/VisualDesignLog.java
index adab195..dc9e980 100644
--- a/src/main/java/cn/kk/spring_simple_operation/entity/VisualDesignLog.java
+++ b/src/main/java/cn/kk/spring_simple_operation/entity/VisualDesignLog.java
@@ -1,5 +1,6 @@
 package cn.kk.spring_simple_operation.entity;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -28,7 +29,7 @@ public class VisualDesignLog implements Serializable {
     private static final long serialVersionUID = 1L;
 
     @ApiModelProperty("id")
-    @TableId("id")
+    @TableId(value = "id", type = IdType.INPUT)
     private Long id;
 
     @ApiModelProperty("操作")
diff --git a/src/main/java/cn/kk/spring_simple_operation/enums/StatusEnum.java b/src/main/java/cn/kk/spring_simple_operation/enums/StatusEnum.java
new file mode 100644
index 0000000..5bcc644
--- /dev/null
+++ b/src/main/java/cn/kk/spring_simple_operation/enums/StatusEnum.java
@@ -0,0 +1,51 @@
+package cn.kk.spring_simple_operation.enums;
+
+import java.util.Arrays;
+
+/**
+ * @description: 视觉操作  进度枚举
+ * @author: Devin
+ * @date: 2022-09-19
+ */
+public enum StatusEnum {
+
+    /** 状态,0-未完成,1-进行中,2-完成,3-不需要处理 */
+    UNFINISHED(0, "未完成"),
+    IN_PROGRESS(1, "进行中"),
+    FINISH(2, "完成"),
+    NO_NEED_HANDLE(3, "不需要处理"),// 这个状态,目前废弃了,不要用了
+    DEVELOPER_NO_NEED_HANDLE(4, "开发选择不需要处理"),
+    PHOTOGRAPHY_NO_NEED_HANDLE(5, "摄影选择不需要处理"),
+    SALE_NO_NEED_HANDLE(6, "不在建议拍摄类目中"),
+
+
+
+
+            ;
+
+
+    private final Integer code;
+
+    private final String message;
+
+    StatusEnum(Integer code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public String getMessage() {
+        return message;
+    }
+
+    public static String get(Integer code){
+        StatusEnum statusEnum = Arrays.stream(StatusEnum.values()).filter(e -> code.equals(e.getCode())).findAny().orElse(null);
+        if(statusEnum != null){
+            return statusEnum.getMessage();
+        }
+        return "";
+    }
+}
diff --git a/src/main/java/cn/kk/spring_simple_operation/mapper/DeptGroupMapper.java b/src/main/java/cn/kk/spring_simple_operation/mapper/DeptGroupMapper.java
new file mode 100644
index 0000000..43cfe3f
--- /dev/null
+++ b/src/main/java/cn/kk/spring_simple_operation/mapper/DeptGroupMapper.java
@@ -0,0 +1,22 @@
+package cn.kk.spring_simple_operation.mapper;
+
+import cn.kk.spring_simple_operation.entity.DeptGroup;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 各部门分组表 Mapper 接口
+ * </p>
+ *
+ * @author guokunkun
+ * @since 2025-05-26
+ */
+@Mapper
+public interface DeptGroupMapper extends BaseMapper<DeptGroup> {
+
+	List<String> getDeveloperNumByNodePathList(@Param("module") String module, @Param("nodePathList") List<String> nodePathList);
+}
diff --git a/src/main/java/cn/kk/spring_simple_operation/mapper/PhotoProgressMapper.java b/src/main/java/cn/kk/spring_simple_operation/mapper/PhotoProgressMapper.java
index 137f656..2b5c662 100644
--- a/src/main/java/cn/kk/spring_simple_operation/mapper/PhotoProgressMapper.java
+++ b/src/main/java/cn/kk/spring_simple_operation/mapper/PhotoProgressMapper.java
@@ -21,7 +21,7 @@ public interface PhotoProgressMapper extends BaseMapper<PhotoProgress> {
 
 	List<PhotoProgress> getListBySku(@Param("skuList") List<String> collect);
 
-	List<PhotoSkuInfo> getSkuInfo();
+	List<PhotoSkuInfo> getSkuInfo(@Param("developerNumList") List<String> developerNumList);
 
 	List<PhotoSkuInfo> getSkuInfo2();
 }
diff --git a/src/main/java/cn/kk/spring_simple_operation/model/vo/PhotoSkuInfo.java b/src/main/java/cn/kk/spring_simple_operation/model/vo/PhotoSkuInfo.java
index 55704c3..a70c127 100644
--- a/src/main/java/cn/kk/spring_simple_operation/model/vo/PhotoSkuInfo.java
+++ b/src/main/java/cn/kk/spring_simple_operation/model/vo/PhotoSkuInfo.java
@@ -9,6 +9,7 @@ import lombok.Data;
 @Data
 public class PhotoSkuInfo {
 
+	private Long id;
 
 	private String sku;
 
diff --git a/src/main/java/cn/kk/spring_simple_operation/service/DeptGroupService.java b/src/main/java/cn/kk/spring_simple_operation/service/DeptGroupService.java
new file mode 100644
index 0000000..b24b440
--- /dev/null
+++ b/src/main/java/cn/kk/spring_simple_operation/service/DeptGroupService.java
@@ -0,0 +1,19 @@
+package cn.kk.spring_simple_operation.service;
+
+import cn.kk.spring_simple_operation.entity.DeptGroup;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 各部门分组表 服务类
+ * </p>
+ *
+ * @author guokunkun
+ * @since 2025-05-26
+ */
+public interface DeptGroupService extends IService<DeptGroup> {
+
+	List<String> getDeveloperNumByNodePathList(String module, List<String> nodePathList);
+}
diff --git a/src/main/java/cn/kk/spring_simple_operation/service/PhotoProgressService.java b/src/main/java/cn/kk/spring_simple_operation/service/PhotoProgressService.java
index a8385fd..241bacb 100644
--- a/src/main/java/cn/kk/spring_simple_operation/service/PhotoProgressService.java
+++ b/src/main/java/cn/kk/spring_simple_operation/service/PhotoProgressService.java
@@ -19,4 +19,6 @@ public interface PhotoProgressService extends IService<PhotoProgress> {
 	void setUploadStatusIsDeleted(List<SkuSiteDTO> list);
 
 	void getVideoSkuArea();
+
+	void brushSimpleVideoData();
 }
diff --git a/src/main/java/cn/kk/spring_simple_operation/service/impl/DeptGroupServiceImpl.java b/src/main/java/cn/kk/spring_simple_operation/service/impl/DeptGroupServiceImpl.java
new file mode 100644
index 0000000..8c1383e
--- /dev/null
+++ b/src/main/java/cn/kk/spring_simple_operation/service/impl/DeptGroupServiceImpl.java
@@ -0,0 +1,31 @@
+package cn.kk.spring_simple_operation.service.impl;
+
+import cn.kk.spring_simple_operation.entity.DeptGroup;
+import cn.kk.spring_simple_operation.mapper.DeptGroupMapper;
+import cn.kk.spring_simple_operation.service.DeptGroupService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * <p>
+ * 各部门分组表 服务实现类
+ * </p>
+ *
+ * @author guokunkun
+ * @since 2025-05-26
+ */
+@Service
+public class DeptGroupServiceImpl extends ServiceImpl<DeptGroupMapper, DeptGroup> implements DeptGroupService {
+
+	@Override
+	public List<String> getDeveloperNumByNodePathList(String module, List<String> nodePathList) {
+		if (CollectionUtils.isEmpty(nodePathList)) {
+			return Collections.emptyList();
+		}
+		return baseMapper.getDeveloperNumByNodePathList(module, nodePathList);
+	}
+}
diff --git a/src/main/java/cn/kk/spring_simple_operation/service/impl/PhotoProgressServiceImpl.java b/src/main/java/cn/kk/spring_simple_operation/service/impl/PhotoProgressServiceImpl.java
index e8624f3..a0acbc4 100644
--- a/src/main/java/cn/kk/spring_simple_operation/service/impl/PhotoProgressServiceImpl.java
+++ b/src/main/java/cn/kk/spring_simple_operation/service/impl/PhotoProgressServiceImpl.java
@@ -1,25 +1,34 @@
 package cn.kk.spring_simple_operation.service.impl;
 
 import cn.kk.spring_simple_operation.entity.PhotoProgress;
+import cn.kk.spring_simple_operation.entity.PhotoProgressPerson;
+import cn.kk.spring_simple_operation.entity.VisualDesignLog;
+import cn.kk.spring_simple_operation.entity.VisualDesigner;
+import cn.kk.spring_simple_operation.enums.StatusEnum;
 import cn.kk.spring_simple_operation.mapper.PhotoProgressMapper;
 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.VisualDesignLogService;
+import cn.kk.spring_simple_operation.service.*;
 import cn.kk.spring_simple_operation.utils.CommonUtils;
+import cn.kk.spring_simple_operation.utils.DateUtils;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.google.common.collect.Lists;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
+import org.springframework.transaction.support.TransactionTemplate;
+import org.springframework.util.Assert;
+import org.springframework.util.CollectionUtils;
 import org.springframework.util.StringUtils;
 
 import javax.annotation.Resource;
-import java.util.List;
-import java.util.Objects;
+import java.util.*;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.ConcurrentSkipListSet;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 /**
@@ -37,6 +46,18 @@ public class PhotoProgressServiceImpl extends ServiceImpl<PhotoProgressMapper, P
 	@Resource
 	private VisualDesignLogService visualDesignLogService;
 
+	@Resource
+	private VisualDesignerService visualDesignerService;
+
+	@Resource
+	private DeptGroupService deptGroupService;
+
+	@Resource
+	private PhotoProgressPersonService photoProgressPersonService;
+
+	@Resource
+	private TransactionTemplate transactionTemplate;
+
 	@Override
 	@Transactional(rollbackFor = Exception.class)
 	public void setUploadStatusIsDeleted(List<SkuSiteDTO> list) {
@@ -55,145 +76,225 @@ public class PhotoProgressServiceImpl extends ServiceImpl<PhotoProgressMapper, P
 
 	@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);
+		//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<>());
+		//
+		//
+		//
+		//baseMapper.getSkuInfo2().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());
+	}
 
-		log.info("区域统计结果:----sku总数");
-		areaCountSingleMap.forEach((k, v) -> {
-			log.info("区域:" + k + ",SKU数量:" + v);
-			totalCount.addAndGet(v);
-		});
-		log.info("合计: " + totalCount.get());
+	@Override
+	public void brushSimpleVideoData() {
 
-		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<>());
+		Map<String, VisualDesigner> simpleNameMap = visualDesignerService.list(Wrappers.<VisualDesigner>lambdaQuery().eq(VisualDesigner::getDepartmentKey, "photographer_group")
+						.in(VisualDesigner::getUserName, "江雯洁", "曾雪萍", "潘婷", "薛天"))
+				.stream().collect(Collectors.toMap(VisualDesigner::getUserName, Function.identity(), (a, b) -> a));
+		Assert.isTrue(simpleNameMap.size() == 4, "简易视频师不全!");
 
+		List<String> developerNumList = deptGroupService.getDeveloperNumByNodePathList("wal_develop", Collections.singletonList("DEVELOPER-YF2"));
 
+		List<PhotoSkuInfo> skuInfoList = baseMapper.getSkuInfo(developerNumList);
+		List<VisualDesignLog> logList = new ArrayList<>();
+		Integer currentTimeSecond = DateUtils.getCurrentTimeSecond();
+		List<PhotoProgressPerson> updateList = new LinkedList<>();
 
-		baseMapper.getSkuInfo2().forEach(t -> {
+		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 + "不存在");
-			}
+			PhotoProgressPerson photoProgressPerson = new PhotoProgressPerson();
+			photoProgressPerson.setId(t.getId())
+					.setIsChangeSimpleVideoStatus(1)
+					.setSimpleVideoStatus(StatusEnum.UNFINISHED.getCode());
+			String content = "修改简易视频任务状态为未完成,";
 
-			switch (t.getProductType()) {
-				case 1:
-					// 普通产品
-					if (StringUtils.isEmpty(t.getRelativeSku())) {
-						skuList.add(t.getSku());
-					}
-					else {
-						skuList.add(t.getRelativeSku());
-					}
+			VisualDesigner visualDesigner = null;
+			switch (region) {
+				case "深圳":
+					visualDesigner = simpleNameMap.get("江雯洁");
 					break;
-				case 2:
-					// 组合产品
-					if (t.getIsCombVariant() == 0) {
-						//母体
-						skuList.add(t.getSku());
-					}
-					else if (t.getIsCombVariant() == 1) {
-						// 变体,添加他的母体
-						skuList.add(t.getCombParentSku());
-					}
+				case "武汉":
+					visualDesigner = simpleNameMap.get("曾雪萍");
 					break;
-				case 3:
-					skuList.add(t.getRelativeSku());
+				case "长沙":
+					visualDesigner = simpleNameMap.get("潘婷");
 					break;
-				default:
-					log.error("产品类型错误:" + t.getProductType());
+				case "合肥":
+					visualDesigner = simpleNameMap.get("薛天");
 					break;
 			}
+			if (Objects.nonNull(visualDesigner)) {
+				photoProgressPerson
+						.setSimpleVideoPhotographerName(visualDesigner.getUserName())
+						.setSimpleVideoPhotographerNum(visualDesigner.getVisualNumber());
+				content += "根据开发地区修改简易视频师为:" + visualDesigner.getUserName();
+			} else {
+				return;
+			}
 
-		});
+			logList.add(new VisualDesignLog()
+					.setId(IdWorker.getId())
+					.setOperationKey("photo_progress")
+					.setOperationContent(content)
+					.setRelationId(t.getId())
+					.setOperationType("is_change_simple_video_status")
+					.setCreateTime(currentTimeSecond)
+					.setCreateId(0)
+					.setCreateName("job")
+			);
 
-		totalCount.set(0);
+			updateList.add(photoProgressPerson);
 
-		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());
+		if (!CollectionUtils.isEmpty(updateList)) {
+			List<List<PhotoProgressPerson>> pppList = Lists.partition(updateList, 500);
+			List<List<VisualDesignLog>> listList = Lists.partition(logList, 500);
+			for (int i = 0; i < pppList.size(); i++) {
+				int finalI = i;
+				transactionTemplate.execute(status -> {
+					photoProgressPersonService.updateBatchById(pppList.get(finalI));
+					visualDesignLogService.saveBatch(listList.get(finalI));
+					log.info("第{}/{}次更新数据库完成!", (finalI + 1), pppList.size());
+					return true;
+				});
+			}
+		}
+		log.info("修改简易视频任务状态成功,共修改{}条数据!", updateList.size());
 	}
 }
diff --git a/src/main/resources/mapper/DeptGroupMapper.xml b/src/main/resources/mapper/DeptGroupMapper.xml
new file mode 100644
index 0000000..026cb3b
--- /dev/null
+++ b/src/main/resources/mapper/DeptGroupMapper.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="cn.kk.spring_simple_operation.mapper.DeptGroupMapper">
+
+	<select id="getDeveloperNumByNodePathList" resultType="java.lang.String">
+		SELECT
+		distinct sd.developer_num
+		FROM
+		dept_group dg
+		LEFT JOIN sync_developer sd on sd.group = dg.group_num
+		WHERE
+		dg.module = #{module} AND sd.developer_num > ''
+		AND (
+		<foreach collection="nodePathList" separator="or" item="nodePath">
+			dg.node_path like concat(#{nodePath}, '%')
+		</foreach>
+		)
+	</select>
+</mapper>
diff --git a/src/main/resources/mapper/PhotoProgressMapper.xml b/src/main/resources/mapper/PhotoProgressMapper.xml
index b99f8a6..474dcb3 100644
--- a/src/main/resources/mapper/PhotoProgressMapper.xml
+++ b/src/main/resources/mapper/PhotoProgressMapper.xml
@@ -33,9 +33,16 @@
 		WHERE
 			vp.id IS NULL
 		  AND pp.sku > ''
-		  AND ppp.simple_video_status != 2
-		  AND ppp.is_change_simple_video_status = 1
+		  AND ppp.simple_video_status not in (0, 1, 2)
 			AND spp.sale_time > 1716048000
+
+		<if test="developerNumList != null and developerNumList.size() > 0">
+			AND spa.developer_num not in
+			<foreach collection="developerNumList" item="developerNum" open="(" close=")" separator=",">
+				#{developerNum}
+			</foreach>
+		</if>
+
 			GROUP BY pp.sku
 	</select>
 
diff --git a/src/test/java/cn/kk/spring_simple_operation/ApplicationTest.java b/src/test/java/cn/kk/spring_simple_operation/ApplicationTest.java
index 7bf6f78..a60a6da 100644
--- a/src/test/java/cn/kk/spring_simple_operation/ApplicationTest.java
+++ b/src/test/java/cn/kk/spring_simple_operation/ApplicationTest.java
@@ -51,7 +51,13 @@ public class ApplicationTest {
 
 		//updateBrandTransparencyPlan();
 
-		getVideoSkuArea();
+		//getVideoSkuArea();
+
+		brushSimpleVideoData();
+	}
+
+	private void brushSimpleVideoData() {
+		photoProgressService.brushSimpleVideoData();
 	}
 
 	//private void setUploadStatusIsDeleted() throws Exception {
@@ -90,10 +96,10 @@ public class ApplicationTest {
 	//}
 
 
-	private void getVideoSkuArea() {
-
-		photoProgressService.getVideoSkuArea();
-	}
+	//private void getVideoSkuArea() {
+	//
+	//	photoProgressService.getVideoSkuArea();
+	//}
 
 
 }
--
libgit2 0.26.0