Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
promotion-service
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
promotion
promotion-service
Commits
52f4601b
提交
52f4601b
authored
11月 14, 2025
作者:
吕本才
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(promotion):新增随机任务打卡照片上传校验,调整模板任务名称
上级
bf10ba45
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
40 行增加
和
11 行删除
+40
-11
TemporaryActivityCoreController.java
...r/activity/temporary/TemporaryActivityCoreController.java
+10
-3
TemporaryActivityPhotoDao.java
...motion/domain/activity/dao/TemporaryActivityPhotoDao.java
+1
-1
TemporaryActivityPhotoDaoImpl.java
...main/activity/dao/impl/TemporaryActivityPhotoDaoImpl.java
+5
-4
TemporaryActivityReportedDto.java
.../activity/temporary/dto/TemporaryActivityReportedDto.java
+4
-0
TemporaryActivityQueryServiceImpl.java
...ity/temporary/impl/TemporaryActivityQueryServiceImpl.java
+19
-1
ActivityStautsHandler.java
...angxiaolu/promotion/xxljobtask/ActivityStautsHandler.java
+1
-2
没有找到文件。
src/main/java/com/wangxiaolu/promotion/controller/activity/temporary/TemporaryActivityCoreController.java
浏览文件 @
52f4601b
package
com
.
wangxiaolu
.
promotion
.
controller
.
activity
.
temporary
;
import
com.wangxiaolu.promotion.common.enums.FlagType
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper
;
import
com.wangxiaolu.promotion.enums.activity.TemActApproveStatus
;
import
com.wangxiaolu.promotion.exception.DataException
;
import
com.wangxiaolu.promotion.exception.ParamException
;
...
...
@@ -131,13 +133,18 @@ public class TemporaryActivityCoreController {
return
R
.
success
();
}
if
(
CollectionUtils
.
isEmpty
(
activityReportedDto
.
getTgscPhotoInfos
())
||
activityReportedDto
.
getTgscPhotoInfos
().
size
()
<
3
){
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
()
<
3
){
}
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
()
<
3
){
}
else
if
(
CollectionUtils
.
isEmpty
(
activityReportedDto
.
getTgcjPhotoInfos
())
||
activityReportedDto
.
getTgcjPhotoInfos
().
size
()
<
2
){
throw
new
DataException
(
RCode
.
NOT_TGCJ_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/domain/activity/dao/TemporaryActivityPhotoDao.java
浏览文件 @
52f4601b
...
...
@@ -43,7 +43,7 @@ public interface TemporaryActivityPhotoDao {
void
saveClockTaskPhoto
(
TemporaryActivityPhotoDto
dto
,
List
<
String
>
clockPhtos
);
List
<
TemporaryActivityPhotoDto
>
selectPhotos
(
TemporaryPhotoWrapper
clockId
);
List
<
TemporaryActivityPhotoDto
>
selectPhotos
(
TemporaryPhotoWrapper
temporaryPhotoWrapper
);
void
deleteListByClockId
(
Long
clockId
,
Integer
taskType
);
}
src/main/java/com/wangxiaolu/promotion/domain/activity/dao/impl/TemporaryActivityPhotoDaoImpl.java
浏览文件 @
52f4601b
...
...
@@ -147,12 +147,13 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
}
@Override
public
List
<
TemporaryActivityPhotoDto
>
selectPhotos
(
TemporaryPhotoWrapper
wrapperDto
)
{
public
List
<
TemporaryActivityPhotoDto
>
selectPhotos
(
TemporaryPhotoWrapper
temporaryPhotoWrapper
)
{
// 根据关联的上班打卡任务,查询图片信息
LambdaQueryWrapper
<
TemporaryActivityPhotoDO
>
wrapper
=
new
LambdaQueryWrapper
<
TemporaryActivityPhotoDO
>()
.
eq
(
ObjectUtil
.
isNotEmpty
(
wrapperDto
.
getClockId
()),
TemporaryActivityPhotoDO:
:
getClockId
,
wrapperDto
.
getClockId
())
.
eq
(
ObjectUtil
.
isNotEmpty
(
wrapperDto
.
getReportedId
()),
TemporaryActivityPhotoDO:
:
getReportedId
,
wrapperDto
.
getReportedId
())
.
eq
(
ObjectUtil
.
isNotEmpty
(
wrapperDto
.
getTemporaryId
()),
TemporaryActivityPhotoDO:
:
getTemporaryId
,
wrapperDto
.
getTemporaryId
())
.
eq
(
ObjectUtil
.
isNotEmpty
(
temporaryPhotoWrapper
.
getClockId
()),
TemporaryActivityPhotoDO:
:
getClockId
,
temporaryPhotoWrapper
.
getClockId
())
.
eq
(
ObjectUtil
.
isNotEmpty
(
temporaryPhotoWrapper
.
getReportedId
()),
TemporaryActivityPhotoDO:
:
getReportedId
,
temporaryPhotoWrapper
.
getReportedId
())
.
eq
(
ObjectUtil
.
isNotEmpty
(
temporaryPhotoWrapper
.
getTemporaryId
()),
TemporaryActivityPhotoDO:
:
getTemporaryId
,
temporaryPhotoWrapper
.
getTemporaryId
())
.
eq
(
ObjectUtil
.
isNotEmpty
(
temporaryPhotoWrapper
.
getType
()),
TemporaryActivityPhotoDO:
:
getType
,
temporaryPhotoWrapper
.
getType
())
.
eq
(
TemporaryActivityPhotoDO:
:
getIsDelete
,
StatusType
.
VALID
.
getType
());
List
<
TemporaryActivityPhotoDO
>
dos
=
temporaryActivityPhotoMapper
.
selectList
(
wrapper
);
List
<
TemporaryActivityPhotoDto
>
photoDtos
=
transitionDtos
(
dos
);
...
...
src/main/java/com/wangxiaolu/promotion/pojo/activity/temporary/dto/TemporaryActivityReportedDto.java
浏览文件 @
52f4601b
...
...
@@ -149,6 +149,10 @@ public class TemporaryActivityReportedDto {
private
List
<
TemporaryActivityPhotoDto
>
psvPhotoInfos
;
private
List
<
String
>
psvChangePhotoUrls
;
private
List
<
TemporaryActivityPhotoDto
>
randTaskClockPhotoUrls
;
/**
* 创建时间
*/
...
...
src/main/java/com/wangxiaolu/promotion/service/activity/temporary/impl/TemporaryActivityQueryServiceImpl.java
浏览文件 @
52f4601b
...
...
@@ -9,14 +9,19 @@ import com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityMarketCellD
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityPhotoDao
;
import
com.wangxiaolu.promotion.domain.activity.dao.TemporaryActivityReportedDao
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryActivityWrapper
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryMarketCellWrapper
;
import
com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryPhotoWrapper
;
import
com.wangxiaolu.promotion.enums.activity.ActivityPhotoType
;
import
com.wangxiaolu.promotion.pojo.PageInfo
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityMarketCellDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityPhotoDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto
;
import
com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService
;
import
com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityQueryService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.poi.ss.formula.functions.T
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
...
...
@@ -42,7 +47,8 @@ public class TemporaryActivityQueryServiceImpl implements TemporaryActivityQuery
TemporaryActivityPhotoDao
temporaryActivityPhotoDao
;
@Autowired
TemporaryActivityMarketCellDao
temporaryActivityMarketCellDao
;
@Autowired
TemporaryActivityClockQueryService
temporaryActivityClockQueryService
;
/**
* 根据促销员id查询所有任务
*/
...
...
@@ -69,6 +75,18 @@ public class TemporaryActivityQueryServiceImpl implements TemporaryActivityQuery
public
TemporaryActivityReportedDto
findTemporaryActivityById
(
Long
activityId
)
{
TemporaryActivityReportedDto
dto
=
temporaryActivityReportedDao
.
findOneById
(
activityId
);
findActivityReportedPhotoInfo
(
dto
);
// 验证随机任务照片数量 上周提到每天下午5:30~7:30的随机拍照一次的任务(客流量大的时候要保证促销员在售卖位置)
TemporaryClockWrapper
wer
=
new
TemporaryClockWrapper
();
wer
.
setTemporaryId
(
dto
.
getTemporaryId
())
.
setReportedId
(
activityId
);
TemporaryClockDto
clockInfo
=
temporaryActivityClockQueryService
.
findClockInfo
(
wer
);
// 设置 随机任务照片
TemporaryPhotoWrapper
wrapper
=
new
TemporaryPhotoWrapper
();
wrapper
.
setTemporaryId
(
dto
.
getTemporaryId
())
.
setClockId
(
clockInfo
.
getId
())
.
setType
(
ActivityPhotoType
.
RANDOM_TASK
.
getType
()
);
List
<
TemporaryActivityPhotoDto
>
temporaryActivityPhotoDtos
=
temporaryActivityPhotoDao
.
selectPhotos
(
wrapper
);
dto
.
setRandTaskClockPhotoUrls
(
temporaryActivityPhotoDtos
);
return
dto
;
}
...
...
src/main/java/com/wangxiaolu/promotion/xxljobtask/ActivityStautsHandler.java
浏览文件 @
52f4601b
...
...
@@ -99,7 +99,7 @@ public class ActivityStautsHandler {
// 模板中的字段2 截止时间
data
.
put
(
"time3"
,
DateUtil
.
format
(
requiredlockTime
,
"yyyy-MM-dd HH:mm"
));
// 模板中的字段3 任务名称
data
.
put
(
"thing1"
,
"
销售金额需完成任务
"
);
data
.
put
(
"thing1"
,
"
请拍摄清晰的任务照片
"
);
// 模板中的字段4 温馨提示
data
.
put
(
"thing4"
,
"请在15分钟内完成任务"
);
...
...
@@ -126,7 +126,6 @@ public class ActivityStautsHandler {
// 修改状态 待开始 -> 进行中
taskClockDO
.
setSubscribeStatus
(
ActivityClockTaskStatus
.
STARTING
.
getType
());
taskClockService
.
updateById
(
taskClockDO
);
}
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论