|
|
|
@ -27,6 +27,7 @@ import org.apache.commons.lang.StringUtils;
|
|
|
|
|
|
|
|
|
|
import java.util.*;
|
|
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @Author weaver_cl
|
|
|
|
@ -180,10 +181,14 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|
|
|
|
@Override
|
|
|
|
|
public void changeTree(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam) {
|
|
|
|
|
if (fieldTypeTreeParam.getId() == null) {
|
|
|
|
|
ExtendGroupPO extendGroupPO = buildExtendGroupType(moduleTypeEnum, fieldTypeTreeParam);
|
|
|
|
|
List<ExtendGroupPO> extendGroupPOList = MapperProxyFactory.getProxy(ExtendGroupMapper.class).listGroupByPid(fieldTypeTreeParam.getParentId());
|
|
|
|
|
ExtendGroupPO extendGroup = extendGroupPOList.stream().max(Comparator.comparing(ExtendGroupPO::getShowOrder)).get();
|
|
|
|
|
ExtendGroupPO extendGroupPO = buildExtendGroupType(moduleTypeEnum, fieldTypeTreeParam,extendGroup.getShowOrder());
|
|
|
|
|
MapperProxyFactory.getProxy(ExtendGroupMapper.class).insertIgnoreNull(extendGroupPO);
|
|
|
|
|
//默认新增title
|
|
|
|
|
ExtendTitlePO extendTitlePO = buildExtendTitleType(extendGroupPO);
|
|
|
|
|
List<ExtendTitlePO> titlesByGroupID = getExtendTitleMapper().getTitlesByGroupID(extendGroup.getId());
|
|
|
|
|
ExtendTitlePO extendTitle = titlesByGroupID.stream().max(Comparator.comparing(ExtendTitlePO::getShowOrder)).get();
|
|
|
|
|
ExtendTitlePO extendTitlePO = buildExtendTitleType(extendGroupPO,extendTitle.getShowOrder());
|
|
|
|
|
MapperProxyFactory.getProxy(ExtendTitleMapper.class).insertIgnoreNull(extendTitlePO);
|
|
|
|
|
} else {
|
|
|
|
|
MapperProxyFactory.getProxy(ExtendGroupMapper.class).update(fieldTypeTreeParam.getId(), fieldTypeTreeParam.getName());
|
|
|
|
@ -198,14 +203,59 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public Map<String, Object> getFieldDefinedInfo(ExtendTitleSaveParam param) {
|
|
|
|
|
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private ExtendTitlePO buildExtendTitleType(ExtendGroupPO extendGroupPO) {
|
|
|
|
|
@Override
|
|
|
|
|
public void deleteTree(Long id) {
|
|
|
|
|
MapperProxyFactory.getProxy(ExtendGroupMapper.class).delete(id);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void saveTree(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam) {
|
|
|
|
|
List<Long> collect = MapperProxyFactory.getProxy(ExtendGroupMapper.class)
|
|
|
|
|
.listGroupByPid(fieldTypeTreeParam.getParentId()).stream().map(ExtendGroupPO::getId).collect(Collectors.toList());
|
|
|
|
|
Integer extendType = moduleTypeEnum.getValue();
|
|
|
|
|
List<ExtendGroupPO> extendGroupPOS = JSONArray.parseArray(fieldTypeTreeParam.getData(),ExtendGroupPO.class);
|
|
|
|
|
|
|
|
|
|
List<Long> collect1 = extendGroupPOS.stream().map(ExtendGroupPO::getId).collect(Collectors.toList());
|
|
|
|
|
Set<Long> removeSet = new HashSet<>();
|
|
|
|
|
collect1.forEach(e->{
|
|
|
|
|
if(!collect.contains(e)){
|
|
|
|
|
removeSet.add(e);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
MapperProxyFactory.getProxy(ExtendGroupMapper.class).batchDelete(removeSet);
|
|
|
|
|
|
|
|
|
|
int showOrder = 0;
|
|
|
|
|
extendGroupPOS.forEach(e -> {
|
|
|
|
|
e.setExtendType(extendType);
|
|
|
|
|
e.setPid(fieldTypeTreeParam.getParentId());
|
|
|
|
|
e.setIsShow(fieldTypeTreeParam.getIsShow());
|
|
|
|
|
e.setShowOrder(showOrder+1);
|
|
|
|
|
e.setCreator((long)user.getUID());
|
|
|
|
|
e.setDeleteType(DeleteTypeEnum.NOT_DELETED.getValue());
|
|
|
|
|
e.setCreateTime(new Date());
|
|
|
|
|
e.setUpdateTime(new Date());
|
|
|
|
|
|
|
|
|
|
if (e.getId() == null){//新增
|
|
|
|
|
MapperProxyFactory.getProxy(ExtendGroupMapper.class).insertIgnoreNull(e);
|
|
|
|
|
}else { //更新
|
|
|
|
|
MapperProxyFactory.getProxy(ExtendGroupMapper.class).updateNameAndOrder(e.getId(),e.getGroupName(),e.getShowOrder());
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private ExtendTitlePO buildExtendTitleType(ExtendGroupPO extendGroupPO,Integer max) {
|
|
|
|
|
return ExtendTitlePO.builder()
|
|
|
|
|
.groupId(extendGroupPO.getId())
|
|
|
|
|
.title(extendGroupPO.getGroupName())
|
|
|
|
|
.showOrder(1)
|
|
|
|
|
.showOrder(++max)
|
|
|
|
|
.isShow("1")
|
|
|
|
|
.creator((long) user.getUID())
|
|
|
|
|
.deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
|
|
|
|
@ -214,15 +264,16 @@ public class FieldDefinedServiceImpl extends Service implements FieldDefinedServ
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private ExtendGroupPO buildExtendGroupType(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam) {
|
|
|
|
|
private ExtendGroupPO buildExtendGroupType(ModuleTypeEnum moduleTypeEnum, FieldTypeTreeParam fieldTypeTreeParam,Integer max) {
|
|
|
|
|
return ExtendGroupPO.builder()
|
|
|
|
|
.extendType(moduleTypeEnum.getValue())
|
|
|
|
|
.groupName(fieldTypeTreeParam.getName())
|
|
|
|
|
.showOrder(++max)
|
|
|
|
|
.creator((long) user.getUID())
|
|
|
|
|
.deleteType(DeleteTypeEnum.NOT_DELETED.getValue())
|
|
|
|
|
.createTime(new Date())
|
|
|
|
|
.updateTime(new Date())
|
|
|
|
|
.pid(fieldTypeTreeParam.getParentid())
|
|
|
|
|
.pid(fieldTypeTreeParam.getParentId())
|
|
|
|
|
.isShow(fieldTypeTreeParam.getIsShow() == null ? "1" : fieldTypeTreeParam.getIsShow()).build();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|