增加权限排序功能
This commit is contained in:
parent
6349895d35
commit
72f44ed966
|
@ -53,6 +53,10 @@ public class IamFrontendPermission extends BaseEntity {
|
|||
@TableField()
|
||||
private String apiSet;
|
||||
|
||||
// 排序号
|
||||
@TableField
|
||||
private Long sortId;
|
||||
|
||||
// 创建人
|
||||
@TableField()
|
||||
private Long createBy;
|
||||
|
|
|
@ -39,4 +39,10 @@ public interface IamFrontendPermissionService extends BaseIamService<IamFrontend
|
|||
* @return
|
||||
*/
|
||||
List<IamFrontendPermission> getAllFrontendPermissions(String application);
|
||||
|
||||
/***
|
||||
* 对列表进行排序
|
||||
* @param permissionList
|
||||
*/
|
||||
void sortList(List<IamFrontendPermission> permissionList);
|
||||
}
|
|
@ -6,6 +6,7 @@ import com.diboot.core.exception.BusinessException;
|
|||
import com.diboot.core.util.BeanUtils;
|
||||
import com.diboot.core.util.S;
|
||||
import com.diboot.core.util.V;
|
||||
import com.diboot.core.vo.JsonResult;
|
||||
import com.diboot.core.vo.Status;
|
||||
import com.diboot.iam.config.Cons;
|
||||
import com.diboot.iam.dto.IamFrontendPermissionDTO;
|
||||
|
@ -17,6 +18,7 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Comparator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
@ -152,6 +154,35 @@ public class IamFrontendPermissionServiceImpl extends BaseIamServiceImpl<IamFron
|
|||
return entList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sortList(List<IamFrontendPermission> permissionList) {
|
||||
if (V.isEmpty(permissionList)) {
|
||||
throw new BusinessException(Status.FAIL_OPERATION, "排序列表不能为空");
|
||||
}
|
||||
List<Long> sortIdList = new ArrayList();
|
||||
// 先将所有序号重新设置为自身当前id
|
||||
for (IamFrontendPermission item : permissionList) {
|
||||
item.setSortId(item.getId());
|
||||
sortIdList.add(item.getSortId());
|
||||
}
|
||||
// 将序号列表倒序排序
|
||||
sortIdList = sortIdList.stream()
|
||||
.sorted(Comparator.reverseOrder())
|
||||
.collect(Collectors.toList());
|
||||
// 整理需要更新的列表
|
||||
List<IamFrontendPermission> updateList = new ArrayList<>();
|
||||
for (int i=0; i<permissionList.size(); i++) {
|
||||
IamFrontendPermission item = permissionList.get(i);
|
||||
IamFrontendPermission updateItem = new IamFrontendPermission();
|
||||
updateItem.setId(item.getId());
|
||||
updateItem.setSortId(sortIdList.get(i));
|
||||
updateList.add(updateItem);
|
||||
}
|
||||
if (updateList.size() > 0) {
|
||||
super.updateBatchById(updateList);
|
||||
}
|
||||
}
|
||||
|
||||
/***
|
||||
* 检测是否又脏数据存在
|
||||
* @return
|
||||
|
|
Loading…
Reference in New Issue