package com.monkeylessey.gen.handler; import com.baomidou.mybatisplus.generator.config.po.TableInfo; import com.monkeylessey.gen.VoTemplate; import com.monkeylessey.gen.domain.GenerateData; import com.monkeylessey.gen.utils.WordsUtils; import com.monkeylessey.sys.domain.vo.TableColumnVO; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.stream.Collectors; /** * @author xp * @version 1.0 * @date 2022/5/18 */ public class VoHandler { public Map handler(Map objectMap, GenerateData data) { // 获取table TableInfo tableInfo = (TableInfo) objectMap.get("table"); // 获取包信息 Map packageMap = (Map) objectMap.get("package"); // 实体类名称 String entityName = (String) objectMap.get("entity"); // 设置VO类相关 VoTemplate voTemplate = new VoTemplate(); // 设置VO名称 voTemplate.setVoName(entityName + "VO"); // 设置VO路径 voTemplate.setFormPath(packageMap.get("Parent") + packageMap.get("ModuleName") + ".sys.domain.vo"); List columns = new ArrayList<>(8); data.getColumns().stream() .filter(item -> !VoTemplate.removeFields.contains(item.getPropertyName())) .forEach(item -> { item.setRefTableSimpleName(WordsUtils.extractFirstLetters(item.getRefTableName(), "_")); columns.add(item); }); voTemplate.setFields(columns); // 设置vo的父类名 voTemplate.setBaseVoName("AbsVo"); voTemplate.setBaseVoPath("com.monkeylessey.base"); voTemplate.setTableSimpleName(WordsUtils.extractFirstLetters(tableInfo.getName(), "_")); objectMap.put("voInfo", voTemplate); return new QueryHandler().handler(objectMap, data); } }