diff --git a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java index 54418e3..f59aa10 100644 --- a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java +++ b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java @@ -20,7 +20,7 @@ public class AdminCodeGenerator { public static final String entity = "Bunny"; public static void main(String[] args) { - Generation("v_schedulers"); + Generation("sys_schedulers_group"); } /** diff --git a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java index 48602e7..851bbbc 100644 --- a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java +++ b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java @@ -3,11 +3,11 @@ package cn.bunny.common.generator.generator; import cn.bunny.common.generator.entity.BaseField; import cn.bunny.common.generator.entity.BaseResultMap; import cn.bunny.common.generator.utils.GeneratorCodeUtils; -import cn.bunny.dao.dto.schedulers.SchedulersAddDto; -import cn.bunny.dao.dto.schedulers.SchedulersDto; -import cn.bunny.dao.dto.schedulers.SchedulersUpdateDto; -import cn.bunny.dao.entity.schedulers.Schedulers; -import cn.bunny.dao.vo.schedulers.SchedulersVo; +import cn.bunny.dao.dto.schedulers.SchedulersGroupAddDto; +import cn.bunny.dao.dto.schedulers.SchedulersGroupDto; +import cn.bunny.dao.dto.schedulers.SchedulersGroupUpdateDto; +import cn.bunny.dao.entity.schedulers.SchedulersGroup; +import cn.bunny.dao.vo.schedulers.SchedulersGroupVo; import com.baomidou.mybatisplus.annotation.TableName; import com.google.common.base.CaseFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -51,11 +51,11 @@ public class WebGeneratorCode { public static String resourceMapperPath = "D:\\Project\\web\\PC\\auth\\auth-server-java\\service\\src\\main\\resources\\mapper\\"; public static void main(String[] args) throws Exception { - Class originalClass = Schedulers.class; - Class dtoClass = SchedulersDto.class; - Class addDtoClass = SchedulersAddDto.class; - Class updateDtoClass = SchedulersUpdateDto.class; - Class voClass = SchedulersVo.class; + Class originalClass = SchedulersGroup.class; + Class dtoClass = SchedulersGroupDto.class; + Class addDtoClass = SchedulersGroupAddDto.class; + Class updateDtoClass = SchedulersGroupUpdateDto.class; + Class voClass = SchedulersGroupVo.class; // 设置velocity资源加载器 Properties prop = new Properties(); diff --git a/dao/src/main/java/cn/bunny/dao/dto/schedulers/SchedulersGroupAddDto.java b/dao/src/main/java/cn/bunny/dao/dto/schedulers/SchedulersGroupAddDto.java new file mode 100644 index 0000000..f035be4 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/schedulers/SchedulersGroupAddDto.java @@ -0,0 +1,26 @@ +package cn.bunny.dao.dto.schedulers; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "SchedulersGroupAddDto对象", title = "添加任务调度分组", description = "添加任务调度分组") +public class SchedulersGroupAddDto { + + @Schema(name = "groupName", title = "分组名称") + @NotBlank(message = "分组名称不能为空") + @NotNull(message = "分组名称不能为空") + private String groupName; + + @Schema(name = "description", title = "分组详情") + private String description; + +} diff --git a/dao/src/main/java/cn/bunny/dao/dto/schedulers/SchedulersGroupDto.java b/dao/src/main/java/cn/bunny/dao/dto/schedulers/SchedulersGroupDto.java new file mode 100644 index 0000000..2d8ef04 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/schedulers/SchedulersGroupDto.java @@ -0,0 +1,24 @@ +package cn.bunny.dao.dto.schedulers; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "SchedulersGroupDto对象", title = "分页查询任务调度分组", description = "分页查询任务调度分组") +public class SchedulersGroupDto { + + @Schema(name = "groupName", title = "分组名称") + private String groupName; + + @Schema(name = "description", title = "分组详情") + private String description; + +} + + diff --git a/dao/src/main/java/cn/bunny/dao/dto/schedulers/SchedulersGroupUpdateDto.java b/dao/src/main/java/cn/bunny/dao/dto/schedulers/SchedulersGroupUpdateDto.java new file mode 100644 index 0000000..b0b5894 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/schedulers/SchedulersGroupUpdateDto.java @@ -0,0 +1,30 @@ +package cn.bunny.dao.dto.schedulers; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "SchedulersGroupUpdateDto对象", title = "更新任务调度分组", description = "更新任务调度分组") +public class SchedulersGroupUpdateDto { + + @Schema(name = "id", title = "主键") + @NotNull(message = "id不能为空") + private Long id; + + @Schema(name = "groupName", title = "分组名称") + @NotBlank(message = "分组名称不能为空") + @NotNull(message = "分组名称不能为空") + private String groupName; + + @Schema(name = "description", title = "分组详情") + private String description; + +} \ No newline at end of file diff --git a/dao/src/main/java/cn/bunny/dao/entity/schedulers/SchedulersGroup.java b/dao/src/main/java/cn/bunny/dao/entity/schedulers/SchedulersGroup.java new file mode 100644 index 0000000..b8e5eeb --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/entity/schedulers/SchedulersGroup.java @@ -0,0 +1,32 @@ +package cn.bunny.dao.entity.schedulers; + +import cn.bunny.dao.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +/** + *

+ * 任务调度分组表 + *

+ * + * @author Bunny + * @since 2024-10-15 + */ +@Getter +@Setter +@Accessors(chain = true) +@TableName("sys_schedulers_group") +@Schema(name = "SchedulersGroup对象", title = "任务调度分组", description = "任务调度分组") +public class SchedulersGroup extends BaseEntity { + + @Schema(name = "groupName", title = "分组名称") + private String groupName; + + @Schema(name = "description", title = "分组详情") + private String description; + +} + diff --git a/dao/src/main/java/cn/bunny/dao/vo/schedulers/SchedulersGroupVo.java b/dao/src/main/java/cn/bunny/dao/vo/schedulers/SchedulersGroupVo.java new file mode 100644 index 0000000..8572b7d --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/vo/schedulers/SchedulersGroupVo.java @@ -0,0 +1,22 @@ +package cn.bunny.dao.vo.schedulers; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "SchedulersGroupVo", title = "任务调度分组返回对象", description = "任务调度分组返回对象") +public class SchedulersGroupVo { + + @Schema(name = "groupName", title = "分组名称") + private String groupName; + + @Schema(name = "description", title = "分组详情") + private String description; + +} \ No newline at end of file diff --git a/service/src/main/java/cn/bunny/services/controller/SchedulersGroupController.java b/service/src/main/java/cn/bunny/services/controller/SchedulersGroupController.java new file mode 100644 index 0000000..a420daa --- /dev/null +++ b/service/src/main/java/cn/bunny/services/controller/SchedulersGroupController.java @@ -0,0 +1,72 @@ +package cn.bunny.services.controller; + +import cn.bunny.dao.dto.schedulers.SchedulersGroupAddDto; +import cn.bunny.dao.dto.schedulers.SchedulersGroupDto; +import cn.bunny.dao.dto.schedulers.SchedulersGroupUpdateDto; +import cn.bunny.dao.entity.schedulers.SchedulersGroup; +import cn.bunny.dao.pojo.result.PageResult; +import cn.bunny.dao.pojo.result.Result; +import cn.bunny.dao.pojo.result.ResultCodeEnum; +import cn.bunny.dao.vo.schedulers.SchedulersGroupVo; +import cn.bunny.services.service.SchedulersGroupService; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import reactor.core.publisher.Mono; + +import java.util.List; + +/** + *

+ * 任务调度分组表 前端控制器 + *

+ * + * @author Bunny + * @since 2024-10-15 20:26:32 + */ +@Tag(name = "任务调度分组", description = "任务调度分组相关接口") +@RestController +@RequestMapping("admin/schedulersGroup") +public class SchedulersGroupController { + + @Autowired + private SchedulersGroupService schedulersGroupService; + + @Operation(summary = "分页查询任务调度分组", description = "分页查询任务调度分组") + @GetMapping("getSchedulersGroupList/{page}/{limit}") + public Mono>> getSchedulersGroupList( + @Parameter(name = "page", description = "当前页", required = true) + @PathVariable("page") Integer page, + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable("limit") Integer limit, + SchedulersGroupDto dto) { + Page pageParams = new Page<>(page, limit); + PageResult pageResult = schedulersGroupService.getSchedulersGroupList(pageParams, dto); + return Mono.just(Result.success(pageResult)); + } + + @Operation(summary = "添加任务调度分组", description = "添加任务调度分组") + @PostMapping("addSchedulersGroup") + public Mono> addSchedulersGroup(@Valid @RequestBody SchedulersGroupAddDto dto) { + schedulersGroupService.addSchedulersGroup(dto); + return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS)); + } + + @Operation(summary = "更新任务调度分组", description = "更新任务调度分组") + @PutMapping("updateSchedulersGroup") + public Mono> updateSchedulersGroup(@Valid @RequestBody SchedulersGroupUpdateDto dto) { + schedulersGroupService.updateSchedulersGroup(dto); + return Mono.just(Result.success(ResultCodeEnum.UPDATE_SUCCESS)); + } + + @Operation(summary = "删除任务调度分组", description = "删除任务调度分组") + @DeleteMapping("deleteSchedulersGroup") + public Mono> deleteSchedulersGroup(@RequestBody List ids) { + schedulersGroupService.deleteSchedulersGroup(ids); + return Mono.just(Result.success(ResultCodeEnum.DELETE_SUCCESS)); + } +} diff --git a/service/src/main/java/cn/bunny/services/mapper/SchedulersGroupMapper.java b/service/src/main/java/cn/bunny/services/mapper/SchedulersGroupMapper.java new file mode 100644 index 0000000..5b414d4 --- /dev/null +++ b/service/src/main/java/cn/bunny/services/mapper/SchedulersGroupMapper.java @@ -0,0 +1,39 @@ +package cn.bunny.services.mapper; + +import cn.bunny.dao.dto.schedulers.SchedulersGroupDto; +import cn.bunny.dao.entity.schedulers.SchedulersGroup; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 任务调度分组 Mapper 接口 + *

