增加树形父级接口+树形下拉排序
This commit is contained in:
+13
@@ -16,6 +16,7 @@ import com.jero.modules.enums.FixedFieldEnum;
|
||||
import com.jero.modules.system.entity.SysCategory;
|
||||
import com.jero.modules.system.model.TreeSelectModel;
|
||||
import com.jero.modules.system.service.ISysCategoryService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
@@ -27,6 +28,7 @@ import org.jeecgframework.poi.excel.entity.ExportParams;
|
||||
import org.jeecgframework.poi.excel.entity.ImportParams;
|
||||
import org.jeecgframework.poi.excel.view.JeecgEntityExcelView;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
||||
@@ -44,6 +46,7 @@ import java.util.stream.Collectors;
|
||||
* @Date: 2019-05-29
|
||||
* @Version: V1.0
|
||||
*/
|
||||
@Api(tags="标签内容-树形结构")
|
||||
@RestController
|
||||
@RequestMapping("/sys/category")
|
||||
@Slf4j
|
||||
@@ -94,6 +97,14 @@ public class SysCategoryController {
|
||||
result.setResult(list);
|
||||
return result;
|
||||
}
|
||||
@AutoLog(value = "标签内容-查询字典配置的父级名称")
|
||||
@ApiOperation(value = "标签内容-查询字典配置的父级名称", notes = "标签内容-查询字典配置的父级名称")
|
||||
@GetMapping(value = "/queryPid")
|
||||
public Result<List<SysCategory>> queryPid() {
|
||||
List<SysCategory> list = sysCategoryService.queryPid();
|
||||
|
||||
return Result.OK(list);
|
||||
}
|
||||
|
||||
/**标签内容-树形结构列表
|
||||
*
|
||||
@@ -118,6 +129,7 @@ public class SysCategoryController {
|
||||
@PostMapping(value = "/add")
|
||||
public Result<SysCategory> add(@RequestBody SysCategory sysCategory) {
|
||||
Result<SysCategory> result = new Result<SysCategory>();
|
||||
sysCategoryService.setAddOrdderNum(sysCategory);
|
||||
sysCategory.setName(sysCategory.getName().replace(" ",""));
|
||||
sysCategoryService.addSysCategory(sysCategory);
|
||||
result.success("添加成功!");
|
||||
@@ -133,6 +145,7 @@ public class SysCategoryController {
|
||||
@PutMapping(value = "/edit")
|
||||
public Result<SysCategory> edit(@RequestBody SysCategory sysCategory) {
|
||||
Result<SysCategory> result = new Result<SysCategory>();
|
||||
sysCategoryService.setEditOrderNum(sysCategory);
|
||||
SysCategory sysCategoryEntity = sysCategoryService.getById(sysCategory.getId());
|
||||
if(sysCategoryEntity==null) {
|
||||
result.error500("未找到对应实体");
|
||||
|
||||
+1
-1
@@ -436,7 +436,7 @@ public class SysDictController {
|
||||
@RequiresPermissions("dict:edit")
|
||||
public Result<SysDict> edit(@RequestBody SysDict sysDict) {
|
||||
Result<SysDict> result = new Result<SysDict>();
|
||||
sysDictService.setEditOrdderNum(sysDict);
|
||||
sysDictService.setEditOrderNum(sysDict);
|
||||
SysDict sysdict = sysDictService.getById(sysDict.getId());
|
||||
if (sysdict == null) {
|
||||
result.error500("未找到对应实体");
|
||||
|
||||
+2
@@ -84,6 +84,7 @@ public class SysDictItemController {
|
||||
@CacheEvict(value= CacheConstant.SYS_DICT_CACHE, allEntries=true)
|
||||
public Result<SysDictItem> add(@RequestBody SysDictItem sysDictItem) {
|
||||
Result<SysDictItem> result = new Result<SysDictItem>();
|
||||
sysDictItemService.setAddOrdderNum(sysDictItem);
|
||||
//查询同名数据
|
||||
List<SysDictItem> exitDictItemList = sysDictItemMapper.selctItemByName(sysDictItem.getItemText(),sysDictItem.getDictId());
|
||||
if(CollectionUtils.isNotEmpty(exitDictItemList)){
|
||||
@@ -127,6 +128,7 @@ public class SysDictItemController {
|
||||
@CacheEvict(value=CacheConstant.SYS_DICT_CACHE, allEntries=true)
|
||||
public Result<SysDictItem> edit(@RequestBody SysDictItem sysDictItem) {
|
||||
Result<SysDictItem> result = new Result<SysDictItem>();
|
||||
sysDictItemService.setEditOrderNum(sysDictItem);
|
||||
SysDictItem sysdict = sysDictItemService.getById(sysDictItem.getId());
|
||||
if (sysdict == null) {
|
||||
result.error500("未找到对应实体");
|
||||
|
||||
+6
@@ -85,4 +85,10 @@ public interface ISysCategoryService extends IService<SysCategory> {
|
||||
public void updateDictDelFlag(int delFlag,String id);
|
||||
|
||||
List<SysCategory> queryByTreeDicCode(String dicCode);
|
||||
|
||||
void setAddOrdderNum(SysCategory sysCategory);
|
||||
|
||||
void setEditOrderNum(SysCategory sysCategory);
|
||||
|
||||
List<SysCategory> queryPid();
|
||||
}
|
||||
|
||||
+4
@@ -30,4 +30,8 @@ public interface ISysDictItemService extends IService<SysDictItem> {
|
||||
* @param id
|
||||
*/
|
||||
public void updateDictDelFlag(int delFlag,String id);
|
||||
|
||||
void setAddOrdderNum(SysDictItem sysDictItem);
|
||||
|
||||
void setEditOrderNum(SysDictItem sysDictItem);
|
||||
}
|
||||
|
||||
+1
-1
@@ -172,5 +172,5 @@ public interface ISysDictService extends IService<SysDict> {
|
||||
|
||||
void setAddOrdderNum(SysDict sysDict);
|
||||
|
||||
void setEditOrdderNum(SysDict sysDict);
|
||||
void setEditOrderNum(SysDict sysDict);
|
||||
}
|
||||
|
||||
+84
@@ -309,4 +309,88 @@ public class SysCategoryServiceImpl extends ServiceImpl<SysCategoryMapper, SysCa
|
||||
public List<SysCategory> queryByTreeDicCode(String dicCode) {
|
||||
return sysCategoryMapper.queryByTreeDicCode(dicCode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAddOrdderNum(SysCategory sysCategory) {
|
||||
Integer inputOrderNum = sysCategory.getSortOrder();
|
||||
if(inputOrderNum != null) {
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<SysCategory> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("sys_dict_id",sysCategory.getSysDictId())
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("sort_order");
|
||||
queryWrapper.eq("sort_order", inputOrderNum);
|
||||
Integer orderNumCount = sysCategoryMapper.selectCount(queryWrapper);
|
||||
if (orderNumCount > 0) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<SysCategory> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("sort_order", inputOrderNum)
|
||||
.eq("sys_dict_id",sysCategory.getSysDictId())
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("sort_order");
|
||||
List<SysCategory> geOrderNumList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for (int i = 0; i < geOrderNumList.size(); i++) {
|
||||
if (geOrderNumList.size() == 1) {
|
||||
break;
|
||||
} else if (geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i + 1).getSortOrder();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e -> e.getSortOrder() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
geOrderNumList.stream().forEach(e -> e.setSortOrder(e.getSortOrder() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setEditOrderNum(SysCategory sysCategory) {
|
||||
Integer inputOrderNum = sysCategory.getSortOrder();
|
||||
if(inputOrderNum != null) {
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<SysCategory> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("sys_dict_id",sysCategory.getSysDictId())
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("sort_order");
|
||||
Integer orderNumData = list(queryWrapper).stream().filter(e -> e.getId().equals(sysCategory.getId()))
|
||||
.map(e -> e.getSortOrder()).collect(Collectors.toList()).get(0);
|
||||
queryWrapper.eq("sort_order", inputOrderNum);
|
||||
Integer orderNumCount = sysCategoryMapper.selectCount(queryWrapper);
|
||||
if (orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<SysCategory> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("sort_order", inputOrderNum)
|
||||
.eq("sys_dict_id",sysCategory.getSysDictId())
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("sort_order");
|
||||
List<SysCategory> geOrderNumList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for (int i = 0; i < geOrderNumList.size(); i++) {
|
||||
if (geOrderNumList.size() == 1) {
|
||||
break;
|
||||
} else if (geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i + 1).getSortOrder();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e -> e.getSortOrder() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
geOrderNumList.stream().forEach(e -> e.setSortOrder(e.getSortOrder() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<SysCategory> queryPid() {
|
||||
QueryWrapper<SysCategory> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("pid",0);
|
||||
List<SysCategory> list = list(queryWrapper);
|
||||
return list;
|
||||
}
|
||||
}
|
||||
|
||||
+79
@@ -1,6 +1,8 @@
|
||||
package com.jero.modules.system.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.common.constant.CommonConstant;
|
||||
import com.jero.modules.system.entity.SysDictItem;
|
||||
import com.jero.modules.system.mapper.SysDictItemMapper;
|
||||
import com.jero.modules.system.service.ISysDictItemService;
|
||||
@@ -8,6 +10,7 @@ import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -52,4 +55,80 @@ public class SysDictItemServiceImpl extends ServiceImpl<SysDictItemMapper, SysDi
|
||||
public void updateDictDelFlag(int delFlag, String id) {
|
||||
baseMapper.updateDictDelFlag(delFlag,id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setAddOrdderNum(SysDictItem sysDictItem) {
|
||||
Integer inputOrderNum = sysDictItem.getSortOrder();
|
||||
if(inputOrderNum != null) {
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<SysDictItem> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.eq("dict_id",sysDictItem.getDictId())
|
||||
.orderByAsc("order_num");
|
||||
queryWrapper.eq("order_num", inputOrderNum);
|
||||
Integer orderNumCount = sysDictItemMapper.selectCount(queryWrapper);
|
||||
if (orderNumCount > 0) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<SysDictItem> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("order_num", inputOrderNum)
|
||||
.eq("dict_id",sysDictItem.getDictId())
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("order_num");
|
||||
List<SysDictItem> geOrderNumList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for (int i = 0; i < geOrderNumList.size(); i++) {
|
||||
if (geOrderNumList.size() == 1) {
|
||||
break;
|
||||
} else if (geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i + 1).getSortOrder();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e -> e.getSortOrder() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
geOrderNumList.stream().forEach(e -> e.setSortOrder(e.getSortOrder() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setEditOrderNum(SysDictItem sysDictItem) {
|
||||
Integer inputOrderNum = sysDictItem.getSortOrder();
|
||||
if(inputOrderNum != null) {
|
||||
//查询展示顺序相同的
|
||||
QueryWrapper<SysDictItem> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.eq("dict_id",sysDictItem.getDictId())
|
||||
.orderByAsc("sort_order");
|
||||
Integer orderNumData = list(queryWrapper).stream().filter(e -> e.getId().equals(sysDictItem.getId()))
|
||||
.map(e -> e.getSortOrder()).collect(Collectors.toList()).get(0);
|
||||
queryWrapper.eq("sort_order", inputOrderNum);
|
||||
Integer orderNumCount = sysDictItemMapper.selectCount(queryWrapper);
|
||||
if (orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {//有重复展示顺序的,后面的号全+1
|
||||
//设置排序
|
||||
QueryWrapper<SysDictItem> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("sort_order", inputOrderNum)
|
||||
.eq("dict_id",sysDictItem.getDictId())
|
||||
.eq("del_flag", CommonConstant.DEL_FLAG_0)
|
||||
.orderByAsc("sort_order");
|
||||
List<SysDictItem> geOrderNumList = list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for (int i = 0; i < geOrderNumList.size(); i++) {
|
||||
if (geOrderNumList.size() == 1) {
|
||||
break;
|
||||
} else if (geOrderNumList.get(i + 1).getSortOrder() - geOrderNumList.get(i).getSortOrder() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i + 1).getSortOrder();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e -> e.getSortOrder() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
geOrderNumList.stream().forEach(e -> e.setSortOrder(e.getSortOrder() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+1
-1
@@ -484,7 +484,7 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setEditOrdderNum(SysDict sysDict) {
|
||||
public void setEditOrderNum(SysDict sysDict) {
|
||||
Integer inputOrderNum = sysDict.getOrderNum();
|
||||
if(inputOrderNum != null) {
|
||||
//查询展示顺序相同的
|
||||
|
||||
Reference in New Issue
Block a user