Browse Source

每月任务

release
张彭杰 1 month ago
parent
commit
ca25e88db4
18 changed files with 381 additions and 7 deletions
  1. 2
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/tasktemplate/entity/TaskTemplate.java
  2. 54
      dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/udtp/entity/UserDailyTaskProgress.java
  3. 15
      dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/udtp/event/UserDailyTaskProgressCommittedEvent.java
  4. 40
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/udtp/user/UserDailyTaskProgressUserCommandController.java
  5. 29
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/udtp/user/request/UserCreateUserDailyTaskProgressDto.java
  6. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/udtp/user/request/UserDeleteUserDailyTaskProgressDto.java
  7. 32
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/udtp/user/request/UserEditUserDailyTaskProgressDto.java
  8. 27
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/utc/UserTaskCompleteEventHandler.java
  9. 26
      dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/udtp/UserDailyTaskProgressApplicationService.java
  10. 38
      dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/udtp/UserDailyTaskProgressAggregate.java
  11. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/udtp/repository/UserDailyTaskProgressRepository.java
  12. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/udtp/UserDailyTaskProgressDao.java
  13. 41
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/UserDailyTaskProgressRepositoryImpl.java
  14. 3
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/TaskTemplateQueryService.java
  15. 5
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/impl/TaskTemplateQueryServiceImpl.java
  16. 11
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/udtp/UserDailyTaskProgressQueryService.java
  17. 27
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/udtp/impl/UserDailyTaskProgressQueryServiceImpl.java
  18. 2
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/utc/impl/UserTaskCompleteQueryServiceImpl.java

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

