Commit 0c5f7fbc by 袁伟铭

添加方法注解

parent 8cb5b69d
package com.zq.api.constant;
import org.springframework.core.annotation.AliasFor;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
/**
* @author wilmiam
* @since 2022/1/5 10:42
*/
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.METHOD})
public @interface ApiMethod {
@AliasFor("name")
String value() default "";
@AliasFor("value")
String name() default "";
String service() default "";
}
......@@ -5,20 +5,29 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.servlet.ServletUtil;
import com.alibaba.fastjson.JSON;
import com.zq.api.constant.ApiCodeEnum;
import com.zq.api.constant.ApiMethod;
import com.zq.api.form.ApiForm;
import com.zq.api.form.ApiResp;
import com.zq.api.service.ApiService;
import com.zq.api.service.IApiLogic;
import com.zq.api.utils.ApiUtils;
import com.zq.common.utils.ThrowableUtil;
import com.zq.common.vo.ResultVo;
import feign.FeignException;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Api(tags = "API接口")
@RestController
......@@ -87,9 +96,7 @@ public class ApiController {
// 调试日志
if (ApiUtils.DEBUG) {
System.out.println("API DEBUG ACTION \n[from=" + form + "]"
+ "\n[resp=" + JSON.toJSONString(resp) + "]"
+ "\n[time=" + (System.currentTimeMillis() - start) + "ms]");
System.out.println("API DEBUG ACTION \n[from=" + form + "]" + "\n[resp=" + JSON.toJSONString(resp) + "]" + "\n[time=" + (System.currentTimeMillis() - start) + "ms]");
}
String clientIP = ServletUtil.getClientIP(request);
......@@ -109,4 +116,33 @@ public class ApiController {
ApiUtils.DEBUG = !ApiUtils.DEBUG;
return new ApiResp(from).setData(ApiUtils.DEBUG);
}
@RequestMapping("/method")
public ApiResp getAllMethod(@RequestParam(required = false) String service, @RequestParam(required = false) String name) {
List<Map<String, Object>> methodList = new ArrayList<>();
Method[] methods = IApiLogic.class.getMethods();
for (Method method : methods) {
Class<?>[] params = method.getParameterTypes();
if (params.length == 1 && (params[0] == ApiForm.class)) {
ApiMethod apiMethod = AnnotationUtils.getAnnotation(method, ApiMethod.class);
if (StrUtil.isNotBlank(service)) {
if (apiMethod == null || !apiMethod.service().equals(service)) {
continue;
}
}
if (StrUtil.isNotBlank(name)) {
if ((apiMethod == null || !apiMethod.value().contains(name)) && !method.getName().toLowerCase().contains(name.toLowerCase())) {
continue;
}
}
Map<String, Object> data = new HashMap<>();
data.put("value", method.getName());
data.put("name", apiMethod == null ? "" : apiMethod.value());
data.put("service", apiMethod == null ? "" : apiMethod.service());
methodList.add(data);
}
}
return ApiUtils.toApiResp(new ApiForm(), ResultVo.success(methodList));
}
}
package com.zq.api.service;
import com.zq.api.constant.ApiMethod;
import com.zq.api.form.ApiForm;
import com.zq.api.form.ApiResp;
......@@ -9,258 +10,105 @@ import com.zq.api.form.ApiResp;
* 2016年9月29日 上午11:45:08
*/
public interface IApiLogic extends IApiCommon {
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓SYS APP接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/**
* 获取用户信息
*
* @return
*/
@ApiMethod(name = "获取用户信息", service = "SYS-SERVER")
ApiResp getUserInfo(ApiForm form);
/**
* 发送验证码
*
* @param form
* @return
*/
@ApiMethod(name = "发送验证码", service = "SYS-SERVER")
ApiResp sendCode(ApiForm form);
/**
* 重置密码
*
* @param form
* @return
*/
@ApiMethod(name = "重置密码", service = "SYS-SERVER")
ApiResp resetPassword(ApiForm form);
/**
* 用户手机号登录
*
* @param form
* @return
*/
@ApiMethod(name = "用户手机号登录", service = "SYS-SERVER")
ApiResp phoneLogin(ApiForm form);
/**
* 密码登录
*
* @param form
* @return
*/
@ApiMethod(name = "密码登录", service = "SYS-SERVER")
ApiResp passwdLogin(ApiForm form);
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓门户接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/**
* 获取婚姻统计
*
* @param form
* @return
*/
@ApiMethod(name = "获取婚姻统计", service = "PORTAL-SERVER")
ApiResp getMarriageStats(ApiForm form);
/**
* 获取区域下的婚姻统计列表
*
* @param form
* @return
*/
@ApiMethod(name = "获取区域下的婚姻统计列表", service = "PORTAL-SERVER")
ApiResp getAreaUnderMarriageStatsList(ApiForm form);
/**
* 获取近5年婚姻走势
*
* @param form
* @return
*/
@ApiMethod(name = "获取近5年婚姻走势", service = "PORTAL-SERVER")
ApiResp getFivesYearMarriageLine(ApiForm form);
/**
* 获取区域残疾发放统计
*
* @param form
* @return
*/
@ApiMethod(name = "获取区域残疾发放统计", service = "PORTAL-SERVER")
ApiResp getAreaDisabledIssueStats(ApiForm form);
/**
* 近五年发放人数和金额统计
*
* @param form
* @return
*/
@ApiMethod(name = "近五年发放人数和金额统计", service = "PORTAL-SERVER")
ApiResp getYearDisabledIssueStats(ApiForm form);
/**
* 获取在享补贴统计
*
* @param form
* @return
*/
@ApiMethod(name = "获取在享补贴统计", service = "PORTAL-SERVER")
ApiResp getEnjoySubsidyStats(ApiForm form);
/**
* 获取区域社会救助统计列表
*
* @param form
* @return
*/
@ApiMethod(name = "获取区域统计列表", service = "PORTAL-SERVER")
ApiResp getAreaShjzStats(ApiForm form);
/**
* 获取区域社会救助统计列表
*
* @param form
* @return
*/
@ApiMethod(name = "获取区域社会救助统计列表", service = "PORTAL-SERVER")
ApiResp getAreaUnderNumStats(ApiForm form);
/**
* 获取近五年城市农村低保发放人数统计
*
* @param form
* @return
*/
@ApiMethod(name = "获取近五年城市农村低保发放人数统计", service = "PORTAL-SERVER")
ApiResp getFivesYearShjzAchieveStats(ApiForm form);
/**
* 获取近五年城市农村低保发放金额统计
*
* @param form
* @return
*/
@ApiMethod(name = "获取近五年城市农村低保发放金额统计", service = "PORTAL-SERVER")
ApiResp getFivesYearShjzProvideStats(ApiForm form);
/**
* 修改登录密码
*
* @param form
* @return
*/
@ApiMethod(name = "修改登录密码", service = "PORTAL-SERVER")
ApiResp modifyPasswd(ApiForm form);
/**
* 获取App最新版本
*
* @param form
* @return
*/
@ApiMethod(name = "获取App最新版本", service = "PORTAL-SERVER")
ApiResp getAppVersion(ApiForm form);
/**
* 获取子区域列表
*
* @param form
* @return
*/
@ApiMethod(name = "获取子区域列表", service = "PORTAL-SERVER")
ApiResp getChildAreaList(ApiForm form);
/**
* 获取社会机构统计
*
* @param form
* @return
*/
@ApiMethod(name = "获取社会机构统计", service = "PORTAL-SERVER")
ApiResp getSoorganStats(ApiForm form);
/**
* 获取地区下面社会机构统计列表
*
* @param form
* @return
*/
@ApiMethod(name = "获取地区下面社会机构统计列表", service = "PORTAL-SERVER")
ApiResp getAreaUnderSoorganStatsList(ApiForm form);
/**
* 获取App首页地图数据
*
* @param form
* @return
*/
@ApiMethod(name = "获取App首页地图数据", service = "PORTAL-SERVER")
ApiResp getAppMapStats(ApiForm form);
/**
* 汇总搜索
*
* @param form
* @return
*/
@ApiMethod(name = "汇总搜索", service = "PORTAL-SERVER")
ApiResp gatherSearch(ApiForm form);
/**
* 指定区域下的儿童福利数据统计
*
* @param form
* @return
*/
@ApiMethod(name = "指定区域下的儿童福利数据统计", service = "PORTAL-SERVER")
ApiResp getAgencyChildStats(ApiForm form);
/**
* 指定区域下级区域的儿童福利数据统计列表
*
* @param form
* @return
*/
@ApiMethod(name = "指定区域下级区域的儿童福利数据统计列表", service = "PORTAL-SERVER")
ApiResp getAgencyChildStatsList(ApiForm form);
/**
* 火化量统计
*
* @param form
* @return
*/
@ApiMethod(name = "火化量统计", service = "PORTAL-SERVER")
ApiResp getCremationStats(ApiForm form);
/**
* 火化量统计列表
*
* @param form
* @return
*/
@ApiMethod(name = "火化量统计列表", service = "PORTAL-SERVER")
ApiResp getCremationStatsList(ApiForm form);
/**
* 殡仪馆火化量统计列表
*
* @param form
* @return
*/
@ApiMethod(name = "殡仪馆火化量统计列表", service = "PORTAL-SERVER")
ApiResp getCremationStatsById(ApiForm form);
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓SYS接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓SYS单点登录接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/**
* 获取单点登录用户信息
*
* @param form
* @return
*/
@ApiMethod(name = "获取单点登录用户信息", service = "SYS-SERVER")
ApiResp getSsoUserInfo(ApiForm form);
/**
* 单点登出
*
* @param form
* @return
*/
@ApiMethod(name = "单点登出", service = "SYS-SERVER")
ApiResp ssoLogout(ApiForm form);
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓开放接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/**
* 婚姻搜索接口
*
* @param form
* @return
*/
@ApiMethod(name = "婚姻搜索接口", service = "OPEN-SERVER")
ApiResp marriageSearch(ApiForm form);
/**
* 自然人搜索接口
*
* @param form
* @return
*/
@ApiMethod(name = "自然人搜索接口", service = "OPEN-SERVER")
ApiResp naturalPersonSearch(ApiForm form);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment