import { convertUpperCamel } from '/@/utils/str-util'; // -------------------------------- java 类型 -------------------------------- export const JavaTypeMap = new Map(); JavaTypeMap.set('bit', 'Boolean'); JavaTypeMap.set('bool', 'Boolean'); JavaTypeMap.set('int', 'Integer'); JavaTypeMap.set('int2', 'Integer'); JavaTypeMap.set('int4', 'Integer'); JavaTypeMap.set('tinyint', 'Integer'); JavaTypeMap.set('smallint', 'Integer'); JavaTypeMap.set('integer', 'Integer'); JavaTypeMap.set('year', 'Integer'); JavaTypeMap.set('bigint', 'Long'); JavaTypeMap.set('int8', 'Long'); JavaTypeMap.set('float', 'BigDecimal'); JavaTypeMap.set('double', 'BigDecimal'); JavaTypeMap.set('decimal', 'BigDecimal'); JavaTypeMap.set('char', 'String'); JavaTypeMap.set('varchar', 'String'); JavaTypeMap.set('tinytext', 'String'); JavaTypeMap.set('text', 'String'); JavaTypeMap.set('longtext', 'String'); JavaTypeMap.set('blob', 'String'); JavaTypeMap.set('date', 'LocalDate'); JavaTypeMap.set('datetime', 'LocalDateTime'); JavaTypeMap.set('timestamp', 'LocalDateTime'); JavaTypeMap.set('timestamp without time zone', 'LocalDateTime'); export const JavaTypeList = [ 'Boolean', // 'Integer', // 'Long', // 'Double', // 'String', // 'BigDecimal', // 'LocalDate', // 'LocalDateTime', // ]; export function getJavaType(dataType) { return JavaTypeMap.get(dataType); } // -------------------------------- js 类型 -------------------------------- export const JsTypeMap = new Map(); JsTypeMap.set('bit', 'Boolean'); JsTypeMap.set('bool', 'Boolean'); JsTypeMap.set('int', 'Number'); JsTypeMap.set('int2', 'Number'); JsTypeMap.set('int4', 'Number'); JsTypeMap.set('int8', 'Number'); JsTypeMap.set('tinyint', 'Number'); JsTypeMap.set('smallint', 'Number'); JsTypeMap.set('integer', 'Number'); JsTypeMap.set('year', 'Number'); JsTypeMap.set('bigint', 'Number'); JsTypeMap.set('float', 'Number'); JsTypeMap.set('double', 'Number'); JsTypeMap.set('decimal', 'Number'); JsTypeMap.set('char', 'String'); JsTypeMap.set('varchar', 'String'); JsTypeMap.set('character', 'String'); JsTypeMap.set('tinytext', 'String'); JsTypeMap.set('text', 'String'); JsTypeMap.set('longtext', 'String'); JsTypeMap.set('blob', 'String'); JsTypeMap.set('date', 'Date'); JsTypeMap.set('datetime', 'Date'); JsTypeMap.set('timestamp', 'Date'); JsTypeMap.set('timestamp without time zone', 'Date'); export const JsTypeList = [ 'Boolean', // 'Number', // 'String', // 'Date', // ]; export function getJsType(dataType) { return JsTypeMap.get(dataType); } // -------------------------------- 前端组件 -------------------------------- export const FrontComponentMap = new Map(); FrontComponentMap.set('bit', 'BooleanSelect'); FrontComponentMap.set('bool', 'BooleanSelect'); FrontComponentMap.set('int', 'InputNumber'); FrontComponentMap.set('int2', 'InputNumber'); FrontComponentMap.set('int4', 'InputNumber'); FrontComponentMap.set('int8', 'InputNumber'); FrontComponentMap.set('tinyint', 'InputNumber'); FrontComponentMap.set('smallint', 'InputNumber'); FrontComponentMap.set('integer', 'InputNumber'); FrontComponentMap.set('year', 'Date'); FrontComponentMap.set('timestamp', 'Date'); FrontComponentMap.set('bigint', 'InputNumber'); FrontComponentMap.set('float', 'InputNumber'); FrontComponentMap.set('double', 'InputNumber'); FrontComponentMap.set('decimal', 'InputNumber'); FrontComponentMap.set('char', 'Input'); FrontComponentMap.set('varchar', 'Input'); FrontComponentMap.set('character', 'Input'); FrontComponentMap.set('tinytext', 'Input'); FrontComponentMap.set('text', 'Textarea'); FrontComponentMap.set('longtext', 'Textarea'); FrontComponentMap.set('blob', 'FileUpload'); FrontComponentMap.set('date', 'Date'); FrontComponentMap.set('datetime', 'DateTime'); FrontComponentMap.set('timestamp without time zone', 'DateTime'); export function getFrontComponent(dataType) { return FrontComponentMap.get(dataType); } // -------------------------------- 前端文件 -------------------------------- export const LANGUAGE_LIST = [ 'js', // 'ts', // 'java', // ]; export const JS_FILE_LIST = [ 'js/list.vue', // 'js/form.vue', // 'js/api.js', // 'js/const.js', // ]; export const TS_FILE_LIST = [ 'ts/list.vue', // 'ts/form.vue', // 'ts/api.ts', // 'ts/const.ts', // ]; // -------------------------------- 后端文件 -------------------------------- export const JAVA_DOMAIN_FILE_LIST = [ 'Entity.java', // 'AddForm.java', // 'UpdateForm.java', // 'QueryForm.java', // 'VO.java', // ]; export const JAVA_FILE_LIST = [ 'Controller.java', // 'Service.java', // 'Manager.java', // 'Dao.java', // 'Mapper.xml', // ...JAVA_DOMAIN_FILE_LIST, 'Menu.sql', // ]; // -------------------------------- 枚举enum -------------------------------- export function convertJavaEnumName(moduleName, columnName) { return moduleName + convertUpperCamel(columnName) + 'Enum'; } /** * 检测是否有枚举 */ export function checkExistEnum(comment) { if (!comment) { return false; } // 检测是否存在 [ ] 或者 【 】 let leftBracketIndex = comment.indexOf('['); if (leftBracketIndex === -1) { leftBracketIndex = comment.indexOf('【'); } let rightBracketIndex = comment.indexOf(']'); if (rightBracketIndex === -1) { leftBracketIndex = comment.indexOf('】'); } if (leftBracketIndex === -1 || rightBracketIndex === -1) { return false; } if (comment.indexOf(':') === -1) { return false; } return true; }