package cn.stylefeng.guns.db.controller; import cn.stylefeng.guns.base.db.entity.DatabaseInfo; import cn.stylefeng.guns.base.db.util.DbUtil; import cn.stylefeng.guns.base.pojo.page.LayuiPageFactory; import cn.stylefeng.guns.base.pojo.page.LayuiPageInfo; import cn.stylefeng.guns.base.db.model.params.DatabaseInfoParam; import cn.stylefeng.guns.base.db.service.DatabaseInfoService; import cn.stylefeng.roses.core.base.controller.BaseController; import cn.stylefeng.roses.core.util.ToolUtil; import cn.stylefeng.roses.kernel.model.response.ResponseData; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import java.util.List; import java.util.Map; /** * 数据库信息表控制器 * * @author stylefeng * @Date 2019-06-15 17:05:23 */ @Controller @RequestMapping("/databaseInfo") public class DatabaseInfoController extends BaseController { /** * session中标识已选择条件字段的key */ public static String CONDITION_FIELDS = "CONDITION_FIELDS"; private String PREFIX = "/modular/databaseInfo"; @Autowired private DatabaseInfoService databaseInfoService; /** * 跳转到主页面 * * @author stylefeng * @Date 2019-06-15 */ @RequestMapping("") public String index() { return PREFIX + "/databaseInfo.html"; } /** * 新增页面 * * @author stylefeng * @Date 2019-06-15 */ @RequestMapping("/add") public String add() { return PREFIX + "/databaseInfo_add.html"; } /** * 新增接口 * * @author stylefeng * @Date 2019-06-15 */ @RequestMapping("/addItem") @ResponseBody public ResponseData addItem(DatabaseInfoParam databaseInfoParam) { this.databaseInfoService.add(databaseInfoParam); return ResponseData.success(); } /** * 编辑接口 * * @author stylefeng * @Date 2019-06-15 */ @RequestMapping("/editItem") @ResponseBody public ResponseData editItem(DatabaseInfoParam databaseInfoParam) { //this.databaseInfoService.update(databaseInfoParam); return ResponseData.success(); } /** * 删除接口 * * @author stylefeng * @Date 2019-06-15 */ @RequestMapping("/delete") @ResponseBody public ResponseData delete(DatabaseInfoParam databaseInfoParam) { this.databaseInfoService.delete(databaseInfoParam); return ResponseData.success(); } /** * 查询列表 * * @author stylefeng * @Date 2019-06-15 */ @ResponseBody @RequestMapping("/list") public LayuiPageInfo list(@RequestParam(value = "condition", required = false) String condition) { DatabaseInfoParam databaseInfoParam = new DatabaseInfoParam(); databaseInfoParam.setDbName(condition); return this.databaseInfoService.findPageBySpec(databaseInfoParam); } /** * 获取某个数据源下的所有表 * * @author fengshuonan * @Date 2019/1/30 2:49 PM */ @RequestMapping("/tableList") @ResponseBody public Object tableList(Long dbId, HttpServletRequest request) { if (ToolUtil.isEmpty(dbId)) { return new LayuiPageInfo(); } //清空session中的字段条件信息 HttpSession session = request.getSession(); session.removeAttribute(CONDITION_FIELDS); try { DatabaseInfo databaseInfo = databaseInfoService.getById(dbId); List> maps = DbUtil.selectTables(databaseInfo); Page> objectPage = new Page<>(); objectPage.setRecords(maps); return LayuiPageFactory.createPageInfo(objectPage); } catch (Exception e) { Page> objectPage = new Page<>(); return LayuiPageFactory.createPageInfo(objectPage); } } }