Bladeren bron

编辑积分规则,添加修改积分状态逻辑

wangzhijun 3 dagen geleden
bovenliggende
commit
7975820539

+ 21 - 4
nightFragrance-massage/src/main/java/com/ylx/point/service/impl/PointActivityServiceImpl.java

@@ -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("更新积分活动失败");