提交 e0324bc3 authored 作者: 吕本才's avatar 吕本才

feat(activity): 增加 POS 照片任务校验逻辑

- 未开始的 任务超时后,变成未完成
上级 b9602754
...@@ -123,14 +123,19 @@ public class TemporaryActivityCoreController { ...@@ -123,14 +123,19 @@ public class TemporaryActivityCoreController {
/** /**
* 促销员[今日活动]数据提交审批 * 促销员[今日活动]数据提交审批
* 修改审批状态 * 修改审批状态
* 增加任务校验2025年11月17日16:01:47
*/ */
@PutMapping("/reported/approve/submit/{id}") @PutMapping("/reported/approve/submit/{id}")
public R activityReportedSubmit(@PathVariable("id") Long id) { public R activityReportedSubmit(@PathVariable("id") Long id) {
TemporaryActivityReportedDto activityReportedDto = temporaryActivityQueryService.findTemporaryActivityById(id); TemporaryActivityReportedDto activityReportedDto = temporaryActivityQueryService.findTemporaryActivityById(id);
if (activityReportedDto.getApproveStatus().equals(TemActApproveStatus.APPROVED)){ Boolean posFlag = CollectionUtils.isEmpty(activityReportedDto.getPosTaskClockPhotoUrls())|| activityReportedDto.getPosTaskClockPhotoUrls().size() < 1;
return R.success();
}
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){ if (CollectionUtils.isEmpty(activityReportedDto.getTgscPhotoInfos()) || activityReportedDto.getTgscPhotoInfos().size() < 2){
throw new DataException(RCode.NOT_TGSH_PHOTO_ERROR); throw new DataException(RCode.NOT_TGSH_PHOTO_ERROR);
}else if (CollectionUtils.isEmpty(activityReportedDto.getTghdPhotoInfos()) || activityReportedDto.getTghdPhotoInfos().size() < 2){ }else if (CollectionUtils.isEmpty(activityReportedDto.getTghdPhotoInfos()) || activityReportedDto.getTghdPhotoInfos().size() < 2){
...@@ -138,12 +143,11 @@ public class TemporaryActivityCoreController { ...@@ -138,12 +143,11 @@ public class TemporaryActivityCoreController {
}else if (CollectionUtils.isEmpty(activityReportedDto.getTgcjPhotoInfos()) || activityReportedDto.getTgcjPhotoInfos().size() < 2){ }else if (CollectionUtils.isEmpty(activityReportedDto.getTgcjPhotoInfos()) || activityReportedDto.getTgcjPhotoInfos().size() < 2){
throw new DataException(RCode.NOT_TGCJ_PHOTO_ERROR); 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); tempActivityCoreService.activityReportedSubmit(id);
if (posFlag) {
return R.fail(RCode.NOT_POS_TASK_PHOTO_ERROR);
}
}
return R.success(); return R.success();
} }
......
...@@ -153,6 +153,7 @@ public class TemporaryActivityReportedDto { ...@@ -153,6 +153,7 @@ public class TemporaryActivityReportedDto {
* 随机任务打卡图片 * 随机任务打卡图片
*/ */
private List<TemporaryActivityPhotoDto> randTaskClockPhotoUrls; private List<TemporaryActivityPhotoDto> randTaskClockPhotoUrls;
private List<TemporaryActivityPhotoDto> posTaskClockPhotoUrls;
/** /**
......
...@@ -62,6 +62,7 @@ public class TemporaryActivityTaskClockRes { ...@@ -62,6 +62,7 @@ public class TemporaryActivityTaskClockRes {
private List<String> clockPhotos; private List<String> clockPhotos;
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date requiredlockTime; private Date requiredlockTime;
private Boolean editableFlag = false; private Boolean editableFlag = false;
......
...@@ -87,6 +87,14 @@ public class TemporaryActivityQueryServiceImpl implements TemporaryActivityQuery ...@@ -87,6 +87,14 @@ public class TemporaryActivityQueryServiceImpl implements TemporaryActivityQuery
.setType(ActivityPhotoType.RANDOM_TASK.getType() ); .setType(ActivityPhotoType.RANDOM_TASK.getType() );
List<TemporaryActivityPhotoDto> temporaryActivityPhotoDtos = temporaryActivityPhotoDao.selectPhotos(wrapper); List<TemporaryActivityPhotoDto> temporaryActivityPhotoDtos = temporaryActivityPhotoDao.selectPhotos(wrapper);
dto.setRandTaskClockPhotoUrls(temporaryActivityPhotoDtos); 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; return dto;
} }
......
...@@ -66,13 +66,24 @@ public class ActivityStautsHandler { ...@@ -66,13 +66,24 @@ public class ActivityStautsHandler {
@XxlJob("sendSubscribeMessage") @XxlJob("sendSubscribeMessage")
public void sendSubscribeMessage() { public void sendSubscribeMessage() {
DateTime undoDateTime = DateUtil.offsetMinute(new Date(), -15); 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进行中的 状态改成未完成,表示未拍照做任务 // 查询没有做随机任务的, 超过15分钟的,但是状态还是1进行中的 状态改成未完成,表示未拍照做任务
List<TemporaryActivityTaskClockDO> undoList = taskClockService.list(new LambdaQueryWrapper<TemporaryActivityTaskClockDO>() List<TemporaryActivityTaskClockDO> undoList = taskClockService.list(new LambdaQueryWrapper<TemporaryActivityTaskClockDO>()
.eq(TemporaryActivityTaskClockDO::getTaskStatus, ActivityClockTaskStatus.STARTING.getType()) .eq(TemporaryActivityTaskClockDO::getTaskStatus, ActivityClockTaskStatus.STARTING.getType())
.eq(TemporaryActivityTaskClockDO::getTaskType, ActivityPhotoType.RANDOM_TASK.getType()) .eq(TemporaryActivityTaskClockDO::getTaskType, ActivityPhotoType.RANDOM_TASK.getType())
.eq(TemporaryActivityTaskClockDO::getIsDelete, FlagType.NO.getType()) .eq(TemporaryActivityTaskClockDO::getIsDelete, FlagType.NO.getType())
// .eq(TemporaryActivityTaskClockDO::getIsSendSubscribe, FlagType.NO.getType())
// 小于等于 // 小于等于
.le(TemporaryActivityTaskClockDO::getRequiredlockTime, undoDateTime)); .le(TemporaryActivityTaskClockDO::getRequiredlockTime, undoDateTime));
for (TemporaryActivityTaskClockDO taskClockDO : undoList){ for (TemporaryActivityTaskClockDO taskClockDO : undoList){
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论