生成invoke脚本

发布时间 2023-10-09 15:09:06作者: 浩皓
	public static void main(String[] args) throws NoSuchMethodException {
        //入参
        CmsModuleDTO queryReq = new CmsModuleDTO();
        queryReq.setModuleScenario("新手");

        //getInvoke(入参,类名.class,方法名)
        String invokeCommand = getInvoke(queryReq, IBestPayMallCmsModuleService.class, "createModule");

        System.out.println("invoke命令↓");
        System.out.println(invokeCommand);
    }


    /**
     * 生成invoke命令
     *
     * @param reqParam   请求参数
     * @param reqService 请求的接口service服务
     * @param reqMathed  请求的service下的方法
     * @throws NoSuchMethodException
     */
    public static String getInvoke(Object reqParam, Class<?> reqService, String reqMathed) throws NoSuchMethodException {
        JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(reqParam));
        jsonObject.put("class", reqParam.getClass().getName());
        return "invoke " + reqService.getName() +
                "." + reqService.getMethod(reqMathed, reqParam.getClass()).getName() +
                " (" + jsonObject.toJSONString() + ")";
    }