Commit 2723e7f6 authored by 赵啸非's avatar 赵啸非

修复部分sqlXml生成缺陷

parent df7538df
...@@ -7,6 +7,12 @@ import com.fasterxml.jackson.annotation.JsonInclude; ...@@ -7,6 +7,12 @@ import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.parser.DefaultJSONParser;
import com.alibaba.fastjson.parser.JSONToken;
import com.alibaba.fastjson.parser.deserializer.ObjectDeserializer;
/** /**
* ${functionName}前端映射树结构实体类 * ${functionName}前端映射树结构实体类
* *
...@@ -33,10 +39,40 @@ public class ${ClassName}TreeSelect implements Serializable { ...@@ -33,10 +39,40 @@ public class ${ClassName}TreeSelect implements Serializable {
@JsonInclude(JsonInclude.Include.NON_EMPTY) @JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<${ClassName}TreeSelect> children; private List<${ClassName}TreeSelect> children;
public ${ClassName}TreeSelect() {};
public ${ClassName}TreeSelect(${ClassName}Entity entity) { public ${ClassName}TreeSelect(${ClassName}Entity entity) {
this.id = entity.get${pkColumn.javaField?cap_first}(); this.id = entity.get${pkColumn.javaField?cap_first}();
this.label = entity.get${treeName?cap_first}(); this.label = entity.get${treeName?cap_first}();
this.children = entity.getChildren().stream().map(${ClassName}TreeSelect::new).collect(Collectors.toList()); if(!ObjectUtils.isEmpty(entity.getChildren())){
this.children = entity.getChildren().stream().map(${ClassName}TreeSelect::new).collect(Collectors.toList());
}
}
// 反序列化器
public class Deserializer implements ObjectDeserializer {
@Override
public ${ClassName}TreeSelect deserialze(DefaultJSONParser parser, Type type, Object fieldName) {
${ClassName}TreeSelect node = new ${ClassName}TreeSelect();
JSONObject jsonObject = parser.parseObject();
node.setId(jsonObject.getLong("id"));
node.setLabel(jsonObject.getString("label"));
JSONArray jsonArray = jsonObject.getJSONArray("children");
List<${ClassName}TreeSelect> children = new ArrayList<>();
if(!ObjectUtils.isEmpty(jsonArray)){
for (int i = 0; i < jsonArray.size(); i++) {
${ClassName}TreeSelect child = JSON.parseObject(jsonArray.getJSONObject(i).toJSONString(), ${ClassName}TreeSelect.class);
children.add(child);
}
}
node.setChildren(children);
return node;
}
@Override
public int getFastMatchToken() {
return JSONToken.LBRACE;
}
} }
} }
\ No newline at end of file
...@@ -11,7 +11,6 @@ package ${packageName}.service.impl; ...@@ -11,7 +11,6 @@ package ${packageName}.service.impl;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
import com.mortals.xhx.common.code.SatusEnum;
import com.mortals.framework.service.impl.${Service}; import com.mortals.framework.service.impl.${Service};
import ${packageName}.dao.${ClassName}Dao; import ${packageName}.dao.${ClassName}Dao;
import ${packageName}.model.${ClassName}Entity; import ${packageName}.model.${ClassName}Entity;
...@@ -55,9 +54,6 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class ...@@ -55,9 +54,6 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class
@Override @Override
protected void saveBefore(${ClassName}Entity entity, Context context) throws AppException { protected void saveBefore(${ClassName}Entity entity, Context context) throws AppException {
${ClassName}Entity parent${ClassName}Entity = this.get(entity.get${treeParentCode?cap_first}()); ${ClassName}Entity parent${ClassName}Entity = this.get(entity.get${treeParentCode?cap_first}());
if (!ObjectUtils.isEmpty(parent${ClassName}Entity) && SatusEnum.DISENABLE.getValue() == parent${ClassName}Entity.getStatus()) {
throw new AppException("${functionName}停用,不允许新增");
}
if (!ObjectUtils.isEmpty(parent${ClassName}Entity)) { if (!ObjectUtils.isEmpty(parent${ClassName}Entity)) {
entity.setAncestors(parent${ClassName}Entity.getAncestors() + "," + entity.get${treeParentCode?cap_first}()); entity.setAncestors(parent${ClassName}Entity.getAncestors() + "," + entity.get${treeParentCode?cap_first}());
...@@ -95,8 +91,6 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class ...@@ -95,8 +91,6 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class
*/ */
private void updateParent${ClassName}Status(${ClassName}Entity ${ClassName?uncap_first}, Context context) { private void updateParent${ClassName}Status(${ClassName}Entity ${ClassName?uncap_first}, Context context) {
${ClassName}Entity ${ClassName?uncap_first}Entity = this.get(${ClassName?uncap_first}.get${treeParentCode?cap_first}()); ${ClassName}Entity ${ClassName?uncap_first}Entity = this.get(${ClassName?uncap_first}.get${treeParentCode?cap_first}());
${ClassName?uncap_first}Entity.setStatus(SatusEnum.ENABLE.getValue());
${ClassName?uncap_first}Entity.setUpdateTime(new Date()); ${ClassName?uncap_first}Entity.setUpdateTime(new Date());
${ClassName?uncap_first}Entity.setUpdateUser(context==null?"":context.getUser().getLoginName()); ${ClassName?uncap_first}Entity.setUpdateUser(context==null?"":context.getUser().getLoginName());
${ClassName}Entity condition = new ${ClassName}Entity(); ${ClassName}Entity condition = new ${ClassName}Entity();
...@@ -112,9 +106,7 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class ...@@ -112,9 +106,7 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class
* @param oldAncestors 旧的父ID集合 * @param oldAncestors 旧的父ID集合
*/ */
public void update${ClassName}Children(Long ${ClassName?uncap_first}Id, String newAncestors, String oldAncestors, Context context) { public void update${ClassName}Children(Long ${ClassName?uncap_first}Id, String newAncestors, String oldAncestors, Context context) {
List<${ClassName}Entity> children = getDao().selectChildren${ClassName}ById(${ClassName?uncap_first}Id.toString()); List<${ClassName}Entity> children = getDao().selectChildren${ClassName}ById(${ClassName?uncap_first}Id.toString());
for (${ClassName}Entity child : children) { for (${ClassName}Entity child : children) {
child.setAncestors(child.getAncestors().replace(oldAncestors, newAncestors)); child.setAncestors(child.getAncestors().replace(oldAncestors, newAncestors));
} }
...@@ -151,7 +143,6 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class ...@@ -151,7 +143,6 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class
for (Iterator<${ClassName}Entity> iterator = list.iterator(); iterator.hasNext(); ) { for (Iterator<${ClassName}Entity> iterator = list.iterator(); iterator.hasNext(); ) {
${ClassName}Entity ${ClassName?uncap_first}Entity = iterator.next(); ${ClassName}Entity ${ClassName?uncap_first}Entity = iterator.next();
if (!tempList.contains(${ClassName?uncap_first}Entity.get${treeParentCode?cap_first}())) { if (!tempList.contains(${ClassName?uncap_first}Entity.get${treeParentCode?cap_first}())) {
recursionFn(list, ${ClassName?uncap_first}Entity); recursionFn(list, ${ClassName?uncap_first}Entity);
returnList.add(${ClassName?uncap_first}Entity); returnList.add(${ClassName?uncap_first}Entity);
...@@ -160,7 +151,6 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class ...@@ -160,7 +151,6 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class
if (returnList.isEmpty()) { if (returnList.isEmpty()) {
returnList = list; returnList = list;
} }
return returnList.stream().map(${ClassName}TreeSelect::new).collect(Collectors.toList()); return returnList.stream().map(${ClassName}TreeSelect::new).collect(Collectors.toList());
} }
...@@ -201,15 +191,14 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class ...@@ -201,15 +191,14 @@ public class ${ClassName}ServiceImpl extends ${Service}<${ClassName}Dao, ${Class
@Override @Override
public List<${ClassName}TreeSelect> getListByParentId(${treeParentCodeType} parentId, Context context) { public List<${ClassName}TreeSelect> getListByParentId(${treeParentCodeType} parentId, Context context) {
if (ObjectUtils.isEmpty(parentId)) { if (ObjectUtils.isEmpty(parentId)) {
parentId = "0"; parentId = 0L;
} }
//只做一层 //只做一层
List<${ClassName}TreeSelect> collect = this.find(new ${ClassName}Query().${treeParentCode}(parentId), context).stream().map(item -> new ${ClassName}TreeSelect(item) List<${ClassName}TreeSelect> collect = this.find(new ${ClassName}Query().${treeParentCode}(parentId), context).stream().map(item -> new ${ClassName}TreeSelect(item)
).collect(Collectors.toList()); ).collect(Collectors.toList());
if ("0".equals(parentId)) { if (parentId==0L) {
return collect; return collect;
} }
return collect; return collect;
} }
......
...@@ -57,37 +57,12 @@ public class ${ClassName}Controller extends BaseCRUDJsonBodyMappingController<${ ...@@ -57,37 +57,12 @@ public class ${ClassName}Controller extends BaseCRUDJsonBodyMappingController<${
} }
<#if table.tplCategory=="tree"> <#if table.tplCategory=="tree">
@PostMapping("list/exclude")
public String excludeList(${ClassName}Entity query) {
Map<String, Object> model = new HashMap<>();
JSONObject ret = new JSONObject();
String busiDesc = "查询" + this.getModuleDesc();
${pkColumn.javaType} id = query.get${pkColumn.javaField?cap_first}();
int code=VALUE_RESULT_SUCCESS;
try {
Set<${pkColumn.javaType}> idSet = new HashSet<>();
idSet.add(query.get${pkColumn.javaField?cap_first}());
List<${ClassName}Entity> collect = this.service.find(new ${ClassName}Query()).stream().map(item -> {
if(idSet.contains(item.get${pkColumn.javaField?cap_first}())) return null;
return item;
}).filter(f -> f != null).collect(Collectors.toList());
model.put("result", collect);
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
code = VALUE_RESULT_FAILURE;
this.doException(request, busiDesc, model, e);
}
ret.put(KEY_RESULT_DATA, model);
ret.put(KEY_RESULT_CODE, code);
return ret.toJSONString();
}
/** /**
* 获取站点下拉树列表 * 获取站点下拉树列表
*/ */
@PostMapping("treeselect") @PostMapping("treeselect")
public String treeselect(${ClassName}Entity query) { public String treeselect() {
Map<String, Object> model = new HashMap<>(); Map<String, Object> model = new HashMap<>();
JSONObject ret = new JSONObject(); JSONObject ret = new JSONObject();
String busiDesc = "查询" + this.getModuleDesc(); String busiDesc = "查询" + this.getModuleDesc();
......
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