Commit 34a3d06a authored by 赵啸非's avatar 赵啸非

添加列表删除映射模板

parent 963ff10a
...@@ -107,11 +107,11 @@ ...@@ -107,11 +107,11 @@
</span> </span>
<el-select v-model="info.isShowControl"> <el-select v-model="info.isShowControl">
<el-option label="RequestJsonBody" value="0" /> <el-option label="RequestForm" value="0" />
<!-- <!--
<el-option label="RequestPOSTMapping" value="1" /> <el-option label="RequestPOSTMapping" value="1" />
--> -->
<el-option label="RequestForm" value="2" /> <el-option label="RequestJsonBody" value="2" />
</el-select> </el-select>
</el-form-item> </el-form-item>
......
...@@ -249,10 +249,7 @@ hljs.registerLanguage("html", require("highlight.js/lib/languages/xml")); ...@@ -249,10 +249,7 @@ hljs.registerLanguage("html", require("highlight.js/lib/languages/xml"));
hljs.registerLanguage("vue", require("highlight.js/lib/languages/xml")); hljs.registerLanguage("vue", require("highlight.js/lib/languages/xml"));
hljs.registerLanguage("test", require("highlight.js/lib/languages/xml")); hljs.registerLanguage("test", require("highlight.js/lib/languages/xml"));
hljs.registerLanguage("md", require("highlight.js/lib/languages/xml")); hljs.registerLanguage("md", require("highlight.js/lib/languages/xml"));
hljs.registerLanguage( hljs.registerLanguage("javascript",require("highlight.js/lib/languages/javascript"));
"javascript",
require("highlight.js/lib/languages/javascript")
);
hljs.registerLanguage("sql", require("highlight.js/lib/languages/sql")); hljs.registerLanguage("sql", require("highlight.js/lib/languages/sql"));
export default { export default {
......
...@@ -86,7 +86,8 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge ...@@ -86,7 +86,8 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge
@Override @Override
public void importGenTable(List<GentableEntity> tableList, Long appId, Context context) { public void importGenTable(List<GentableEntity> tableList, Long appId, Context context) {
String operName = context.getUser().getLoginName(); // String operName = context.getUser().getLoginName();
String operName = "admin";
try { try {
for (GentableEntity table : tableList) { for (GentableEntity table : tableList) {
String tableName = table.getTableName(); String tableName = table.getTableName();
...@@ -348,7 +349,6 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge ...@@ -348,7 +349,6 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge
List<String> dbTableColumnNames = dbTableColumns.stream().map(GentableColumnEntity::getColumnName).collect(Collectors.toList()); List<String> dbTableColumnNames = dbTableColumns.stream().map(GentableColumnEntity::getColumnName).collect(Collectors.toList());
dbTableColumns.forEach(column -> { dbTableColumns.forEach(column -> {
//新增列 //新增列
if (!tableColumnNames.contains(column.getColumnName())) { if (!tableColumnNames.contains(column.getColumnName())) {
...@@ -378,8 +378,9 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge ...@@ -378,8 +378,9 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge
@Override @Override
public void importDoc(MultipartFile file, Long appId, Context context) { public void importDoc(MultipartFile file, Long appId, Context context) {
List<GentableEntity> tableList = ReadDoc.readWord(file); List<GentableEntity> tableList = ReadDoc.readWord(file);
String operName = context.getUser().getLoginName();
try { try {
//String operName = context.getUser().getLoginName();
String operName = "admin";
for (GentableEntity table : tableList) { for (GentableEntity table : tableList) {
GenUtils.initTable(table, operName); GenUtils.initTable(table, operName);
table.setAppId(appId); table.setAppId(appId);
...@@ -454,6 +455,9 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge ...@@ -454,6 +455,9 @@ public class GentableServiceImpl extends AbstractCRUDServiceImpl<GentableDao, Ge
Set<String> types = StrUtil.splitTrim(genTypes, ",".charAt(0), -1).stream().collect(Collectors.toSet()); Set<String> types = StrUtil.splitTrim(genTypes, ",".charAt(0), -1).stream().collect(Collectors.toSet());
if (!ObjectUtils.isEmpty(gentableEntity)) { if (!ObjectUtils.isEmpty(gentableEntity)) {
List<GentableColumnEntity> columnEntities = this.gentableColumnService.find(new GentableColumnQuery().tableId(gentableEntity.getId())).stream().map(column -> { List<GentableColumnEntity> columnEntities = this.gentableColumnService.find(new GentableColumnQuery().tableId(gentableEntity.getId())).stream().map(column -> {
//字典类型1 (1.xxxx,2.xxxxx)
//字典类型2 (xxxx.xxxx,xxxx.xxxxx)
//字典类型3 (xxxx,xxxxx)
String temp1 = StringUtils.substringBetween(column.getColumnComment(), "(", ")"); String temp1 = StringUtils.substringBetween(column.getColumnComment(), "(", ")");
String temp2 = StringUtils.substringBetween(column.getColumnComment(), "(", ")"); String temp2 = StringUtils.substringBetween(column.getColumnComment(), "(", ")");
GenUtils.checkDict(column, temp1); GenUtils.checkDict(column, temp1);
......
...@@ -42,7 +42,6 @@ public class SiteServiceImpl extends AbstractCRUDServiceImpl<SiteDao, SiteEntity ...@@ -42,7 +42,6 @@ public class SiteServiceImpl extends AbstractCRUDServiceImpl<SiteDao, SiteEntity
//校验站点名称是否存在 todo //校验站点名称是否存在 todo
super.validData(entity, context); super.validData(entity, context);
} }
......
...@@ -13,7 +13,8 @@ public enum DividedTableTypeEnum { ...@@ -13,7 +13,8 @@ public enum DividedTableTypeEnum {
DIVIED_BY_DAY(1, "日"), DIVIED_BY_DAY(1, "日"),
DIVIED_BY_WEEK(2, "周"), DIVIED_BY_WEEK(2, "周"),
DIVIED_BY_MONTH(3, "月"), DIVIED_BY_MONTH(3, "月"),
DIVIED_BY_MOD(4, "HASH取余"); DIVIED_BY_YEAR(4, "年"),
DIVIED_BY_MOD(5, "HASH取余");
private int value; private int value;
private String desc; private String desc;
......
...@@ -49,7 +49,7 @@ public class GenUtils { ...@@ -49,7 +49,7 @@ public class GenUtils {
column.setCreateUser(table.getCreateUser()); column.setCreateUser(table.getCreateUser());
column.setCreateTime(new Date()); column.setCreateTime(new Date());
column.setIsSerialize(0); column.setIsSerialize(0);
if(column.getIsExport()==null){ if (column.getIsExport() == null) {
column.setIsExport(0); column.setIsExport(0);
} }
column.setQueryType("="); column.setQueryType("=");
...@@ -57,7 +57,6 @@ public class GenUtils { ...@@ -57,7 +57,6 @@ public class GenUtils {
column.setJavaField(StrUtil.toCamelCase(columnName)); column.setJavaField(StrUtil.toCamelCase(columnName));
// 设置默认类型 // 设置默认类型
column.setJavaType(GenConstants.TYPE_STRING); column.setJavaType(GenConstants.TYPE_STRING);
if (arraysContains(GenConstants.COLUMNTYPE_STR, dataType) || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType)) { if (arraysContains(GenConstants.COLUMNTYPE_STR, dataType) || arraysContains(GenConstants.COLUMNTYPE_TEXT, dataType)) {
// 字符串长度超过255设置为文本域 // 字符串长度超过255设置为文本域
Integer columnLength = getColumnLength(column.getColumnType()); Integer columnLength = getColumnLength(column.getColumnType());
...@@ -82,7 +81,7 @@ public class GenUtils { ...@@ -82,7 +81,7 @@ public class GenUtils {
else { else {
column.setJavaType(GenConstants.TYPE_LONG); column.setJavaType(GenConstants.TYPE_LONG);
} }
}else if (arraysContains(GenConstants.COLUMNTYPE_BLOB, dataType)) { } else if (arraysContains(GenConstants.COLUMNTYPE_BLOB, dataType)) {
//大数据字段 //大数据字段
column.setJavaType(GenConstants.TYPE_BYTEARRAY); column.setJavaType(GenConstants.TYPE_BYTEARRAY);
column.setHtmlType(HtmlTypeEnum.HTML_TEXTAREA.getValue()); column.setHtmlType(HtmlTypeEnum.HTML_TEXTAREA.getValue());
...@@ -116,9 +115,9 @@ public class GenUtils { ...@@ -116,9 +115,9 @@ public class GenUtils {
} }
} }
//默认都是否 //默认都是否
column.setIsList(GenConstants.NOREQUIRE); //column.setIsList(GenConstants.NOREQUIRE);
column.setIsQuery(GenConstants.NOREQUIRE); //column.setIsQuery(GenConstants.NOREQUIRE);
//拆解枚举类,格式必须为(1.啊啊啊,2.不不不) //拆解枚举类,格式必须为(1.啊啊啊,2.不不不)
String temp = column.getColumnComment().replaceAll("(", "(").replaceAll(")", ")"); String temp = column.getColumnComment().replaceAll("(", "(").replaceAll(")", ")");
...@@ -126,10 +125,10 @@ public class GenUtils { ...@@ -126,10 +125,10 @@ public class GenUtils {
//String temp2 = StringUtils.substringBetween(column.getColumnComment(), "(", ")"); //String temp2 = StringUtils.substringBetween(column.getColumnComment(), "(", ")");
checkDict(column, temp1); checkDict(column, temp1);
//checkDict(column, temp2); //checkDict(column, temp2);
if(!ObjectUtils.isEmpty(column.getDict())){ if (!ObjectUtils.isEmpty(column.getDict())) {
if(column.getDict().size()>2){ if (column.getDict().size() > 2) {
column.setHtmlType(HtmlTypeEnum.HTML_SELECT.getValue()); column.setHtmlType(HtmlTypeEnum.HTML_SELECT.getValue());
}else{ } else {
column.setHtmlType(HtmlTypeEnum.HTML_RADIO.getValue()); column.setHtmlType(HtmlTypeEnum.HTML_RADIO.getValue());
} }
//radio //radio
...@@ -158,15 +157,35 @@ public class GenUtils { ...@@ -158,15 +157,35 @@ public class GenUtils {
} }
} }
public static void checkDict(GentableColumnEntity column, String temp) {
public static void checkDict(GentableColumnEntity column, String temp) {
if (StringUtils.isNotEmpty(temp)) { if (StringUtils.isNotEmpty(temp)) {
if (column.getJavaType().equalsIgnoreCase("String")) {
//同意替换分割符号
temp = temp.replaceAll(",", ",");
temp = temp.replaceAll(";", ",");
String[] split = checkSplitStr(temp, ",");
if (split.length > 0) {
Arrays.asList(split).stream().peek(item -> {
HashMap<String, String> map = new HashMap<>();
map.put("num", item.trim());
map.put("value", item.trim());
if (ObjectUtils.isEmpty(column.getDict())) {
column.setDict(new ArrayList<>());
}
column.getDict().add(map);
}).count();
}
} else {
//同意替换分割符号 //同意替换分割符号
temp=temp.replaceAll(",",","); temp = temp.replaceAll(",", ",");
temp=temp.replaceAll(";",","); temp = temp.replaceAll(";", ",");
//temp=temp.replaceAll("、","."); //temp=temp.replaceAll("、",".");
temp=temp.replaceAll("。","."); temp = temp.replaceAll("。", ".");
String[] split = checkSplitStr(temp, ","); String[] split = checkSplitStr(temp, ",");
if (split.length > 0) { if (split.length > 0) {
...@@ -187,6 +206,7 @@ public class GenUtils { ...@@ -187,6 +206,7 @@ public class GenUtils {
} }
} }
} }
}
public static String[] checkSplitStr(String temp, String separator) { public static String[] checkSplitStr(String temp, String separator) {
return StringUtils.split(temp, separator); return StringUtils.split(temp, separator);
...@@ -239,8 +259,8 @@ public class GenUtils { ...@@ -239,8 +259,8 @@ public class GenUtils {
// int lastIndex = tableName.lastIndexOf("_"); // int lastIndex = tableName.lastIndexOf("_");
// int nameLength = tableName.length(); // int nameLength = tableName.length();
String businessName =tableName; String businessName = tableName;
if(tableName.indexOf("_")!=-1){ if (tableName.indexOf("_") != -1) {
businessName = StringUtils.substring(tableName, 0, tableName.indexOf("_")); businessName = StringUtils.substring(tableName, 0, tableName.indexOf("_"));
} }
...@@ -334,7 +354,7 @@ public class GenUtils { ...@@ -334,7 +354,7 @@ public class GenUtils {
if (StringUtils.indexOf(columnType, "(") > 0) { if (StringUtils.indexOf(columnType, "(") > 0) {
String length = StringUtils.substringBetween(columnType, "(", ")"); String length = StringUtils.substringBetween(columnType, "(", ")");
if(ObjectUtils.isEmpty(length)) { if (ObjectUtils.isEmpty(length)) {
return 0; return 0;
} }
return Integer.valueOf(length); return Integer.valueOf(length);
......
...@@ -55,21 +55,21 @@ public class ReadDoc { ...@@ -55,21 +55,21 @@ public class ReadDoc {
if (split.length < 2) { if (split.length < 2) {
continue; continue;
} }
String tableName = split[1]; String tableName = split[1];
String[] vals = tableName.split("_"); String[] vals = tableName.split("_");
if (tableName.toLowerCase().indexOf("yyyymmdd") != -1) {
if (tableName.indexOf("yyyymmdd") != -1) {
docTable.setDividedTableType(3);
} else if (tableName.indexOf("yyyymm") != -1) {
docTable.setDividedTableType(2);
} else if (tableName.indexOf("yyyy") != -1) {
docTable.setDividedTableType(1); docTable.setDividedTableType(1);
} else if (tableName.toLowerCase().indexOf("yyyyww") != -1) {
docTable.setDividedTableType(2);
} else if (tableName.toLowerCase().indexOf("yyyymm") != -1) {
docTable.setDividedTableType(3);
} else if (tableName.toLowerCase().indexOf("yyyy") != -1) {
docTable.setDividedTableType(4);
} else { } else {
docTable.setDividedTableType(0); docTable.setDividedTableType(0);
} }
if (vals[vals.length - 1].startsWith("yyyy")) { if (vals[vals.length - 1].toLowerCase().startsWith("yyyy")) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for (int i = 0; i < vals.length - 1; i++) { for (int i = 0; i < vals.length - 1; i++) {
sb.append(vals[i]); sb.append(vals[i]);
...@@ -159,17 +159,19 @@ public class ReadDoc { ...@@ -159,17 +159,19 @@ public class ReadDoc {
String tableName = split[1]; String tableName = split[1];
String[] vals = tableName.split("_"); String[] vals = tableName.split("_");
if (tableName.indexOf("yyyymmdd") != -1) { if (tableName.toLowerCase().indexOf("yyyymmdd") != -1) {
docTable.setDividedTableType(3);
} else if (tableName.indexOf("yyyymm") != -1) {
docTable.setDividedTableType(2);
} else if (tableName.indexOf("yyyy") != -1) {
docTable.setDividedTableType(1); docTable.setDividedTableType(1);
} else if (tableName.toLowerCase().indexOf("yyyyww") != -1) {
docTable.setDividedTableType(2);
} else if (tableName.toLowerCase().indexOf("yyyymm") != -1) {
docTable.setDividedTableType(3);
} else if (tableName.toLowerCase().indexOf("yyyy") != -1) {
docTable.setDividedTableType(4);
} else { } else {
docTable.setDividedTableType(0); docTable.setDividedTableType(0);
} }
if (vals[vals.length - 1].startsWith("yyyy")) { if (vals[vals.length - 1].toLowerCase().startsWith("yyyy")) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
for (int i = 0; i < vals.length - 1; i++) { for (int i = 0; i < vals.length - 1; i++) {
sb.append(vals[i]); sb.append(vals[i]);
......
...@@ -5,6 +5,10 @@ import com.mortals.xhx.module.app.dao.AppDao; ...@@ -5,6 +5,10 @@ import com.mortals.xhx.module.app.dao.AppDao;
import com.mortals.xhx.module.app.model.AppEntity; import com.mortals.xhx.module.app.model.AppEntity;
import com.mortals.xhx.module.app.service.AppService; import com.mortals.xhx.module.app.service.AppService;
import java.util.ArrayList;
import java.util.List;
import java.util.function.Function;
import java.util.stream.Collectors;
/** /**
...@@ -17,4 +21,70 @@ import com.mortals.xhx.module.app.service.AppService; ...@@ -17,4 +21,70 @@ import com.mortals.xhx.module.app.service.AppService;
@Service("appService") @Service("appService")
public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, Long> implements AppService { public class AppServiceImpl extends AbstractCRUDServiceImpl<AppDao, AppEntity, Long> implements AppService {
/**
* 对集合作排列组合运算
*
* @param list 要运算的集合
* @param mapper 每个元素转成String的规则
* @param connectors 每个元素在结果集中的连接符号
* @param <T>
* @return
*/
public static <T> List<String> combine(List<List<T>> list, Function<T, String> mapper, String connectors) {
if (list == null || list.isEmpty()) {
return new ArrayList<>();
}
//结果集
List<String> resList = new ArrayList<>();
//缓存上次的结果集,用来拼接新的元素
List<String> cacheList = null;
for (int i = 0; i < list.size(); i++) {
if (i == 0) {
resList.addAll(list.get(i).stream().map(mapper).collect(Collectors.toList()));
} else {
cacheList = new ArrayList<>(resList);
List<T> ts = list.get(i);
for (int j = 0; j < ts.size(); j++) {
T t = ts.get(j);
if (j == 0) {
resList = resList.stream().map(e -> e + connectors + mapper.apply(t)).collect(Collectors.toList());
} else {
resList.addAll(cacheList.stream().map(e -> e + connectors + mapper.apply(t)).collect(Collectors.toList()));
}
}
}
}
return resList;
}
public static void main(String[] args) {
List list = new ArrayList();
List list1 = new ArrayList();
list1.add(1);
list1.add(2);
list1.add(3);
List list2 = new ArrayList();
list2.add(4);
list2.add(5);
list2.add(6);
List list3 = new ArrayList();
list3.add(7);
list3.add(8);
list3.add(9);
list.add(list1);
list.add(list2);
list.add(list3);
List<String> combine = combine(list, (e -> e.toString()), "_");
for (String str : combine) {
System.out.println(str);
}
}
} }
\ No newline at end of file
...@@ -362,10 +362,10 @@ dict|object|字典对象 ...@@ -362,10 +362,10 @@ dict|object|字典对象
<#if !column.isSuperColumn(column.javaField)> <#if !column.isSuperColumn(column.javaField)>
<#if column.isRequired == 1> <#if column.isRequired == 1>
${column.javaField}|${column.javaType}|是|${column.columnComment} ${column.javaField}|${column.javaType}|是|${column.columnComment}
</#if>
<#else> <#else>
${column.javaField}|${column.javaType}|否|${column.columnComment} ${column.javaField}|${column.javaType}|否|${column.columnComment}
</#if> </#if>
</#if>
</#list> </#list>
**请求样例:** **请求样例:**
......
package ${packageName}.dao; package ${packageName}.dao;
import com.mortals.framework.dao.ICRUDDao; <#if table.dividedTableType!=0 >
<#assign Dao = "ICRUDSubmeterDao">
<#else>
<#assign Dao = "ICRUDDao">
</#if>
import com.mortals.framework.dao.${Dao};
import ${packageName}.model.${ClassName}Entity; import ${packageName}.model.${ClassName}Entity;
import java.util.List; import java.util.List;
/** /**
...@@ -10,11 +15,7 @@ import java.util.List; ...@@ -10,11 +15,7 @@ import java.util.List;
* @author ${author} * @author ${author}
* @date ${datetime} * @date ${datetime}
*/ */
<#if table.dividedTableType!=0 >
<#assign Dao = "ICRUDSubmeterDao">
<#else>
<#assign Dao = "ICRUDDao">
</#if>
public interface ${ClassName}Dao extends ${Dao}<${ClassName}Entity,${pkColumn.javaType}>{ public interface ${ClassName}Dao extends ${Dao}<${ClassName}Entity,${pkColumn.javaType}>{
<#if table.tplCategory=="tree" > <#if table.tplCategory=="tree" >
......
...@@ -22,6 +22,7 @@ import ${subPackageName}.model.${subClassName}Query; ...@@ -22,6 +22,7 @@ import ${subPackageName}.model.${subClassName}Query;
import ${subPackageName}.service.${subClassName}Service; import ${subPackageName}.service.${subClassName}Service;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import java.util.Date; import java.util.Date;
import java.util.Arrays;
</#if> </#if>
<#if pkColumn??&&pkColumn.isIncrement==0 > <#if pkColumn??&&pkColumn.isIncrement==0 >
import cn.hutool.core.util.IdUtil; import cn.hutool.core.util.IdUtil;
...@@ -34,9 +35,9 @@ import cn.hutool.core.util.IdUtil; ...@@ -34,9 +35,9 @@ import cn.hutool.core.util.IdUtil;
<#if pkColumn.javaType=="String" > <#if pkColumn.javaType=="String" >
entity.set${pkColumn.javaField?cap_first}(IdUtil.fastSimpleUUID()); entity.set${pkColumn.javaField?cap_first}(IdUtil.fastSimpleUUID());
<#elseif pkColumn.javaType=="Integer"> <#elseif pkColumn.javaType=="Integer">
entity.set${pkColumn.javaField?cap_first}(((Long)IdUtil.getSnowflake(1024,512).nextId()).intValue()); entity.set${pkColumn.javaField?cap_first}(((Long)IdUtil.getSnowflake(0,1).nextId()).intValue());
<#elseif pkColumn.javaType=="Long"> <#elseif pkColumn.javaType=="Long">
entity.set${pkColumn.javaField?cap_first}(IdUtil.getSnowflake(1024,512).nextId()); entity.set${pkColumn.javaField?cap_first}(IdUtil.getSnowflake(0,1).nextId());
</#if> </#if>
super.saveBefore(entity, context); super.saveBefore(entity, context);
} }
...@@ -109,11 +110,9 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class ...@@ -109,11 +110,9 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class
} }
@Override @Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException { protected void removeAfter(${pkColumn.javaType}[] ids, Context context, int result) throws AppException {
for (int i = 0; i < ids.length; i++) { List<${subClassName}Entity> ${subclassName}list = ${subclassName}Service.find(new ${subClassName?cap_first}Query().${subTableFkClassName?uncap_first}List(Arrays.asList(ids)));
${pkColumn.javaType}[] ${subclassName}Ids = ${subclassName}Service.find(new ${subClassName}Query().${subTableFkClassName?cap_first}(ids[i]), context).stream().map(${subClassName}Entity::get${pkColumn.javaField?cap_first}).toArray(${pkColumn.javaType}[]::new); ${subclassName}Service.removeList(${subclassName}list,context);
${subclassName}Service.remove(${subclassName}Ids, context);
}
super.removeAfter(ids, context, result); super.removeAfter(ids, context, result);
} }
<#elseif table.tplCategory=="subone"> <#elseif table.tplCategory=="subone">
...@@ -155,11 +154,9 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class ...@@ -155,11 +154,9 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class
super.updateAfter(entity, context); super.updateAfter(entity, context);
} }
@Override @Override
protected void removeAfter(Long[] ids, Context context, int result) throws AppException { protected void removeAfter(${pkColumn.javaType}[] ids, Context context, int result) throws AppException {
for (int i = 0; i < ids.length; i++) { List<${subClassName}Entity> ${subclassName}list = ${subclassName}Service.find(new ${subClassName?cap_first}Query().${subTableFkClassName?uncap_first}List(Arrays.asList(ids)));
${pkColumn.javaType}[] ${subclassName}Ids = ${subclassName}Service.find(new ${subClassName}Query().${subTableFkClassName?uncap_first}(ids[i]), context).stream().map(${subClassName}Entity::get${pkColumn.javaField?cap_first}).toArray(${pkColumn.javaType}[]::new); ${subclassName}Service.removeList(${subclassName}list,context);
${subclassName}Service.remove(${subclassName}Ids, context);
}
super.removeAfter(ids, context, result); super.removeAfter(ids, context, result);
} }
<#else> <#else>
......
...@@ -50,12 +50,20 @@ ...@@ -50,12 +50,20 @@
<update id="createTable" parameterType="paramDto"> <update id="createTable" parameterType="paramDto">
CREATE TABLE ${TempTable}( CREATE TABLE ${TempTable}(
<#list columns as column> <#list columns as column>
<#if column.isIncrement?? && column.isIncrement==1 > <#if column.isIncrement==1 >
<#assign autoInc>auto_isIncrement</#assign> <#assign autoInc>AUTO_INCREMENT</#assign>
<#else> <#else>
<#assign autoInc></#assign> <#assign autoInc></#assign>
</#if> </#if>
<#if column.isRequired?? && column.isRequired==1 > <#if column.isRequired==1 >
<#assign Required>NOT NULL</#assign>
<#else>
<#assign Required></#assign>
</#if>
<#if column.isPrimaryKey==1 >
<#assign Required>NOT NULL</#assign>
</#if>
<#if column.isRequired==1 >
<#assign Required>NOT NULL</#assign> <#assign Required>NOT NULL</#assign>
<#else> <#else>
<#assign Required></#assign> <#assign Required></#assign>
...@@ -68,9 +76,9 @@ ...@@ -68,9 +76,9 @@
<#if column.defaultValue??> <#if column.defaultValue??>
<#assign Default>DEFAULT '${column.defaultValue}'</#assign> <#assign Default>DEFAULT '${column.defaultValue}'</#assign>
<#else> <#else>
<#assign Default>DEFAULT NULL</#assign> <#assign Default></#assign>
</#if> </#if>
`${column.columnName}` ${column.columnType} ${Required} ${Default} ${Type} ${autoInc} COMMENT '${column.columnComment}', `${column.columnName}` ${column.columnType} ${Required} ${autoInc} COMMENT '${column.columnComment}',
</#list> </#list>
PRIMARY KEY (`${pkColumn.columnName}`) PRIMARY KEY (`${pkColumn.columnName}`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='${functionName}'; ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='${functionName}';
...@@ -194,6 +202,21 @@ ...@@ -194,6 +202,21 @@
<#noparse>#</#noparse>{item} <#noparse>#</#noparse>{item}
</foreach> </foreach>
</delete> </delete>
<!-- 根据主健列表删除一批,针对单一主健有效 -->
<delete id="deleteByKeyList">
delete from ${TempTable} where ${pkColumn.columnName} in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
<#noparse>#</#noparse>{item}
</foreach>
</delete>
<!-- 根据对象列表删除一批,针对单一主健有效 -->
<delete id="deleteByEntityList">
delete from ${TempTable} where ${pkColumn.columnName} in
<foreach collection="list" item="item" index="index" open="(" separator="," close=")">
<#noparse>#</#noparse>{item.${pkColumn.columnName}}
</foreach>
</delete>
<!-- 根据paramDto删除一批 --> <!-- 根据paramDto删除一批 -->
<delete id="deleteByMap" parameterType="paramDto"> <delete id="deleteByMap" parameterType="paramDto">
delete a.* from ${TempTable} as a delete a.* from ${TempTable} as a
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment