8 changed files with 207 additions and 27 deletions
-
47src/main/java/com/qyft/gd/controller/TasksController.java
-
21src/main/java/com/qyft/gd/mapper/TasksMapper.java
-
10src/main/java/com/qyft/gd/model/dto/TaskDTO.java
-
14src/main/java/com/qyft/gd/model/entity/Tasks.java
-
31src/main/java/com/qyft/gd/model/vo/TaskListVO.java
-
18src/main/java/com/qyft/gd/service/TasksService.java
-
68src/main/java/com/qyft/gd/service/impl/TasksServiceImpl.java
-
25src/main/resources/mapper/TasksMapper.xml
@ -0,0 +1,21 @@ |
|||
package com.qyft.gd.mapper; |
|||
|
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
|||
import com.qyft.gd.model.entity.Tasks; |
|||
import com.qyft.gd.model.vo.TaskListVO; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
|
|||
import java.util.List; |
|||
|
|||
/** |
|||
* 实验持久层接口 |
|||
*/ |
|||
@Mapper |
|||
public interface TasksMapper extends BaseMapper<Tasks> { |
|||
Page<TaskListVO> selectPage(Page<TaskListVO> page); |
|||
TaskListVO selectById(Long id); |
|||
Integer removeByIds(List<Long> ids); |
|||
|
|||
int stopTask(Long taskId); |
|||
} |
@ -0,0 +1,10 @@ |
|||
package com.qyft.gd.model.dto; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
public class TaskDTO { |
|||
@Schema(description = "实验名称") |
|||
private String name; |
|||
} |
@ -0,0 +1,31 @@ |
|||
package com.qyft.gd.model.vo; |
|||
|
|||
import io.swagger.v3.oas.annotations.media.Schema; |
|||
import jakarta.validation.constraints.NotBlank; |
|||
import lombok.Data; |
|||
import lombok.EqualsAndHashCode; |
|||
|
|||
import java.util.List; |
|||
|
|||
@EqualsAndHashCode(callSuper = false) |
|||
@Data |
|||
public class TaskListVO { |
|||
@Schema(description = "实验id") |
|||
private Long id; |
|||
|
|||
@Schema(description = "实验名称") |
|||
private String name; |
|||
|
|||
@NotBlank |
|||
@Schema(description = "开始时间") |
|||
private String startTime; |
|||
|
|||
@Schema(description = "创建人") |
|||
private Long createUser; |
|||
|
|||
@Schema(description = "结束时间") |
|||
private String endTime; |
|||
|
|||
@Schema(description = "状态 1 执行中 2 执行完毕") |
|||
private Integer status; |
|||
} |
@ -0,0 +1,18 @@ |
|||
package com.qyft.gd.service; |
|||
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.extension.service.IService; |
|||
import com.qyft.gd.model.entity.Tasks; |
|||
import com.qyft.gd.model.vo.TaskListVO; |
|||
import com.qyft.gd.system.common.base.BasePageQuery; |
|||
|
|||
/** |
|||
* 实验业务接口 |
|||
*/ |
|||
public interface TasksService extends IService<Tasks> { |
|||
IPage<TaskListVO> getPage(BasePageQuery pageQuery); |
|||
TaskListVO selectById(Long id); |
|||
int addTask(String taskName); |
|||
int removeByIds(String ids); |
|||
int stopTask(Long taskId); |
|||
} |
@ -0,0 +1,68 @@ |
|||
package com.qyft.gd.service.impl; |
|||
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
|||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
|||
import com.qyft.gd.mapper.TasksMapper; |
|||
import com.qyft.gd.model.entity.Tasks; |
|||
import com.qyft.gd.model.vo.TaskListVO; |
|||
import com.qyft.gd.service.TasksService; |
|||
import com.qyft.gd.system.common.base.BasePageQuery; |
|||
import com.qyft.gd.system.model.entity.User; |
|||
import com.qyft.gd.system.service.UserService; |
|||
import lombok.RequiredArgsConstructor; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.Arrays; |
|||
import java.util.List; |
|||
import java.util.stream.Collectors; |
|||
|
|||
/** |
|||
* 实验业务实现类 |
|||
*/ |
|||
@Service |
|||
@RequiredArgsConstructor |
|||
public class TasksServiceImpl extends ServiceImpl<TasksMapper, Tasks> implements TasksService { |
|||
|
|||
private final TasksMapper tasksMapper; |
|||
private final UserService userService; |
|||
|
|||
@Override |
|||
public IPage<TaskListVO> getPage(BasePageQuery pageQuery) { |
|||
// 构建分页对象 |
|||
Page<TaskListVO> page = new Page<>(pageQuery.getPageNum(), pageQuery.getPageSize()); |
|||
|
|||
return tasksMapper.selectPage(page); |
|||
} |
|||
|
|||
@Override |
|||
public TaskListVO selectById(Long id) { |
|||
return tasksMapper.selectById(id); |
|||
} |
|||
|
|||
@Override |
|||
public int addTask(String taskName) { |
|||
Tasks tasks = new Tasks(); |
|||
tasks.setName(taskName); |
|||
User user = userService.currentUser(); |
|||
tasks.setCreateUser(user.getId()); |
|||
tasks.setStatus(1); |
|||
tasks.setIsDeleted(0); |
|||
|
|||
return tasksMapper.insert(tasks); |
|||
} |
|||
|
|||
@Override |
|||
public int removeByIds(String ids) { |
|||
List<Long> idsArr = Arrays.stream(ids.split(",")) |
|||
.map(Long::parseLong) |
|||
.collect(Collectors.toList()); |
|||
return tasksMapper.removeByIds(idsArr); |
|||
} |
|||
|
|||
@Override |
|||
public int stopTask(Long taskId) { |
|||
return tasksMapper.stopTask(taskId); |
|||
} |
|||
|
|||
} |
@ -0,0 +1,25 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.qyft.gd.mapper.TasksMapper"> |
|||
|
|||
<select id="selectPage" resultType="com.qyft.gd.model.vo.TaskListVO"> |
|||
SELECT * FROM tasks WHERE is_deleted = 0 |
|||
</select> |
|||
|
|||
<select id="selectById" resultType="com.qyft.gd.model.vo.TaskListVO"> |
|||
SELECT * FROM tasks WHERE is_deleted = 0 AND id = #{id} |
|||
</select> |
|||
<update id="removeByIds"> |
|||
UPDATE tasks |
|||
SET is_deleted = 1 |
|||
WHERE id IN |
|||
<foreach collection="list" item="id" index="index" open="(" separator="," close=")"> |
|||
#{id} |
|||
</foreach> |
|||
</update> |
|||
<update id="stopTask"> |
|||
UPDATE tasks |
|||
SET status = 2 |
|||
WHERE id = #{taskId} AND is_deleted = 0 |
|||
</update> |
|||
</mapper> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue