From b43147312707bbf4d3a8c14d9ea8fcae16b767cd Mon Sep 17 00:00:00 2001 From: zhouhefeng Date: Thu, 21 May 2026 11:55:32 +0800 Subject: [PATCH] commit --- .../sms/impl/jshvc/SmsJshvcServiceImpl.java | 19 ++++++- .../app/todo/platform/TodoPlatformConfig.java | 52 +++++++++++++------ .../todo/service/impl/TodoServiceImpl.java | 25 ++++++--- 3 files changed, 71 insertions(+), 25 deletions(-) diff --git a/src/main/java/com/budwk/app/base/sms/impl/jshvc/SmsJshvcServiceImpl.java b/src/main/java/com/budwk/app/base/sms/impl/jshvc/SmsJshvcServiceImpl.java index b973050..4ad7682 100644 --- a/src/main/java/com/budwk/app/base/sms/impl/jshvc/SmsJshvcServiceImpl.java +++ b/src/main/java/com/budwk/app/base/sms/impl/jshvc/SmsJshvcServiceImpl.java @@ -14,6 +14,7 @@ import com.wisedu.casp.sdk.api.mc.recallMsg.RecallMsgResponse; import com.wisedu.casp.sdk.core.Client; import com.wisedu.casp.sdk.core.DefaultClient; import lombok.extern.slf4j.Slf4j; +import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.json.Json; import org.nutz.lang.Lang; @@ -31,6 +32,9 @@ import java.util.List; @IocBean public class SmsJshvcServiceImpl implements SmsService { + @Inject + private TodoPlatformConfig todoPlatformConfig; + @Override public void sendSingleMessage(String loginName, String content) { this.sendSingleMessage(loginName, "智慧工会", content); @@ -109,7 +113,7 @@ public class SmsJshvcServiceImpl implements SmsService { @Override public void recallMsg(String msgId) { try { - Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + Client client = createClient(); RecallMsgRequest request = new RecallMsgRequest(); request.setMsgId(msgId); @@ -143,7 +147,7 @@ public class SmsJshvcServiceImpl implements SmsService { } try { // 创建客户端 - Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + Client client = createClient(); SendMsgRequest request = new SendMsgRequest(); request.setSubject(title); request.setContent(content); @@ -179,4 +183,15 @@ public class SmsJshvcServiceImpl implements SmsService { log.error("发送企业微信通知失败", e); } } + + /** + * 创建待办平台消息客户端,平台地址、appId、appSecret 均从 application 配置读取。 + */ + private Client createClient() { + return new DefaultClient( + todoPlatformConfig.getTodoPlatformBaseUrl(), + todoPlatformConfig.getTodoAppId(), + todoPlatformConfig.getTodoAppSecret() + ); + } } diff --git a/src/main/java/com/budwk/app/todo/platform/TodoPlatformConfig.java b/src/main/java/com/budwk/app/todo/platform/TodoPlatformConfig.java index 13aa988..ab1fb82 100644 --- a/src/main/java/com/budwk/app/todo/platform/TodoPlatformConfig.java +++ b/src/main/java/com/budwk/app/todo/platform/TodoPlatformConfig.java @@ -1,30 +1,48 @@ package com.budwk.app.todo.platform; +import lombok.Getter; +import org.nutz.ioc.impl.PropertiesProxy; +import org.nutz.ioc.loader.annotation.Inject; +import org.nutz.ioc.loader.annotation.IocBean; + /** * @ClassName TodoPlatformConfig * @Author JyuHsin * @Date 2026/2/25 16:26 * @Version 1.0 - * @Description TODO + * @Description 待办平台配置,从 application 配置文件读取平台地址、鉴权参数和接口路径。 */ +@IocBean(create = "init") +@Getter public class TodoPlatformConfig { - // token 获取 - public static final String TOKEN_URL = "/accessToken"; - // 待办平台基础地址 - public static final String TODO_PLATFORM_BASE_URL = "https://gateway.jshvc.edu.cn"; - // 待办平台新增或者修改 - public static final String TODO_PLATFORM_SAVE_OR_UPDATE_URL = "/saveOrUpdate"; - // 待办平台修改地址 - public static final String TODO_PLATFORM_MODIFY_URL = "/modifyInfo"; - // 待办平台删除任务地址 - public static final String TODO_PLATFORM_DELETE_TASK_URL = "/delete"; - // 待办平台删除实例地址 - public static final String TODO_PLATFORM_DELETE_INSTANCE_URL = "/realDelete"; + @Inject + private PropertiesProxy conf; + + private String tokenUrl; + private String todoPlatformBaseUrl; + private String todoPlatformSaveOrUpdateUrl; + private String todoPlatformModifyUrl; + private String todoPlatformDeleteTaskUrl; + private String todoPlatformDeleteInstanceUrl; + private String todoAppId; + private String todoAppSecret; + private String redisKeyTodoAccessToken; + private Long todoRequestTimeout; + + public void init() { + // 配置项缺失时保留原硬编码默认值,避免未补齐配置导致已有环境启动失败。 + tokenUrl = conf.get("todo-platform.token-url", "/accessToken"); + todoPlatformBaseUrl = conf.get("todo-platform.base-url", "https://gateway.jshvc.edu.cn"); + todoPlatformSaveOrUpdateUrl = conf.get("todo-platform.save-or-update-url", "/saveOrUpdate"); + todoPlatformModifyUrl = conf.get("todo-platform.modify-url", "/modifyInfo"); + todoPlatformDeleteTaskUrl = conf.get("todo-platform.delete-task-url", "/delete"); + todoPlatformDeleteInstanceUrl = conf.get("todo-platform.delete-instance-url", "/realDelete"); + todoAppId = conf.get("todo-platform.app-id", "XXXXXXXXXXXXXXXXXXXXXX"); + todoAppSecret = conf.get("todo-platform.app-secret", "XXXXXXXXXXXXXXXXXXXXXX"); + redisKeyTodoAccessToken = "todo:token:"; + todoRequestTimeout = conf.getLong("todo-platform.request-timeout", 5000L); + } - public static final String TODO_APP_ID = "XXXXXXXXXXXXXXXXXXXXXX"; - public static final String TODO_APP_SECRET = "XXXXXXXXXXXXXXXXXXXXXX"; - public static final String REDIS_KEY_TODO_ACCESS_TOKEN = "todo:token:"; - public static final Long TODO_REQUEST_TIMEOUT = 5000L; } diff --git a/src/main/java/com/budwk/app/todo/service/impl/TodoServiceImpl.java b/src/main/java/com/budwk/app/todo/service/impl/TodoServiceImpl.java index 1fe3810..0c68058 100644 --- a/src/main/java/com/budwk/app/todo/service/impl/TodoServiceImpl.java +++ b/src/main/java/com/budwk/app/todo/service/impl/TodoServiceImpl.java @@ -58,6 +58,8 @@ public class TodoServiceImpl implements TodoService { private RedisService redisService; @Inject private FlowEngine flowEngine; + @Inject + private TodoPlatformConfig todoPlatformConfig; @Override public void saveTask(ProcessTask task) { @@ -79,7 +81,7 @@ public class TodoServiceImpl implements TodoService { List processorList = taskActors.stream().map(o -> new Processor(o.getActorAccount())).toList(); // 创建客户端 - Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + Client client = createClient(); // 创建请求对象 SaveOrUpdateRequest request = new SaveOrUpdateRequest(); // 发起任务 @@ -111,7 +113,7 @@ public class TodoServiceImpl implements TodoService { insertModel.setApplicationModel(applicationModel); request.setInsertModel(Collections.singletonList(insertModel)); - /*Client channelClient = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + /*Client channelClient = createClient(); GetEnableChannelByTypeRequest channelByTypeRequest = new GetEnableChannelByTypeRequest(); channelByTypeRequest.setChannelType(ChannelType_Constants.QYWECHAT); GetEnableChannelByTypeResponse channelByTypeResponse = channelClient.execute(channelByTypeRequest); @@ -152,7 +154,7 @@ public class TodoServiceImpl implements TodoService { ProcessTaskVO taskVO = flowEngine.processTaskService().findById(task.getId()); // 创建客户端 - Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + Client client = createClient(); // 创建请求对象 SaveOrUpdateRequest request = new SaveOrUpdateRequest(); @@ -193,7 +195,7 @@ public class TodoServiceImpl implements TodoService { log.info("修改待办任务,任务数据:{}", Json.toJson(task)); try { // 创建客户端 - Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + Client client = createClient(); // 创建请求对象 TaskModifyInfoRequest request = new TaskModifyInfoRequest(); // 需要修改什么后面扩展吧 @@ -218,7 +220,7 @@ public class TodoServiceImpl implements TodoService { log.info("删除待办任务,任务ID:{}", taskId); try { // 创建客户端 - Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + Client client = createClient(); // 创建请求对象 TaskRealDeleteRequest request = new TaskRealDeleteRequest(); request.setTaskId(taskId); @@ -240,7 +242,7 @@ public class TodoServiceImpl implements TodoService { log.info("删除待办流程,实例ID:{}", processInstanceId); try { // 创建客户端 - Client client = new DefaultClient(TodoPlatformConfig.TODO_PLATFORM_BASE_URL, TodoPlatformConfig.TODO_APP_ID, TodoPlatformConfig.TODO_APP_SECRET); + Client client = createClient(); // 创建请求对象 ProcessInstanceRealDeleteRequest request = new ProcessInstanceRealDeleteRequest(); request.setProcessInstanceId(processInstanceId); @@ -252,4 +254,15 @@ public class TodoServiceImpl implements TodoService { log.error("删除流程实例失败", e); } } + + /** + * 创建待办平台 SDK 客户端,平台地址、appId、appSecret 均从 application 配置读取。 + */ + private Client createClient() { + return new DefaultClient( + todoPlatformConfig.getTodoPlatformBaseUrl(), + todoPlatformConfig.getTodoAppId(), + todoPlatformConfig.getTodoAppSecret() + ); + } }