Browse Source

红娘直播任务

master
张彭杰 1 month ago
parent
commit
5a63c1a7f3
5 changed files with 130 additions and 21 deletions
  1. 38
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/tasktemplate/constant/TaskCategoryEnum.java
  2. 49
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/tasktemplate/constant/TaskTemplateStatus.java
  3. 6
      dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/tasktemplate/constant/TaskTypeEnum.java
  4. 17
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/tasktemplate/entity/TaskTemplate.java
  5. 41
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/impl/TaskTemplateQueryServiceImpl.java

38
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/tasktemplate/constant/TaskCategoryEnum.java

@ -0,0 +1,38 @@
package com.qniao.dam.domian.aggregate.tasktemplate.constant;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
@Getter
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum TaskCategoryEnum {
NORMAL_TASK(1, "常规任务"),
NEWCOMER_TASK(2, "新手任务");
@EnumValue
@JsonValue
private final Integer value;
private final String desc;
TaskCategoryEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
@JsonCreator
public static TaskCategoryEnum get(Integer v) {
for (TaskCategoryEnum e : TaskCategoryEnum.values()) {
if (e.getValue().equals(v)) {
return e;
}
}
return null;
}
}

49
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/tasktemplate/constant/TaskTemplateStatus.java

@ -0,0 +1,49 @@
package com.qniao.dam.domian.aggregate.tasktemplate.constant;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.Getter;
@Getter
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum TaskTemplateStatus {
/**
* 未生效未到开始时间
*/
NOT_EFFECTIVE(1, "未生效"),
/**
* 已生效进行中
*/
EFFECTIVE(2, "已生效"),
/**
* 已结束已过期/已完成
*/
FINISHED(3, "已结束");
@EnumValue
@JsonValue
private final Integer value;
private final String desc;
TaskTemplateStatus(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
@JsonCreator
public static TaskTemplateStatus get(Integer v) {
for (TaskTemplateStatus e : TaskTemplateStatus.values()) {
if (e.getValue().equals(v)) {
return e;
}
}
return null;
}
}

6
dating-agency-mall-constant/src/main/java/com/qniao/dam/domian/aggregate/tasktemplate/constant/TaskTypeEnum.java

@ -14,7 +14,11 @@ public enum TaskTypeEnum {
WEEKLY_TASK(2, "每周任务"),
MONTHLY_TASK(3, "每月任务");
MONTHLY_TASK(3, "每月任务"),
NEWCOMER_SEVEN_DAY_TASK(4, "7日新手任务"),
NEWCOMER_THIRTY_DAY_TASK(5, "30日新手任务");
@EnumValue
@JsonValue

17
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/tasktemplate/entity/TaskTemplate.java

@ -1,14 +1,13 @@
package com.qniao.dam.domain.aggregate.tasktemplate.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskGroupEnum;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskStageEnum;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskTypeEnum;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.qniao.domain.Entity;
import java.time.LocalDateTime;
import java.util.List;
/**
@ -24,6 +23,9 @@ public class TaskTemplate extends Entity<TaskTemplate> {
@ApiModelProperty("任务群体")
private TaskGroupEnum taskGroup;
@ApiModelProperty("任务种类")
private TaskCategoryEnum taskCategory;
@ApiModelProperty("任务类型(1-每日任务,2-每周任务,3-每月任务)")
private TaskTypeEnum taskType;
@ -39,6 +41,15 @@ public class TaskTemplate extends Entity<TaskTemplate> {
@ApiModelProperty("奖励")
private String rewardValue;
@ApiModelProperty("状态")
private TaskTemplateStatus status;
@ApiModelProperty("开始时间")
private LocalDateTime startTime;
@ApiModelProperty("结束时间")
private LocalDateTime endTime;
@ApiModelProperty("子任务模板列表")
private transient List<SubTaskTemplate> subList;

41
dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/impl/TaskTemplateQueryServiceImpl.java

@ -59,18 +59,6 @@ public class TaskTemplateQueryServiceImpl implements TaskTemplateQueryService {
stageCode = TaskStageEnum.THIRD_MONTH_AND_AFTER;
}
break;
case WEEKLY_TASK:
//暂时只有首周
//taskStartDate = LocalDate.now().with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
//taskEndDate = LocalDate.now().with(TemporalAdjusters.nextOrSame(DayOfWeek.SUNDAY));
taskStartDate = createTime.toLocalDate();
taskEndDate = taskStartDate.plusDays(6);
if (taskEndDate.isBefore(now)) {
taskStartDate = null;
taskEndDate = null;
}
stageCode = TaskStageEnum.FIRST_MONTH;
break;
case MONTHLY_TASK:
taskStartDate = createTime.toLocalDate();
taskEndDate = taskStartDate.plusDays(29);
@ -93,6 +81,22 @@ public class TaskTemplateQueryServiceImpl implements TaskTemplateQueryService {
}
}
break;
case NEWCOMER_SEVEN_DAY_TASK:
taskStartDate = createTime.toLocalDate();
taskEndDate = taskStartDate.plusDays(6);
if (taskEndDate.isBefore(now)) {
taskStartDate = null;
taskEndDate = null;
}
break;
case NEWCOMER_THIRTY_DAY_TASK:
taskStartDate = createTime.toLocalDate();
taskEndDate = taskStartDate.plusDays(29);
if (taskEndDate.isBefore(now)) {
taskStartDate = null;
taskEndDate = null;
}
break;
}
return new Tuple(taskStartDate, taskEndDate, stageCode);
}
@ -101,11 +105,14 @@ public class TaskTemplateQueryServiceImpl implements TaskTemplateQueryService {
public TaskTemplate queryBy(TaskGroupEnum taskGroup,
TaskTypeEnum taskType,
TaskStageEnum stageCode) {
return taskTemplateDao.selectOne(new LambdaQueryWrapper<TaskTemplate>()
.eq(TaskTemplate::getTaskGroup, taskGroup)
.eq(TaskTemplate::getTaskType, taskType)
.eq(TaskTemplate::getStageCode, stageCode)
.last("LIMIT 1"));
LambdaQueryWrapper<TaskTemplate> wrapper = new LambdaQueryWrapper<TaskTemplate>();
wrapper.eq(TaskTemplate::getTaskGroup, taskGroup);
wrapper.eq(TaskTemplate::getTaskType, taskType);
if (Objects.nonNull(stageCode)) {
wrapper.eq(TaskTemplate::getStageCode, stageCode);
}
wrapper.last("LIMIT 1");
return taskTemplateDao.selectOne(wrapper);
}
@Override

Loading…
Cancel
Save