|
|
@@ -126,9 +126,7 @@ public class PointActivityServiceImpl extends ServiceImpl<PointActivityMapper, P
|
|
|
throw new BaseException("活动进行中,不可编辑");
|
|
|
}
|
|
|
|
|
|
- // 更新活动信息
|
|
|
- BeanUtil.copyProperties(dto, entity);
|
|
|
- updateActivity(entity);
|
|
|
+ updateActivity(entity, dto);
|
|
|
|
|
|
// 更新活动详情信息
|
|
|
updateActivityDetails(dto, id);
|
|
|
@@ -346,7 +344,26 @@ public class PointActivityServiceImpl extends ServiceImpl<PointActivityMapper, P
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- private void updateActivity(PointActivity entity) {
|
|
|
+ private void updateActivity(PointActivity entity, PointActivityDTO dto) {
|
|
|
+ // 更新活动信息
|
|
|
+ BeanUtil.copyProperties(dto, entity);
|
|
|
+
|
|
|
+ // 处理时间配置
|
|
|
+ PointActivityDTO.ActivityTimeConfig timeConfig = dto.getTimeConfig();
|
|
|
+ if (timeConfig != null) {
|
|
|
+ entity.setStartTime(DateUtil.beginOfDay(timeConfig.getStartTime()));
|
|
|
+ entity.setEndTime(processEndTime(timeConfig.getEndTime()));
|
|
|
+ entity.setIsPermanent(timeConfig.getIsPermanent());
|
|
|
+ }
|
|
|
+
|
|
|
+ // 处理状态
|
|
|
+ if (PointActivityStatusEnum.PUBLISHED.getCode().equals(dto.getStatus())) {
|
|
|
+ entity.setStatus(determineActivityStatus(
|
|
|
+ entity.getStartTime(),
|
|
|
+ entity.getEndTime(),
|
|
|
+ entity.getIsPermanent()
|
|
|
+ ));
|
|
|
+ }
|
|
|
int affectedRows = pointActivityMapper.updatePointActivity(entity);
|
|
|
if (affectedRows <= 0) {
|
|
|
throw new BaseException("更新积分活动失败");
|