Browse Source

代码调整

wangzhijun 4 ngày trước cách đây
mục cha
commit
b4a0799378

+ 14 - 3
nightFragrance-massage/src/main/java/com/ylx/point/service/impl/PointUserActivityTaskCompletionServiceImpl.java

@@ -262,6 +262,17 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
             StartTime = DateUtil.beginOfDay(new Date());
         } else if (typeEnum == PointActivityTypeEnum.MONTHLY_ACTIVITY) {
             StartTime = DateUtil.beginOfMonth(new Date());
+        } else if (typeEnum == PointActivityTypeEnum.NEW_USER_ACTIVITY) {
+            // 获取正在进行中的新手活动
+            LambdaQueryWrapper<PointActivity> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(PointActivity::getActivityType, PointActivityTypeEnum.NEW_USER_ACTIVITY.getCode())
+                    .eq(PointActivity::getStatus, 0)
+                    .orderByDesc(PointActivity::getStartTime)
+                    .last("limit 1");
+            PointActivity activity = this.pointActivityService.getOne(queryWrapper);
+            if (ObjectUtil.isNotNull(activity)) {
+                StartTime = activity.getStartTime();
+            }
         }
         return StartTime;
     }
@@ -379,16 +390,16 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
             }
 
             // 3. 防重复领取:利用 TaskLimitTimesEnum 策略模式校验
-            PointUserActivityTaskCompletion record = getTaskRecordInPeriod(openId, activity.getId(), task.getId(), taskTypeEnum.getCode(), queryTime);
+            PointUserActivityTaskCompletion record = getTaskRecordInPeriod(openId, activity.getId(), task.getId(), ActivityCompletionTaskTypeEnum.ACTIVITY.getCode(), queryTime);
             int completedCount = (record != null) ? record.getCompletedCount() : 0;
             if (!limitEnum.executeCheck(completedCount)) {
                 return false;
             }
 
             // 4. 完成任务 + 发放积分
-            completeTask(openId, activity.getId(), task.getId(), taskTypeEnum.getCode());
+            completeTask(openId, activity.getId(), task.getId(), ActivityCompletionTaskTypeEnum.ACTIVITY.getCode());
             pointAccountService.addPoints(openId, task.getRewardPoints().intValue(), activity.getName(),
-                    null, activity.getId(), task.getId(), taskTypeEnum.getCode(), activityNameEnum.getInfo());
+                    null, activity.getId(), task.getId(), ActivityCompletionTaskTypeEnum.ACTIVITY.getCode(), activityNameEnum.getInfo());
             return true;
         } catch (ServiceException e) {
             if (!e.getMessage().contains("已完成") && !e.getMessage().contains("已领取")) {