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; ...@@ -5,20 +5,29 @@ import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.servlet.ServletUtil; import cn.hutool.extra.servlet.ServletUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.zq.api.constant.ApiCodeEnum; import com.zq.api.constant.ApiCodeEnum;
import com.zq.api.constant.ApiMethod;
import com.zq.api.form.ApiForm; import com.zq.api.form.ApiForm;
import com.zq.api.form.ApiResp; import com.zq.api.form.ApiResp;
import com.zq.api.service.ApiService; import com.zq.api.service.ApiService;
import com.zq.api.service.IApiLogic;
import com.zq.api.utils.ApiUtils; import com.zq.api.utils.ApiUtils;
import com.zq.common.utils.ThrowableUtil; import com.zq.common.utils.ThrowableUtil;
import com.zq.common.vo.ResultVo; import com.zq.common.vo.ResultVo;
import feign.FeignException; import feign.FeignException;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.core.annotation.AnnotationUtils;
import org.springframework.web.bind.annotation.RequestHeader; import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest; 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接口") @Api(tags = "API接口")
@RestController @RestController
...@@ -87,9 +96,7 @@ public class ApiController { ...@@ -87,9 +96,7 @@ public class ApiController {
// 调试日志 // 调试日志
if (ApiUtils.DEBUG) { if (ApiUtils.DEBUG) {
System.out.println("API DEBUG ACTION \n[from=" + form + "]" System.out.println("API DEBUG ACTION \n[from=" + form + "]" + "\n[resp=" + JSON.toJSONString(resp) + "]" + "\n[time=" + (System.currentTimeMillis() - start) + "ms]");
+ "\n[resp=" + JSON.toJSONString(resp) + "]"
+ "\n[time=" + (System.currentTimeMillis() - start) + "ms]");
} }
String clientIP = ServletUtil.getClientIP(request); String clientIP = ServletUtil.getClientIP(request);
...@@ -109,4 +116,33 @@ public class ApiController { ...@@ -109,4 +116,33 @@ public class ApiController {
ApiUtils.DEBUG = !ApiUtils.DEBUG; ApiUtils.DEBUG = !ApiUtils.DEBUG;
return new ApiResp(from).setData(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; package com.zq.api.service;
import com.zq.api.constant.ApiMethod;
import com.zq.api.form.ApiForm; import com.zq.api.form.ApiForm;
import com.zq.api.form.ApiResp; import com.zq.api.form.ApiResp;
...@@ -9,258 +10,105 @@ import com.zq.api.form.ApiResp; ...@@ -9,258 +10,105 @@ import com.zq.api.form.ApiResp;
* 2016年9月29日 上午11:45:08 * 2016年9月29日 上午11:45:08
*/ */
public interface IApiLogic extends IApiCommon { public interface IApiLogic extends IApiCommon {
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓SYS APP接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/** @ApiMethod(name = "获取用户信息", service = "SYS-SERVER")
* 获取用户信息
*
* @return
*/
ApiResp getUserInfo(ApiForm form); ApiResp getUserInfo(ApiForm form);
/** @ApiMethod(name = "发送验证码", service = "SYS-SERVER")
* 发送验证码
*
* @param form
* @return
*/
ApiResp sendCode(ApiForm form); ApiResp sendCode(ApiForm form);
/** @ApiMethod(name = "重置密码", service = "SYS-SERVER")
* 重置密码
*
* @param form
* @return
*/
ApiResp resetPassword(ApiForm form); ApiResp resetPassword(ApiForm form);
/** @ApiMethod(name = "用户手机号登录", service = "SYS-SERVER")
* 用户手机号登录
*
* @param form
* @return
*/
ApiResp phoneLogin(ApiForm form); ApiResp phoneLogin(ApiForm form);
/** @ApiMethod(name = "密码登录", service = "SYS-SERVER")
* 密码登录
*
* @param form
* @return
*/
ApiResp passwdLogin(ApiForm form); ApiResp passwdLogin(ApiForm form);
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓门户接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓门户接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/** @ApiMethod(name = "获取婚姻统计", service = "PORTAL-SERVER")
* 获取婚姻统计
*
* @param form
* @return
*/
ApiResp getMarriageStats(ApiForm form); ApiResp getMarriageStats(ApiForm form);
/** @ApiMethod(name = "获取区域下的婚姻统计列表", service = "PORTAL-SERVER")
* 获取区域下的婚姻统计列表
*
* @param form
* @return
*/
ApiResp getAreaUnderMarriageStatsList(ApiForm form); ApiResp getAreaUnderMarriageStatsList(ApiForm form);
/** @ApiMethod(name = "获取近5年婚姻走势", service = "PORTAL-SERVER")
* 获取近5年婚姻走势
*
* @param form
* @return
*/
ApiResp getFivesYearMarriageLine(ApiForm form); ApiResp getFivesYearMarriageLine(ApiForm form);
/** @ApiMethod(name = "获取区域残疾发放统计", service = "PORTAL-SERVER")
* 获取区域残疾发放统计
*
* @param form
* @return
*/
ApiResp getAreaDisabledIssueStats(ApiForm form); ApiResp getAreaDisabledIssueStats(ApiForm form);
/** @ApiMethod(name = "近五年发放人数和金额统计", service = "PORTAL-SERVER")
* 近五年发放人数和金额统计
*
* @param form
* @return
*/
ApiResp getYearDisabledIssueStats(ApiForm form); ApiResp getYearDisabledIssueStats(ApiForm form);
/** @ApiMethod(name = "获取在享补贴统计", service = "PORTAL-SERVER")
* 获取在享补贴统计
*
* @param form
* @return
*/
ApiResp getEnjoySubsidyStats(ApiForm form); ApiResp getEnjoySubsidyStats(ApiForm form);
/** @ApiMethod(name = "获取区域统计列表", service = "PORTAL-SERVER")
* 获取区域社会救助统计列表
*
* @param form
* @return
*/
ApiResp getAreaShjzStats(ApiForm form); ApiResp getAreaShjzStats(ApiForm form);
/** @ApiMethod(name = "获取区域社会救助统计列表", service = "PORTAL-SERVER")
* 获取区域社会救助统计列表
*
* @param form
* @return
*/
ApiResp getAreaUnderNumStats(ApiForm form); ApiResp getAreaUnderNumStats(ApiForm form);
/** @ApiMethod(name = "获取近五年城市农村低保发放人数统计", service = "PORTAL-SERVER")
* 获取近五年城市农村低保发放人数统计
*
* @param form
* @return
*/
ApiResp getFivesYearShjzAchieveStats(ApiForm form); ApiResp getFivesYearShjzAchieveStats(ApiForm form);
/** @ApiMethod(name = "获取近五年城市农村低保发放金额统计", service = "PORTAL-SERVER")
* 获取近五年城市农村低保发放金额统计
*
* @param form
* @return
*/
ApiResp getFivesYearShjzProvideStats(ApiForm form); ApiResp getFivesYearShjzProvideStats(ApiForm form);
/** @ApiMethod(name = "修改登录密码", service = "PORTAL-SERVER")
* 修改登录密码
*
* @param form
* @return
*/
ApiResp modifyPasswd(ApiForm form); ApiResp modifyPasswd(ApiForm form);
/** @ApiMethod(name = "获取App最新版本", service = "PORTAL-SERVER")
* 获取App最新版本
*
* @param form
* @return
*/
ApiResp getAppVersion(ApiForm form); ApiResp getAppVersion(ApiForm form);
/** @ApiMethod(name = "获取子区域列表", service = "PORTAL-SERVER")
* 获取子区域列表
*
* @param form
* @return
*/
ApiResp getChildAreaList(ApiForm form); ApiResp getChildAreaList(ApiForm form);
/** @ApiMethod(name = "获取社会机构统计", service = "PORTAL-SERVER")
* 获取社会机构统计
*
* @param form
* @return
*/
ApiResp getSoorganStats(ApiForm form); ApiResp getSoorganStats(ApiForm form);
/** @ApiMethod(name = "获取地区下面社会机构统计列表", service = "PORTAL-SERVER")
* 获取地区下面社会机构统计列表
*
* @param form
* @return
*/
ApiResp getAreaUnderSoorganStatsList(ApiForm form); ApiResp getAreaUnderSoorganStatsList(ApiForm form);
/** @ApiMethod(name = "获取App首页地图数据", service = "PORTAL-SERVER")
* 获取App首页地图数据
*
* @param form
* @return
*/
ApiResp getAppMapStats(ApiForm form); ApiResp getAppMapStats(ApiForm form);
/** @ApiMethod(name = "汇总搜索", service = "PORTAL-SERVER")
* 汇总搜索
*
* @param form
* @return
*/
ApiResp gatherSearch(ApiForm form); ApiResp gatherSearch(ApiForm form);
/** @ApiMethod(name = "指定区域下的儿童福利数据统计", service = "PORTAL-SERVER")
* 指定区域下的儿童福利数据统计
*
* @param form
* @return
*/
ApiResp getAgencyChildStats(ApiForm form); ApiResp getAgencyChildStats(ApiForm form);
/** @ApiMethod(name = "指定区域下级区域的儿童福利数据统计列表", service = "PORTAL-SERVER")
* 指定区域下级区域的儿童福利数据统计列表
*
* @param form
* @return
*/
ApiResp getAgencyChildStatsList(ApiForm form); ApiResp getAgencyChildStatsList(ApiForm form);
/** @ApiMethod(name = "火化量统计", service = "PORTAL-SERVER")
* 火化量统计
*
* @param form
* @return
*/
ApiResp getCremationStats(ApiForm form); ApiResp getCremationStats(ApiForm form);
/** @ApiMethod(name = "火化量统计列表", service = "PORTAL-SERVER")
* 火化量统计列表
*
* @param form
* @return
*/
ApiResp getCremationStatsList(ApiForm form); ApiResp getCremationStatsList(ApiForm form);
/** @ApiMethod(name = "殡仪馆火化量统计列表", service = "PORTAL-SERVER")
* 殡仪馆火化量统计列表
*
* @param form
* @return
*/
ApiResp getCremationStatsById(ApiForm form); ApiResp getCremationStatsById(ApiForm form);
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓SYS接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓SYS单点登录接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/** @ApiMethod(name = "获取单点登录用户信息", service = "SYS-SERVER")
* 获取单点登录用户信息
*
* @param form
* @return
*/
ApiResp getSsoUserInfo(ApiForm form); ApiResp getSsoUserInfo(ApiForm form);
/** @ApiMethod(name = "单点登出", service = "SYS-SERVER")
* 单点登出
*
* @param form
* @return
*/
ApiResp ssoLogout(ApiForm form); ApiResp ssoLogout(ApiForm form);
/*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓开放接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/ /*↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓开放接口↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓*/
/** @ApiMethod(name = "婚姻搜索接口", service = "OPEN-SERVER")
* 婚姻搜索接口
*
* @param form
* @return
*/
ApiResp marriageSearch(ApiForm form); ApiResp marriageSearch(ApiForm form);
/** @ApiMethod(name = "自然人搜索接口", service = "OPEN-SERVER")
* 自然人搜索接口
*
* @param form
* @return
*/
ApiResp naturalPersonSearch(ApiForm form); 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