Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
spring-simple-operation
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
guokunkun
spring-simple-operation
Commits
4e786380
Commit
4e786380
authored
Oct 15, 2025
by
kk
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
18749-视觉导数据+刷数据
parent
975f2fff
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
386 additions
and
34 deletions
+386
-34
VisualAPlusPlanController.java
...imple_operation/controller/VisualAPlusPlanController.java
+20
-0
VisualAPlusPlan.java
...cn/kk/spring_simple_operation/entity/VisualAPlusPlan.java
+178
-0
APlusProductMapper.java
...kk/spring_simple_operation/mapper/APlusProductMapper.java
+2
-0
VisualAPlusPlanMapper.java
...spring_simple_operation/mapper/VisualAPlusPlanMapper.java
+18
-0
APlusPlanNoHandlerVo.java
...pring_simple_operation/model/vo/APlusPlanNoHandlerVo.java
+21
-0
APlusProductService.java
.../spring_simple_operation/service/APlusProductService.java
+3
-0
VisualAPlusPlanService.java
...ring_simple_operation/service/VisualAPlusPlanService.java
+16
-0
APlusProductServiceImpl.java
...imple_operation/service/impl/APlusProductServiceImpl.java
+45
-0
VisualAPlusPlanServiceImpl.java
...le_operation/service/impl/VisualAPlusPlanServiceImpl.java
+20
-0
APlusProductMapper.xml
src/main/resources/mapper/APlusProductMapper.xml
+12
-0
VisualAPlusPlanMapper.xml
src/main/resources/mapper/VisualAPlusPlanMapper.xml
+5
-0
ApplicationTest.java
...t/java/cn/kk/spring_simple_operation/ApplicationTest.java
+46
-34
No files found.
src/main/java/cn/kk/spring_simple_operation/controller/VisualAPlusPlanController.java
0 → 100644
View file @
4e786380
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-10-15
*/
@RestController
@RequestMapping
(
"/spring_simple_operation/visual-aplus-plan"
)
public
class
VisualAPlusPlanController
{
}
src/main/java/cn/kk/spring_simple_operation/entity/VisualAPlusPlan.java
0 → 100644
View file @
4e786380
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
java.math.BigDecimal
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Getter
;
import
lombok.Setter
;
import
lombok.experimental.Accessors
;
/**
* <p>
* 视觉设计协同系统-A+策划
* </p>
*
* @author guokunkun
* @since 2025-10-15
*/
@Getter
@Setter
@Accessors
(
chain
=
true
)
@TableName
(
"visual_a_plus_plan"
)
@ApiModel
(
value
=
"VisualAPlusPlan对象"
,
description
=
"视觉设计协同系统-A+策划"
)
public
class
VisualAPlusPlan
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"id"
)
@TableId
(
"id"
)
private
Long
id
;
@ApiModelProperty
(
"标题"
)
@TableField
(
"title"
)
private
String
title
;
@ApiModelProperty
(
"执行者"
)
@TableField
(
"executor_name"
)
private
String
executorName
;
@ApiModelProperty
(
"执行者编号"
)
@TableField
(
"executor_number"
)
private
String
executorNumber
;
@ApiModelProperty
(
"样品到货时间"
)
@TableField
(
"sample_delivery_time"
)
private
Integer
sampleDeliveryTime
;
@ApiModelProperty
(
"是否到样品,0-否,1-是"
)
@TableField
(
"is_have_sample"
)
private
Integer
isHaveSample
;
@ApiModelProperty
(
"是否需要摄影,0-否,1-是,2-P图"
)
@TableField
(
"is_need_photographer"
)
private
Integer
isNeedPhotographer
;
@ApiModelProperty
(
"是否有后台文案,0-否,1-是"
)
@TableField
(
"is_backstage_copywriting"
)
private
Integer
isBackstageCopywriting
;
@ApiModelProperty
(
"状态,0-未完成,1-进行中,2-完成,3-不需要处理"
)
@TableField
(
"`status`"
)
private
Integer
status
;
@ApiModelProperty
(
"状态为不需要处理时的原因:1-过季,2-断货无样品,3-开发要求不做,4-其他原因"
)
@TableField
(
"no_handle_reason"
)
private
Integer
noHandleReason
;
@ApiModelProperty
(
"产品id(待确定是否去除,暂时无值)"
)
@TableField
(
"product_id"
)
private
Long
productId
;
@ApiModelProperty
(
"sku"
)
@TableField
(
"sku"
)
private
String
sku
;
@ApiModelProperty
(
"首个发起申请的sku"
)
@TableField
(
"apply_sku"
)
private
String
applySku
;
@ApiModelProperty
(
"备注"
)
@TableField
(
"remark"
)
private
String
remark
;
@ApiModelProperty
(
"优先级"
)
@TableField
(
"priority"
)
private
String
priority
;
@ApiModelProperty
(
"标签id(visual_design_tag的id)"
)
@TableField
(
"vdt_id"
)
private
Long
vdtId
;
@ApiModelProperty
(
"风险检测"
)
@TableField
(
"risk_check_area"
)
private
String
riskCheckArea
;
@ApiModelProperty
(
"风险检测状态,0-否,1-是[对应inv的is_submit]"
)
@TableField
(
"risk_check_status"
)
private
Integer
riskCheckStatus
;
@ApiModelProperty
(
"文件url"
)
@TableField
(
"file_url"
)
private
String
fileUrl
;
@ApiModelProperty
(
"添加地区"
)
@TableField
(
"add_region"
)
private
String
addRegion
;
@ApiModelProperty
(
"是否为精品产品,0-否,1-是"
)
@TableField
(
"is_boutique_product"
)
private
Integer
isBoutiqueProduct
;
@ApiModelProperty
(
"数据来源,0-默认,1-A+,2-A+品牌故事"
)
@TableField
(
"data_source"
)
private
Integer
dataSource
;
@ApiModelProperty
(
"创建人id"
)
@TableField
(
"create_id"
)
private
Integer
createId
;
@ApiModelProperty
(
"创建人"
)
@TableField
(
"create_name"
)
private
String
createName
;
@ApiModelProperty
(
"创建时间"
)
@TableField
(
"create_time"
)
private
Integer
createTime
;
@ApiModelProperty
(
"是否删除,0-否,1-是"
)
@TableField
(
"is_delete"
)
@TableLogic
private
Integer
isDelete
;
@ApiModelProperty
(
"策划完成时间"
)
@TableField
(
"finish_time"
)
private
Integer
finishTime
;
@ApiModelProperty
(
"是否需要翻译"
)
@TableField
(
"is_translate"
)
private
Integer
isTranslate
;
@ApiModelProperty
(
"翻译语种"
)
@TableField
(
"languages"
)
private
String
languages
;
@ApiModelProperty
(
"样品状态:1-正,2-次"
)
@TableField
(
"sample_status"
)
private
Integer
sampleStatus
;
@ApiModelProperty
(
"样品备注"
)
@TableField
(
"sample_status_remark"
)
private
String
sampleStatusRemark
;
@ApiModelProperty
(
"样品全部到货时间"
)
@TableField
(
"sample_arrive_time"
)
private
Integer
sampleArriveTime
;
@ApiModelProperty
(
"权重"
)
@TableField
(
"weight"
)
private
BigDecimal
weight
;
@ApiModelProperty
(
"是否走流程,0-否,1-是"
)
@TableField
(
"follow_the_process"
)
private
Integer
followTheProcess
;
@ApiModelProperty
(
"图片协同表的id"
)
@TableField
(
"photo_progress_id"
)
private
Long
photoProgressId
;
@ApiModelProperty
(
"其他原因备注"
)
@TableField
(
"no_handle_other_reason_remark"
)
private
String
noHandleOtherReasonRemark
;
}
src/main/java/cn/kk/spring_simple_operation/mapper/APlusProductMapper.java
View file @
4e786380
...
@@ -24,4 +24,6 @@ public interface APlusProductMapper extends BaseMapper<APlusProduct> {
...
@@ -24,4 +24,6 @@ public interface APlusProductMapper extends BaseMapper<APlusProduct> {
List
<
String
>
getRelatedProduct
(
@Param
(
"list"
)
List
<
String
>
skuList
);
List
<
String
>
getRelatedProduct
(
@Param
(
"list"
)
List
<
String
>
skuList
);
List
<
PublishInfoVo
>
getPublishInfoByIds
(
@Param
(
"idList"
)
List
<
Long
>
idList
);
List
<
PublishInfoVo
>
getPublishInfoByIds
(
@Param
(
"idList"
)
List
<
Long
>
idList
);
String
getSolarName
(
@Param
(
"skuList"
)
List
<
String
>
skuList
);
}
}
src/main/java/cn/kk/spring_simple_operation/mapper/VisualAPlusPlanMapper.java
0 → 100644
View file @
4e786380
package
cn
.
kk
.
spring_simple_operation
.
mapper
;
import
cn.kk.spring_simple_operation.entity.VisualAPlusPlan
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Mapper
;
/**
* <p>
* 视觉设计协同系统-A+策划 Mapper 接口
* </p>
*
* @author guokunkun
* @since 2025-10-15
*/
@Mapper
public
interface
VisualAPlusPlanMapper
extends
BaseMapper
<
VisualAPlusPlan
>
{
}
src/main/java/cn/kk/spring_simple_operation/model/vo/APlusPlanNoHandlerVo.java
0 → 100644
View file @
4e786380
package
cn
.
kk
.
spring_simple_operation
.
model
.
vo
;
import
cn.kk.spring_simple_operation.utils.Excel
;
import
lombok.Data
;
/**
* @author kk
* @date 2025/10/15
*/
@Data
public
class
APlusPlanNoHandlerVo
{
@Excel
(
name
=
"id"
)
private
String
id
;
@Excel
(
name
=
"SKU"
)
private
String
sku
;
@Excel
(
name
=
"节气"
)
private
String
solarName
;
}
src/main/java/cn/kk/spring_simple_operation/service/APlusProductService.java
View file @
4e786380
...
@@ -2,6 +2,7 @@ package cn.kk.spring_simple_operation.service;
...
@@ -2,6 +2,7 @@ package cn.kk.spring_simple_operation.service;
import
cn.kk.spring_simple_operation.entity.APlusProduct
;
import
cn.kk.spring_simple_operation.entity.APlusProduct
;
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.APlusPlanNoHandlerVo
;
import
cn.kk.spring_simple_operation.model.vo.PublishInfoVo
;
import
cn.kk.spring_simple_operation.model.vo.PublishInfoVo
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
@@ -22,4 +23,6 @@ public interface APlusProductService extends IService<APlusProduct> {
...
@@ -22,4 +23,6 @@ public interface APlusProductService extends IService<APlusProduct> {
void
setAPlusProductUploadInfo
(
List
<
SkuPeopleNameDto
>
list
);
void
setAPlusProductUploadInfo
(
List
<
SkuPeopleNameDto
>
list
);
List
<
PublishInfoVo
>
exportAPlusPublishData
();
List
<
PublishInfoVo
>
exportAPlusPublishData
();
List
<
APlusPlanNoHandlerVo
>
exportAPlusPlanNoHandlerData
();
}
}
src/main/java/cn/kk/spring_simple_operation/service/VisualAPlusPlanService.java
0 → 100644
View file @
4e786380
package
cn
.
kk
.
spring_simple_operation
.
service
;
import
cn.kk.spring_simple_operation.entity.VisualAPlusPlan
;
import
com.baomidou.mybatisplus.extension.service.IService
;
/**
* <p>
* 视觉设计协同系统-A+策划 服务类
* </p>
*
* @author guokunkun
* @since 2025-10-15
*/
public
interface
VisualAPlusPlanService
extends
IService
<
VisualAPlusPlan
>
{
}
src/main/java/cn/kk/spring_simple_operation/service/impl/APlusProductServiceImpl.java
View file @
4e786380
...
@@ -2,14 +2,18 @@ package cn.kk.spring_simple_operation.service.impl;
...
@@ -2,14 +2,18 @@ package cn.kk.spring_simple_operation.service.impl;
import
cn.kk.spring_simple_operation.entity.APlusProduct
;
import
cn.kk.spring_simple_operation.entity.APlusProduct
;
import
cn.kk.spring_simple_operation.entity.SyncProductPublish
;
import
cn.kk.spring_simple_operation.entity.SyncProductPublish
;
import
cn.kk.spring_simple_operation.entity.VisualAPlusPlan
;
import
cn.kk.spring_simple_operation.entity.VisualDesigner
;
import
cn.kk.spring_simple_operation.entity.VisualDesigner
;
import
cn.kk.spring_simple_operation.mapper.APlusProductMapper
;
import
cn.kk.spring_simple_operation.mapper.APlusProductMapper
;
import
cn.kk.spring_simple_operation.mapper.SyncProductPublishMapper
;
import
cn.kk.spring_simple_operation.mapper.SyncProductPublishMapper
;
import
cn.kk.spring_simple_operation.mapper.VisualDesignerMapper
;
import
cn.kk.spring_simple_operation.mapper.VisualDesignerMapper
;
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.APlusPlanNoHandlerVo
;
import
cn.kk.spring_simple_operation.model.vo.PublishInfoVo
;
import
cn.kk.spring_simple_operation.model.vo.PublishInfoVo
;
import
cn.kk.spring_simple_operation.service.APlusProductService
;
import
cn.kk.spring_simple_operation.service.APlusProductService
;
import
cn.kk.spring_simple_operation.service.VisualAPlusPlanService
;
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
cn.kk.spring_simple_operation.utils.DateUtils
;
import
cn.kk.spring_simple_operation.utils.DateUtils
;
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
;
...
@@ -21,6 +25,7 @@ import org.springframework.util.StringUtils;
...
@@ -21,6 +25,7 @@ import org.springframework.util.StringUtils;
import
javax.annotation.Resource
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.*
;
import
java.util.concurrent.CopyOnWriteArrayList
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
/**
/**
...
@@ -44,6 +49,46 @@ public class APlusProductServiceImpl extends ServiceImpl<APlusProductMapper, APl
...
@@ -44,6 +49,46 @@ public class APlusProductServiceImpl extends ServiceImpl<APlusProductMapper, APl
@Resource
@Resource
private
VisualDesignerMapper
visualDesignerMapper
;
private
VisualDesignerMapper
visualDesignerMapper
;
@Resource
private
VisualAPlusPlanService
visualAPlusPlanService
;
@Override
public
List
<
APlusPlanNoHandlerVo
>
exportAPlusPlanNoHandlerData
()
{
List
<
VisualAPlusPlan
>
list
=
visualAPlusPlanService
.
list
(
Wrappers
.<
VisualAPlusPlan
>
lambdaQuery
()
.
eq
(
VisualAPlusPlan:
:
getStatus
,
3
)
.
eq
(
VisualAPlusPlan:
:
getNoHandleReason
,
1
)
.
in
(
VisualAPlusPlan:
:
getExecutorNumber
,
""
,
"is_delete"
)
);
if
(
CollectionUtils
.
isEmpty
(
list
))
{
throw
new
RuntimeException
(
"无数据!"
);
}
Integer
startTime
=
DateUtils
.
getCurrentTimeSecond
();
List
<
APlusPlanNoHandlerVo
>
exportList
=
new
LinkedList
<>();
CopyOnWriteArrayList
<
VisualAPlusPlan
>
myList
=
new
CopyOnWriteArrayList
<>(
list
);
myList
.
forEach
(
t
->
{
HashSet
<
String
>
relationSkuSet
=
new
HashSet
<>(
getRelatedProduct
(
CommonUtils
.
singletonList
(
t
.
getSku
())));
List
<
VisualAPlusPlan
>
collect
=
myList
.
stream
().
filter
(
s
->
relationSkuSet
.
contains
(
s
.
getSku
())).
collect
(
Collectors
.
toList
());
if
(
collect
.
size
()
<=
1
)
{
// 就一个,放过
myList
.
remove
(
t
);
return
;
}
APlusPlanNoHandlerVo
vo
=
new
APlusPlanNoHandlerVo
();
vo
.
setId
(
collect
.
stream
().
map
(
id
->
String
.
valueOf
(
id
.
getId
())).
collect
(
Collectors
.
joining
(
","
)));
List
<
String
>
skuList
=
collect
.
stream
().
map
(
VisualAPlusPlan:
:
getSku
).
collect
(
Collectors
.
toList
());
vo
.
setSku
(
String
.
join
(
","
,
skuList
));
vo
.
setSolarName
(
baseMapper
.
getSolarName
(
skuList
));
exportList
.
add
(
vo
);
myList
.
removeAll
(
collect
);
});
Integer
endTime
=
DateUtils
.
getCurrentTimeSecond
();
log
.
info
(
"exportAPlusPlanNoHandlerData 耗时:{} 分钟"
,
(
endTime
-
startTime
)
/
60
);
return
exportList
;
}
@Override
@Override
public
List
<
String
>
getRelatedProduct
(
List
<
String
>
list
)
{
public
List
<
String
>
getRelatedProduct
(
List
<
String
>
list
)
{
if
(
Objects
.
isNull
(
list
))
{
if
(
Objects
.
isNull
(
list
))
{
...
...
src/main/java/cn/kk/spring_simple_operation/service/impl/VisualAPlusPlanServiceImpl.java
0 → 100644
View file @
4e786380
package
cn
.
kk
.
spring_simple_operation
.
service
.
impl
;
import
cn.kk.spring_simple_operation.entity.VisualAPlusPlan
;
import
cn.kk.spring_simple_operation.mapper.VisualAPlusPlanMapper
;
import
cn.kk.spring_simple_operation.service.VisualAPlusPlanService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
org.springframework.stereotype.Service
;
/**
* <p>
* 视觉设计协同系统-A+策划 服务实现类
* </p>
*
* @author guokunkun
* @since 2025-10-15
*/
@Service
public
class
VisualAPlusPlanServiceImpl
extends
ServiceImpl
<
VisualAPlusPlanMapper
,
VisualAPlusPlan
>
implements
VisualAPlusPlanService
{
}
src/main/resources/mapper/APlusProductMapper.xml
View file @
4e786380
...
@@ -67,4 +67,16 @@
...
@@ -67,4 +67,16 @@
group by app.id
group by app.id
order by app.sku
order by app.sku
</select>
</select>
<select
id=
"getSolarName"
resultType=
"java.lang.String"
>
SELECT
GROUP_CONCAT( DISTINCT ssit.solar_term_name ) solar
FROM
sync_product_audit spa
INNER JOIN sync_solar_term_info ssit ON ssit.solar_term_id = spa.solar_term
WHERE
sku IN
<foreach
collection=
"skuList"
open=
"("
item=
"sku"
separator=
","
close=
")"
>
#{sku}
</foreach>
</select>
</mapper>
</mapper>
src/main/resources/mapper/VisualAPlusPlanMapper.xml
0 → 100644
View file @
4e786380
<?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.VisualAPlusPlanMapper"
>
</mapper>
src/test/java/cn/kk/spring_simple_operation/ApplicationTest.java
View file @
4e786380
...
@@ -6,6 +6,7 @@ import cn.kk.spring_simple_operation.mapper.PhotoProgressMapper;
...
@@ -6,6 +6,7 @@ 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.dto.SkuSiteDTO
;
import
cn.kk.spring_simple_operation.model.dto.SkuSiteDTO
;
import
cn.kk.spring_simple_operation.model.vo.APlusPlanNoHandlerVo
;
import
cn.kk.spring_simple_operation.model.vo.PhotoSkuInfo
;
import
cn.kk.spring_simple_operation.model.vo.PhotoSkuInfo
;
import
cn.kk.spring_simple_operation.model.vo.PublishInfoVo
;
import
cn.kk.spring_simple_operation.model.vo.PublishInfoVo
;
import
cn.kk.spring_simple_operation.service.*
;
import
cn.kk.spring_simple_operation.service.*
;
...
@@ -61,6 +62,7 @@ public class ApplicationTest {
...
@@ -61,6 +62,7 @@ public class ApplicationTest {
@Resource
@Resource
private
TransactionTemplate
transactionTemplate
;
private
TransactionTemplate
transactionTemplate
;
@Test
@Test
void
contextLoads
()
throws
Exception
{
void
contextLoads
()
throws
Exception
{
//visualPhotographerAPlusService.brushDataForExecutor();
//visualPhotographerAPlusService.brushDataForExecutor();
...
@@ -81,44 +83,54 @@ public class ApplicationTest {
...
@@ -81,44 +83,54 @@ public class ApplicationTest {
//brushSimpleVideoData_2();
//brushSimpleVideoData_2();
brushYf2PlaneDesignAssignmentTime
();
//brushYf2PlaneDesignAssignmentTime();
exportAPlusPlanNoHandlerData
();
}
}
private
void
brushYf2PlaneDesignAssignmentTime
()
throws
Exception
{
private
void
exportAPlusPlanNoHandlerData
()
throws
Exception
{
File
file
=
new
File
(
"2025-10-13_v6tg_研发二部B组-修图安排.xlsx"
);
List
<
APlusPlanNoHandlerVo
>
list
=
aPlusProductService
.
exportAPlusPlanNoHandlerData
();
ExcelUtil
<
SkuSiteDTO
>
util
=
new
ExcelUtil
<
SkuSiteDTO
>(
SkuSiteDTO
.
class
);
ExcelUtil
<
APlusPlanNoHandlerVo
>
util
=
new
ExcelUtil
<>(
APlusPlanNoHandlerVo
.
class
);
List
<
SkuSiteDTO
>
list
=
util
.
importExcel
(
"研发二部"
,
Files
.
newInputStream
(
file
.
toPath
()));
util
.
exportExcelFile
(
list
,
"18749-视觉导数据+刷数据.xlsx"
);
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
,
VisualDeveloperPlaneDesignAssignment:
:
getSku
));
if
(
Objects
.
isNull
(
one
))
return
;
Optional
<
Integer
>
first
=
skuList
.
stream
().
map
(
t
->
skuMap
.
get
(
t
.
getSku
())).
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 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()));
// 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, VisualDeveloperPlaneDesignAssignment::getSku));
// if (Objects.isNull(one)) return;
// Optional<Integer> first = skuList.stream().map(t -> skuMap.get(t.getSku())).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 {
//private void brushSimpleVideoData_2() throws Exception {
// File file = new File("2025-06-30_vkai_2025老产品补拍简易视频进度.xlsx");
// File file = new File("2025-06-30_vkai_2025老产品补拍简易视频进度.xlsx");
// ExcelUtil<SkuSiteDTO> util = new ExcelUtil<SkuSiteDTO>(SkuSiteDTO.class);
// ExcelUtil<SkuSiteDTO> util = new ExcelUtil<SkuSiteDTO>(SkuSiteDTO.class);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment