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<String, String> packageMap = (Map<String, String>) 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<TableColumnVO> 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.sys.domain.base");
|
|
voTemplate.setTableSimpleName(WordsUtils.extractFirstLetters(tableInfo.getName(), "_"));
|
|
objectMap.put("voInfo", voTemplate);
|
|
return new QueryHandler().handler(objectMap, data);
|
}
|
}
|