Commit 0203a08f by kk

18749-视觉导数据+刷数据

parent 66a691ef
package cn.kk.spring_simple_operation.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* A+产品 前端控制器
* </p>
*
* @author guokunkun
* @since 2025-06-18
*/
@RestController
@RequestMapping("/spring_simple_operation/a-plus-product")
public class APlusProductController {
}
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-10-14
*/
@RestController
@RequestMapping("/spring_simple_operation/visual-developer-plane-design-assignment")
public class VisualDeveloperPlaneDesignAssignmentController {
}
package cn.kk.spring_simple_operation.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 开发-平面设计任务自动分配-同步sku表 前端控制器
* </p>
*
* @author guokunkun
* @since 2025-10-14
*/
@RestController
@RequestMapping("/spring_simple_operation/visual-developer-plane-design-assignment-sku")
public class VisualDeveloperPlaneDesignAssignmentSkuController {
}
package cn.kk.spring_simple_operation.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
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-10-14
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("visual_developer_plane_design_assignment")
@ApiModel(value = "VisualDeveloperPlaneDesignAssignment对象", description = "开发-平面设计任务自动分配表")
public class VisualDeveloperPlaneDesignAssignment implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("文档链接")
@TableField("doc_url")
private String docUrl;
@ApiModelProperty("id")
@TableId("id")
private Long id;
@ApiModelProperty("sku")
@TableField("sku")
private String sku;
@ApiModelProperty("开发编号")
@TableField("developer_num")
private String developerNum;
@ApiModelProperty("开发备注")
@TableField("developer_remark")
private String developerRemark;
@ApiModelProperty("类型:1-首图,2-附图,3-优化 ")
@TableField("task_type")
private Integer taskType;
@ApiModelProperty("创建人id")
@TableField("create_id")
private Integer createId;
@ApiModelProperty("创建人")
@TableField("create_name")
private String createName;
@ApiModelProperty("创建时间(开发提交时间)")
@TableField("create_time")
private Integer createTime;
@ApiModelProperty("发货时间(所有sku中最早的)")
@TableField("shipment_time")
private Integer shipmentTime;
@ApiModelProperty("开售时间(所有sku中最早的)")
@TableField("sale_time")
private Integer saleTime;
@ApiModelProperty("平面设计名字")
@TableField("plane_design_name")
private String planeDesignName;
@ApiModelProperty("平面设计编号")
@TableField("plane_design_num")
private String planeDesignNum;
@ApiModelProperty("分配时间")
@TableField("assignment_time")
private Integer assignmentTime;
@ApiModelProperty("平面设计状态: 0-未完成,1-设计中,2-已完成")
@TableField("plane_design_status")
private Integer planeDesignStatus;
@ApiModelProperty("完成时间")
@TableField("finish_time")
private Integer finishTime;
@ApiModelProperty("备注")
@TableField("remark")
private String remark;
@ApiModelProperty("风险检测")
@TableField("risk_detection")
private String riskDetection;
@ApiModelProperty("是否删除,0-否,1-是")
@TableField("is_delete")
@TableLogic
private Integer isDelete;
}
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 java.math.BigDecimal;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
/**
* <p>
* 开发-平面设计任务自动分配-同步sku表
* </p>
*
* @author guokunkun
* @since 2025-10-14
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("visual_developer_plane_design_assignment_sku")
@ApiModel(value = "VisualDeveloperPlaneDesignAssignmentSku对象", description = "开发-平面设计任务自动分配-同步sku表")
public class VisualDeveloperPlaneDesignAssignmentSku implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty("id")
@TableId(value = "id", type = IdType.AUTO)
private Long id;
@ApiModelProperty("主任务id")
@TableField("main_id")
private Long mainId;
@ApiModelProperty("sku")
@TableField("sku")
private String sku;
@TableField("ctr")
private BigDecimal ctr;
}
package cn.kk.spring_simple_operation.mapper;
import cn.kk.spring_simple_operation.entity.VisualDeveloperPlaneDesignAssignment;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 开发-平面设计任务自动分配表 Mapper 接口
* </p>
*
* @author guokunkun
* @since 2025-10-14
*/
@Mapper
public interface VisualDeveloperPlaneDesignAssignmentMapper extends BaseMapper<VisualDeveloperPlaneDesignAssignment> {
}
package cn.kk.spring_simple_operation.mapper;
import cn.kk.spring_simple_operation.entity.VisualDeveloperPlaneDesignAssignmentSku;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 开发-平面设计任务自动分配-同步sku表 Mapper 接口
* </p>
*
* @author guokunkun
* @since 2025-10-14
*/
@Mapper
public interface VisualDeveloperPlaneDesignAssignmentSkuMapper extends BaseMapper<VisualDeveloperPlaneDesignAssignmentSku> {
}
......@@ -22,5 +22,8 @@ public class SkuSiteDTO {
@Excel(name = "人员")
private String name;
@Excel(name = "开发提交修图日期")
private String dataStr;
}
package cn.kk.spring_simple_operation.service;
import cn.kk.spring_simple_operation.entity.VisualDeveloperPlaneDesignAssignment;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 开发-平面设计任务自动分配表 服务类
* </p>
*
* @author guokunkun
* @since 2025-10-14
*/
public interface VisualDeveloperPlaneDesignAssignmentService extends IService<VisualDeveloperPlaneDesignAssignment> {
}
package cn.kk.spring_simple_operation.service;
import cn.kk.spring_simple_operation.entity.VisualDeveloperPlaneDesignAssignmentSku;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 开发-平面设计任务自动分配-同步sku表 服务类
* </p>
*
* @author guokunkun
* @since 2025-10-14
*/
public interface VisualDeveloperPlaneDesignAssignmentSkuService extends IService<VisualDeveloperPlaneDesignAssignmentSku> {
}
package cn.kk.spring_simple_operation.service.impl;
import cn.kk.spring_simple_operation.entity.VisualDeveloperPlaneDesignAssignment;
import cn.kk.spring_simple_operation.mapper.VisualDeveloperPlaneDesignAssignmentMapper;
import cn.kk.spring_simple_operation.service.VisualDeveloperPlaneDesignAssignmentService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 开发-平面设计任务自动分配表 服务实现类
* </p>
*
* @author guokunkun
* @since 2025-10-14
*/
@Service
public class VisualDeveloperPlaneDesignAssignmentServiceImpl extends ServiceImpl<VisualDeveloperPlaneDesignAssignmentMapper, VisualDeveloperPlaneDesignAssignment> implements VisualDeveloperPlaneDesignAssignmentService {
}
package cn.kk.spring_simple_operation.service.impl;
import cn.kk.spring_simple_operation.entity.VisualDeveloperPlaneDesignAssignmentSku;
import cn.kk.spring_simple_operation.mapper.VisualDeveloperPlaneDesignAssignmentSkuMapper;
import cn.kk.spring_simple_operation.service.VisualDeveloperPlaneDesignAssignmentSkuService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
* <p>
* 开发-平面设计任务自动分配-同步sku表 服务实现类
* </p>
*
* @author guokunkun
* @since 2025-10-14
*/
@Service
public class VisualDeveloperPlaneDesignAssignmentSkuServiceImpl extends ServiceImpl<VisualDeveloperPlaneDesignAssignmentSkuMapper, VisualDeveloperPlaneDesignAssignmentSku> implements VisualDeveloperPlaneDesignAssignmentSkuService {
}
<?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.VisualDeveloperPlaneDesignAssignmentMapper">
</mapper>
<?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.VisualDeveloperPlaneDesignAssignmentSkuMapper">
</mapper>
package cn.kk.spring_simple_operation;
import cn.kk.spring_simple_operation.entity.VisualDeveloperPlaneDesignAssignment;
import cn.kk.spring_simple_operation.entity.VisualDeveloperPlaneDesignAssignmentSku;
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.SkuPeopleNameDto;
......@@ -7,15 +9,20 @@ import cn.kk.spring_simple_operation.model.dto.SkuSiteDTO;
import cn.kk.spring_simple_operation.model.vo.PhotoSkuInfo;
import cn.kk.spring_simple_operation.model.vo.PublishInfoVo;
import cn.kk.spring_simple_operation.service.*;
import cn.kk.spring_simple_operation.utils.DateUtils;
import cn.kk.spring_simple_operation.utils.ExcelUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.transaction.support.TransactionTemplate;
import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author kk
......@@ -42,6 +49,18 @@ public class ApplicationTest {
@Resource
private BrandRecordToolService brandRecordToolService;
@Resource
private VisualDeveloperPlaneDesignAssignmentSkuService visualDeveloperPlaneDesignAssignmentSkuService;
@Resource
private VisualDeveloperPlaneDesignAssignmentService visualDeveloperPlaneDesignAssignmentService;
@Resource
private VisualDesignLogService visualDesignLogService;
@Resource
private TransactionTemplate transactionTemplate;
@Test
void contextLoads() throws Exception {
//visualPhotographerAPlusService.brushDataForExecutor();
......@@ -60,18 +79,55 @@ public class ApplicationTest {
//exportAPlusPublishData();
brushSimpleVideoData_2();
//brushSimpleVideoData_2();
brushYf2PlaneDesignAssignmentTime();
}
private void brushSimpleVideoData_2() throws Exception {
File file = new File("2025-06-30_vkai_2025老产品补拍简易视频进度.xlsx");
private void brushYf2PlaneDesignAssignmentTime() throws Exception {
File file = new File("2025-10-13_v6tg_研发二部B组-修图安排.xlsx");
ExcelUtil<SkuSiteDTO> util = new ExcelUtil<SkuSiteDTO>(SkuSiteDTO.class);
List<SkuSiteDTO> list = util.importExcel("指定人员", Files.newInputStream(file.toPath()));
photoProgressService.brushSimpleVideoDataPeople(list);
list = util.importExcel("前台有视频的 刷成简易视频不需要处理", Files.newInputStream(file.toPath()));
photoProgressService.brushSimpleVideoDataStatus(list);
List<SkuSiteDTO> list = util.importExcel("研发二部", Files.newInputStream(file.toPath()));
Map<String, Integer> skuMap = new HashMap<>();
list.forEach(t -> {
long time = Long.parseLong(t.getDataStr()) / 1000L;
skuMap.put(t.getSku(), (int) time);
});
Map<Long, List<VisualDeveloperPlaneDesignAssignmentSku>> idMap = visualDeveloperPlaneDesignAssignmentSkuService.list(Wrappers.<VisualDeveloperPlaneDesignAssignmentSku>lambdaQuery()
.in(VisualDeveloperPlaneDesignAssignmentSku::getSku, skuMap.keySet())
.select(VisualDeveloperPlaneDesignAssignmentSku::getMainId, VisualDeveloperPlaneDesignAssignmentSku::getSku)
).stream().collect(Collectors.groupingBy(VisualDeveloperPlaneDesignAssignmentSku::getMainId));
idMap.forEach((id, skuList) -> {
VisualDeveloperPlaneDesignAssignment one = visualDeveloperPlaneDesignAssignmentService.getOne(Wrappers.<VisualDeveloperPlaneDesignAssignment>lambdaQuery()
.eq(VisualDeveloperPlaneDesignAssignment::getId, id).select(VisualDeveloperPlaneDesignAssignment::getCreateTime));
if (Objects.isNull(one)) return;
Optional<Integer> first = skuList.stream().map(skuMap::get).filter(Objects::nonNull).findFirst();
if (!first.isPresent()) return;
Integer time = first.get();
VisualDeveloperPlaneDesignAssignment update = new VisualDeveloperPlaneDesignAssignment();
update.setId(id);
update.setCreateTime(time);
transactionTemplate.execute(status -> {
visualDeveloperPlaneDesignAssignmentService.updateById(update);
visualDesignLogService.addLog("visual_developer_plane_design_assignment",
String.format("开发提交时间由%s调整为%s", DateUtils.format10YMD(one.getCreateTime()), DateUtils.format10YMD(time)),
id
);
return true;
});
});
}
//private void brushSimpleVideoData_2() throws Exception {
// File file = new File("2025-06-30_vkai_2025老产品补拍简易视频进度.xlsx");
// ExcelUtil<SkuSiteDTO> util = new ExcelUtil<SkuSiteDTO>(SkuSiteDTO.class);
// List<SkuSiteDTO> list = util.importExcel("指定人员", Files.newInputStream(file.toPath()));
// photoProgressService.brushSimpleVideoDataPeople(list);
// list = util.importExcel("前台有视频的 刷成简易视频不需要处理", Files.newInputStream(file.toPath()));
// photoProgressService.brushSimpleVideoDataStatus(list);
//}
//private void exportAPlusPublishData() throws Exception {
// List<PublishInfoVo> publishInfoVos = aPlusProductService.exportAPlusPublishData();
// ExcelUtil<PublishInfoVo> util = new ExcelUtil<>(PublishInfoVo.class);
......
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