
io.github.wujun728.generate.modular.controller.CodeGenerateController Maven / Gradle / Ivy
package io.github.wujun728.generate.modular.controller;
import com.baomidou.mybatisplus.extension.toolkit.SqlRunner;
//import io.github.wujun728.common.util.ConstantContextHolder;
import io.github.wujun728.db.TreeBuildUtil;
import io.github.wujun728.generate.core.ref.PageResult;
import io.github.wujun728.generate.core.ref.ResponseData;
import io.github.wujun728.generate.core.ref.SuccessResponseData;
import io.github.wujun728.generate.modular.entity.CodeGenerate;
import io.github.wujun728.generate.modular.param.CodeGenerateParam;
import io.github.wujun728.generate.modular.service.CodeGenerateService;
import org.springframework.stereotype.Controller;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
* 代码生成器
*
* @auther yubaoshan
* @date 12/15/20 11:20 PM
*/
@Controller
@RequestMapping({"/","/api"})
public class CodeGenerateController {
private static String PATH_PREFIX = "generate/";
@Resource
private CodeGenerateService codeGenerateService;
/**
* 代码生成器页面
*
* @auther yubaoshan
* @date 12/15/20 11:20 PM
*/
@GetMapping("/codeGenerate/index")
public String index() {
return PATH_PREFIX + "index.html";
}
/**
* 代码生成器表单页面
*
* @auther yubaoshan
* @date 12/18/20 1:20 AM
*/
@GetMapping("/codeGenerate/form")
public String form() {
return PATH_PREFIX + "form.html";
}
/**
* 代码生成基础数据
*
*
* @date 2020年12月16日20:58:48
*/
//@Permission
@ResponseBody
@GetMapping("/codeGenerate/page")
//@BusinessLog(title = "代码生成配置_查询", opType = LogAnnotionOpTypeEnum.QUERY)
public PageResult page(CodeGenerateParam codeGenerateParam) {
return codeGenerateService.page(codeGenerateParam);
}
/**
* 代码生成基础配置保存
*
* @auther yubaoshan
* @date 12/15/20 11:20 PM
*/
//@Permission
@ResponseBody
@PostMapping("/codeGenerate/add")
//@BusinessLog(title = "代码生成配置_增加", opType = LogAnnotionOpTypeEnum.ADD)
public ResponseData add(@RequestBody @Validated(CodeGenerateParam.add.class) CodeGenerateParam codeGenerateParam) {
this.codeGenerateService.add(codeGenerateParam);
return new SuccessResponseData();
}
/**
* 代码生成基础配置编辑
*
* @auther yubaoshan
* @date 2020年12月16日20:56:19
*/
//@Permission
@ResponseBody
@PostMapping("/codeGenerate/edit")
//@BusinessLog(title = "代码生成配置_编辑", opType = LogAnnotionOpTypeEnum.EDIT)
public ResponseData edit(@RequestBody @Validated(CodeGenerateParam.add.class) CodeGenerateParam codeGenerateParam) {
codeGenerateService.edit(codeGenerateParam);
return new SuccessResponseData();
}
/**
* 删除代码生成基础配置
*
*
* @date 2020年12月16日22:13:32
*/
//@Permission
@ResponseBody
@PostMapping("/codeGenerate/delete")
//@BusinessLog(title = "代码生成配置_删除", opType = LogAnnotionOpTypeEnum.DELETE)
public ResponseData delete(@RequestBody @Validated(CodeGenerateParam.delete.class) List codeGenerateParamList) {
codeGenerateService.delete(codeGenerateParamList);
return new SuccessResponseData();
}
/**
* 查询当前数据库用户下的所有表
*
*
* @date 2020-12-16 01:55:48
*/
//@Permission
@ResponseBody
@GetMapping("/codeGenerate/InformationList")
//@BusinessLog(title = "数据库表列表_查询", opType = LogAnnotionOpTypeEnum.QUERY)
public ResponseData InformationList() {
return ResponseData.success(codeGenerateService.InformationTableList());
}
/**
* 代码生成基础配置生成
*
* @auther yubaoshan
* @date 12/15/20 11:20 PM
*/
//@Permission
@ResponseBody
@PostMapping("/codeGenerate/runLocal")
//@BusinessLog(title = "代码生成_本地项目", opType = LogAnnotionOpTypeEnum.OTHER)
public ResponseData runLocal(@RequestBody @Validated(CodeGenerateParam.detail.class) CodeGenerateParam codeGenerateParam) {
// 演示环境开启,则不允许操作
this.codeGenerateService.runLocal(codeGenerateParam);
return new SuccessResponseData();
}
/**
* 代码生成基础配置生成
*
* @auther yubaoshan
* @date 12/15/20 11:20 PM
*/
//@Permission
@GetMapping("/codeGenerate/runDown")
//@BusinessLog(title = "代码生成_下载方式", opType = LogAnnotionOpTypeEnum.OTHER)
public void runDown(@Validated(CodeGenerateParam.detail.class) CodeGenerateParam codeGenerateParam, HttpServletResponse response) {
// 演示环境开启,则不允许操作
this.codeGenerateService.runDown(codeGenerateParam, response);
}
/**
* 系统字典类型与字典值构造的树
*
*
* @date 2020/4/30 22:20
*/
@ResponseBody
@GetMapping("/sysDictType/tree")
// @BusinessLog(title = "系统字典类型_树", opType = LogAnnotionOpTypeEnum.QUERY)
public ResponseData tree() {
List list = SqlRunner.db().selectList(" SELECT id,dict_id as pid,value as code ,label as name from sys_dict_detail\n" +
"union\n" +
"SELECT id,0 as pid,code,name from sys_dict ");
return new SuccessResponseData(TreeBuildUtil.buildTree(list,"id","pid","children"));
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy