package com.supwisdom.institute.backend.base.api.v1.admin;
+import java.util.HashMap;
+import java.util.Map;
+
+import io.swagger.annotations.Api;
+import lombok.extern.slf4j.Slf4j;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+import org.springframework.util.MimeTypeUtils;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.ResponseStatus;
+import org.springframework.web.bind.annotation.RestController;
+
+import com.supwisdom.institute.backend.base.api.vo.response.PermissionTreeResponseData;
+import com.supwisdom.institute.backend.base.domain.model.PermissionTreeNode;
+import com.supwisdom.institute.backend.base.domain.service.PermissionService;
+import com.supwisdom.institute.backend.common.framework.vo.response.DefaultApiResponse;
+
+@Api(value = "BaseAdminPermission", tags = { "BaseAdminPermission" }, description = "权限的操作接口")
+@Slf4j
+@RestController
+@RequestMapping("/v1/admin/permissions")
public class AdminPermissionController {
+ @Autowired
+ private PermissionService permissionService;
+
+ @GetMapping(path = "/tree", produces = MimeTypeUtils.APPLICATION_JSON_VALUE)
+ @ResponseStatus(value = HttpStatus.OK)
+ @ResponseBody
+ public DefaultApiResponse<PermissionTreeResponseData> tree() {
+
+ Map<String, Object> mapBean = new HashMap<String, Object>();
+ //mapBean.put("type", Permission.TYPE_MENU);
+
+ PermissionTreeNode tree = permissionService.selectPermissionTree(mapBean);
+
+ PermissionTreeResponseData data = PermissionTreeResponseData.of(tree);
+
+ return new DefaultApiResponse<PermissionTreeResponseData>(data);
+ }
+
}
this.url = url;
}
+ public String getApplicationId() {
+ return applicationId;
+ }
+
+ public void setApplicationId(String applicationId) {
+ this.applicationId = applicationId;
+ }
+
public String getParentId() {
return parentId;
}
@Autowired
private PermissionRepository permissionRepository;
+
+ @Override
+ public Permission insert(Permission entity) {
+ Permission parentPermission = permissionRepository.selectById(entity.getParentId());
+ if (parentPermission != null) {
+ entity.setApplicationId(parentPermission.getApplicationId());
+ }
+
+ return super.insert(entity);
+ }
public void deleteBatch(List<String> ids) {
Map<String, PermissionTreeNode> parentTreeNode = new LinkedHashMap<String, PermissionTreeNode>();
- PermissionTreeNode rootTreeNode = new PermissionTreeNode();
- rootTreeNode.setId(applicationPermission.getId());
- rootTreeNode.setCode(applicationPermission.getCode());
- rootTreeNode.setName(applicationPermission.getName());
+ PermissionTreeNode rootTreeNode = EntityUtils.copy(applicationPermission, new PermissionTreeNode());
rootTreeNode.setChildren(new ArrayList<PermissionTreeNode>());
parentTreeNode.put(rootTreeNode.getId(), rootTreeNode);
PermissionTreeNode treeNode = EntityUtils.copy(permission, new PermissionTreeNode());
treeNode.setChildren(new ArrayList<PermissionTreeNode>());
+ if (parentTreeNode.containsKey(treeNode.getId())) {
+ continue;
+ }
parentTreeNode.put(treeNode.getId(), treeNode);
}
/**
* 具体异常码
*/
- protected int code = -1;
+ protected final int code;
+
+ private final String messageCode;
+ @Deprecated
public BaseException(int code, String msgFormat, Object... args) {
super(String.format(msgFormat, args));
this.code = code;
+ this.messageCode = null;
}
+
+ public BaseException(int code, String messageCode, String msgFormat, Object... args) {
+ super(String.format(msgFormat, args));
+ this.code = code;
+ this.messageCode = messageCode;
+}
public BaseException() {
- super();
+ super();
+ this.code = DEFAULT_CODE;
+ this.messageCode = null;
}
public BaseException(String message, Throwable cause) {
super(message, cause);
+ this.code = DEFAULT_CODE;
+ this.messageCode = null;
}
public BaseException(Throwable cause) {
super(cause);
+ this.code = DEFAULT_CODE;
+ this.messageCode = null;
}
public BaseException(String message) {
super(message);
+ this.code = DEFAULT_CODE;
+ this.messageCode = null;
}
public int getCode() {
return new BaseException(DEFAULT_CODE, msgFormat, args);
}
+ @Deprecated
public static BaseException newInstance(int code, String msgFormat, Object... args) {
return new BaseException(code, msgFormat, args);
}
+
+ public static BaseException newInstance(int code, String messageCode, String msgFormat, Object... args) {
+ return new BaseException(code, messageCode, msgFormat, args);
+ }
}
Specification<E> spec = convertToSpec(mapBean);
+ if (pageIndex == -1) {
+ loadAll = true;
+ }
+
if (loadAll) {
pageIndex = 0;
pageSize = Integer.MAX_VALUE;