新增查看页面

This commit is contained in:
2026-01-24 11:30:18 +08:00
parent f01e874c0c
commit 30ff701455
4 changed files with 209 additions and 52 deletions

View File

@@ -0,0 +1,85 @@
package com.jeesite.modules.app.Api.model;
import lombok.Data;
import java.io.Serial;
import java.io.Serializable;
@Data
public class ApiResult<T> implements Serializable {
@Serial
private static final long serialVersionUID = 1L;
/**
* 状态码
*/
private int code;
/**
* 提示信息
*/
private String message;
/**
* 返回数据
*/
private T result;
/* ---------------- 构造方法 ---------------- */
public ApiResult() {
}
public ApiResult(int code, String message, T data) {
this.code = code;
this.message = message;
this.result = data;
}
/* ---------------- 静态工厂方法 ---------------- */
/**
* 成功,仅返回状态码
*/
public static <T> ApiResult<T> success() {
return new ApiResult<>(ResultCodeEnum.SUCCESS.getCode(), ResultCodeEnum.SUCCESS.getMessage(), null);
}
/**
* 成功,返回数据
*/
public static <T> ApiResult<T> success(T data) {
return new ApiResult<>(ResultCodeEnum.SUCCESS.getCode(), ResultCodeEnum.SUCCESS.getMessage(), data);
}
/**
* 成功,自定义提示
*/
public static <T> ApiResult<T> success(String message, T data) {
return new ApiResult<>(ResultCodeEnum.SUCCESS.getCode(), message, data);
}
/**
* 失败,默认提示
*/
public static <T> ApiResult<T> error() {
return new ApiResult<>(ResultCodeEnum.FAIL.getCode(), ResultCodeEnum.FAIL.getMessage(), null);
}
/**
* 失败,自定义状态码与提示
*/
public static <T> ApiResult<T> error(int code, String message) {
return new ApiResult<>(code, message, null);
}
/**
* 失败,使用枚举
*/
public static <T> ApiResult<T> error(ResultCodeEnum codeEnum) {
return new ApiResult<>(codeEnum.getCode(), codeEnum.getMessage(), null);
}
}

View File

@@ -0,0 +1,22 @@
package com.jeesite.modules.app.Api.model;
import lombok.Getter;
@Getter
public enum ResultCodeEnum {
SUCCESS(200, "Success"),
FAIL(500, "Fail"),
BAD_REQUEST(400, "Bad Request"),
UNAUTHORIZED(401, "Unauthorized"),
NOT_FOUND(404, "Not Found");
private final int code;
private final String message;
ResultCodeEnum(int code, String message) {
this.code = code;
this.message = message;
}
}

View File

@@ -0,0 +1,89 @@
package com.jeesite.modules.app.Api.web;
import com.jeesite.common.config.Global;
import com.jeesite.modules.app.Api.model.ApiResult;
import com.jeesite.modules.app.Api.model.ResultCodeEnum;
import com.jeesite.modules.biz.entity.BizAreaSource;
import com.jeesite.modules.biz.service.BizAreaSourceService;
import com.jeesite.modules.sys.entity.DictData;
import com.jeesite.modules.sys.utils.DictUtils;
import jakarta.annotation.Resource;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Controller
@RequestMapping(value = "${adminPath}/cApi/myWork")
public class cApiStart {
@Resource
private BizAreaSourceService bizAreaSourceService;
private String API_TOKEN = Global.getConfig("biz.api.Token", "");
/**
* 字典列表获取
*/
@RequestMapping(value = "dictList")
@ResponseBody
public ApiResult<?> getDictList(String token, String dictType) {
if (!API_TOKEN.equals(token)) {
return ApiResult.error(ResultCodeEnum.FAIL.getCode(), "Token无效");
}
try {
List<DictData> dataList = DictUtils.getDictList(dictType);
return ApiResult.success(dataList);
} catch (Exception e) {
return ApiResult.error(ResultCodeEnum.FAIL.getCode(), e.getMessage());
}
}
/**
* 区域树形列表
*/
@RequestMapping(value = "areaTree")
@ResponseBody
public ApiResult<?> getAreaTree(String token) {
if (!API_TOKEN.equals(token)) {
return ApiResult.error(ResultCodeEnum.FAIL.getCode(), "Token无效");
}
try {
BizAreaSource bizAreaSource = new BizAreaSource();
bizAreaSource.setAreaLevel(3);
bizAreaSource.setAreaStatus("1");
List<BizAreaSource> areaSourceList = bizAreaSourceService.findList(bizAreaSource);
List<Map<String, Object>> treeData = new ArrayList<>();
Map<String, Map<String, Object>> nodeMap = new HashMap<>();
for (BizAreaSource area : areaSourceList) {
Map<String, Object> node = new HashMap<>();
node.put("id", area.getAreaCode());
node.put("name", area.getAreaName());
node.put("disabled", false);
node.put("children", new ArrayList<Map<String, Object>>());
nodeMap.put(area.getAreaCode(), node);
}
for (BizAreaSource area : areaSourceList) {
Map<String, Object> currentNode = nodeMap.get(area.getAreaCode());
String parentCode = area.getPareaCode(); // 当前节点的父编码
if (nodeMap.containsKey(parentCode)) {
Map<String, Object> parentNode = nodeMap.get(parentCode);
List<Map<String, Object>> children = (List<Map<String, Object>>) parentNode.get("children");
children.add(currentNode);
} else {
if (parentCode.equals("0")) {
treeData.add(currentNode);
}
}
}
return ApiResult.success(treeData);
} catch (Exception e) {
return ApiResult.error(ResultCodeEnum.FAIL.getCode(), e.getMessage());
}
}
}