@ -24,7 +24,7 @@ public class TaskTemplate extends Entity<TaskTemplate> {
@ApiModelProperty("任务群体") @ApiModelProperty("任务群体")
private TaskGroupEnum taskGroup; private TaskGroupEnum taskGroup;
@ApiModelProperty("任务类型(1-每日任务,2-每周任务,2-每月任务)")
@ApiModelProperty("任务类型(1-每日任务,2-每周任务,3-每月任务)")
private TaskTypeEnum taskType; private TaskTypeEnum taskType;
@ApiModelProperty("关联阶段编码(1-首月,2-次月,3-第三月+)") @ApiModelProperty("关联阶段编码(1-首月,2-次月,3-第三月+)")

54
dating-agency-mall-entity/src/main/java/com/qniao/dam/domain/aggregate/udtp/entity/UserDailyTaskProgress.java

@ -0,0 +1,54 @@
package com.qniao.dam.domain.aggregate.udtp.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.SubTaskTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import com.qniao.domain.Entity;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Objects;
/**
* 用户每日任务进度
*
* @date 2026/02/26
*/
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("da_user_daily_task_progress")
public class UserDailyTaskProgress extends Entity<UserDailyTaskProgress> {
@ApiModelProperty("用户ID")
private Long userId;
@ApiModelProperty("进度日期")
private LocalDate progressDate;
@ApiModelProperty("子任务类型")
private SubTaskTypeEnum subTaskType;
@ApiModelProperty("完成次数")
private Integer completeCount;
public static UserDailyTaskProgress build(Long userId,
LocalDate progressDate,
SubTaskTypeEnum subTaskType,
Integer completeCount) {
UserDailyTaskProgress userDailyTaskProgress = new UserDailyTaskProgress();
userDailyTaskProgress.setUserId(userId);
userDailyTaskProgress.setProgressDate(progressDate);
userDailyTaskProgress.setSubTaskType(subTaskType);
userDailyTaskProgress.setCompleteCount(completeCount);
return userDailyTaskProgress;
}
public void commit(Integer commitCount) {
if (Objects.isNull(this.completeCount)) {
this.completeCount = 0;
}
this.completeCount += commitCount;
}
}

15
dating-agency-mall-event/src/main/java/com/qniao/dam/domian/aggregate/udtp/event/UserDailyTaskProgressCommittedEvent.java

@ -0,0 +1,15 @@
package com.qniao.dam.domian.aggregate.udtp.event;
import com.qniao.domain.BaseDomainEvent;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserDailyTaskProgressCommittedEvent extends BaseDomainEvent {
private Long userId;
}

40
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/udtp/user/UserDailyTaskProgressUserCommandController.java

@ -0,0 +1,40 @@
package com.qniao.dam.api.command.udtp.user;
import com.qniao.dam.api.command.udtp.user.request.*;
import com.qniao.dam.application.service.udtp.UserDailyTaskProgressApplicationService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
@Api(tags = "用户每日任务进度")
@RestController
@RequestMapping("user")
public class UserDailyTaskProgressUserCommandController {
@Resource
private UserDailyTaskProgressApplicationService userDailyTaskProgressApplicationService;
@ApiOperation("用户创建用户每日任务进度")
@PostMapping("create/user-daily-task-progress")
public void userCreateUserDailyTaskProgress(@RequestBody @Valid UserCreateUserDailyTaskProgressDto dto,
@RequestParam("userId") Long userId) {
userDailyTaskProgressApplicationService.create(dto.trans2Domain());
}
@ApiOperation("用户编辑用户每日任务进度")
@PostMapping("edit/user-daily-task-progress")
public void userEditUserDailyTaskProgress(@RequestBody @Valid UserEditUserDailyTaskProgressDto dto,
@RequestParam("userId") Long userId) {
userDailyTaskProgressApplicationService.edit(dto.trans2Domain());
}
@ApiOperation("用户删除用户每日任务进度")
@PostMapping("delete/user-daily-task-progress")
public void userDeleteUserDailyTaskProgress(@RequestBody @Valid UserDeleteUserDailyTaskProgressDto dto,
@RequestParam("userId") Long userId) {
userDailyTaskProgressApplicationService.delete(dto.getId());
}
}

29
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/udtp/user/request/UserCreateUserDailyTaskProgressDto.java

@ -0,0 +1,29 @@
package com.qniao.dam.api.command.udtp.user.request;
import com.qniao.dam.domain.aggregate.udtp.entity.UserDailyTaskProgress;
import com.qniao.domain.Trans2DomainAssembler;
import io.swagger.annotations.ApiModelProperty;
import com.qniao.framework.utils.TypeConvertUtils;
import lombok.Data;
@Data
public class UserCreateUserDailyTaskProgressDto implements Trans2DomainAssembler<UserDailyTaskProgress> {
@ApiModelProperty("用户ID")
private Long userId;
@ApiModelProperty("进度日期")
private LocalDateTime progressDate;
@ApiModelProperty("子任务类型")
private Byte subTaskType;
@ApiModelProperty("完成次数")
private Integer completeCount;
@Override
public UserDailyTaskProgress trans2Domain() {
return TypeConvertUtils.convert(this, UserDailyTaskProgress.class);
}
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/udtp/user/request/UserDeleteUserDailyTaskProgressDto.java

@ -0,0 +1,12 @@
package com.qniao.dam.api.command.udtp.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class UserDeleteUserDailyTaskProgressDto {
@ApiModelProperty("唯一标识")
private Long id;
}

32
dating-agency-mall-server/src/main/java/com/qniao/dam/api/command/udtp/user/request/UserEditUserDailyTaskProgressDto.java

@ -0,0 +1,32 @@
package com.qniao.dam.api.command.udtp.user.request;
import com.qniao.dam.domain.aggregate.udtp.entity.UserDailyTaskProgress;
import com.qniao.domain.Trans2DomainAssembler;
import io.swagger.annotations.ApiModelProperty;
import com.qniao.framework.utils.TypeConvertUtils;
import lombok.Data;
@Data
public class UserEditUserDailyTaskProgressDto implements Trans2DomainAssembler<UserDailyTaskProgress> {
@ApiModelProperty("唯一标识")
private Long id;
@ApiModelProperty("用户ID")
private Long userId;
@ApiModelProperty("进度日期")
private LocalDateTime progressDate;
@ApiModelProperty("子任务类型")
private Byte subTaskType;
@ApiModelProperty("完成次数")
private Integer completeCount;
@Override
public UserDailyTaskProgress trans2Domain() {
return TypeConvertUtils.convert(this, UserDailyTaskProgress.class);
}
}

27
dating-agency-mall-server/src/main/java/com/qniao/dam/application/handler/utc/UserTaskCompleteEventHandler.java

@ -5,6 +5,8 @@ import cn.hutool.core.lang.Tuple;
import com.google.common.eventbus.Subscribe; import com.google.common.eventbus.Subscribe;
import com.qniao.dam.domain.aggregate.tasktemplate.entity.SubTaskTemplate; import com.qniao.dam.domain.aggregate.tasktemplate.entity.SubTaskTemplate;
import com.qniao.dam.domain.aggregate.tasktemplate.entity.TaskTemplate; import com.qniao.dam.domain.aggregate.tasktemplate.entity.TaskTemplate;
import com.qniao.dam.domain.aggregate.udtp.UserDailyTaskProgressAggregate;
import com.qniao.dam.domain.aggregate.udtp.entity.UserDailyTaskProgress;
import com.qniao.dam.domain.aggregate.utc.UserTaskCompleteAggregate; import com.qniao.dam.domain.aggregate.utc.UserTaskCompleteAggregate;
import com.qniao.dam.domain.aggregate.utc.entity.UserSubTaskComplete; import com.qniao.dam.domain.aggregate.utc.entity.UserSubTaskComplete;
import com.qniao.dam.domain.aggregate.utc.entity.UserTaskComplete; import com.qniao.dam.domain.aggregate.utc.entity.UserTaskComplete;
@ -27,6 +29,7 @@ import com.qniao.dam.infrastructure.persistent.dao.tasktemplate.TaskTemplateDao;
import com.qniao.dam.infrastructure.persistent.dao.utc.UserTaskCompleteDao; import com.qniao.dam.infrastructure.persistent.dao.utc.UserTaskCompleteDao;
import com.qniao.dam.query.livematchmaker.LiveMatchmakerQueryService; import com.qniao.dam.query.livematchmaker.LiveMatchmakerQueryService;
import com.qniao.dam.query.tasktemplate.TaskTemplateQueryService; import com.qniao.dam.query.tasktemplate.TaskTemplateQueryService;
import com.qniao.dam.query.udtp.UserDailyTaskProgressQueryService;
import com.qniao.dam.query.utc.UserTaskCompleteQueryService; import com.qniao.dam.query.utc.UserTaskCompleteQueryService;
import com.qniao.dam.query.walletaccount.WalletAccountQueryService; import com.qniao.dam.query.walletaccount.WalletAccountQueryService;
import com.qniao.dau.domain.aggregate.livematchmaker.entity.LiveMatchmaker; import com.qniao.dau.domain.aggregate.livematchmaker.entity.LiveMatchmaker;
@ -38,11 +41,11 @@ import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue; import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding; import org.springframework.amqp.rabbit.annotation.QueueBinding;
import org.springframework.amqp.rabbit.annotation.RabbitListener; import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDate;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -67,6 +70,11 @@ public class UserTaskCompleteEventHandler extends BaseApplicationService {
private TaskTemplateDao taskTemplateDao; private TaskTemplateDao taskTemplateDao;
@Resource @Resource
private CompleteUserTaskCompleteDomainService completeUserTaskCompleteDomainService; private CompleteUserTaskCompleteDomainService completeUserTaskCompleteDomainService;
@Resource
private UserDailyTaskProgressQueryService userDailyTaskProgressQueryService;
@Resource
private UserDailyTaskProgressAggregate userDailyTaskProgressAggregate;
@RabbitListener(bindings = @QueueBinding(value = @Queue(MqQueue.EFFECTIVE_LIVE_DURATION_COMMITTED), @RabbitListener(bindings = @QueueBinding(value = @Queue(MqQueue.EFFECTIVE_LIVE_DURATION_COMMITTED),
exchange = @Exchange(value = MqExchange.EFFECTIVE_LIVE_DURATION_COMMITTED, exchange = @Exchange(value = MqExchange.EFFECTIVE_LIVE_DURATION_COMMITTED,
@ -112,7 +120,7 @@ public class UserTaskCompleteEventHandler extends BaseApplicationService {
Integer commitCount) { Integer commitCount) {
LiveMatchmaker liveMatchmaker = liveMatchmakerQueryService.queryByUserId(userId); LiveMatchmaker liveMatchmaker = liveMatchmakerQueryService.queryByUserId(userId);
if (Objects.nonNull(liveMatchmaker)) { if (Objects.nonNull(liveMatchmaker)) {
Tuple tuple = taskTemplateQueryService.getTaskDate(TaskTypeEnum.DAILY_TASK);
Tuple tuple = taskTemplateQueryService.getTaskDate(TaskTypeEnum.DAILY_TASK, liveMatchmaker.getCreateTime());
UserTaskComplete userTaskComplete = userTaskCompleteQueryService.queryBy(userId, tuple.get(0), tuple.get(1)); UserTaskComplete userTaskComplete = userTaskCompleteQueryService.queryBy(userId, tuple.get(0), tuple.get(1));
TaskTemplate taskTemplate = null; TaskTemplate taskTemplate = null;
if (Objects.isNull(userTaskComplete)) { if (Objects.isNull(userTaskComplete)) {
@ -161,6 +169,21 @@ public class UserTaskCompleteEventHandler extends BaseApplicationService {
} }
} }
private void commitDailyTaskTaskComplete2(Long userId,
SubTaskTypeEnum subTaskType,
Integer commitCount) {
LiveMatchmaker liveMatchmaker = liveMatchmakerQueryService.queryByUserId(userId);
if (Objects.nonNull(liveMatchmaker)) {
UserDailyTaskProgress progress = userDailyTaskProgressQueryService.queryBy(userId, LocalDate.now(), subTaskType);
if (Objects.isNull(progress)) {
progress = UserDailyTaskProgress.build(userId, LocalDate.now(), subTaskType, 0);
}
progress.commit(commitCount);
BaseDomainEvent event = userDailyTaskProgressAggregate.commit(progress);
this.sendEvent(event);
}
}
@Subscribe @Subscribe
private void handle(UserTaskCompleteCommittedEvent event) { private void handle(UserTaskCompleteCommittedEvent event) {
try { try {

26
dating-agency-mall-server/src/main/java/com/qniao/dam/application/service/udtp/UserDailyTaskProgressApplicationService.java

@ -0,0 +1,26 @@
package com.qniao.dam.application.service.udtp;
import com.qniao.dam.domain.aggregate.udtp.UserDailyTaskProgressAggregate;
import com.qniao.dam.domain.aggregate.udtp.entity.UserDailyTaskProgress;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service
public class UserDailyTaskProgressApplicationService {
@Resource
private UserDailyTaskProgressAggregate userDailyTaskProgressAggregate;
public void create(UserDailyTaskProgress userDailyTaskProgress) {
userDailyTaskProgressAggregate.create(userDailyTaskProgress);
}
public void edit(UserDailyTaskProgress userDailyTaskProgress) {
userDailyTaskProgressAggregate.edit(userDailyTaskProgress);
}
public void delete(Long id) {
userDailyTaskProgressAggregate.delete(id);
}
}

38
dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/udtp/UserDailyTaskProgressAggregate.java

@ -0,0 +1,38 @@
package com.qniao.dam.domain.aggregate.udtp;
import com.qniao.dam.domain.aggregate.udtp.entity.UserDailyTaskProgress;
import com.qniao.dam.domain.aggregate.udtp.repository.UserDailyTaskProgressRepository;
import com.qniao.dam.domian.aggregate.udtp.event.UserDailyTaskProgressCommittedEvent;
import com.qniao.domain.BaseDomainEvent;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
/**
* 用户每日任务进度
*
* @date 2026/02/26
*/
@Service
public class UserDailyTaskProgressAggregate {
@Resource
private UserDailyTaskProgressRepository repository;
public void create(UserDailyTaskProgress entity) {
repository.save(entity);
}
public void edit(UserDailyTaskProgress entity) {
repository.save(entity);
}
public void delete(Long id) {
repository.delete(id);
}
public BaseDomainEvent commit(UserDailyTaskProgress entity) {
repository.save(entity);
return new UserDailyTaskProgressCommittedEvent(entity.getUserId());
}
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/domain/aggregate/udtp/repository/UserDailyTaskProgressRepository.java

@ -0,0 +1,12 @@
package com.qniao.dam.domain.aggregate.udtp.repository;
import com.qniao.dam.domain.aggregate.udtp.entity.UserDailyTaskProgress;
import com.qniao.domain.Repository;
/**
* 用户每日任务进度
*
* @date 2026/02/26
*/
public interface UserDailyTaskProgressRepository extends Repository<UserDailyTaskProgress, Long> {
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/udtp/UserDailyTaskProgressDao.java

@ -0,0 +1,12 @@
package com.qniao.dam.infrastructure.persistent.dao.udtp;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qniao.dam.domain.aggregate.udtp.entity.UserDailyTaskProgress;
/**
* 用户每日任务进度
*
* @date 2026/02/26
*/
public interface UserDailyTaskProgressDao extends BaseMapper<UserDailyTaskProgress> {
}

41
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/repository/impl/UserDailyTaskProgressRepositoryImpl.java

@ -0,0 +1,41 @@
package com.qniao.dam.infrastructure.persistent.repository.impl;
import com.qniao.dam.domain.aggregate.udtp.entity.UserDailyTaskProgress;
import com.qniao.dam.domain.aggregate.udtp.repository.UserDailyTaskProgressRepository;
import com.qniao.dam.infrastructure.persistent.dao.udtp.UserDailyTaskProgressDao;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Objects;
/**
* 用户每日任务进度
*
* @date 2026/02/26
*/
@Service
public class UserDailyTaskProgressRepositoryImpl implements UserDailyTaskProgressRepository {
@Resource
private UserDailyTaskProgressDao dao;
@Override
public UserDailyTaskProgress load(Long id) {
return dao.selectById(id);
}
@Override
public Long save(UserDailyTaskProgress entity) {
if (Objects.isNull(entity) || Objects.isNull(dao.selectById(entity.getId()))) {
dao.insert(entity);
} else {
dao.updateById(entity);
}
return entity.getId();
}
@Override
public void delete(Long id) {
dao.deleteById(id);
}
}

3
dating-agency-mall-server/src/main/java/com/qniao/dam/query/tasktemplate/TaskTemplateQueryService.java

@ -8,11 +8,12 @@ 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.TaskStageEnum;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskTypeEnum; import com.qniao.dam.domian.aggregate.tasktemplate.constant.TaskTypeEnum;
import java.time.LocalDateTime;
import java.util.List; import java.util.List;
public interface TaskTemplateQueryService { public interface TaskTemplateQueryService {
Tuple getTaskDate(TaskTypeEnum taskTypeEnum);
Tuple getTaskDate(TaskTypeEnum taskTypeEnum, LocalDateTime createTime);
TaskTemplate queryBy(TaskGroupEnum taskGroup, TaskTemplate queryBy(TaskGroupEnum taskGroup,
TaskTypeEnum taskType, TaskTypeEnum taskType,

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

@ -18,8 +18,8 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.time.DayOfWeek; import java.time.DayOfWeek;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.temporal.TemporalAdjusters; import java.time.temporal.TemporalAdjusters;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Objects; import java.util.Objects;
@ -35,10 +35,11 @@ public class TaskTemplateQueryServiceImpl implements TaskTemplateQueryService {
* 计算任务的起始时间 * 计算任务的起始时间
* *
* @param taskType * @param taskType
* @param createTime
* @return * @return
*/ */
@Override @Override
public Tuple getTaskDate(TaskTypeEnum taskType) {
public Tuple getTaskDate(TaskTypeEnum taskType, LocalDateTime createTime) {
LocalDate taskStartDate = null; LocalDate taskStartDate = null;
LocalDate taskEndDate = null; LocalDate taskEndDate = null;
switch (taskType) { switch (taskType) {

11
dating-agency-mall-server/src/main/java/com/qniao/dam/query/udtp/UserDailyTaskProgressQueryService.java

@ -0,0 +1,11 @@
package com.qniao.dam.query.udtp;
import com.qniao.dam.domain.aggregate.udtp.entity.UserDailyTaskProgress;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.SubTaskTypeEnum;
import java.time.LocalDate;
public interface UserDailyTaskProgressQueryService {
UserDailyTaskProgress queryBy(Long userId, LocalDate progressDate, SubTaskTypeEnum subTaskType);
}

27
dating-agency-mall-server/src/main/java/com/qniao/dam/query/udtp/impl/UserDailyTaskProgressQueryServiceImpl.java

@ -0,0 +1,27 @@
package com.qniao.dam.query.udtp.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.dam.domain.aggregate.udtp.entity.UserDailyTaskProgress;
import com.qniao.dam.domian.aggregate.tasktemplate.constant.SubTaskTypeEnum;
import com.qniao.dam.infrastructure.persistent.dao.udtp.UserDailyTaskProgressDao;
import com.qniao.dam.query.udtp.UserDailyTaskProgressQueryService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDate;
@Service
public class UserDailyTaskProgressQueryServiceImpl implements UserDailyTaskProgressQueryService {
@Resource
private UserDailyTaskProgressDao userDailyTaskProgressDao;
@Override
public UserDailyTaskProgress queryBy(Long userId, LocalDate progressDate, SubTaskTypeEnum subTaskType) {
return userDailyTaskProgressDao.selectOne(new LambdaQueryWrapper<UserDailyTaskProgress>()
.eq(UserDailyTaskProgress::getUserId, userId)
.eq(UserDailyTaskProgress::getProgressDate, progressDate)
.eq(UserDailyTaskProgress::getSubTaskType, subTaskType)
.last("limit 1"));
}
}

2
dating-agency-mall-server/src/main/java/com/qniao/dam/query/utc/impl/UserTaskCompleteQueryServiceImpl.java

@ -45,7 +45,7 @@ public class UserTaskCompleteQueryServiceImpl implements UserTaskCompleteQuerySe
LiveMatchmaker liveMatchmaker = liveMatchmakerQueryService.queryByUserId(queryParams.getQueryUserId()); LiveMatchmaker liveMatchmaker = liveMatchmakerQueryService.queryByUserId(queryParams.getQueryUserId());
if (Objects.nonNull(liveMatchmaker)) { if (Objects.nonNull(liveMatchmaker)) {
TaskTypeEnum taskType = TaskTypeEnum.get(queryParams.getTaskType()); TaskTypeEnum taskType = TaskTypeEnum.get(queryParams.getTaskType());
Tuple tuple = taskTemplateQueryService.getTaskDate(taskType);
Tuple tuple = taskTemplateQueryService.getTaskDate(taskType,liveMatchmaker.getCreateTime());
UserTaskComplete userTaskComplete = queryBy(queryParams.getQueryUserId(), tuple.get(0), tuple.get(1)); UserTaskComplete userTaskComplete = queryBy(queryParams.getQueryUserId(), tuple.get(0), tuple.get(1));
TaskStageEnum stageCode = TaskStageEnum.count(liveMatchmaker.getCreateTime().toLocalDate()); TaskStageEnum stageCode = TaskStageEnum.count(liveMatchmaker.getCreateTime().toLocalDate());
if (Objects.isNull(userTaskComplete)) { if (Objects.isNull(userTaskComplete)) {

Loading…
Cancel
Save