Просмотр исходного кода

企业微信数据智能专区-删除不必要的代码

cgp 1 неделя назад
Родитель
Сommit
1270b4c272

+ 0 - 212
fs-service/src/main/java/com/tencent/wework/SpecCallbackSDK.java

@@ -1,212 +0,0 @@
-package com.tencent.wework;
-
-import java.util.HashMap;
-import java.util.Map;
-
-;
-
-/**
- * @warning: 1. 不要修改成员变量名,native方法内有反射调用
- *           2. 调用本地方法需保持包结构,本工具需放在包com.tencent.wework内
- *           3. 不允许继承,类名和函数名均不可修改,会影响本地方法的引用,详见:javah生成本地方法头文件
- */
-public final class SpecCallbackSDK {
-
-    /**
-     * @description 调用本地方法后实例化的对象指针
-     */
-    private long specCallbackSDKptr = 0;
-
-    public long GetPtr() { return specCallbackSDKptr; }
-
-    /**
-     * @description: 回包的headers
-     */
-    private Map<String, String> responseHeaders;
-
-    public Map<String, String> GetResponseHeaders() { return responseHeaders; }
-
-    /**
-     * @description:  回包的加密后的body
-     */
-    private String responseBody;
-
-    public String GetResponseBody() { return responseBody; }
-
-    /**
-     * @description:   每个请求构造一个SpecCallbackSDK示例,
-     *                 SpecCallbackSDK仅持有headers和body的引用,
-     *                 因此需保证headers和body的生存期比SpecCallbackSDK长
-     * @param method:  请求方法GET/POST
-     * @param headers: 请求header
-     * @param body:    请求body
-     * @example: 
-     * SpecCallbackSDK sdk = new SpecCallbackSDK(method, headers, body);
-     * if (sdk.IsOk()) {
-     *   String corpid = sdk.GetCorpId();
-     *   String agentid = sdk.GetAgentId();
-     *   String call_type = sdk.GetCallType();
-     *   String data = sdk.GetData();
-     *   //do something...
-     * } 
-     * String response = ...;
-     * sdk.BuildResponseHeaderBody(response);
-     * Map<String, String> responseHeaders = sdk.GetResponseHeaders();
-     * String body = sdk.GetResponseBody();
-     * //do response
-     * 
-     * @return errorcode 示例如下:
-     *         -920001: 未设置请求方法
-     *         -920002: 未设置请求header
-     *         -920003: 未设置请求body
-     * */
-    public SpecCallbackSDK(String method, Map<String, String> headers, String body) {
-        try {
-            specCallbackSDKptr = NewCallbackSDK(method, headers, body);
-        } catch (Exception e) {
-            SpecUtil.WWSpecLogError("SpecCallbackSDK exception caught", e.getMessage());
-        }
-    }
-
-    private native long NewCallbackSDK(String method, Map<String, String> headers, String body);
-
-    /**
-     * @usage 在Java对象的内存回收前析构C++对象
-     */
-    @Override
-    protected void finalize() throws Throwable {
-        DeleteCPPInstance(specCallbackSDKptr);
-        super.finalize();
-    }
-
-    private native void DeleteCPPInstance(long specCallbackSDKptr);
-
-    /**
-     * @description: 判断构造函数中传入的请求是否解析成功
-     * @return:      成功与否
-     * */
-    public boolean IsOk() {
-        return IsOk(specCallbackSDKptr);
-    }
-
-    private native boolean IsOk(long specCallbackSDKptr);
-
-    /**
-     * @description: 获取请求的企业
-     * @require:     仅当IsOk() == true可调用
-     * @return:      corpid
-     * */
-    public String GetCorpId() {
-        return GetCorpId(specCallbackSDKptr);
-    }
-
-    private native String GetCorpId(long specCallbackSDKptr);
-
-    /**
-     * @description: 获取请求的应用
-     * @require:     仅当IsOk() == true可调用
-     * @return:      agentid
-     * */
-    public long GetAgentId() {
-        return GetAgentId(specCallbackSDKptr);
-    }
-
-    private native long GetAgentId(long specCallbackSDKptr);
-
-    /**
-     * @description: 获取请求的类型
-     * @require:     仅当IsOk() == true可调用
-     * @return:      1 - 来自[应用调用专区]的请求
-     *               2 - 来自企业微信的回调事件
-     * */
-    public long GetCallType() {
-        return GetCallType(specCallbackSDKptr);
-    }
-
-    private native long GetCallType(long specCallbackSDKptr);
-
-    /**
-     * @description: 获取请求数据
-     * @require:     仅当IsOk() == true可调用
-     * @return:      请求数据,根据call_type可能是:
-     *               - 企业微信回调事件
-     *               - [应用调用专区]接口中的request_data
-     * */
-    public String GetData() {
-        return GetData(specCallbackSDKptr);
-    }
-
-    private native String GetData(long specCallbackSDKptr);
-
-    /**
-     * @description: 是否异步请求
-     * @require:     仅当IsOk() == true可调用
-     * @return:      是否异步请求
-     * */
-    public boolean GetIsAsync() {
-        return GetIsAsync(specCallbackSDKptr);
-    }
-
-    private native boolean GetIsAsync(long specCallbackSDKptr);
-
-    /**
-     * @description: 获取请求的job_info,
-     * @require:     仅当IsOk() == true可调用
-     * @return:      job_info,无需理解内容,
-     *               在同一个请求上下文中使用SpecSDK的时候传入
-     * */
-    public String GetJobInfo() {
-        return GetJobInfo(specCallbackSDKptr);
-    }
-
-    private native String GetJobInfo(long specCallbackSDKptr);
-
-    /**
-     * @description: 获取请求的ability_id,[应用调用专区]接口时指定
-     * @require:     仅当IsOk() == true可调用
-     * @return:      ability_id
-     * */
-    public String GetAbilityId() {
-        return GetAbilityId(specCallbackSDKptr);
-    }
-
-    private native String GetAbilityId(long specCallbackSDKptr);
-
-    /**
-     * @description: 获取请求的notify_id,用于[应用同步调用专区程序]接口
-     * @require:     仅当IsOk() == true可调用
-     * @return:      notify_id
-     * */
-    public String GetNotifyId() {
-        return GetNotifyId(specCallbackSDKptr);
-    }
-
-    private native String GetNotifyId(long specCallbackSDKptr);
-
-    /**
-     * @description:    对返回包计算签名&加密
-     * @param response: 待加密的回包明文.如果IsOk()==false,传入空串即可
-     * @note 本接口的执行问题可查看日志
-     * */
-    public void BuildResponseHeaderBody(String response) {
-        try {
-            responseHeaders = new HashMap<String, String>();
-            responseBody = "";
-            BuildResponseHeaderBody(specCallbackSDKptr, response);
-        } catch (Exception e) {
-            SpecUtil.WWSpecLogError("SpecCallbackSDK exception caught", e.getMessage());
-        }
-    }
-
-    private native void BuildResponseHeaderBody(long specCallbackSDKptr, String response);
-
-    // 静态代码块内还无法调用native日志函数,这里的日志在管理系统无法查询
-    static {
-        try {
-            Class.forName("com.tencent.wework.SpecUtil");
-        } catch (ClassNotFoundException e) {
-            e.printStackTrace();
-            System.exit(1);
-        }
-    }
-}

