package com.artfess.security.controller; import com.artfess.base.annotation.ApiGroup; import com.artfess.base.constants.ApiGroupConsts; import com.artfess.base.controller.BaseController; import com.artfess.base.model.CommonResult; import com.artfess.base.query.PageList; import com.artfess.base.query.QueryFilter; import com.artfess.security.manager.BackupDatasourceManager; import com.artfess.security.manager.BackupLogManager; import com.artfess.security.model.BackupDatasource; import com.artfess.security.model.BackupLog; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.Arrays; import java.util.List; /** * 数据库备份管理 前端控制器 * * @company wh * @author wh * @since 2021-04-22 */ @Api(tags="数据库备份管理") @RestController @ApiGroup(group= {ApiGroupConsts.GROUP_UC}) @RequestMapping("/uc/backupDatasource/v1/") public class BackupDatasourceController extends BaseController { @Autowired private BackupDatasourceManager backupService; @Autowired private BackupLogManager logService; @PostMapping(value = "/insertBackupDatasource") @ApiOperation("新增数据保备份配置") //@RequiresPermissions("BackupDatasource:add") public CommonResult insertBackupDatasource(@RequestBody BackupDatasource configEntity) { try { backupService.save(configEntity); return new CommonResult(true,"新增数据保备份配置成功",null); } catch (Exception e) { return new CommonResult(false,"新增数据保备份配置失败",e.getMessage()); } } @PostMapping(value = "/updateBackupDatasource") @ApiOperation("修改数据保备份配置") public CommonResult updateBackupDatasource(@RequestBody BackupDatasource configEntity) { try { backupService.saveOrUpdate(configEntity); return new CommonResult(true,"修改数据保备份配置成功",null); } catch (Exception e) { return new CommonResult(false,"修改数据保备份配置失败",e.getMessage()); } } @PostMapping(value = "/deleteBackupDatasource") @ApiOperation("批量删除数据保备份配置") @ApiImplicitParam(name = "ids", value = "数据保备份配置ID,批量删除用逗号隔开", required = true) public CommonResult deleteBackupDatasource(@RequestParam String ids) { try { if(StringUtils.isNotBlank(ids)){ List idList= Arrays.asList(ids.split(",")); this.backupService.removeByIds(idList); }else{ return new CommonResult(false,"ids不能为空",null); } return new CommonResult(true,"批量删除数据保备份配置成功",null); } catch (Exception e) { return new CommonResult(false,"批量删除数据保备份配置失败",e.getMessage()); } } @PostMapping(value = "/slicedQueryBackupDatasources") @ApiOperation("分页查询数据保备份配置列表") public PageList list(@ApiParam(name="queryFilter", value="分页查询信息") @RequestBody QueryFilter queryFilter) { //QueryFilter queryFilter=QueryFilter.build(); //String userName= AuthenticationUtil.getCurrentUsername(); //queryFilter.withQuery(new QueryField("user_name", userName, QueryOP.EQUAL, FieldRelation.AND)); return backupService.query(queryFilter); } @PostMapping(value = "/slicedQueryBackupLog") @ApiOperation("分页查询数据保备份配置日志列表") public PageList logList(@ApiParam(name="queryFilter", value="分页查询信息") @RequestBody QueryFilter queryFilter) { //QueryFilter queryFilter=QueryFilter.build(); //String userName= AuthenticationUtil.getCurrentUsername(); //queryFilter.withQuery(new QueryField("user_name", userName, QueryOP.EQUAL, FieldRelation.AND)); return logService.query(queryFilter); } @PostMapping(value = "/loadBackupDatasource") @ApiOperation("根据ID查询数据保备份配置") //@RequiresPermissions("BackupDatasource:load") public BackupDatasource loadBackupDatasource(String id) { BackupDatasource BackupDatasource=this.backupService.getById(id); return BackupDatasource; } //测试数据库连接 @PostMapping(value = "/testDb") @ApiOperation("测试数据库连接") //@RequiresPermissions("BackupDatasource:load") public CommonResult testDb(String id) { try { String result=this.backupService.testDB(id); return new CommonResult(true,"测试数据库连接成功",result); } catch (Exception e) { return new CommonResult(false,"测试数据库连接失败",e.getMessage()); } } //测试服务器连接 @PostMapping(value = "/testSystem") @ApiOperation("测试服务器连接") //@RequiresPermissions("BackupDatasource:load") public CommonResult testSystem(String id) { try { String result=this.backupService.testSystem(id); return new CommonResult(true,"测试服务器连接成功",result); } catch (Exception e) { return new CommonResult(false,"测试服务器连接失败",e.getMessage()); } } //手动备份 @PostMapping(value = "/backUpDataBase") @ApiOperation("手动备份") //@RequiresPermissions("BackupDatasource:load") public CommonResult backUpDataBase(String id) { try { this.backupService.backUpDataBase(id); return new CommonResult(true,"手动备份成功",""); } catch (Exception e) { return new CommonResult(false,"手动备份失败",""); } } @PostMapping(value = "/reduction") @ApiOperation("手动还原") //@RequiresPermissions("BackupDatasource:load") public CommonResult Reduction(String id) { try { this.backupService.Reduction(id); return new CommonResult(true,"手动还原成功",""); } catch (Exception e) { return new CommonResult(false,"手动还原失败",""); } } }