|
@@ -1,16 +1,25 @@
|
|
|
package com.ichaoj.ams.service.impl;
|
|
|
|
|
|
+import cn.hutool.core.bean.BeanUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.ichaoj.ams.constant.AmsConstant;
|
|
|
+import com.ichaoj.ams.entity.AmsAirdropProject;
|
|
|
import com.ichaoj.ams.entity.AmsAirdropTask;
|
|
|
import com.ichaoj.ams.mapper.AmsAirdropTaskMapper;
|
|
|
-import com.ichaoj.ams.request.airdrop.PageProjectRequest;
|
|
|
+import com.ichaoj.ams.request.task.PageTaskRequest;
|
|
|
import com.ichaoj.ams.response.task.TaskResponse;
|
|
|
+import com.ichaoj.ams.service.IAmsAirdropProjectService;
|
|
|
import com.ichaoj.ams.service.IAmsAirdropTaskService;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.ichaoj.common.model.PublicPage;
|
|
|
+import com.ichaoj.mybatis.service.SuperWhaleServiceImpl;
|
|
|
+import org.springframework.context.annotation.Lazy;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import javax.annotation.Resource;
|
|
|
+
|
|
|
/**
|
|
|
* <p>
|
|
|
* 空投项目任务 服务实现类
|
|
@@ -20,7 +29,11 @@ import org.springframework.stereotype.Service;
|
|
|
* @since 2023-05-10
|
|
|
*/
|
|
|
@Service
|
|
|
-public class AmsAirdropTaskServiceImpl extends ServiceImpl<AmsAirdropTaskMapper, AmsAirdropTask> implements IAmsAirdropTaskService {
|
|
|
+public class AmsAirdropTaskServiceImpl extends SuperWhaleServiceImpl<AmsAirdropTaskMapper, AmsAirdropTask> implements IAmsAirdropTaskService {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ @Lazy
|
|
|
+ private IAmsAirdropProjectService projectService;
|
|
|
|
|
|
@Override
|
|
|
public boolean verifyTaskParam(String taskApi, String taskName, String taskUrl, AmsConstant.TaskType taskType) {
|
|
@@ -31,7 +44,20 @@ public class AmsAirdropTaskServiceImpl extends ServiceImpl<AmsAirdropTaskMapper,
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public PublicPage<TaskResponse> pageAirdropProject(PageProjectRequest projectRequest) {
|
|
|
- return null;
|
|
|
+ public PublicPage<TaskResponse> pageAirdropProject(PageTaskRequest taskRequest) {
|
|
|
+ LambdaQueryWrapper<AmsAirdropTask> wrapper = Wrappers.lambdaQuery();
|
|
|
+ wrapper
|
|
|
+ .like(StrUtil.isNotBlank(taskRequest.getQueryValue()), AmsAirdropTask::getTaskName, taskRequest.getQueryValue())
|
|
|
+ .eq(taskRequest.getTaskType() != null, AmsAirdropTask::getTaskType, taskRequest.getTaskType())
|
|
|
+ .orderByDesc(AmsAirdropTask::getCreateTime);
|
|
|
+ Page<AmsAirdropTask> result = this.page(this.buildPageObj(taskRequest), wrapper);
|
|
|
+ return this.convertPublicPage(result, task -> {
|
|
|
+ TaskResponse response = BeanUtil.copyProperties(task, TaskResponse.class);
|
|
|
+ AmsAirdropProject project = projectService.getById(task.getAirdropProjectId());
|
|
|
+ response.setAmsProjectId(project.getAmsProjectId());
|
|
|
+ response.setProjectLogo(project.getProjectLogo());
|
|
|
+ response.setProjectName(project.getProjectName());
|
|
|
+ return response;
|
|
|
+ });
|
|
|
}
|
|
|
}
|