+ 0 - 163
fs-service/src/main/java/com/tencent/wework/SpecSDK.java

@@ -1,163 +0,0 @@
-package com.tencent.wework;
-
-/**
- * @warning: 1. 不要修改成员变量名,native方法内有反射调用
- *           2. 调用本地方法需保持包结构,本工具需放在包com.tencent.wework内
- *           3. 不允许继承,类名和函数名均不可修改,会影响本地方法的引用,详见:javah生成本地方法头文件
- */
-public final class SpecSDK {
-
-    /**
-     * @description 调用本地方法后实例化的对象指针
-     */
-    private long specSDKptr = 0;
-
-    /**
-     * @usage invoke的请求
-     * @example "{\"limit\":1}
-     */
-    private String request;
-
-    public void SetRequest(String request) {
-        this.request = request;
-    }
-
-    /**
-     * @usage 访问上一次invoke的结果
-     */
-    private String response;
-    
-    public String GetResponse() { 
-        return response;
-    }
-
-    /**
-     * @param corpid:     企业corpid,必选参数
-     * @param agentid:    应用id,必选参数
-     * @param ability_id: 能力ID,可选参数
-     * @param job_info:   job_info,可选参数
-     * */
-    public SpecSDK(String corpId, long agentId) {
-        specSDKptr = NewSDK1(corpId, agentId);
-    }
-
-    private native long NewSDK1(String corpId, long agentId);
-
-    public SpecSDK(String corpId, long agentId, String abilityId) {
-        specSDKptr = NewSDK2(corpId, agentId, abilityId);
-    }
-
-    private native long NewSDK2(String corpId, long agentId, String abilityId);
-
-    public SpecSDK(String corpId, long agentId, String abilityId, String jobInfo) {
-        specSDKptr = NewSDK3(corpId, agentId, abilityId, jobInfo);
-    }
-
-    private native long NewSDK3(String corpId, long agentId, String abilityId, String jobInfo);
-
-    /**
-     * @description         使用callback的请求来初始化
-     * @param callback_sdk: 要求IsOk()==true
-     * @return C++内部指针,创建失败时指针仍为0,并输出错误日志
-     * */
-    public SpecSDK(SpecCallbackSDK callbackSDK) {
-        specSDKptr = NewSDK4(callbackSDK.GetPtr());
-    }
-
-    private native long NewSDK4(long callbackSDK);
-
-    /**
-     * @usage 在Java对象的内存回收前析构C++对象
-     */
-    @Override
-    protected void finalize() throws Throwable {
-        DeleteCPPInstance(specSDKptr);
-        super.finalize();
-    }
-
-    private native void DeleteCPPInstance(long specSDKptr);
-
-    /**
-     * @description     用于在专区内调用企业微信接口
-     * @param api_name 接口名
-     * @param request  json格式的请求数据
-     * @param response json格式的返回数据
-     * @return errorcode 参考如下:
-     *            0: 成功
-     *            -910001: SDK没有初始化
-     *            -910002: 没有设置请求体
-     *            -910003: 没有设置请求的API
-     *            -910004: 在SDK成员内找不到成员"response",注意lib内有反射机制,不要修改成员变量名
-     *            -910005: 使用未初始化的callback初始化SDK
-     *            -910006: invoke调用失败,应检查日志查看具体原因
-     *            -910007: 响应体为空
-     * @note 当返回0时,表示没有网络或请求协议层面或调用方法的失败,
-     *       调用方需继续检查response中的errcode字段确保业务层面的成功
-     * 
-     * @usage 当前版本sdk支持的接口列表,每个接口的具体协议请查看企业微信文档:
-     *        https://developer.work.weixin.qq.com/document/path/91201
-     * 
-     * +--------------------------------+--------------------------------+
-     * |接口名                          |描述                            |
-     * |--------------------------------|--------------------------------|
-     * |program_async_job_call_back     |上报异步任务结果                |
-     * |sync_msg                        |获取会话记录                    |
-     * |get_group_chat                  |获取内部群信息                  |
-     * |get_agree_status_single         |获取单聊会话同意情况            |
-     * |get_agree_status_room           |获取群聊会话同意情况            |
-     * |set_hide_sensitiveinfo_config   |设置成员会话组件敏感信息隐藏配置|
-     * |get_hide_sensitiveinfo_config   |获取成员会话组件敏感信息隐藏配置|
-     * |search_chat                     |会话名称搜索                    |
-     * |search_msg                      |会话消息搜索                    |
-     * |create_rule                     |新增关键词规则                  |
-     * |get_rule_list                   |获取关键词列表                  |
-     * |get_rule_detail                 |获取关键词规则详情              |
-     * |update_rule                     |修改关键词规则                  |
-     * |delete_rule                     |删除关键词规则                  |
-     * |get_hit_msg_list                |获取命中关键词规则的会话记录    |
-     * |create_sentiment_task           |创建情感分析任务                |
-     * |get_sentiment_result            |获取情感分析结果                |
-     * |create_summary_task             |创建摘要提取任务                |
-     * |get_summary_result              |获取摘要提取结果                |
-     * |create_customer_tag_task        |创建标签匹配任务                |
-     * |get_customer_tag_result         |获取标签任务结果                |
-     * |create_recommend_dialog_task    |创建话术推荐任务                |
-     * |get_recommend_dialog_result     |获取话术推荐结果                |
-     * |create_private_task             |创建自定义模型任务              |
-     * |get_private_task_result         |获取自定义模型结果              |
-     * |(废弃)document_list             |获取知识集列表                  |
-     * |create_spam_task                |会话反垃圾创建分析任务          |
-     * |get_spam_result                 |会话反垃圾获取任务结果          |
-     * |create_chatdata_export_job      |创建会话内容导出任务            |
-     * |get_chatdata_export_job_status  |获取会话内容导出任务结果        |
-     * |spec_notify_app                 |专区通知应用                    |
-     * |create_program_task             |创建自定义程序任务              |
-     * |get_program_task_result         |获取自定义程序结果              |
-     * |knowledge_base_list             |获取企业授权给应用的知识集列表  |
-     * |knowledge_base_create           |创建知识集                      |
-     * |knowledge_base_detail           |获取知识集详情                  |
-     * |knowledge_base_add_doc          |添加知识集內容                  |
-     * |knowledge_base_remove_doc       |删除知识集內容                  |
-     * |knowledge_base_modify_name      |修改知识集名称                  |
-     * |knowledge_base_delete           |删除知识集                      |
-     * |search_contact_or_customer      |员工或者客户名称搜索            |
-     * |create_ww_model_task            |创建企微通用模型任务            |
-     * |get_ww_model_result             |获取企微通用模型结果            |
-     * |get_msg_list_by_page_id         |page_id获取消息列表             |
-     * +-----------------------------------------------------------------+
-     * */
-    public int Invoke(String apiName) {
-        return Invoke(specSDKptr, apiName, request);
-    }
-
-    private native int Invoke(long sdk, String apiName, String request);
-
-    // 静态代码块内还无法调用native日志函数,这里的日志在管理系统无法查询
-    static {
-        try {
-            Class.forName("com.tencent.wework.SpecUtil");
-        } catch (ClassNotFoundException e) {
-            e.printStackTrace();
-        }
-    }
-}