+ * + * @author Bunny + * @since 2024-10-15 20:26:32 + */ +@Mapper +public interface SchedulersGroupMapper extends BaseMapper { + + /** + * * 分页查询任务调度分组内容 + * + * @param pageParams 任务调度分组分页参数 + * @param dto 任务调度分组查询表单 + * @return 任务调度分组分页结果 + */ + IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") SchedulersGroupDto dto); + + /** + * 物理删除任务调度分组 + * + * @param ids 删除 id 列表 + */ + void deleteBatchIdsWithPhysics(List ids); +} diff --git a/service/src/main/java/cn/bunny/services/service/SchedulersGroupService.java b/service/src/main/java/cn/bunny/services/service/SchedulersGroupService.java new file mode 100644 index 0000000..184a20c --- /dev/null +++ b/service/src/main/java/cn/bunny/services/service/SchedulersGroupService.java @@ -0,0 +1,52 @@ +package cn.bunny.services.service; + +import cn.bunny.dao.dto.schedulers.SchedulersGroupAddDto; +import cn.bunny.dao.dto.schedulers.SchedulersGroupDto; +import cn.bunny.dao.dto.schedulers.SchedulersGroupUpdateDto; +import cn.bunny.dao.entity.schedulers.SchedulersGroup; +import cn.bunny.dao.pojo.result.PageResult; +import cn.bunny.dao.vo.schedulers.SchedulersGroupVo; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import jakarta.validation.Valid; + +import java.util.List; + +/** + *

+ * 任务调度分组 服务类 + *

+ * + * @author Bunny + * @since 2024-10-15 20:26:32 + */ +public interface SchedulersGroupService extends IService { + + /** + * * 获取任务调度分组列表 + * + * @return 任务调度分组返回列表 + */ + PageResult getSchedulersGroupList(Page pageParams, SchedulersGroupDto dto); + + /** + * * 添加任务调度分组 + * + * @param dto 添加表单 + */ + void addSchedulersGroup(@Valid SchedulersGroupAddDto dto); + + /** + * * 更新任务调度分组 + * + * @param dto 更新表单 + */ + void updateSchedulersGroup(@Valid SchedulersGroupUpdateDto dto); + + /** + * * 删除|批量删除任务调度分组类型 + * + * @param ids 删除id列表 + */ + void deleteSchedulersGroup(List ids); +} diff --git a/service/src/main/java/cn/bunny/services/service/impl/SchedulersGroupServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/SchedulersGroupServiceImpl.java new file mode 100644 index 0000000..6aac568 --- /dev/null +++ b/service/src/main/java/cn/bunny/services/service/impl/SchedulersGroupServiceImpl.java @@ -0,0 +1,92 @@ +package cn.bunny.services.service.impl; + +import cn.bunny.dao.dto.schedulers.SchedulersGroupAddDto; +import cn.bunny.dao.dto.schedulers.SchedulersGroupDto; +import cn.bunny.dao.dto.schedulers.SchedulersGroupUpdateDto; +import cn.bunny.dao.entity.schedulers.SchedulersGroup; +import cn.bunny.dao.pojo.result.PageResult; +import cn.bunny.dao.vo.schedulers.SchedulersGroupVo; +import cn.bunny.services.mapper.SchedulersGroupMapper; +import cn.bunny.services.service.SchedulersGroupService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.validation.Valid; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + *

+ * 任务调度分组 服务实现类 + *

+ * + * @author Bunny + * @since 2024-10-15 20:26:32 + */ +@Service +public class SchedulersGroupServiceImpl extends ServiceImpl implements SchedulersGroupService { + + /** + * * 任务调度分组 服务实现类 + * + * @param pageParams 任务调度分组分页查询page对象 + * @param dto 任务调度分组分页查询对象 + * @return 查询分页任务调度分组返回对象 + */ + @Override + public PageResult getSchedulersGroupList(Page pageParams, SchedulersGroupDto dto) { + // 分页查询菜单图标 + IPage page = baseMapper.selectListByPage(pageParams, dto); + + List voList = page.getRecords().stream().map(schedulersGroup -> { + SchedulersGroupVo schedulersGroupVo = new SchedulersGroupVo(); + BeanUtils.copyProperties(schedulersGroup, schedulersGroupVo); + return schedulersGroupVo; + }).toList(); + + return PageResult.builder() + .list(voList) + .pageNo(page.getCurrent()) + .pageSize(page.getSize()) + .total(page.getTotal()) + .build(); + } + + /** + * 添加任务调度分组 + * + * @param dto 任务调度分组添加 + */ + @Override + public void addSchedulersGroup(@Valid SchedulersGroupAddDto dto) { + // 保存数据 + SchedulersGroup schedulersGroup = new SchedulersGroup(); + BeanUtils.copyProperties(dto, schedulersGroup); + save(schedulersGroup); + } + + /** + * 更新任务调度分组 + * + * @param dto 任务调度分组更新 + */ + @Override + public void updateSchedulersGroup(@Valid SchedulersGroupUpdateDto dto) { + // 更新内容 + SchedulersGroup schedulersGroup = new SchedulersGroup(); + BeanUtils.copyProperties(dto, schedulersGroup); + updateById(schedulersGroup); + } + + /** + * 删除|批量删除任务调度分组 + * + * @param ids 删除id列表 + */ + @Override + public void deleteSchedulersGroup(List ids) { + baseMapper.deleteBatchIdsWithPhysics(ids); + } +} diff --git a/service/src/main/resources/mapper/SchedulersGroupMapper.xml b/service/src/main/resources/mapper/SchedulersGroupMapper.xml new file mode 100644 index 0000000..21e7857 --- /dev/null +++ b/service/src/main/resources/mapper/SchedulersGroupMapper.xml @@ -0,0 +1,48 @@ + + + + + + + + + + + + + + + + + + + id, create_time, update_time, create_user, update_user, is_deleted, group_name, description + + + + + + + + delete + from sys_schedulers_group + where id in + + #{id} + + + +