/**
* Copyright (c) 2020 佳缘科技 All rights reserved.
*
* https://www.scjydz.com
*
* 版权所有,侵权必究!
*/
package com.wjp.modules.devtools.controller;
import com.wjp.common.page.PageData;
import com.wjp.common.utils.Result;
import com.wjp.modules.devtools.config.DataSourceInfo;
import com.wjp.modules.devtools.entity.DataSourceEntity;
import com.wjp.modules.devtools.service.DataSourceService;
import com.wjp.modules.devtools.utils.DbUtils;
import lombok.AllArgsConstructor;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
/**
* 数据源管理
*
* @author Toby javatangbin@163.com
*/
@AllArgsConstructor
@RestController
@RequestMapping("devtools/datasource")
public class DataSourceController {
private final DataSourceService datasourceService;
@GetMapping("page")
public Result> page(@RequestParam Map params) {
PageData page = datasourceService.page(params);
return new Result>().ok(page);
}
@GetMapping("list")
public Result> list() {
List list = datasourceService.list();
return new Result>().ok(list);
}
@GetMapping("{id}")
public Result get(@PathVariable("id") Long id) {
DataSourceEntity data = datasourceService.selectById(id);
return new Result().ok(data);
}
@GetMapping("test/{id}")
public Result test(@PathVariable("id") Long id) {
try {
DataSourceEntity entity = datasourceService.selectById(id);
DbUtils.getConnection(new DataSourceInfo(entity));
return new Result().ok("连接成功");
} catch (Exception e) {
e.printStackTrace();
return new Result().error("连接失败,请检查配置信息");
}
}
@PostMapping
public Result save(@RequestBody DataSourceEntity entity) {
datasourceService.insert(entity);
return new Result();
}
@PutMapping
public Result update(@RequestBody DataSourceEntity entity) {
datasourceService.updateById(entity);
return new Result();
}
@DeleteMapping
public Result delete(@RequestBody Long[] ids) {
datasourceService.deleteBatchIds(Arrays.asList(ids));
return new Result();
}
}