+ 0 - 168
fs-service/src/main/java/com/tencent/wework/SpecUtil.java

@@ -1,168 +0,0 @@
-package com.tencent.wework;
-
-/**
- * @warning: 1. 不要修改成员变量名,native方法内有反射调用
- *           2. 调用本地方法需保持包结构,本工具需放在包com.tencent.wework内
- *           3. 不允许继承,类名和函数名均不可修改,会影响本地方法的引用,详见:javah生成本地方法头文件
- *           4. 使用其他工具打印的日志将无法被查询,如需使用SLF4j风格的日志或性能更好的日志框架,
- *              请自行封装SpecUtil.SpecLog或SpecUtil.SpecLogNative方法
- * 
- * @usage:   1. 获取SDK的版本号
- *           2. 打印三个级别的日志
- *           3. 开启调试模式
- */
-public final class SpecUtil {
-
-    /**
-     * @description SDK版本号
-     * @usage 可用于校对不同SDK版本,或后续针对不同的SDK版本添加业务逻辑
-     */
-    private static final String SDK_VERSION = "1.4.0";
-
-    public static String GetSDKVersion() {
-        return SDK_VERSION;
-    }
-
-    /**
-     * @description 正确的包名,SDK必须存放在"com.tencent.wework"下,否则会影响本地方法的调用
-     */
-    private static final String EXPECTED_PACKAGE_NAME = "com.tencent.wework";
-
-    public static String GetExpectedPackageName() {
-        return EXPECTED_PACKAGE_NAME;
-    }
-
-    private static final String LINE_SEPERATOR = System.getProperty("line.separator");
-
-    public static void WWSpecLogInfo(String... args) {
-        SpecLog('I', args);
-    }
-
-    public static void WWSpecLogError(String... args) {
-        SpecLog('E', args);
-    }
-
-    public static void WWSpecLogDebug(String... args) {
-        SpecLog('D', args);
-    }
-
-    public static void WWSpecLogInfoWithReqId(String reqId, String... args) {
-        SpecLogWithReqId(reqId, 'I', args);
-    }
-
-    public static void WWSpecLogErrorWithReqId(String reqId, String... args) {
-        SpecLogWithReqId(reqId, 'E', args);
-    }
-
-    public static void WWSpecLogDebugWithReqId(String reqId, String... args) {
-        SpecLogWithReqId(reqId, 'D', args);
-    }
-
-    /**
-     * @usage 打印标准日志
-     * @note  只有使用SpecLog和SpecLogNative函数打印的日志能被调试平台查询,其他框架的日志仅能本地查看
-     * @param logLevel 日志级别,使用char传递,目前支持I——INFO、E——ERROR、D——DEBUG
-     * @param args 自定义参数
-     */
-    public static void SpecLog(char logLevel, String... args) {
-        StackTraceElement element = Thread.currentThread().getStackTrace()[3];
-        SpecLogNative(
-            logLevel, 
-            element.getFileName(), 
-            element.getLineNumber(), 
-            String.join(",", args).replace(LINE_SEPERATOR, " ")
-        );
-    }
-
-    /**
-     * @usage 打印标准日志
-     * @note  只有使用SpecLog和SpecLogNative函数打印的日志能被调试平台查询,其他框架的日志仅能本地查看
-     * @param reqid  请求id 
-     * @param logLevel 日志级别,使用char传递,目前支持I——INFO、E——ERROR、D——DEBUG
-     * @param args 自定义参数
-     */
-    public static void SpecLogWithReqId(String reqId, char logLevel, String... args) {
-        StackTraceElement element = Thread.currentThread().getStackTrace()[3];
-        SpecLogNativeWithReqId(
-            reqId,
-            logLevel, 
-            element.getFileName(), 
-            element.getLineNumber(), 
-            String.join(",", args).replace(LINE_SEPERATOR, " ")
-        );
-    }
-
-    /**
-     * @usage 打印标准日志
-     * @note  只有使用SpecLog和SpecLogNative函数打印的日志能被调试平台查询,其他框架的日志仅能本地查看
-     *        如需SLF4J风格的接口或对日志性能有进一步需求,开发者可以自行封装该函数
-     * @param logLevel   日志级别,使用char传递,目前支持I——INFO、E——ERROR、D——DEBUG
-     * @param fileName   文件名(类名)
-     * @param lineNumber 行号
-     * @param argsString 自定义参数
-     */
-    public static native void SpecLogNative(char logLevel, String fileName, int lineNumber, String argsString);
-
-    /**
-     * @usage 打印标准日志
-     * @note  只有使用SpecLog和SpecLogNative函数打印的日志能被调试平台查询,其他框架的日志仅能本地查看
-     *        如需SLF4J风格的接口或对日志性能有进一步需求,开发者可以自行封装该函数
-     * @param reqid  请求id 
-     * @param logLevel   日志级别,使用char传递,目前支持I——INFO、E——ERROR、D——DEBUG
-     * @param fileName   文件名(类名)
-     * @param lineNumber 行号
-     * @param argsString 自定义参数
-     */
-    public static native void SpecLogNativeWithReqId(String reqId, char logLevel, String fileName, int lineNumber, String argsString);
-
-
-
-    /**
-     * @usage 开启调试模式,进程级别开关
-     * @param debugToken 调试凭证,在管理端获取
-     * @param accessToken 应用access token
-     * @return 是否开启成功
-     */
-    public static boolean SpecOpenDebugMode(String debugToken, String accessToken) {
-        return SpecOpenDebugModeNative(debugToken, accessToken);
-    }
-
-    private static native boolean SpecOpenDebugModeNative(String debugToken, String accessToken);
-
-    /**
-     * @usage  生成notify id。用户可调用本接口生成notify id,也可完全自定义生成
-     * @return 新的notify id,支持纳秒级隔离,内部异常时会输出日志并返回空串
-     * @note   1. 用户可先生成notify id,将其与回调数据关联存储后,再使用该notify id通知应用,
-     *            从而保证回调数据被请求时已存储完毕
-     */
-    public static String GenerateNotifyId() {
-        return GenerateNotifyIdNative();
-    }
-
-    private static native String GenerateNotifyIdNative();
-
-    static {
-        // 检查包名
-        String packageName = SpecUtil.class.getPackage().getName();
-        if (!EXPECTED_PACKAGE_NAME.equals(packageName)) {
-            // 静态代码块内还无法调用native日志函数,这里的日志在管理系统无法查询
-            System.out.println("SpecUtil class must be in package com.tencent.wework");
-            System.exit(1);
-        }
-
-        // 加载so库
-        try {
-            System.loadLibrary("WeWorkSpecSDK");
-        } catch (UnsatisfiedLinkError e) {
-            System.out.println("libWeWorkSpecSDK.so not found in java.library.path");
-            e.printStackTrace();
-            System.exit(1);
-        } catch (Exception e) {
-            System.out.println("unexpected exception: " + e.getMessage());
-            e.printStackTrace();
-            System.exit(1);
-        }
-
-        SpecUtil.WWSpecLogInfo("SDK init done", "packageName=" + packageName, "SDK_VERSION=" + SDK_VERSION);
-    }
-}