deploy-jar-template/pom.xml
@@ -90,10 +90,10 @@ </dependency> <!-- tcp通信模块引入,可配置是否开启:包括聊天功能基础等。2023-04-17 --> <!-- <dependency>--> <!-- <groupId>com.iplatform</groupId>--> <!-- <artifactId>iplatform-base-tcp</artifactId>--> <!-- </dependency>--> <dependency> <groupId>com.iplatform</groupId> <artifactId>iplatform-base-tcp</artifactId> </dependency> <!-- 启用Rocket队列消息模块,聊天集群使用,2023-09-26 --> <dependency> <groupId>com.walkersoft</groupId> @@ -124,10 +124,10 @@ </dependency> <!-- 由业务显式引入支付插件'畅联四方支付模块',不引入不会加载该模块。2023-10-30 --> <dependency> <groupId>com.walkersoft</groupId> <artifactId>walker-pay-support-payunk</artifactId> </dependency> <!-- <dependency>--> <!-- <groupId>com.walkersoft</groupId>--> <!-- <artifactId>walker-pay-support-payunk</artifactId>--> <!-- </dependency>--> <!-- 使用达梦数据库,如果使用其他数据库则去掉该配置。2023-03-03 --> <!-- <dependency>--> deploy-jar-template/src/main/java/com/iplatform/IplatformApplication.java
@@ -1,13 +1,14 @@ package com.iplatform; import org.mybatis.spring.annotation.MapperScan; //import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication(scanBasePackages = {"com.walker","com.iplatform" // ,"org.jeecg.modules.jmreport" , "com.ishop"}) @MapperScan("com.iplatform.**.mapper") // , "com.ishop" }) //@MapperScan("com.iplatform.**.mapper") public class IplatformApplication { public static void main(String[] args) throws Exception{ deploy-jar-template/src/main/java/com/iplatform/api/MilvusChatApi.java
@@ -7,7 +7,6 @@ import com.iplatform.milvus.ScoreText; import com.iplatform.milvus.SearchResult; import com.iplatform.milvus.service.EventServiceImpl; import com.walker.infrastructure.utils.FileUtils; import com.walker.infrastructure.utils.JsonUtils; import com.walker.infrastructure.utils.StringUtils; import com.walker.support.milvus.OutData; @@ -26,21 +25,26 @@ import java.util.Map; import java.util.concurrent.TimeUnit; @RestController @RequestMapping("/test/milvus") //@RestController //@RequestMapping("/test/milvus") public class MilvusChatApi extends SystemController { private EventServiceImpl eventService; private RestTemplate restTemplate; private MilvusEngine milvusEngine; private Long existId = 4048L; private Long existId = null; private boolean isBreak = false; private static final String URL_EMBEDDING = "http://120.26.128.84:7003/ai/text/embedding"; private static final String URL_SEARCH_SIMILAR = "http://120.26.128.84:7003/ai/text/search_similar"; private static final String URL_MILVUS = "120.26.128.84"; private static final String URL_EMBEDDING = "http://10.8.4.99:7003/ai/text/embedding"; private static final String URL_SEARCH_SIMILAR = "http://10.8.4.99:7003/ai/text/search_similar"; private static final String URL_MILVUS = "10.8.4.99"; // private static final String URL_EMBEDDING = "http://120.26.128.84:7003/ai/text/embedding"; // private static final String URL_SEARCH_SIMILAR = "http://120.26.128.84:7003/ai/text/search_similar"; // private static final String URL_MILVUS = "120.26.128.84"; private static final double BEST_MATCH_SCORE = 0.75; // private static final int VECTOR_DIMENSION = 768; private static final int VECTOR_DIMENSION = 512; @Autowired public MilvusChatApi(EventServiceImpl eventService, RestTemplate restTemplate){ @@ -199,7 +203,7 @@ } private List<Float> transfer2FloatList(List<?> list){ List<Float> vector = new ArrayList<>(768); List<Float> vector = new ArrayList<>(VECTOR_DIMENSION); for(int i=0; i<list.size(); i++){ vector.add(Float.parseFloat(list.get(i).toString())); } deploy-jar-template/src/main/java/com/iplatform/milvus/MilvusEngine.java
@@ -25,6 +25,9 @@ public static final String TABLE_CHAT_SIMILAR = "chat_similar"; // private static final int VECTOR_DIMENSION = 768; private static final int VECTOR_DIMENSION = 512; public MilvusEngine(String ip, int port){ DefaultOperateService service = new DefaultOperateService(); service.connect(ip, port); @@ -51,7 +54,8 @@ chatSimilarTable.setCollectionName(TABLE_CHAT_SIMILAR); chatSimilarTable.setDescription("聊天提取工单摘要历史数据"); chatSimilarTable.setShardsNum(1); chatSimilarTable.setDimension(768); // 这个是根据使用向量模型维度定的 // chatSimilarTable.setDimension(768); // 这个是根据使用向量模型维度定的 chatSimilarTable.setDimension(VECTOR_DIMENSION); // 这个是根据使用向量模型维度定的 // 设置字段 FieldType id = FieldType.newBuilder() @@ -63,7 +67,7 @@ FieldType answer = FieldType.newBuilder() .withName("answer").withPrimaryKey(false).withMaxLength(255).withDataType(DataType.VarChar).build(); FieldType embedding = FieldType.newBuilder() .withName("embedding").withPrimaryKey(false).withDataType(DataType.FloatVector).withDimension(768).build(); .withName("embedding").withPrimaryKey(false).withDataType(DataType.FloatVector).withDimension(VECTOR_DIMENSION).build(); List<FieldType> fieldTypeList = new ArrayList<>(8); fieldTypeList.add(id); @@ -84,6 +88,7 @@ public void dropChatSimilarTable(){ this.operateService.dropTable("chat_similar"); this.operateService.dropIndex("chat_similar", "chat_similar_index"); } public void insertTestData(){ deploy-jar-template/src/main/resources/application-ai.yml
New file @@ -0,0 +1,477 @@ spring: application: name: deploy datasource: # 是否显示dao中打印的SQL语句 show-sql: false ## driver-class-name: sunje.goldilocks.jdbc.GoldilocksDriver # 注意:MySQL服务端,需要调整两个参数,否则服务端会主动断开连接 # wait_timeout: 超过改时间(秒)服务端主动断开 # interactive_timeout: 客户端工具交互超过这个时间(秒)会端口,表现为navicat # username: root # password: Bjjmy_2020 # url: jdbc:mysql://116.198.40.76:3306/iplatform_base?useUnicode=true&characterEncoding=UTF-8&useSSL=false username: root password: root url: jdbc:mysql://127.0.0.1:3306/iplatform_base?useUnicode=true&characterEncoding=UTF-8&useSSL=false # 达梦数据库 # driver-class-name: dm.jdbc.driver.DmDriver # username: iplatform # password: iplatform # url: jdbc:dm://116.198.39.83:5236?schema=iplatform #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 使用 Hikari 连接池 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # type: com.walker.jdbc.ds.DefaultDataSource # hikari: # minimum-idle: 5 # idle-timeout: 600000 # pool-name: databasePool_walker # # 连接最大超时时间 # connection-timeout: 30000 # # 连接池最大数量 # maximum-pool-size: 10 # # 控制池中连接最大生存期 # # max-lifetime: 70000 # # 此属性控制测试连接是否活跃的最长时间。此值必须小于 connectionTimeout # validation-timeout: 10000 # # # connection-test-query: select 1 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 使用 Druid 连接池 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ type: com.walker.jdbc.ds.MyDruidDataSource druid: initial-size: 5 min-idle: 10 max-active: 20 # 配置获取连接等待超时的时间 max-wait: 60000 # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 time-between-eviction-runs-millis: 60000 # 配置一个连接在池中最小生存的时间,单位是毫秒 超过这个时间每次会回收默认3个连接 min-evictable-idle-time-millis: 30000 # 线上配置的mysql断开闲置连接时间为1小时,数据源配置回收时间为3分钟,以最后一次活跃时间开始算 max-evictable-idle-time-millis: 180000 validation-query: select 1 test-while-idle: true test-on-borrow: false test-on-return: false pool-prepared-statements: true max-open-prepared-statements: 100 use-global-data-source-stat: true webStatFilter: enabled: false statViewServlet: enabled: false # 设置白名单,不填则允许所有访问 # allow: # url-pattern: /druid/* # # 控制台管理用户名和密码 # login-username: ruoyi # login-password: 123456 filter: stat: enabled: false # 慢SQL记录 log-slow-sql: true slow-sql-millis: 1000 merge-sql: true wall: config: multi-statement-allow: false redis: # host: 116.198.40.76 host: 127.0.0.1 port: 6379 # password: Jmy2019. password: database: 15 mvc: pathmatch: # 加该配置是因为 swagger3 启动报错,2023-02-23 matching-strategy: ant_path_matcher hiddenmethod: filter: enabled: true # 加上该配置可以接收: application/x-www-form-urlencoded请求参数为对象。支付通知中使用。2023-02-26 servlet: multipart: # maxFileSize 是单个文件大小 # maxRequestSize是设置总上传的数据大小 enabled: true max-file-size: 5MB max-request-size: 10MB server: port: 8082 servlet: context-path: /admin session: timeout: 30m logging: level: root: info org: springframework: info io.swagger: error com: walker: debug iplatform: debug ishop: debug RocketmqRemoting: error # MQ打印该日志,目前没有找到解决资料。2023-09-27 charset: # 控制台编码 console: UTF-8 # 输出文件编码 file: UTF-8 # file: # logging.file.path 和 logging.file.name,只会有一个生效,配了path不要配name,配了name不要配path,只配path时name默认为spring.log,想路径和文件名同时生效可配置logging.file.name=d:/logs/mylog.log # name: ${spring.application.name}.log #日志文件名 # path: logs #日志存储路径 # max-history: 30 #保留多少天的日志 # max-size: 10MB # pattern: # rolling-file-name: ${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz logback: rollingpolicy: # 单个文件最大为30MB,超过之后会打包成一个日志文件 max-file-size: 10MB # 文件保存7天 max-history: 1 # 打包文件格式,默认: ${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz,书写格式为:文件路径/文件名.%i.文件后缀,其中%i不可省去,否则无日志显示 # 例如: 日期为:2023/07/13 ,则打包文件之后为: log/ota.2023-07-13.0.gz,0表示日志的第一部分,后续就是,1,2,3... # 如果是压缩包,里面会多一个名log/ota.2023-07-13.0的日志文件 # 如下面的例子,打包之后为: log/2023-07/ota.2020-07-13.0.log,这是一个日志文件 file-name-pattern: ${logging.file.path}%d{yyyy-MM}/iplatform.%d{yyyy-MM-dd}.%i.log file: name: ${logging.file.path}iplatform.log path: D:/log/ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 平台配置支持功能 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ iplatform: # 平台缓存,是否启用redis缓存,默认使用基于内存缓存. # 注意:如果开启redis缓存,业务工程必须依赖(walker-support-redis) cache: redis-enabled: true # redis 缓存是否要重建,如果设置 true,则系统启动后会删除缓存,并执行默认重新加载方法。2023-08-26 # 注意:该参数一般在测试阶段使用,正式环境不要使用! redis-rebuild: true # 机构用户是否很庞大,如果是则缓存中会关闭初始化加载,同时机构树也不会放入缓存,2023-07-17 org-user-big: false # 相似度分析模块使用(已废弃) # similarity: # # 是否启用相似度模块,如果禁用则要确保注入时支持为空 # enabled: false # milvus-host: 172.16.60.65 # milvus-port: 19530 # word-file: d:/dev_tools/ai/w2v_sogou_dim300_vocab.txt # embedding-file: d:/dev_tools/ai/w2v_sogou_dim300.npy # 调度器模块,是否启用 scheduler: enabled: false # 是否支持数据库存储任务(废弃该配置) database-enabled: false # 数据采集模块 gather: enabled: false # 权限控制相关 security: # 匿名可访问地址(开放地址) anonymous-list: - /login - /register - /captcha/* # 验证码统一放开 - /test/** # 开发测试,仅开发板可用 - /swagger-resources/** # swagger - /swagger-ui/** # swagger - /v3/** # swagger - /pay/notify/** # 支付通知 - /jmreport/** # 积木报表 - /file/** # 登录用户可访问系统文件,2023-06-09 - /front/index/** # APP允许未登录看到部分首页内容,2023-06-23 - /front/product/** - /front/merchant/** - /front/city/** - /front/login/** - /front/wechat/get/** - /front/article/** - /tool/generate/** # 新mybatis生成器测试,2024-01-17。 # 允许所有认证用户都可访问地址,请慎重否则权限都过大,一般API都应该设置在这里 permit-list: # - /permit # 公用权限,2023-03-13,平台代码已经添加过了,这里不需要配置 - /getInfo - /getRouters - /getMenus # 新界面菜单,2023-05-12 - /logout - /api/** - /system/form/info # 临时处理,需要加入到特定角色(商户管理员),2023-06-07 - /front/user/** - /front/upload/** - /front/order/** - /front/address/** - /front/coupon/** - /front/qrcode/** - /front/pay/** - /front/cart/** - /front/recharge/** - /front/retail/** - /front/kyzt/** # - /front/user/center/** # - /file/** # 登录用户可访问系统文件,2023-06-09 # 超级管理员密码,加密后的秘文 supervisor-password: $2a$10$9lSwwUFMULR6/KhPsUbTj.0PTZfTnq0fB3OtS6PWoKAibpa8hL1cy # 是否允许配置跨域响应头, true 启用, false 不启用。2022-12-28 # 在Gateway模式中,需要关闭跨域配置,因为网关也会配置。 cors-enabled: true # 用户名密码方式登录,配置的验证码类型:code/sms/slide/jigsaw,2023-03-14 login-captcha-user-pass: code # 手机验证码方式登录,配置的验证码类型:code/sms/slide/jigsaw,2023-03-14 login-captcha-sms-code: sms # 是否允许后台用户(非App)登录手机端?2023-03-20 allow-pc-user-access-app: true # 是否支持手机登录时(不存在手机号)直接注册?目前电商系统支持! 2023-06-26 allow-mobile-login-reg: true # PC端token失效分钟,默认:120分钟,2023-03-28 token-expire-web: 120 # 移动端token失效分钟,2023-03-28 token-expire-mobile: 21600 # 用户体系(用户名)都是手机号,2023-06-28 # 一般系统PC端通常都不是手机号作为用户名,只有在互联网相关系统中会存在手机号作为登录账号 user-name-is-phone: false # 2023-07-11 登录策略配置,列表中存在的策略都表示启用(不启用的删掉) login-strategy-list: - com.iplatform.base.support.strategy.WebOnceLoginStrategy # - com.iplatform.base.support.strategy.MobileOnceLoginStrategy # 用户相关安全配置,2023-08-03 user: # 用户修改密码等级,分四级:1-2-3-4,常量:PasswordUtils# pass-level: 1 # 是否强制用户修改默认密码? pass-default-modify: true # 代码生成,2022-11-26 gen: # 作者 author: Mike # 默认生成包路径 system 需改成自己的模块名称 如 system monitor tool package-name: com.iplatform.model.po # 自动去除表前缀,默认是false auto-remove-pre: false # 表前缀(生成类名不会包含表前缀,多个用逗号分隔) table-prefix: s_ log: # 是否打开登录日志,2023-01-05 # 如果不打开,则设备登录的uuid更新操作也无法获得,用于记录每个登录用户的uuid(用户登录角色更新),2023-03-23 login-enabled: true # 是否打开操作日志,2023-01-05 operate-enabled: true # 验证码相关配置,2023-01-27 captcha: # 图形验证码实现类, TextCaptchaProvider | DefaultCaptchaProvider image-captcha-class: com.iplatform.base.captcha.TextCaptchaProvider # 短信验证码实现类(配置废弃,2023-04-25) sms-captcha-class: com.iplatform.base.captcha.MockSmsCaptchaProvider # 平台文件存储配置,2023-02-15 file: # FileStoreType = FileSystem 本地磁盘存储根路径 file-root: d:/tmp/ # 调用远程上传文件,是否按照本地文件处理,2023-07-03 # 在测试过程中如果没有FTP等服务,可以设置为true临时存储本地 remote-as-local: false # oss实现类型:aws_s3(亚马逊) | tx(腾讯) | ali(阿里) | qn(七牛),2023-12-13 # | ftp,2024-02-23增加 oss-type: aws_s3 # oss访问前缀,如:http://localhost:8082/admin/oss/,2023-12-13 oss-prefix: http://localhost:8082/admin/oss/ oss-access-key: HDKSYC2Y4FELF5CL5FIB oss-secret-key: ktf8Px9uTvLFFpQNGsO41ehRsgJ0hWnLtxZnDBCX # oss服务地址 oss-endpoint: http://eos-beijing-1.cmecloud.cn # oss默认的桶名称 oss-bucket-name: ctoms-file protocol: http ftp: ip: 116.198.40.76 port: 22 user-name: mysftp password: Bjjmy_2020 private-key: # ftp服务上面的存储根路径,只能是linux路径 # file-root: /files/ file-root: /train/ # 接口文档生成,swagger3,2023-02-23 swagger: enable: false # 包路径,暂时不用 base-package: com.iplatform.base.controller title: 云原生微服务平台 description: 一个快速web开发框架 # TCP通信配置,2023-04-17 tcp: # 是否开启引擎 enabled: true # 是否打开心跳 open-heart-beat: false # 心跳时间(秒),2023-08-28 heart-beat-seconds: 60 # 是否显示详细日志 show-log: false # 请求队列类型:memory 基于内存 queue-type: memory # tcp方式要扫描的请求对象的包空间 scan-packages-tcp: com.walker.tcp,com.iplatform.tcp # websocket方式要扫描的请求对象的包空间 scan-packages-ws: com.iplatform.tcp.util.ws # tcp长连接的端口 port-tcp: 7878 # websocket连接端口 port-ws: 60000 # websocket连接uri # websocket-uri: ws://localhost:60000/websocket websocket-uri: ws://localhost:60000 # 通信线程数量 boss-thread-num: 2 # 业务处理线程数量 worker-thread-num: 4 # 启用自定义连接管理器,如果true则业务需要提供自定义实现(配置),2023-07-18 custom-connection-manager: false # 是否开启集群模式,连接管理器会默认加载负载支持,2023-09-26 load-balance-enabled: false # 长连接主机(标记)信息,可以是任意字符串,只要集群中每个服务配置不同即可。 # 在集群模式中,每个连接要加上主机标识,以便别人推送消息时,知道在哪个主机上推送。2023-09-19 connection-host: topic_master # 推送模块配置,2023-04-25 push: # 短信推送者名称:mock_sms_push(模拟短信),alidy_sms_push(阿里大鱼短信) sms-push-name: alidy_sms_push # 短信验证码模板ID,根据实际情况(每个平台可能不同) sms-template-code: SMS_285145505 # 对于一般业务提醒(不包括:邮件、短信),推送的方式。推送者ID组合 # && 表示并列,|| 表示或(只要一个成功就OK) # 2023-04-26,可用的 id = 'tcp', 'web_socket', 'wx', 'system' # message-type: tcp && web_socket && wx && system # 如果是或者方式,需要把最可靠的放前面,因为系统会找到第一个发送成功即可。 message-type: system || tcp || web_socket || wx # 邮件通知发送信息配置,2023-04-26 mail-server: smtp.126.com mail-from: hnzzzhsl@126.com mail-password: UWBUXNLFJEANRCXX # 聊天相关配置,2023-07-07 chat: # 是否启用机器人答复,2023-07-12 robot-enabled: true # 机器人具体实现对象,2023-07-12 robot-class: com.iplatform.chat.support.TestRobot # 是否开启mongo存储,如果false则默认使用数据库表 mongo-enabled: true mongo: ip: 116.198.40.76 port: 27017 # 聊天数据库名称,默认:chat database: czt_ops_test user-name: czt_ops_test password: czt_ops_test max-size: 10 min-size: 2 # 连接最大空闲时间,20分钟 max-idle-time-seconds: 1200 # 连接等待最大时间,10秒 max-wait-time-seconds: 10 # 支付模块(系统)配置,2023-08-12 pay: # 微信,V2版本,订单回调类路径,2023-09-12 wechat-two-order-callback: com.ishop.merchant.support.MerchantWechatOrderCallback # RestTemplate连接池配置,2023-08-18 rest: # 连接保持活动时间,默认:600秒 keep-alive-duration-seconds: 600 # 空闲连接数量,默认:200个 max-idle-connections: 200 # 连接超时,默认:2秒 connect-timeout-seconds: 20 # 读超时,默认3秒 read-timeout-seconds: 30 # 写超时,默认3秒 write-timeout-seconds: 30 # 集群支持相关配置,2023-09-29 lb: # 本机服务节点ID,每个主机一个唯一数字编号,从1开始 server-id: 1 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 电商模块,支持功能 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ishop: wechat-js-api-debug: true # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # 开运直通数据连接支持,2023-09-03 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kyzt: enabled: false # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # RocketMQ队列配置,2023-09-26 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rocketmq: # 服务地址,多个用逗号分开 # name-server: 116.198.40.76:9876 name-server: 116.198.39.83:9898 producer: # 发送消息超时时间,默认3000 send-message-timeout: 3000 # 生产者组 group: producer_group # 发送消息失败重试次数,默认2 retryTimesWhenSendFailed: 2 # 异步消息重试此处,默认2 retryTimesWhenSendAsyncFailed: 2 # 消息最大长度,默认1024 * 1024 * 4(默认4M) # 1024 * 128 = 128K maxMessageSize: 131072 # 压缩消息阈值,默认4k(1024 * 4) compressMessageBodyThreshold: 4096 # 是否在内部发送失败时重试另一个broker,默认false retryNextServer: false deploy-jar-template/src/main/resources/application.yml
@@ -1,7 +1,8 @@ spring: profiles: # active: oracle active: dev # active: dev active: ai # active: master # active: test deploy-jar-template/src/main/resources/wk_sn_lic.bin
File was deleted deploy-jar-template/src/test/java/com/iplatform/milvus/TestMilvus.java
@@ -5,6 +5,12 @@ public class TestMilvus { // @Test public void dropTable(){ this.acquireMilvusEngine(); this.milvusEngine.dropChatSimilarTable(); } /** * 创建聊天中提取工单摘要功能,milvus测试表创建。 * <p>第一步:创建表和索引</p> @@ -27,7 +33,8 @@ private void acquireMilvusEngine(){ if(this.milvusEngine == null){ MilvusEngine engine = new MilvusEngine("120.26.128.84", 19530); // MilvusEngine engine = new MilvusEngine("120.26.128.84", 19530); MilvusEngine engine = new MilvusEngine("10.8.4.99", 19530); this.milvusEngine = engine; } } iplatform-base-security/src/main/java/com/iplatform/security/DefaultResourceLoaderProvider.java
@@ -3,7 +3,6 @@ import com.iplatform.base.SecurityConstants; import com.iplatform.base.cache.MenuCacheProvider; import com.walker.infrastructure.utils.StringUtils; import com.walker.security.SystemLogMan; import com.walker.web.Constants; import com.walker.web.security.ResourceLoadProvider; import org.slf4j.Logger; @@ -68,7 +67,6 @@ } public void setMenuCacheProvider(MenuCacheProvider menuCacheProvider) { SystemLogMan.getInstance().checkMan(); this.menuCacheProvider = menuCacheProvider; } iplatform-base-security/src/main/java/com/iplatform/security/DefaultSecuritySpi.java
@@ -126,8 +126,8 @@ } catch (Exception e){ this.recordLoginInfo(requestLogin.getUsername(), String.valueOf(ResponseCode.ERROR.getCode()), "登录未成功认证", 0, null, null); if(e instanceof UsernameNotFoundException){ // logger.debug(".............用户不存在:" + requestLogin.getUsername()); throw new LoginException("用户账号不存在,或已停用:" + requestLogin.getUsername(), e, true); // throw new LoginException("用户账号不存在,或已停用:" + requestLogin.getUsername(), e, true); throw new LoginException("用户账号不存在,或已停用:" + requestLogin.getUsername(), null, true); } if (e instanceof BadCredentialsException){ // return ResponseValue.error(ResponseCode.USER_CREDENTIALS_ERROR.getCode(), ResponseCode.USER_CREDENTIALS_ERROR.getMessage()); iplatform-base-security/src/main/java/com/iplatform/security/config/WebSecurityConfig.java
@@ -27,7 +27,6 @@ import com.iplatform.security.util.SecurityConfigUtils; import com.walker.cache.CacheProvider; import com.walker.infrastructure.utils.StringUtils; import com.walker.security.SystemLogMan; import com.walker.web.CaptchaProvider; import com.walker.web.CaptchaResult; import com.walker.web.TokenGenerator; @@ -84,7 +83,6 @@ this.userService = userService; this.userOnlineProvider = userOnlineProvider; this.userCacheProvider = userCacheProvider; SystemLogMan.getInstance().checkMan(); // 2023-07-11 this.userLoginCache = userLoginCache; } iplatform-base-tcp-client/src/test/java/com/iplatform/tcp/WebsocketDemo.java
@@ -1,22 +1,17 @@ package com.iplatform.tcp; import com.iplatform.tcp.util.ws.WebDataResponse; import com.walker.infrastructure.utils.JsonUtils; import com.walker.infrastructure.utils.NumberGenerator; import org.junit.Test; public class WebsocketDemo { @Test public void sendDataFormat(){ WebDataResponse msg = new WebDataResponse(); msg.setMessageId(NumberGenerator.getLongSequenceId()); msg.setName("shikeying"); // 指定用户发送,该id与浏览器端注册的id保持一致。 msg.setData("你好,这是推送给浏览器的内容,一般是JSON格式。"); try { System.out.println(JsonUtils.objectToJsonString(msg)); } catch (Exception e) { throw new RuntimeException(e); } } // @Test // public void sendDataFormat(){ // WebDataResponse msg = new WebDataResponse(); // msg.setMessageId(NumberGenerator.getLongSequenceId()); // msg.setName("shikeying"); // 指定用户发送,该id与浏览器端注册的id保持一致。 // msg.setData("你好,这是推送给浏览器的内容,一般是JSON格式。"); // try { // System.out.println(JsonUtils.objectToJsonString(msg)); // } catch (Exception e) { // throw new RuntimeException(e); // } // } } iplatform-base/pom.xml
@@ -134,10 +134,10 @@ </dependency> <!-- 引入mybatis支持模块,2024-01-16 --> <dependency> <groupId>com.iplatform</groupId> <artifactId>iplatform-support-mybatis</artifactId> </dependency> <!-- <dependency>--> <!-- <groupId>com.iplatform</groupId>--> <!-- <artifactId>iplatform-support-mybatis</artifactId>--> <!-- </dependency>--> </dependencies> iplatform-base/src/main/java/com/iplatform/base/LocalDatabaseMetaEngine.java
@@ -11,7 +11,6 @@ import com.walker.dbmeta.support.OracleMetaEngine; import com.walker.dbmeta.support.PostgresMetaEngine; import com.walker.dbmeta.support.SqlserverMetaEngine; import com.walker.security.SystemLogMan; import java.util.ArrayList; import java.util.List; @@ -34,7 +33,6 @@ throw new IllegalArgumentException("LocalAddress 必须提供"); } this.localAddress = localAddress; SystemLogMan.getInstance().checkMan(); } public void setDatabaseType(DatabaseType databaseType){ iplatform-base/src/main/java/com/iplatform/base/support/DatabaseArgumentsManager.java
@@ -12,7 +12,6 @@ import com.walker.infrastructure.arguments.Variable; import com.walker.infrastructure.arguments.VariableType; import com.walker.infrastructure.utils.StringUtils; import com.walker.security.SystemLogMan; import java.util.ArrayList; import java.util.HashMap; @@ -33,7 +32,6 @@ public void setConfigArgumentService(ConfigArgumentServiceImpl configArgumentService) { this.configArgumentService = configArgumentService; SystemLogMan.getInstance().checkMan(); } @Override iplatform-base/src/main/java/com/iplatform/base/support/RedisArgumentsManager.java
@@ -11,7 +11,6 @@ import com.walker.infrastructure.arguments.Variable; import com.walker.infrastructure.arguments.VariableType; import com.walker.infrastructure.utils.StringUtils; import com.walker.security.SystemLogMan; import com.walker.support.redis.cache.RedisCacheProvider; import java.util.ArrayList; @@ -33,11 +32,9 @@ public void setConfigArgumentService(ConfigArgumentServiceImpl configArgumentService) { this.configArgumentService = configArgumentService; SystemLogMan.getInstance().checkMan(); } public RedisArgumentsManager(){ SystemLogMan.getInstance().checkMan(); this.setUseRedis(true); this.setLoadPage(false); } iplatform-scheduler/src/main/java/com/iplatform/scheduler/PlatformSchedulerManager.java
@@ -2,12 +2,10 @@ import com.iplatform.model.po.S_scheduler; import com.iplatform.scheduler.util.SchedulerUtils; import com.walker.infrastructure.utils.StringUtils; import com.walker.scheduler.GatherSchedulerManager; import com.walker.scheduler.ScheduleEngine; import com.walker.scheduler.impl.TimedScheduler; import com.walker.security.SystemLogMan; import java.util.List; @@ -31,7 +29,6 @@ if(this.scheduleEngine == null){ throw new IllegalArgumentException("请提供一个可用的调度引擎对象: ScheduleEngine"); } SystemLogMan.getInstance().checkMan(); List<S_scheduler> schedulerList = this.acquireRunningList(); int count = 0; iplatform-support-mybatis/pom.xml
@@ -91,6 +91,13 @@ <artifactId>poi-ooxml</artifactId> </dependency> <!-- 基础模块提供web支持, 2022/10/31 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <scope>provided</scope> </dependency> </dependencies> </project> iplatform-support-mybatis/src/main/java/com/iplatform/mybatis/controller/GenController.java
File was renamed from iplatform-base-admin/src/main/java/com/iplatform/base/controller/GenController.java @@ -1,6 +1,5 @@ package com.iplatform.base.controller; package com.iplatform.mybatis.controller; import com.iplatform.base.SystemController; import com.iplatform.core.util.CharsetKit; import com.iplatform.core.util.Convert; import com.iplatform.mybatis.domain.GenTable; @@ -17,6 +16,8 @@ import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.validation.annotation.Validated; @@ -53,8 +54,12 @@ //@Api(value = "代码生成管理", tags = {"代码生成管理"}) @RestController @RequestMapping("/tool/generate") public class GenController extends SystemController public class GenController // extends SystemController { protected final transient Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private IGenTableService genTableService; pom.xml
@@ -27,7 +27,7 @@ <module>ishop-mobile</module> <module>iplatform-base-tcp-client</module> <module>iplatform-support-mybatis</module> <module>iplatform-test-mybatis</module> <!-- <module>iplatform-test-mybatis</module>--> </modules> <parent> @@ -223,11 +223,11 @@ </dependency> <!-- mybatis示例模块,2024-02-19 --> <dependency> <groupId>com.iplatform</groupId> <artifactId>iplatform-test-mybatis</artifactId> <version>${iplatform.version}</version> </dependency> <!-- <dependency>--> <!-- <groupId>com.iplatform</groupId>--> <!-- <artifactId>iplatform-test-mybatis</artifactId>--> <!-- <version>${iplatform.version}</version>--> <!-- </dependency>--> <!-- 推送实现模块,2023-04-24 --> <dependency>