diff --git a/README.md b/README.md
index f2ec103..7687e55 100644
--- a/README.md
+++ b/README.md
@@ -1,97 +1,10 @@
-
-
-
-RuoYi v3.8.5
-基于SpringBoot+Vue前后端分离的Java快速开发框架
-
-
-
-
-
+## 代理中心
+### NSGK@2023
-## 平台简介
+#### RuoYi v3.8.5
-若依是一套全部开源的快速开发平台,毫无保留给个人及企业免费使用。
+> [打包脚本](bin/package.bat ':include')
-* 前端采用Vue、Element UI。
-* 后端采用Spring Boot、Spring Security、Redis & Jwt。
-* 权限认证使用Jwt,支持多终端认证系统。
-* 支持加载动态权限菜单,多方式轻松权限控制。
-* 高效率开发,使用代码生成器可以一键生成前后端代码。
-* 提供了技术栈([Vue3](https://v3.cn.vuejs.org) [Element Plus](https://element-plus.org/zh-CN) [Vite](https://cn.vitejs.dev))版本[RuoYi-Vue3](https://github.com/yangzongzhuan/RuoYi-Vue3),保持同步更新。
-* 提供了单应用版本[RuoYi-Vue-fast](https://github.com/yangzongzhuan/RuoYi-Vue-fast),Oracle版本[RuoYi-Vue-Oracle](https://github.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。
-* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud)
-* 特别鸣谢:[element](https://github.com/ElemeFE/element),[vue-element-admin](https://github.com/PanJiaChen/vue-element-admin),[eladmin-web](https://github.com/elunez/eladmin-web)。
-* 阿里云折扣场:[点我进入](http://aly.ruoyi.vip),腾讯云秒杀场:[点我进入](http://txy.ruoyi.vip)
-* 阿里云优惠券:[点我领取](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)
+> [SDK打包脚本](agentcenter-sdk/build.bat ':include')
-## 内置功能
-
-1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
-2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
-3. 岗位管理:配置系统用户所属担任职务。
-4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
-5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
-6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
-7. 参数管理:对系统动态配置常用参数。
-8. 通知公告:系统通知公告信息发布维护。
-9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
-10. 登录日志:系统登录日志记录查询包含登录异常。
-11. 在线用户:当前系统中活跃用户状态监控。
-12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
-13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
-14. 系统接口:根据业务代码自动生成相关的api接口文档。
-15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
-16. 缓存监控:对系统的缓存信息查询,命令统计等。
-17. 在线构建器:拖动表单元素生成相应的HTML代码。
-18. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。
-
-## 在线体验
-
-- admin/admin123
-- 陆陆续续收到一些打赏,为了更好的体验已用于演示服务器升级。谢谢各位小伙伴。
-
-演示地址:http://vue.ruoyi.vip
-文档地址:http://doc.ruoyi.vip
-
-## 演示图
-
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-  |
-  |
-
-
-
-
-## 若依前后端分离交流群
-
-QQ群: [](https://jq.qq.com/?_wv=1027&k=5bVB1og) [](https://jq.qq.com/?_wv=1027&k=5eiA4DH) [](https://jq.qq.com/?_wv=1027&k=5AxMKlC) [](https://jq.qq.com/?_wv=1027&k=51G72yr) [](https://jq.qq.com/?_wv=1027&k=VvjN2nvu) [](https://jq.qq.com/?_wv=1027&k=5vYAqA05) [](https://jq.qq.com/?_wv=1027&k=kOIINEb5) [](https://jq.qq.com/?_wv=1027&k=UKtX5jhs) [](https://jq.qq.com/?_wv=1027&k=EI9an8lJ) [](https://jq.qq.com/?_wv=1027&k=SWCtLnMz) [](https://jq.qq.com/?_wv=1027&k=96Dkdq0k) [](https://jq.qq.com/?_wv=1027&k=0fsNiYZt) [](https://jq.qq.com/?_wv=1027&k=7xw4xUG1) [](https://jq.qq.com/?_wv=1027&k=eCx8eyoJ) 点击按钮入群。
\ No newline at end of file
+> 客户端手动导入: ```mvn install:install-file -Dfile=agentcenter-sdk-1.0.0nsgk1.jar -DgroupId=com.nsgk -DartifactId=agentcenter-sdk -Dversion=1.0.0nsgk1 -Dpackaging=jar```
\ No newline at end of file
diff --git a/agentcenter-sdk/build.bat b/agentcenter-sdk/build.bat
new file mode 100644
index 0000000..eaf6a09
--- /dev/null
+++ b/agentcenter-sdk/build.bat
@@ -0,0 +1,14 @@
+@echo off
+echo.
+echo Build NSGK-agentcenter-SDK
+echo.
+
+%~d0
+cd %~dp0
+
+call mvn clean package -Dmaven.test.skip=true
+
+echo Open folder
+start "" %cd%\target
+
+pause
\ No newline at end of file
diff --git a/agentcenter-sdk/pom.xml b/agentcenter-sdk/pom.xml
index 5642c37..34d0fe3 100644
--- a/agentcenter-sdk/pom.xml
+++ b/agentcenter-sdk/pom.xml
@@ -9,7 +9,9 @@
1.0.0nsgk1
jar
+ NSGK agentcenter-sdk
NS代理中心SDK
+ https://www.nongshen.net
1.16.18
diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/NSMain.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/NSMain.java
index 01512ed..86725f8 100644
--- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/NSMain.java
+++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/NSMain.java
@@ -11,8 +11,8 @@ public final class NSMain
{
public static void main(String[] args) throws Exception
{
- //Test();
- Test_reflect();
+ Test();
+ //Test_reflect();
}
public static void Test_reflect() throws InstantiationException, IllegalAccessException
@@ -43,7 +43,7 @@ public final class NSMain
NSContractionEntity entity;
NSApiResult result;
- NSSDK.InitClient("http://localhost", (short) 8081, "test", "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==");
+ NSSDK.InitClient("http://localhost", (short) 8081, "test", "MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKoR8mX0rGKLqzcWmOzbfj64K8ZIgOdHnzkXSOVOZbFu/TJhZ7rFAN+eaGkl3C4buccQd/EjEsj9ir7ijT7h96MCAwEAAQ==", 0);
client = NSSDK.InstanceClient();
entity = new NSContractionEntity();
@@ -53,6 +53,7 @@ public final class NSMain
.setBookId(166L)
.setOutId(999L)
;
+ entity.Set("buildingTime", "2000-12-23");
result = client.Send(NSProtocol.NS_PROTOCOL_CONTRACTION, entity);
System.err.println(result);
}
diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDK.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDK.java
index 9ebc413..7f7589c 100644
--- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDK.java
+++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDK.java
@@ -9,14 +9,15 @@ public final class NSSDK
private static final ThreadLocal _host = new ThreadLocal<>();
private static final ThreadLocal _port = new ThreadLocal<>();
private static final ThreadLocal _identifier = new ThreadLocal<>();
- private static final ThreadLocal _clientInit = new ThreadLocal<>();
private static final ThreadLocal _publicKey = new ThreadLocal<>();
+ private static final ThreadLocal _timeout = new ThreadLocal<>();
+ private static final ThreadLocal _clientInit = new ThreadLocal<>();
// server
private static final ThreadLocal _privateKey = new ThreadLocal<>();
private static final ThreadLocal _serverInit = new ThreadLocal<>();
- public static boolean InitClient(String host, short port, String identifier, String publicKey)
+ public static boolean InitClient(String host, short port, String identifier, String publicKey, int timeout)
{
if(NSConv.FALSE(_clientInit.get()))
return false;
@@ -24,6 +25,7 @@ public final class NSSDK
_port.set(port);
_identifier.set(identifier);
_publicKey.set(publicKey);
+ _timeout.set(timeout);
_clientInit.set(true);
return true;
}
@@ -36,6 +38,7 @@ public final class NSSDK
_port.remove();
_identifier.remove();
_publicKey.remove();
+ _timeout.set(0);
_clientInit.set(false);
return true;
}
@@ -59,7 +62,7 @@ public final class NSSDK
{
if(!NSConv.FALSE(_clientInit.get()))
return null;
- return new NSSDKClient(_host.get(), _port.get(), _identifier.get(), _publicKey.get());
+ return new NSSDKClient(_host.get(), _port.get(), _identifier.get(), _publicKey.get(), _timeout.get());
}
diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKClient.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKClient.java
index 203b055..653a5a9 100644
--- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKClient.java
+++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/api/NSSDKClient.java
@@ -11,9 +11,8 @@ import com.nsgk.agentcentersdk.network.NSNetworkManager;
import com.nsgk.agentcentersdk.network.NSNetworkRequest;
import com.nsgk.agentcentersdk.network.NSNetworkResponse;
import com.nsgk.agentcentersdk.utility.NSCrypto;
-import com.nsgk.agentcentersdk.utility.NSStr;
-
-import java.util.Objects;
+import lombok.Data;
+import lombok.experimental.Accessors;
// SDK客户端
/*
@@ -28,19 +27,23 @@ import java.util.Objects;
timestamp:
data: "" // 加密json
*/
+@Data
+@Accessors(chain = true)
public final class NSSDKClient
{
private final String host;
private final short port;
private final String identifier;
private final String publicKey;
+ private int timeout;
- NSSDKClient(String host, short port, String identifier, String publicKey)
+ NSSDKClient(String host, short port, String identifier, String publicKey, int timeout)
{
this.host = host;
this.port = port;
this.identifier = identifier;
this.publicKey = publicKey;
+ this.timeout = timeout;
}
// 发送请求
@@ -57,6 +60,7 @@ public final class NSSDKClient
reportObject = new NSReportObject<>(identifier, protocol, object);
request = new NSNetworkRequest();
request.setUrl(BuildUrl(url));
+ request.setTimeout(timeout);
WriteDataObject(request, reportObject);
NSNetworkResponse response = NSNetworkManager.Post(request);
NSErrGlobal.ASSERT(response.IsSuccess(), NSErrno.ERRNO_SYS_HTTP);
diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSContractionEntity.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSContractionEntity.java
index 5533be8..60c4244 100644
--- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSContractionEntity.java
+++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSContractionEntity.java
@@ -15,5 +15,4 @@ public class NSContractionEntity extends NSEntityBase
/** 签订日期 */
private String buildingTime;
-
}
diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSEntityBase.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSEntityBase.java
index d99c107..aa9dc83 100644
--- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSEntityBase.java
+++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/entity/NSEntityBase.java
@@ -1,17 +1,21 @@
package com.nsgk.agentcentersdk.entity;
+import com.nsgk.agentcentersdk.err.NSErrGlobal;
+import com.nsgk.agentcentersdk.err.NSErrno;
import com.nsgk.agentcentersdk.utility.NSArr;
+import com.nsgk.agentcentersdk.utility.NSReflect;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
+import java.lang.reflect.Field;
import java.util.LinkedHashMap;
import java.util.Map;
// 基本实体
@Data
@Accessors(chain = true)
-public abstract class NSEntityBase implements Serializable
+public class NSEntityBase implements Serializable
{
private static final long serialVersionUID = 1L;
@@ -65,4 +69,48 @@ public abstract class NSEntityBase implements Serializable
return def;
return (T)parms.getOrDefault(name, def);
}
+
+ // Set函数为了兼容SDK
+ // 不检查类型
+ public boolean Set(String name, T val)
+ {
+ Field field;
+
+ try
+ {
+ field = NSReflect.FindField(getClass(), name);
+ if(null != field)
+ {
+ if(!field.isAccessible())
+ field.setAccessible(true);
+ field.set(this, val);
+ return true;
+ }
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ }
+ return NSErrGlobal.ThrowAndReturn(NSErrno.ERRNO_SYS_INVALID_FIELD, false);
+ }
+
+ // 检查类型
+ public boolean Set_s(String name, Object val)
+ {
+ Field field;
+
+ try
+ {
+ field = getClass().getField(name);
+ if(field.getType().isAssignableFrom(val.getClass()))
+ {
+ return Set(name, val);
+ }
+ }
+ catch(Exception e)
+ {
+ e.printStackTrace();
+ }
+ return NSErrGlobal.ThrowAndReturn(NSErrno.ERRNO_SYS_INVALID_FIELD, false);
+ }
}
diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/err/NSErrno.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/err/NSErrno.java
index 15c1eb3..7ddabfd 100644
--- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/err/NSErrno.java
+++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/err/NSErrno.java
@@ -13,6 +13,7 @@ public final class NSErrno
public static final int ERRNO_SYS_INVALID_PROTOCOL = 0x01004;
public static final int ERRNO_SYS_SIGN_FAIL = 0x01005;
public static final int ERRNO_SYS_HTTP = 0x01006;
+ public static final int ERRNO_SYS_INVALID_FIELD = 0x01007;
public static final int ERRNO_CLI_PARAMETER_MISSING = 0x03001;
public static final int ERRNO_CLI_DATA_MISSING = 0x03002;
@@ -32,6 +33,7 @@ public final class NSErrno
case ERRNO_SYS_INVALID_PROTOCOL: return "无效协议";
case ERRNO_SYS_SIGN_FAIL: return "签名失败";
case ERRNO_SYS_HTTP: return "Http请求错误";
+ case ERRNO_SYS_INVALID_FIELD: return "无效字段";
case ERRNO_CLI_PARAMETER_MISSING: return "参数缺失";
case ERRNO_CLI_DATA_MISSING: return "数据缺失";
diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkManager.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkManager.java
index 5d61045..691fee1 100644
--- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkManager.java
+++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkManager.java
@@ -18,6 +18,8 @@ public final class NSNetworkManager
network = CreateRequest(NSHttp.BuildUrl(req.getUrl(), req.getQuery()), "post");
req.getHeaders().forEach(network::header);
network.body(req.getData());
+ network.setConnectionTimeout(req.getTimeout());
+ network.setReadTimeout(req.getTimeout());
execute = network.execute();
response = new NSNetworkResponse();
response.setData(execute.body());
diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkRequest.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkRequest.java
index 92b1e07..d5ac471 100644
--- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkRequest.java
+++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkRequest.java
@@ -10,4 +10,5 @@ import lombok.experimental.Accessors;
@Accessors(chain = true)
public class NSNetworkRequest extends NSNetworkTransport
{
+ private int timeout = 0;
}
diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkTransport.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkTransport.java
index f150641..5ac1c4a 100644
--- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkTransport.java
+++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/network/NSNetworkTransport.java
@@ -11,7 +11,7 @@ import java.util.Map;
// Http传输
@Data
@Accessors(chain = true)
-public class NSNetworkTransport
+public abstract class NSNetworkTransport
{
private String url;
private final Map headers = new LinkedHashMap<>();
diff --git a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/utility/NSReflect.java b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/utility/NSReflect.java
index 2950b0f..8afcb4e 100644
--- a/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/utility/NSReflect.java
+++ b/agentcenter-sdk/src/main/java/com/nsgk/agentcentersdk/utility/NSReflect.java
@@ -1,8 +1,11 @@
package com.nsgk.agentcentersdk.utility;
+import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
+import java.util.Optional;
// 反射工具
public final class NSReflect
@@ -140,5 +143,59 @@ public final class NSReflect
}
}
+ // find first: 不检查类型
+ public static Field FindField(Class> clazz, String name)
+ {
+ Field[] declaredFields;
+ Optional first;
+ Class> superclass;
+
+ declaredFields = clazz.getDeclaredFields();
+ first = Arrays.stream(declaredFields).filter((x) -> x.getName().equals(name)).findFirst();
+ if(first.isPresent())
+ return first.get();
+
+ superclass = clazz.getSuperclass();
+ if(null != superclass)
+ return FindField(superclass, name);
+ return null;
+ }
+
+ // find first: 检查类型, 仅匹配
+ public static Field FindField_s(Class> clazz, String name, Class> fieldClazz)
+ {
+ Field[] declaredFields;
+ Optional first;
+ Class> superclass;
+
+ declaredFields = clazz.getDeclaredFields();
+ first = Arrays.stream(declaredFields).filter((x) -> x.getName().equals(name) && x.getType().isAssignableFrom(fieldClazz)).findFirst();
+ if(first.isPresent())
+ return first.get();
+
+ superclass = clazz.getSuperclass();
+ if(null != superclass)
+ return FindField(superclass, name);
+ return null;
+ }
+
+ // find first: 检查类型, 严格
+ public static Field FindField_ss(Class> clazz, String name, Class> fieldClazz)
+ {
+ Field[] declaredFields;
+ Optional first;
+ Class> superclass;
+
+ declaredFields = clazz.getDeclaredFields();
+ first = Arrays.stream(declaredFields).filter((x) -> x.getName().equals(name) && x.getType().equals(fieldClazz)).findFirst();
+ if(first.isPresent())
+ return first.get();
+
+ superclass = clazz.getSuperclass();
+ if(null != superclass)
+ return FindField(superclass, name);
+ return null;
+ }
+
private NSReflect() {}
}
diff --git a/bin/package.bat b/bin/package.bat
index c693ec0..d775e2f 100644
--- a/bin/package.bat
+++ b/bin/package.bat
@@ -1,6 +1,6 @@
@echo off
echo.
-echo [Ϣ] Weḅwar/jarļ
+echo [��Ϣ] ���Web���̣�����war/jar���ļ���
echo.
%~d0
@@ -9,4 +9,7 @@ cd %~dp0
cd ..
call mvn clean package -Dmaven.test.skip=true
+echo ��Ŀ���ļ���
+start "" %cd%\ruoyi-admin\target
+
pause
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index d940d59..72237be 100644
--- a/pom.xml
+++ b/pom.xml
@@ -212,6 +212,7 @@
+ agentcenter-sdk
ruoyi-admin
ruoyi-framework
ruoyi-system
@@ -236,10 +237,10 @@
com.google.guava
guava
-
+
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index c7f2137..2bf388a 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -8,7 +8,7 @@
3.8.5
4.0.0
- jar
+ war
ruoyi-admin
diff --git a/ruoyi-agentcenter/pom.xml b/ruoyi-agentcenter/pom.xml
index 429385a..6d60ef2 100644
--- a/ruoyi-agentcenter/pom.xml
+++ b/ruoyi-agentcenter/pom.xml
@@ -23,8 +23,8 @@
ruoyi-common
- com.ruoyi
- ruoyi-common
+ com.nsgk
+ agentcenter-sdk