diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/DataBaseController.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/DataBaseController.java new file mode 100644 index 0000000..d0b9b79 --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/controller/DataBaseController.java @@ -0,0 +1,136 @@ + +package org.springblade.plugin.operation.database.controller; + +import com.alibaba.nacos.common.utils.CollectionUtils; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import io.swagger.annotations.ApiParam; +import lombok.AllArgsConstructor; +import org.springblade.core.boot.ctrl.BladeController; +import org.springblade.core.cache.utils.CacheUtil; +import org.springblade.core.excel.util.ExcelUtil; +import org.springblade.core.mp.support.Condition; +import org.springblade.core.mp.support.Query; +import org.springblade.core.tenant.annotation.NonDS; +import org.springblade.core.tool.api.R; +import org.springblade.core.tool.utils.BeanUtil; +import org.springblade.core.tool.utils.DateUtil; +import org.springblade.core.tool.utils.Func; +import org.springblade.plugin.operation.database.entity.DataBase; +import org.springblade.plugin.operation.database.excel.DatabaseExcel; +import org.springblade.plugin.operation.database.service.IDataBaseService; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; + +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import static org.springblade.core.cache.constant.CacheConstant.SYS_CACHE; + +/** + * + * + */ +@NonDS +@RestController +@AllArgsConstructor +@RequestMapping("/database") +@Api(value = "接口权限", tags = "接口权限") +public class DataBaseController extends BladeController { + + private final IDataBaseService dataBaseService; + + /** + * 详情 + */ + @GetMapping("/detail") + @ApiOperationSupport(order = 1) + @ApiOperation(value = "详情", notes = "传入dataScope") + public R detail(DataBase dataBase) { + DataBase detail = dataBaseService.getOne(Condition.getQueryWrapper(dataBase)); + return R.data(detail); + } + + /** + * 分页 + */ + @GetMapping("/list") + @ApiOperationSupport(order = 2) + @ApiOperation(value = "分页", notes = "传入dataScope") + public R> list(DataBase dataBase, Query query) { + IPage pages = dataBaseService.page(Condition.getPage(query), Condition.getQueryWrapper(dataBase)); + return R.data(pages); + } + + /** + * 新增 + */ + @PostMapping("/save") + @ApiOperationSupport(order = 3) + @ApiOperation(value = "新增", notes = "传入dataScope") + public R save(@Valid @RequestBody DataBase dataBase) { + return R.status(dataBaseService.save(dataBase)); + } + + /** + * 修改 + */ + @PostMapping("/update") + @ApiOperationSupport(order = 4) + @ApiOperation(value = "修改", notes = "传入dataScope") + public R update(@Valid @RequestBody DataBase dataBase) { + return R.status(dataBaseService.updateById(dataBase)); + } + + /** + * 新增或修改 + */ + @PostMapping("/submit") + @ApiOperationSupport(order = 5) + @ApiOperation(value = "新增或修改", notes = "传入dataScope") + public R submit(@Valid @RequestBody DataBase dataBase) { + return R.status(dataBaseService.saveOrUpdate(dataBase)); + } + + /** + * 删除 + */ + @PostMapping("/remove") + @ApiOperationSupport(order = 6) + @ApiOperation(value = "逻辑删除", notes = "传入ids") + public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + return R.status(dataBaseService.deleteLogic(Func.toLongList(ids))); + } + + /** + * excel导入 + */ + @PostMapping("dataImport") + public R importUser(MultipartFile file) { + List excelList = ExcelUtil.read(file, DatabaseExcel.class); + if (CollectionUtils.isNotEmpty(excelList)) { + List dataBaseList = new ArrayList<>(); + excelList.forEach(item->{ + DataBase dataBase = BeanUtil.copy(item, DataBase.class); + dataBaseList.add(dataBase); + }); + dataBaseService.saveBatch(dataBaseList); + } + return R.success("操作成功"); + } + + /** + * excel导出模板 + */ + @GetMapping("exportTemplate") + public void exportUser(HttpServletResponse response) { + List excels = new ArrayList<>(); + ExcelUtil.export(response, "数据库数据" + DateUtil.time(), "数据库数据", excels, DatabaseExcel.class); + } +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/DataBase.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/DataBase.java index 74e654c..d72e7d6 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/DataBase.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/entity/DataBase.java @@ -61,4 +61,16 @@ public class DataBase extends TenantEntity { * 中文别名 */ private String dataTableAlias; + + /** + * 管理部门id + */ + private Long deptId; + + /** + * 运维公司id + */ + private Long company; + + } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java index 37ab3f2..b1dd385 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/excel/DatabaseExcel.java @@ -11,52 +11,48 @@ public class DatabaseExcel implements Serializable { private static final long serialVersionUID = 1L; - @ColumnWidth(20) - @ExcelProperty("序号") - private String number; - @ColumnWidth(20) @ExcelProperty("IP地址") - private String ip; + private String dataBaseIp; @ColumnWidth(20) @ExcelProperty("端口号") - private String port; + private String dataBasePort; @ColumnWidth(20) @ExcelProperty("数据库实例") - private String databaseInstance; + private String dataBaseName; @ColumnWidth(20) @ExcelProperty("数据库类型") - private String databaseType; + private String dataBaseType; @ColumnWidth(20) @ExcelProperty("数据库中文名") - private String databaseChineseName; + private String dataBaseAlias; @ColumnWidth(20) @ExcelProperty("系统名称") - private String code1; + private String systemName; @ColumnWidth(20) @ExcelProperty("模块名称") - private String code2; + private String systemModuleName; @ColumnWidth(20) @ExcelProperty("管理部门") - private String code3; + private String deptId; @ColumnWidth(20) @ExcelProperty("运维公司") - private String code4; + private String company; @ColumnWidth(20) @ExcelProperty("表名") - private String code5; + private String dataTableName; @ColumnWidth(20) @ExcelProperty("中文表别名") - private String code6; + private String dataTableAlias; } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.java new file mode 100644 index 0000000..3b2be7d --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.java @@ -0,0 +1,14 @@ + +package org.springblade.plugin.operation.database.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.springblade.plugin.operation.database.entity.DataBase; + +/** + * Mapper 接口 + * + * @author BladeX + */ +public interface DataBaseMapper extends BaseMapper { + +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.xml b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.xml new file mode 100644 index 0000000..4b919df --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/mapper/DataBaseMapper.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IDataBaseService.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IDataBaseService.java new file mode 100644 index 0000000..3989294 --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/IDataBaseService.java @@ -0,0 +1,14 @@ + +package org.springblade.plugin.operation.database.service; + +import org.springblade.core.mp.base.BaseService; +import org.springblade.plugin.operation.database.entity.DataBase; + +/** + * 服务类 + * + * @author BladeX + */ +public interface IDataBaseService extends BaseService { + +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataBaseServiceImpl.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataBaseServiceImpl.java new file mode 100644 index 0000000..c6afc39 --- /dev/null +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/database/service/impl/DataBaseServiceImpl.java @@ -0,0 +1,18 @@ + +package org.springblade.plugin.operation.database.service.impl; + +import org.springblade.core.mp.base.BaseServiceImpl; +import org.springblade.plugin.operation.database.entity.DataBase; +import org.springblade.plugin.operation.database.mapper.DataBaseMapper; +import org.springblade.plugin.operation.database.service.IDataBaseService; +import org.springframework.stereotype.Service; + +/** + * 服务实现类 + * + * @author BladeX + */ +@Service +public class DataBaseServiceImpl extends BaseServiceImpl implements IDataBaseService { + +} diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/entity/ModuleInfo.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/entity/ModuleInfo.java index 4102e79..b01cf16 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/entity/ModuleInfo.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/entity/ModuleInfo.java @@ -15,7 +15,7 @@ public class ModuleInfo extends TenantEntity { /** * 主表id */ - private String projectInfoId; + private Long projectInfoId; /** * 模块名称 diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/entity/ProjectInfo.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/entity/ProjectInfo.java index 862a0ba..79a60a8 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/entity/ProjectInfo.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/system/entity/ProjectInfo.java @@ -13,17 +13,17 @@ public class ProjectInfo extends TenantEntity { private static final long serialVersionUID = 1L; /** - * 任务分类名称 + * 系统名称 */ - private String name; + private String projectName; /** - * 上级id + * 管理部门id */ - private Long pid; + private Long manageDeptId; /** - * 排序 + * 运维部门id */ - private Integer sort; + private Long maintenanceDeptId; } diff --git a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/entity/TaskInfo.java b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/entity/TaskInfo.java index 6612583..4686464 100644 --- a/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/entity/TaskInfo.java +++ b/lab-plugin/lab-workflow/src/main/java/org/springblade/plugin/operation/task/entity/TaskInfo.java @@ -20,10 +20,10 @@ public class TaskInfo extends TenantEntity { /** * 任务父类,字典id */ - private String taskParentId; + private Long taskParentId; /** * 人物等级,字典id */ - private String taskLevel; + private Long taskLevel; }