Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
promotion-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
promotion-service
Commits
e0324bc3
提交
e0324bc3
authored
11月 17, 2025
作者:
吕本才
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(activity): 增加 POS 照片任务校验逻辑
- 未开始的 任务超时后,变成未完成
上级
b9602754
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
41 行增加
和
16 行删除
+41
-16
TemporaryActivityCoreController.java
...r/activity/temporary/TemporaryActivityCoreController.java
+19
-15
TemporaryActivityReportedDto.java
.../activity/temporary/dto/TemporaryActivityReportedDto.java
+1
-0
TemporaryActivityTaskClockRes.java
...activity/temporary/res/TemporaryActivityTaskClockRes.java
+1
-0
TemporaryActivityQueryServiceImpl.java
...ity/temporary/impl/TemporaryActivityQueryServiceImpl.java
+8
-0
ActivityStautsHandler.java
...angxiaolu/promotion/xxljobtask/ActivityStautsHandler.java
+12
-1
没有找到文件。
src/main/java/com/wangxiaolu/promotion/controller/activity/temporary/TemporaryActivityCoreController.java
浏览文件 @
e0324bc3
...
...
@@ -123,27 +123,31 @@ public class TemporaryActivityCoreController {
/**
* 促销员[今日活动]数据提交审批
* 修改审批状态
* 增加任务校验2025年11月17日16:01:47
*/
@PutMapping
(
"/reported/approve/submit/{id}"
)
public
R
activityReportedSubmit
(
@PathVariable
(
"id"
)
Long
id
)
{
TemporaryActivityReportedDto
activityReportedDto
=
temporaryActivityQueryService
.
findTemporaryActivityById
(
id
);
if
(
activityReportedDto
.
getApproveStatus
().
equals
(
TemActApproveStatus
.
APPROVED
)){
return
R
.
success
();
}
Boolean
posFlag
=
CollectionUtils
.
isEmpty
(
activityReportedDto
.
getPosTaskClockPhotoUrls
())||
activityReportedDto
.
getPosTaskClockPhotoUrls
().
size
()
<
1
;
if
(
CollectionUtils
.
isEmpty
(
activityReportedDto
.
getTgscPhotoInfos
())
||
activityReportedDto
.
getTgscPhotoInfos
().
size
()
<
2
){
throw
new
DataException
(
RCode
.
NOT_TGSH_PHOTO_ERROR
);
}
else
if
(
CollectionUtils
.
isEmpty
(
activityReportedDto
.
getTghdPhotoInfos
())
||
activityReportedDto
.
getTghdPhotoInfos
().
size
()
<
2
){
throw
new
DataException
(
RCode
.
NOT_TGHD_PHOTO_ERROR
);
}
else
if
(
CollectionUtils
.
isEmpty
(
activityReportedDto
.
getTgcjPhotoInfos
())
||
activityReportedDto
.
getTgcjPhotoInfos
().
size
()
<
2
){
throw
new
DataException
(
RCode
.
NOT_TGCJ_PHOTO_ERROR
);
if
(
activityReportedDto
.
getApproveStatus
().
equals
(
TemActApproveStatus
.
APPROVED
)
){
if
(
posFlag
)
{
return
R
.
fail
(
RCode
.
NOT_POS_TASK_PHOTO_ERROR
);
}
return
R
.
success
();
}
else
{
if
(
CollectionUtils
.
isEmpty
(
activityReportedDto
.
getTgscPhotoInfos
())
||
activityReportedDto
.
getTgscPhotoInfos
().
size
()
<
2
){
throw
new
DataException
(
RCode
.
NOT_TGSH_PHOTO_ERROR
);
}
else
if
(
CollectionUtils
.
isEmpty
(
activityReportedDto
.
getTghdPhotoInfos
())
||
activityReportedDto
.
getTghdPhotoInfos
().
size
()
<
2
){
throw
new
DataException
(
RCode
.
NOT_TGHD_PHOTO_ERROR
);
}
else
if
(
CollectionUtils
.
isEmpty
(
activityReportedDto
.
getTgcjPhotoInfos
())
||
activityReportedDto
.
getTgcjPhotoInfos
().
size
()
<
2
){
throw
new
DataException
(
RCode
.
NOT_TGCJ_PHOTO_ERROR
);
}
tempActivityCoreService
.
activityReportedSubmit
(
id
);
if
(
posFlag
)
{
return
R
.
fail
(
RCode
.
NOT_POS_TASK_PHOTO_ERROR
);
}
}
// if(CollectionUtils.isEmpty(activityReportedDto.getRandTaskClockPhotoUrls())|| activityReportedDto.getRandTaskClockPhotoUrls().size() < 1){
// throw new DataException(RCode.NOT_RAND_PHOTO_ERROR);
// }
tempActivityCoreService
.
activityReportedSubmit
(
id
);
return
R
.
success
();
}
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/dto/TemporaryActivityReportedDto.java
浏览文件 @
e0324bc3
...
...
@@ -153,6 +153,7 @@ public class TemporaryActivityReportedDto {
* 随机任务打卡图片
*/
private
List
<
TemporaryActivityPhotoDto
>
randTaskClockPhotoUrls
;
private
List
<
TemporaryActivityPhotoDto
>
posTaskClockPhotoUrls
;
/**
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/res/TemporaryActivityTaskClockRes.java
浏览文件 @
e0324bc3
...
...
@@ -62,6 +62,7 @@ public class TemporaryActivityTaskClockRes {
private
List
<
String
>
clockPhotos
;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private
Date
requiredlockTime
;
private
Boolean
editableFlag
=
false
;
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityQueryServiceImpl.java
浏览文件 @
e0324bc3
...
...
@@ -87,6 +87,14 @@ public class TemporaryActivityQueryServiceImpl implements TemporaryActivityQuery
.
setType
(
ActivityPhotoType
.
RANDOM_TASK
.
getType
()
);
List
<
TemporaryActivityPhotoDto
>
temporaryActivityPhotoDtos
=
temporaryActivityPhotoDao
.
selectPhotos
(
wrapper
);
dto
.
setRandTaskClockPhotoUrls
(
temporaryActivityPhotoDtos
);
TemporaryPhotoWrapper
posWrapper
=
new
TemporaryPhotoWrapper
();
posWrapper
.
setTemporaryId
(
dto
.
getTemporaryId
())
.
setClockId
(
clockInfo
.
getId
())
.
setType
(
ActivityPhotoType
.
POS_PHOTO
.
getType
()
);
List
<
TemporaryActivityPhotoDto
>
posTaskClockPhotoUrls
=
temporaryActivityPhotoDao
.
selectPhotos
(
posWrapper
);
dto
.
setPosTaskClockPhotoUrls
(
posTaskClockPhotoUrls
);
return
dto
;
}
...
...
src/main/java/com/wangxiaolu/promotion/xxljobtask/ActivityStautsHandler.java
浏览文件 @
e0324bc3
...
...
@@ -66,13 +66,24 @@ public class ActivityStautsHandler {
@XxlJob
(
"sendSubscribeMessage"
)
public
void
sendSubscribeMessage
()
{
DateTime
undoDateTime
=
DateUtil
.
offsetMinute
(
new
Date
(),
-
15
);
// 查询没有做随机任务的, 超过15分钟的,但是状态还是1进行中的 状态改成未完成,表示未拍照做任务
List
<
TemporaryActivityTaskClockDO
>
unstartList
=
taskClockService
.
list
(
new
LambdaQueryWrapper
<
TemporaryActivityTaskClockDO
>()
.
eq
(
TemporaryActivityTaskClockDO:
:
getTaskStatus
,
ActivityClockTaskStatus
.
TO_BE_START
.
getType
())
.
eq
(
TemporaryActivityTaskClockDO:
:
getTaskType
,
ActivityPhotoType
.
RANDOM_TASK
.
getType
())
.
eq
(
TemporaryActivityTaskClockDO:
:
getIsDelete
,
FlagType
.
NO
.
getType
())
// 小于等于
.
le
(
TemporaryActivityTaskClockDO:
:
getRequiredlockTime
,
undoDateTime
));
for
(
TemporaryActivityTaskClockDO
taskClockDO
:
unstartList
){
taskClockDO
.
setIsSendSubscribe
(
FlagType
.
NO
.
getType
());
taskClockDO
.
setTaskStatus
(
ActivityClockTaskStatus
.
UNCOMPLETED
.
getType
());
taskClockService
.
updateById
(
taskClockDO
);
}
// 查询没有做随机任务的, 超过15分钟的,但是状态还是1进行中的 状态改成未完成,表示未拍照做任务
List
<
TemporaryActivityTaskClockDO
>
undoList
=
taskClockService
.
list
(
new
LambdaQueryWrapper
<
TemporaryActivityTaskClockDO
>()
.
eq
(
TemporaryActivityTaskClockDO:
:
getTaskStatus
,
ActivityClockTaskStatus
.
STARTING
.
getType
())
.
eq
(
TemporaryActivityTaskClockDO:
:
getTaskType
,
ActivityPhotoType
.
RANDOM_TASK
.
getType
())
.
eq
(
TemporaryActivityTaskClockDO:
:
getIsDelete
,
FlagType
.
NO
.
getType
())
// .eq(TemporaryActivityTaskClockDO::getIsSendSubscribe, FlagType.NO.getType())
// 小于等于
.
le
(
TemporaryActivityTaskClockDO:
:
getRequiredlockTime
,
undoDateTime
));
for
(
TemporaryActivityTaskClockDO
taskClockDO
:
undoList
){
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论