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

feat(temporary-activity): 更新临时活动状态判断逻辑并恢复打卡时间范围

- 引入 Hutool 的 CollectionUtil 和 ObjectUtil 工具类 - 根据图片数量自动设置活动审批状态为 APPROVED 或 SUBMITTED - 调整随机打卡时间范围从 14:15~14:25 至17:30~19:30- 修改打卡照片保存逻辑,取消设置 reportedId 字段 -修复 ClockTaskPhoto 保存时 reportedId 错误的问题
上级 e0324bc3
......@@ -143,7 +143,7 @@ public class TemporaryActivityPhotoDaoImpl implements TemporaryActivityPhotoDao
@Override
public void saveClockTaskPhoto(TemporaryActivityPhotoDto dto, List<String> clockPhtos) {
// 新增数据
saveReportedList(dto.getClockId(),dto.getTemporaryId(), dto.getReportedId(), dto.getType(), clockPhtos);
saveReportedList(dto.getClockId(),dto.getTemporaryId(), null, dto.getType(), clockPhtos);
}
@Override
......
package com.wangxiaolu.promotion.service.activity.temporary.impl;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.uuid.Generators;
import com.wangxiaolu.promotion.common.redis.RedisKeys;
import com.wangxiaolu.promotion.common.redis.service.RedisCache;
import com.wangxiaolu.promotion.domain.activity.dao.*;
import com.wangxiaolu.promotion.domain.activity.wrapperQo.TemporaryClockWrapper;
import com.wangxiaolu.promotion.domain.activityplanv2.dao.ActivityPlanInfoDao;
import com.wangxiaolu.promotion.domain.user.dao.TemporaryInfoDao;
import com.wangxiaolu.promotion.enums.activity.ActivityPhotoType;
import com.wangxiaolu.promotion.enums.activity.LogType;
import com.wangxiaolu.promotion.enums.activity.TemActApproveStatus;
import com.wangxiaolu.promotion.exception.FlowException;
import com.wangxiaolu.promotion.exception.ParamException;
import com.wangxiaolu.promotion.pojo.activity.planv2.dto.ActivityPlanInfoDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.PromotionStoreDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityMarketCellDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryActivityReportedDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.dto.TemporaryClockDto;
import com.wangxiaolu.promotion.pojo.activity.temporary.vo.TemporaryActivityMarketCellVo;
import com.wangxiaolu.promotion.pojo.user.dto.WxTemporaryInfoDto;
import com.wangxiaolu.promotion.result.basedata.RCode;
import com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityClockQueryService;
import com.wangxiaolu.promotion.service.activity.temporary.TemporaryActivityCoreService;
......@@ -110,6 +106,13 @@ public class TemporaryActivityCoreServiceImpl implements TemporaryActivityCoreSe
public void activityDataReportedUpdate(TemporaryActivityReportedDto temActDto) {
// 图片增量保存
saveActivityPhotoV2(temActDto);
// 如果数量小于2 修改状态为 SUBMITTED 已保存
if(ObjectUtil.isAllNotEmpty(temActDto.getTgscPhotoUrls(),temActDto.getTghdPhotoUrls(),temActDto.getTgcjPhotoUrls())
&& temActDto.getTgscPhotoUrls().size()>=2 && temActDto.getTghdPhotoUrls().size()>=2 && temActDto.getTgcjPhotoUrls().size()>=2 ){
temActDto.setApproveStatus(TemActApproveStatus.APPROVED);
}else {
temActDto.setApproveStatus(TemActApproveStatus.SUBMITTED);
}
temporaryActivityReportedDao.updateById(temActDto);
// 售卖单元新增保存
......
......@@ -71,7 +71,7 @@ public class TemporaryActivityTaskClockServiceImpl extends ServiceImpl<Temporary
}
// 随机生成 下午5:30~7:30 之间的Date
LocalTime randomTime = LocalTime.of(14, 15, 0).plusMinutes(ThreadLocalRandom.current().nextInt(0, 10));
LocalTime randomTime = LocalTime.of(17, 30, 0).plusMinutes(ThreadLocalRandom.current().nextInt(0, 120));
Date randomDate = DateUtils.parseDateByLocalTime(randomTime);
// 生成
......@@ -187,8 +187,9 @@ public class TemporaryActivityTaskClockServiceImpl extends ServiceImpl<Temporary
TemporaryActivityPhotoDto dto = new TemporaryActivityPhotoDto();
dto.setClockId(taskClockDO.getClockId())
.setTemporaryId(taskClockDO.getTemporaryId())
// reportedId 问题
.setReportedId(clockDto.getReportedId())
// reportedId 问题 2025年11月17日16:28:52 只有推广相关的照片设置reportId
// .setReportedId(clockDto.getReportedId())
.setReportedId(null)
.setClockId(taskClockDO.getClockId())
.setType(clockVo.getTaskType());
if (CollectionUtils.isEmpty(clockVo.getClockPhotos())) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论