|
@@ -17,7 +17,7 @@ import com.ylx.point.domain.PointActivity;
|
|
|
import com.ylx.point.domain.PointActivityTask;
|
|
import com.ylx.point.domain.PointActivityTask;
|
|
|
import com.ylx.point.domain.PointUserActivityTaskCompletion;
|
|
import com.ylx.point.domain.PointUserActivityTaskCompletion;
|
|
|
import com.ylx.point.domain.vo.PointActivityOverviewVO;
|
|
import com.ylx.point.domain.vo.PointActivityOverviewVO;
|
|
|
-import com.ylx.point.enums.ActivityNameEnum;
|
|
|
|
|
|
|
+import com.ylx.point.enums.TaskNameEnum;
|
|
|
import com.ylx.point.enums.PointActivityStatusEnum;
|
|
import com.ylx.point.enums.PointActivityStatusEnum;
|
|
|
import com.ylx.point.enums.PointActivityTaskTypeEnum;
|
|
import com.ylx.point.enums.PointActivityTaskTypeEnum;
|
|
|
import com.ylx.point.enums.PointActivityTypeEnum;
|
|
import com.ylx.point.enums.PointActivityTypeEnum;
|
|
@@ -174,7 +174,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
|
|
|
|
|
|
|
|
// 场景 A: 每日任务/签到 -> 只需要检查今天是否做过
|
|
// 场景 A: 每日任务/签到 -> 只需要检查今天是否做过
|
|
|
if (pointActivityType == PointActivityTypeEnum.SIGN_TASK) {
|
|
if (pointActivityType == PointActivityTypeEnum.SIGN_TASK) {
|
|
|
- taskName = ActivityNameEnum.USER_SIGN_IN.getInfo();
|
|
|
|
|
|
|
+ taskName = TaskNameEnum.USER_SIGN_IN.getInfo();
|
|
|
boolean completed = this.isTodayCompleted(openId, activityId, taskId, taskType.getCode());
|
|
boolean completed = this.isTodayCompleted(openId, activityId, taskId, taskType.getCode());
|
|
|
if (completed) {
|
|
if (completed) {
|
|
|
throw new ServiceException("今日任务已完成,请勿重复领取");
|
|
throw new ServiceException("今日任务已完成,请勿重复领取");
|
|
@@ -191,19 +191,19 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
|
|
|
// 2. 仅根据任务类型获取名称 (移除所有业务计数逻辑)
|
|
// 2. 仅根据任务类型获取名称 (移除所有业务计数逻辑)
|
|
|
switch (taskType) {
|
|
switch (taskType) {
|
|
|
case COMPLETE_ORDER:
|
|
case COMPLETE_ORDER:
|
|
|
- taskName = ActivityNameEnum.COMPLETE_ORDER.getInfo();
|
|
|
|
|
|
|
+ taskName = TaskNameEnum.COMPLETE_ORDER.getInfo();
|
|
|
break;
|
|
break;
|
|
|
case RECHARGE_TASK:
|
|
case RECHARGE_TASK:
|
|
|
- taskName = ActivityNameEnum.RECHARGE_TASK.getInfo();
|
|
|
|
|
|
|
+ taskName = TaskNameEnum.RECHARGE_TASK.getInfo();
|
|
|
break;
|
|
break;
|
|
|
case SHARE_SERVICE:
|
|
case SHARE_SERVICE:
|
|
|
- taskName = ActivityNameEnum.SHARE_ACCOUNT.getInfo();
|
|
|
|
|
|
|
+ taskName = TaskNameEnum.SHARE_ACCOUNT.getInfo();
|
|
|
break;
|
|
break;
|
|
|
case BROWLE_NEWS:
|
|
case BROWLE_NEWS:
|
|
|
- taskName = ActivityNameEnum.BROWSE_DYNAMIC.getInfo();
|
|
|
|
|
|
|
+ taskName = TaskNameEnum.BROWSE_DYNAMIC.getInfo();
|
|
|
break;
|
|
break;
|
|
|
case BROWLE_MERCHANT:
|
|
case BROWLE_MERCHANT:
|
|
|
- taskName = ActivityNameEnum.BROWSE_MERCHANT.getInfo();
|
|
|
|
|
|
|
+ taskName = TaskNameEnum.BROWSE_MERCHANT.getInfo();
|
|
|
break;
|
|
break;
|
|
|
default:
|
|
default:
|
|
|
throw new ServiceException("不支持的任务类型: " + taskType);
|
|
throw new ServiceException("不支持的任务类型: " + taskType);
|
|
@@ -222,23 +222,23 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
|
|
|
case COMPLETE_ORDER: // 完成订单
|
|
case COMPLETE_ORDER: // 完成订单
|
|
|
int orderCount = orderService.countCompletedOrders(openId, queryTime);
|
|
int orderCount = orderService.countCompletedOrders(openId, queryTime);
|
|
|
isVerified = orderCount >= targetCount;
|
|
isVerified = orderCount >= targetCount;
|
|
|
- taskName = ActivityNameEnum.COMPLETE_ORDER.getInfo();
|
|
|
|
|
|
|
+ taskName = TaskNameEnum.COMPLETE_ORDER.getInfo();
|
|
|
break;
|
|
break;
|
|
|
case RECHARGE_TASK: // 充值任务
|
|
case RECHARGE_TASK: // 充值任务
|
|
|
int rechargeCount = rechargeService.countSuccessRecharges(openId, queryTime);
|
|
int rechargeCount = rechargeService.countSuccessRecharges(openId, queryTime);
|
|
|
isVerified = rechargeCount >= targetCount;
|
|
isVerified = rechargeCount >= targetCount;
|
|
|
- taskName = ActivityNameEnum.RECHARGE_TASK.getInfo();
|
|
|
|
|
|
|
+ taskName = TaskNameEnum.RECHARGE_TASK.getInfo();
|
|
|
break;
|
|
break;
|
|
|
case SHARE_SERVICE: // 分享服务号
|
|
case SHARE_SERVICE: // 分享服务号
|
|
|
- taskName = ActivityNameEnum.SHARE_ACCOUNT.getInfo();
|
|
|
|
|
|
|
+ taskName = TaskNameEnum.SHARE_ACCOUNT.getInfo();
|
|
|
isVerified = true;
|
|
isVerified = true;
|
|
|
break;
|
|
break;
|
|
|
case BROWLE_NEWS: // 浏览动态
|
|
case BROWLE_NEWS: // 浏览动态
|
|
|
- taskName = ActivityNameEnum.BROWSE_DYNAMIC.getInfo();
|
|
|
|
|
|
|
+ taskName = TaskNameEnum.BROWSE_DYNAMIC.getInfo();
|
|
|
isVerified = true;
|
|
isVerified = true;
|
|
|
break;
|
|
break;
|
|
|
case BROWLE_MERCHANT:// 浏览商户
|
|
case BROWLE_MERCHANT:// 浏览商户
|
|
|
- taskName = ActivityNameEnum.BROWSE_MERCHANT.getInfo();
|
|
|
|
|
|
|
+ taskName = TaskNameEnum.BROWSE_MERCHANT.getInfo();
|
|
|
isVerified = true;
|
|
isVerified = true;
|
|
|
break;
|
|
break;
|
|
|
default:
|
|
default:
|
|
@@ -312,12 +312,12 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
|
|
|
*
|
|
*
|
|
|
* @param openId 用户openId
|
|
* @param openId 用户openId
|
|
|
* @param taskTypeEnum 任务类型枚举
|
|
* @param taskTypeEnum 任务类型枚举
|
|
|
- * @param activityNameEnum 活动名称枚举
|
|
|
|
|
|
|
+ * @param taskNameEnum 活动名称枚举
|
|
|
* @param countSupplier 查询已完成次数的函数
|
|
* @param countSupplier 查询已完成次数的函数
|
|
|
*/
|
|
*/
|
|
|
private void completeTaskByPriorityInternal(String openId,
|
|
private void completeTaskByPriorityInternal(String openId,
|
|
|
PointActivityTaskTypeEnum taskTypeEnum,
|
|
PointActivityTaskTypeEnum taskTypeEnum,
|
|
|
- ActivityNameEnum activityNameEnum,
|
|
|
|
|
|
|
+ TaskNameEnum taskNameEnum,
|
|
|
java.util.function.Function<Date, Integer> countSupplier) {
|
|
java.util.function.Function<Date, Integer> countSupplier) {
|
|
|
// 活动类型优先级:新手活动、每日活动、每月活动
|
|
// 活动类型优先级:新手活动、每日活动、每月活动
|
|
|
List<Integer> priorityTypes = Arrays.asList(
|
|
List<Integer> priorityTypes = Arrays.asList(
|
|
@@ -332,7 +332,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
|
|
|
// 查询该活动类型下所有进行中的任务
|
|
// 查询该活动类型下所有进行中的任务
|
|
|
List<PointActivityTask> taskList = pointActivityTaskService.list(
|
|
List<PointActivityTask> taskList = pointActivityTaskService.list(
|
|
|
Wrappers.lambdaQuery(PointActivityTask.class)
|
|
Wrappers.lambdaQuery(PointActivityTask.class)
|
|
|
- .eq(PointActivityTask::getTaskName, activityNameEnum.getInfo())
|
|
|
|
|
|
|
+ .eq(PointActivityTask::getTaskName, taskNameEnum.getInfo())
|
|
|
.eq(PointActivityTask::getStatus, 0)
|
|
.eq(PointActivityTask::getStatus, 0)
|
|
|
.eq(PointActivityTask::getIsDeleted, 0)
|
|
.eq(PointActivityTask::getIsDeleted, 0)
|
|
|
);
|
|
);
|
|
@@ -398,7 +398,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
|
|
|
activity.getId(),
|
|
activity.getId(),
|
|
|
task.getId(),
|
|
task.getId(),
|
|
|
taskTypeEnum.getCode(),
|
|
taskTypeEnum.getCode(),
|
|
|
- activityNameEnum.getInfo()
|
|
|
|
|
|
|
+ taskNameEnum.getInfo()
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
// 成功完成一个任务后,跳出循环(只完成优先级最高的一个任务)
|
|
// 成功完成一个任务后,跳出循环(只完成优先级最高的一个任务)
|
|
@@ -414,7 +414,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
} catch (Exception e) {
|
|
} catch (Exception e) {
|
|
|
- log.error("完成{}任务失败 - 活动类型:{}, 错误信息:{}", activityNameEnum.getInfo(), activityType, e.getMessage(), e);
|
|
|
|
|
|
|
+ log.error("完成{}任务失败 - 活动类型:{}, 错误信息:{}", taskNameEnum.getInfo(), activityType, e.getMessage(), e);
|
|
|
// 继续尝试下一个优先级的活动类型
|
|
// 继续尝试下一个优先级的活动类型
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -436,7 +436,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
|
|
|
// 查询该活动类型下所有进行中的"完成订单"任务
|
|
// 查询该活动类型下所有进行中的"完成订单"任务
|
|
|
List<PointActivityTask> taskList = pointActivityTaskService.list(
|
|
List<PointActivityTask> taskList = pointActivityTaskService.list(
|
|
|
Wrappers.lambdaQuery(PointActivityTask.class)
|
|
Wrappers.lambdaQuery(PointActivityTask.class)
|
|
|
- .eq(PointActivityTask::getTaskName, ActivityNameEnum.COMPLETE_ORDER.getInfo())
|
|
|
|
|
|
|
+ .eq(PointActivityTask::getTaskName, TaskNameEnum.COMPLETE_ORDER.getInfo())
|
|
|
.eq(PointActivityTask::getStatus, 0)
|
|
.eq(PointActivityTask::getStatus, 0)
|
|
|
.eq(PointActivityTask::getIsDeleted, 0)
|
|
.eq(PointActivityTask::getIsDeleted, 0)
|
|
|
);
|
|
);
|
|
@@ -502,7 +502,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
|
|
|
activity.getId(),
|
|
activity.getId(),
|
|
|
task.getId(),
|
|
task.getId(),
|
|
|
PointActivityTaskTypeEnum.COMPLETE_ORDER.getCode(),
|
|
PointActivityTaskTypeEnum.COMPLETE_ORDER.getCode(),
|
|
|
- ActivityNameEnum.COMPLETE_ORDER.getInfo()
|
|
|
|
|
|
|
+ TaskNameEnum.COMPLETE_ORDER.getInfo()
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
// 成功完成一个任务后,跳出循环(只完成优先级最高的一个任务)
|
|
// 成功完成一个任务后,跳出循环(只完成优先级最高的一个任务)
|
|
@@ -540,7 +540,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
|
|
|
// 查询该活动类型下所有进行中的"充值任务"
|
|
// 查询该活动类型下所有进行中的"充值任务"
|
|
|
List<PointActivityTask> taskList = pointActivityTaskService.list(
|
|
List<PointActivityTask> taskList = pointActivityTaskService.list(
|
|
|
Wrappers.lambdaQuery(PointActivityTask.class)
|
|
Wrappers.lambdaQuery(PointActivityTask.class)
|
|
|
- .eq(PointActivityTask::getTaskName, ActivityNameEnum.RECHARGE_TASK.getInfo())
|
|
|
|
|
|
|
+ .eq(PointActivityTask::getTaskName, TaskNameEnum.RECHARGE_TASK.getInfo())
|
|
|
.eq(PointActivityTask::getStatus, 0)
|
|
.eq(PointActivityTask::getStatus, 0)
|
|
|
.eq(PointActivityTask::getIsDeleted, 0)
|
|
.eq(PointActivityTask::getIsDeleted, 0)
|
|
|
);
|
|
);
|
|
@@ -606,7 +606,7 @@ public class PointUserActivityTaskCompletionServiceImpl extends ServiceImpl<Poin
|
|
|
activity.getId(),
|
|
activity.getId(),
|
|
|
task.getId(),
|
|
task.getId(),
|
|
|
PointActivityTaskTypeEnum.RECHARGE_TASK.getCode(),
|
|
PointActivityTaskTypeEnum.RECHARGE_TASK.getCode(),
|
|
|
- ActivityNameEnum.RECHARGE_TASK.getInfo()
|
|
|
|
|
|
|
+ TaskNameEnum.RECHARGE_TASK.getInfo()
|
|
|
);
|
|
);
|
|
|
|
|
|
|
|
// 成功完成一个任务后,跳出循环(只完成优先级最高的一个任务)
|
|
// 成功完成一个任务后,跳出循环(只完成优先级最高的一个任务)
|