commit
This commit is contained in:
@@ -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()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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<Processor> 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()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user