Revert "[重大更新] 使用 spring 新特性 HttpServiceClient 替代 Dubbo 降低框架使用难度(半成本 数据权限不好使)"

This reverts commit b6d2274b
This commit is contained in:
疯狂的狮子Li
2026-03-24 18:03:21 +08:00
parent 2fdcf44dbb
commit 1bce97a536
125 changed files with 1491 additions and 1868 deletions
@@ -1,13 +1,7 @@
package org.dromara.resource.api;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.resource.api.domain.RemoteFile;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
import java.util.List;
@@ -16,8 +10,6 @@ import java.util.List;
*
* @author Lion Li
*/
@RemoteHttpService(value = "ruoyi-resource", fallback = RemoteFileServiceFallback.class)
@HttpExchange("/remote/file")
public interface RemoteFileService {
/**
@@ -26,9 +18,7 @@ public interface RemoteFileService {
* @param file 文件信息
* @return 结果
*/
@PostExchange("/upload")
RemoteFile upload(@RequestParam String name, @RequestParam String originalFilename,
@RequestParam String contentType, @RequestBody byte[] file) throws ServiceException;
RemoteFile upload(String name, String originalFilename, String contentType, byte[] file) throws ServiceException;
/**
* 通过ossId查询对应的url
@@ -36,8 +26,7 @@ public interface RemoteFileService {
* @param ossIds ossId串逗号分隔
* @return url串逗号分隔
*/
@GetExchange("/select-url-by-ids")
String selectUrlByIds(@RequestParam String ossIds);
String selectUrlByIds(String ossIds);
/**
* 通过ossId查询列表
@@ -45,6 +34,5 @@ public interface RemoteFileService {
* @param ossIds ossId串逗号分隔
* @return 列表
*/
@GetExchange("/select-by-ids")
List<RemoteFile> selectByIds(@RequestParam String ossIds);
List<RemoteFile> selectByIds(String ossIds);
}
@@ -7,12 +7,12 @@ import org.dromara.resource.api.domain.RemoteFile;
import java.util.List;
/**
* 文件服务熔断降级.
* 文件服务(降级处理)
*
* @author Lion Li
*/
@Slf4j
public class RemoteFileServiceFallback implements RemoteFileService {
public class RemoteFileServiceMock implements RemoteFileService {
/**
* 上传文件
@@ -1,18 +1,12 @@
package org.dromara.resource.api;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
/**
* 邮件服务
*
* @author Lion Li
*/
@RemoteHttpService("ruoyi-resource")
@HttpExchange("/remote/mail")
public interface RemoteMailService {
/**
@@ -22,7 +16,6 @@ public interface RemoteMailService {
* @param subject 标题
* @param text 内容
*/
@PostExchange("/send")
void send(@RequestParam String to, @RequestParam String subject, @RequestParam String text) throws ServiceException;
void send(String to, String subject, String text) throws ServiceException;
}
@@ -1,11 +1,5 @@
package org.dromara.resource.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
import java.util.List;
/**
@@ -13,8 +7,6 @@ import java.util.List;
*
* @author Lion Li
*/
@RemoteHttpService(value = "ruoyi-resource", fallback = RemoteMessageServiceFallback.class)
@HttpExchange("/remote/message")
public interface RemoteMessageService {
/**
@@ -23,14 +15,12 @@ public interface RemoteMessageService {
* @param sessionKey session主键 一般为用户id
* @param message 消息文本
*/
@PostExchange("/publish-message")
void publishMessage(@RequestBody List<Long> sessionKey, @RequestParam String message);
void publishMessage(List<Long> sessionKey, String message);
/**
* 发布订阅的消息(群发)
*
* @param message 消息内容
*/
@PostExchange("/publish-all")
void publishAll(@RequestParam String message);
void publishAll(String message);
}
@@ -1,35 +0,0 @@
package org.dromara.resource.api;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
/**
* 消息服务熔断降级.
*
* @author Lion Li
*/
@Slf4j
public class RemoteMessageServiceFallback implements RemoteMessageService {
/**
* 发送消息
*
* @param sessionKey session主键 一般为用户id
* @param message 消息文本
*/
@Override
public void publishMessage(List<Long> sessionKey, String message) {
log.warn("消息服务调用失败, 已触发熔断降级");
}
/**
* 发布订阅的消息(群发)
*
* @param message 消息内容
*/
@Override
public void publishAll(String message) {
log.warn("消息服务调用失败, 已触发熔断降级");
}
}
@@ -0,0 +1,47 @@
package org.dromara.resource.api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import java.util.List;
/**
* 消息服务
*
* @author Lion Li
*/
@Slf4j
@RequiredArgsConstructor
public class RemoteMessageServiceStub implements RemoteMessageService {
private final RemoteMessageService remoteMessageService;
/**
* 发送消息
*
* @param sessionKey session主键 一般为用户id
* @param message 消息文本
*/
@Override
public void publishMessage(List<Long> sessionKey, String message) {
try {
remoteMessageService.publishMessage(sessionKey, message);
} catch (Exception e) {
log.warn("推送功能未开启或服务未找到");
}
}
/**
* 发布订阅的消息(群发)
*
* @param message 消息内容
*/
@Override
public void publishAll(String message) {
try {
remoteMessageService.publishAll(message);
} catch (Exception e) {
log.warn("推送功能未开启或服务未找到");
}
}
}
@@ -1,13 +1,6 @@
package org.dromara.resource.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.resource.api.domain.RemoteSms;
import org.dromara.resource.api.domain.RemoteSmsBatch;
import org.dromara.resource.api.domain.RemoteSmsDelayBatch;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
import java.util.LinkedHashMap;
import java.util.List;
@@ -17,8 +10,6 @@ import java.util.List;
*
* @author Feng
*/
@RemoteHttpService("ruoyi-resource")
@HttpExchange("/inner/remote/resource/sms")
public interface RemoteSmsService {
/**
@@ -28,8 +19,7 @@ public interface RemoteSmsService {
* @param message 短信内容
* @return 封装了短信发送结果的 RemoteSms 对象
*/
@PostExchange("/send-text")
RemoteSms sendMessage(@RequestParam String phone, @RequestParam String message);
RemoteSms sendMessage(String phone, String message);
/**
* 同步方法:发送固定消息模板多模板参数短信
@@ -38,8 +28,7 @@ public interface RemoteSmsService {
* @param messages 短信模板参数,使用 LinkedHashMap 以保持参数顺序
* @return 封装了短信发送结果的 RemoteSms 对象
*/
@PostExchange("/send-vars")
RemoteSms sendMessage(@RequestParam String phone, @RequestBody LinkedHashMap<String, String> messages);
RemoteSms sendMessage(String phone, LinkedHashMap<String, String> messages);
/**
* 同步方法:使用自定义模板发送短信
@@ -49,9 +38,7 @@ public interface RemoteSmsService {
* @param messages 短信模板参数,使用 LinkedHashMap 以保持参数顺序
* @return 封装了短信发送结果的 RemoteSms 对象
*/
@PostExchange("/send-template")
RemoteSms sendMessage(@RequestParam String phone, @RequestParam String templateId,
@RequestBody LinkedHashMap<String, String> messages);
RemoteSms sendMessage(String phone, String templateId, LinkedHashMap<String, String> messages);
/**
* 同步方法:群发固定模板短信
@@ -60,8 +47,7 @@ public interface RemoteSmsService {
* @param message 短信内容
* @return 封装了短信发送结果的 RemoteSms 对象
*/
@PostExchange("/message-texting")
RemoteSms messageTexting(@RequestBody List<String> phones, @RequestParam String message);
RemoteSms messageTexting(List<String> phones, String message);
/**
* 同步方法:使用自定义模板群发短信
@@ -71,19 +57,7 @@ public interface RemoteSmsService {
* @param messages 短信模板参数,使用 LinkedHashMap 以保持参数顺序
* @return 封装了短信发送结果的 RemoteSms 对象
*/
@PostExchange("/message-texting-template")
default RemoteSms messageTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages) {
return messageTextingTemplate(new RemoteSmsBatch(phones, templateId, messages));
}
/**
* 使用自定义模板群发短信.
*
* @param request 群发模板短信请求
* @return 封装了短信发送结果的 RemoteSms 对象
*/
@PostExchange("/message-texting-template")
RemoteSms messageTextingTemplate(@RequestBody RemoteSmsBatch request);
RemoteSms messageTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages);
/**
* 异步方法:发送固定消息模板短信
@@ -91,8 +65,7 @@ public interface RemoteSmsService {
* @param phone 目标手机号
* @param message 短信内容
*/
@PostExchange("/send-async-text")
void sendMessageAsync(@RequestParam String phone, @RequestParam String message);
void sendMessageAsync(String phone, String message);
/**
* 异步方法:使用自定义模板发送短信
@@ -101,9 +74,7 @@ public interface RemoteSmsService {
* @param templateId 短信模板ID
* @param messages 短信模板参数,使用 LinkedHashMap 以保持参数顺序
*/
@PostExchange("/send-async-template")
void sendMessageAsync(@RequestParam String phone, @RequestParam String templateId,
@RequestBody LinkedHashMap<String, String> messages);
void sendMessageAsync(String phone, String templateId, LinkedHashMap<String, String> messages);
/**
* 延迟发送:发送固定消息模板短信
@@ -112,8 +83,7 @@ public interface RemoteSmsService {
* @param message 短信内容
* @param delayedTime 延迟发送时间(毫秒)
*/
@PostExchange("/delay-text")
void delayMessage(@RequestParam String phone, @RequestParam String message, @RequestParam Long delayedTime);
void delayMessage(String phone, String message, Long delayedTime);
/**
* 延迟发送:使用自定义模板发送定时短信
@@ -123,9 +93,7 @@ public interface RemoteSmsService {
* @param messages 短信模板参数,使用 LinkedHashMap 以保持参数顺序
* @param delayedTime 延迟发送时间(毫秒)
*/
@PostExchange("/delay-template")
void delayMessage(@RequestParam String phone, @RequestParam String templateId,
@RequestBody LinkedHashMap<String, String> messages, @RequestParam Long delayedTime);
void delayMessage(String phone, String templateId, LinkedHashMap<String, String> messages, Long delayedTime);
/**
* 延迟群发:群发延迟短信
@@ -134,8 +102,7 @@ public interface RemoteSmsService {
* @param message 短信内容
* @param delayedTime 延迟发送时间(毫秒)
*/
@PostExchange("/delay-message-texting")
void delayMessageTexting(@RequestBody List<String> phones, @RequestParam String message, @RequestParam Long delayedTime);
void delayMessageTexting(List<String> phones, String message, Long delayedTime);
/**
* 延迟群发:使用自定义模板发送群体延迟短信
@@ -145,50 +112,34 @@ public interface RemoteSmsService {
* @param messages 短信模板参数,使用 LinkedHashMap 以保持参数顺序
* @param delayedTime 延迟发送时间(毫秒)
*/
@PostExchange("/delay-message-texting-template")
default void delayMessageTexting(List<String> phones, String templateId,
LinkedHashMap<String, String> messages, Long delayedTime) {
delayMessageTextingTemplate(new RemoteSmsDelayBatch(phones, templateId, messages, delayedTime));
}
/**
* 延迟群发模板短信.
*
* @param request 延迟群发模板短信请求
*/
@PostExchange("/delay-message-texting-template")
void delayMessageTextingTemplate(@RequestBody RemoteSmsDelayBatch request);
void delayMessageTexting(List<String> phones, String templateId, LinkedHashMap<String, String> messages, Long delayedTime);
/**
* 加入黑名单
*
* @param phone 手机号
*/
@PostExchange("/add-blacklist-one")
void addBlacklist(@RequestParam String phone);
void addBlacklist(String phone);
/**
* 加入黑名单
*
* @param phones 手机号列表
*/
@PostExchange("/add-blacklist-list")
void addBlacklist(@RequestBody List<String> phones);
void addBlacklist(List<String> phones);
/**
* 移除黑名单
*
* @param phone 手机号
*/
@PostExchange("/remove-blacklist-one")
void removeBlacklist(@RequestParam String phone);
void removeBlacklist(String phone);
/**
* 移除黑名单
*
* @param phones 手机号
*/
@PostExchange("/remove-blacklist-list")
void removeBlacklist(@RequestBody List<String> phones);
void removeBlacklist(List<String> phones);
}
@@ -1,16 +0,0 @@
package org.dromara.resource.api.domain;
import java.util.LinkedHashMap;
import java.util.List;
/**
* 群发模板短信请求.
*
* @author Lion Li
*/
public record RemoteSmsBatch(
List<String> phones,
String templateId,
LinkedHashMap<String, String> messages
) {
}
@@ -1,17 +0,0 @@
package org.dromara.resource.api.domain;
import java.util.LinkedHashMap;
import java.util.List;
/**
* 延迟群发模板短信请求.
*
* @author Lion Li
*/
public record RemoteSmsDelayBatch(
List<String> phones,
String templateId,
LinkedHashMap<String, String> messages,
Long delayedTime
) {
}
@@ -1,18 +1,12 @@
package org.dromara.system.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.system.api.domain.vo.RemoteClientVo;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
/**
* 客户端服务
*
* @author Michelle.Chung
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/client")
public interface RemoteClientService {
/**
@@ -21,7 +15,6 @@ public interface RemoteClientService {
* @param clientId 客户端id
* @return 客户端对象
*/
@GetExchange("/query-by-client-id")
RemoteClientVo queryByClientId(@RequestParam String clientId);
RemoteClientVo queryByClientId(String clientId);
}
@@ -2,11 +2,6 @@ package org.dromara.system.api;
import cn.hutool.core.convert.Convert;
import cn.hutool.core.lang.Dict;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.common.json.utils.JsonUtils;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
import java.math.BigDecimal;
import java.util.List;
@@ -16,15 +11,12 @@ import java.util.List;
*
* @author Michelle.Chung
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/config")
public interface RemoteConfigService {
/**
* 获取注册开关
* @return true开启,false关闭
*/
@GetExchange("/select-register-enabled")
boolean selectRegisterEnabled();
/**
@@ -33,8 +25,7 @@ public interface RemoteConfigService {
* @param configKey 参数 key
* @return 参数值
*/
@GetExchange("/get-config-value")
String getConfigValue(@RequestParam String configKey);
String getConfigValue(String configKey);
/**
* 根据参数 key 获取布尔值
@@ -82,9 +73,7 @@ public interface RemoteConfigService {
* @param configKey 参数 key
* @return Dict 对象,如果配置为空或无法解析,返回空 Dict
*/
default Dict getConfigMap(String configKey) {
return JsonUtils.parseMap(getConfigValue(configKey));
}
Dict getConfigMap(String configKey);
/**
* 根据参数 key 获取 Map 类型的配置列表
@@ -92,9 +81,7 @@ public interface RemoteConfigService {
* @param configKey 参数 key
* @return Dict 列表,如果配置为空或无法解析,返回空列表
*/
default List<Dict> getConfigArrayMap(String configKey) {
return JsonUtils.parseArrayMap(getConfigValue(configKey));
}
List<Dict> getConfigArrayMap(String configKey);
/**
* 根据参数 key 获取指定类型的配置对象
@@ -104,9 +91,7 @@ public interface RemoteConfigService {
* @param <T> 目标对象泛型
* @return 对象实例,如果配置为空或无法解析,返回 null
*/
default <T> T getConfigObject(String configKey, Class<T> clazz) {
return JsonUtils.parseObject(getConfigValue(configKey), clazz);
}
<T> T getConfigObject(String configKey, Class<T> clazz);
/**
* 根据参数 key 获取指定类型的配置列表
@@ -116,8 +101,6 @@ public interface RemoteConfigService {
* @param <T> 元素类型泛型
* @return 指定类型列表,如果配置为空或无法解析,返回空列表
*/
default <T> List<T> getConfigArray(String configKey, Class<T> clazz) {
return JsonUtils.parseArray(getConfigValue(configKey), clazz);
}
<T> List<T> getConfigArray(String configKey, Class<T> clazz);
}
@@ -1,17 +1,10 @@
package org.dromara.system.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
/**
* 数据权限服务
*
* @author Lion Li
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/data-scope")
public interface RemoteDataScopeService {
/**
@@ -20,8 +13,7 @@ public interface RemoteDataScopeService {
* @param roleId 角色ID
* @return 返回角色的自定义权限语句,如果没有找到则返回 null
*/
@GetExchange("/role-custom")
String getRoleCustom(@RequestParam Long roleId);
String getRoleCustom(Long roleId);
/**
* 获取部门和下级权限语句
@@ -29,7 +21,6 @@ public interface RemoteDataScopeService {
* @param deptId 部门ID
* @return 返回部门及其下级的权限语句,如果没有找到则返回 null
*/
@GetExchange("/dept-and-child")
String getDeptAndChild(@RequestParam Long deptId);
String getDeptAndChild(Long deptId);
}
@@ -1,12 +1,6 @@
package org.dromara.system.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.system.api.domain.vo.RemoteDeptVo;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
import java.util.Collection;
import java.util.List;
@@ -17,8 +11,6 @@ import java.util.Map;
*
* @author Lion Li
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/dept")
public interface RemoteDeptService {
/**
@@ -27,8 +19,7 @@ public interface RemoteDeptService {
* @param deptIds 部门ID串逗号分隔
* @return 部门名称串逗号分隔
*/
@GetExchange("/select-dept-name-by-ids")
String selectDeptNameByIds(@RequestParam String deptIds);
String selectDeptNameByIds(String deptIds);
/**
* 根据部门ID查询部门负责人
@@ -36,15 +27,13 @@ public interface RemoteDeptService {
* @param deptId 部门ID,用于指定需要查询的部门
* @return 返回该部门的负责人ID
*/
@GetExchange("/select-dept-leader-by-id")
Long selectDeptLeaderById(@RequestParam Long deptId);
Long selectDeptLeaderById(Long deptId);
/**
* 查询部门
*
* @return 部门列表
*/
@GetExchange("/select-depts-by-list")
List<RemoteDeptVo> selectDeptsByList();
/**
@@ -53,7 +42,6 @@ public interface RemoteDeptService {
* @param deptIds 部门 ID 列表
* @return Map,其中 key 为部门 ID,value 为对应的部门名称
*/
@PostExchange("/select-dept-names-by-ids")
Map<Long, String> selectDeptNamesByIds(@RequestBody Collection<Long> deptIds);
Map<Long, String> selectDeptNamesByIds(Collection<Long> deptIds);
}
@@ -1,11 +1,7 @@
package org.dromara.system.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.system.api.domain.vo.RemoteDictDataVo;
import org.dromara.system.api.domain.vo.RemoteDictTypeVo;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
import java.util.List;
@@ -14,8 +10,6 @@ import java.util.List;
*
* @author Lion Li
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/dict")
public interface RemoteDictService {
/**
@@ -24,8 +18,7 @@ public interface RemoteDictService {
* @param dictType 字典类型
* @return 字典类型
*/
@GetExchange("/select-dict-type-by-type")
RemoteDictTypeVo selectDictTypeByType(@RequestParam String dictType);
RemoteDictTypeVo selectDictTypeByType(String dictType);
/**
* 根据字典类型查询字典数据
@@ -33,7 +26,6 @@ public interface RemoteDictService {
* @param dictType 字典类型
* @return 字典数据集合信息
*/
@GetExchange("/select-dict-data-by-type")
List<RemoteDictDataVo> selectDictDataByType(@RequestParam String dictType);
List<RemoteDictDataVo> selectDictDataByType(String dictType);
}
@@ -1,19 +1,13 @@
package org.dromara.system.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.system.api.domain.bo.RemoteLoginInfoBo;
import org.dromara.system.api.domain.bo.RemoteOperLogBo;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
/**
* 日志服务
*
* @author Lion Li
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/log")
public interface RemoteLogService {
/**
@@ -21,15 +15,13 @@ public interface RemoteLogService {
*
* @param sysOperLog 日志实体
*/
@PostExchange("/save-log")
void saveLog(@RequestBody RemoteOperLogBo sysOperLog);
void saveLog(RemoteOperLogBo sysOperLog);
/**
* 保存访问记录
*
* @param sysLoginInfo 访问实体
*/
@PostExchange("/save-login-info")
void saveLoginInfo(@RequestBody RemoteLoginInfoBo sysLoginInfo);
void saveLoginInfo(RemoteLoginInfoBo sysLoginInfo);
}
@@ -1,10 +1,5 @@
package org.dromara.system.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
import java.util.Set;
/**
@@ -12,8 +7,6 @@ import java.util.Set;
*
* @author Lion Li
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/permission")
public interface RemotePermissionService {
/**
@@ -22,8 +15,7 @@ public interface RemotePermissionService {
* @param userId 用户id
* @return 角色权限信息
*/
@GetExchange("/role-permission")
Set<String> getRolePermission(@RequestParam Long userId);
Set<String> getRolePermission(Long userId);
/**
* 获取菜单数据权限
@@ -31,7 +23,6 @@ public interface RemotePermissionService {
* @param userId 用户id
* @return 菜单权限信息
*/
@GetExchange("/menu-permission")
Set<String> getMenuPermission(@RequestParam Long userId);
Set<String> getMenuPermission(Long userId);
}
@@ -1,11 +1,7 @@
package org.dromara.system.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
@@ -13,8 +9,6 @@ import java.util.Map;
*
* @author Lion Li
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/post")
public interface RemotePostService {
/**
@@ -23,7 +17,6 @@ public interface RemotePostService {
* @param postIds 岗位 ID 列表
* @return Map,其中 key 为岗位 ID,value 为对应的岗位名称
*/
@PostExchange("/select-post-names-by-ids")
Map<Long, String> selectPostNamesByIds(@RequestBody Collection<Long> postIds);
Map<Long, String> selectPostNamesByIds(Collection<Long> postIds);
}
@@ -1,11 +1,7 @@
package org.dromara.system.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
import java.util.Collection;
import java.util.List;
import java.util.Map;
/**
@@ -13,8 +9,6 @@ import java.util.Map;
*
* @author Lion Li
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/role")
public interface RemoteRoleService {
/**
@@ -23,7 +17,6 @@ public interface RemoteRoleService {
* @param roleIds 角色 ID 列表
* @return Map,其中 key 为角色 ID,value 为对应的角色名称
*/
@PostExchange("/select-role-names-by-ids")
Map<Long, String> selectRoleNamesByIds(@RequestBody Collection<Long> roleIds);
Map<Long, String> selectRoleNamesByIds(Collection<Long> roleIds);
}
@@ -1,13 +1,7 @@
package org.dromara.system.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.system.api.domain.bo.RemoteSocialBo;
import org.dromara.system.api.domain.vo.RemoteSocialVo;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
import java.util.List;
@@ -16,8 +10,6 @@ import java.util.List;
*
* @author Michelle.Chung
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/social")
public interface RemoteSocialService {
/**
@@ -26,32 +18,28 @@ public interface RemoteSocialService {
* @param authId 认证id
* @return 授权信息
*/
@GetExchange("/select-by-auth-id")
List<RemoteSocialVo> selectByAuthId(@RequestParam String authId);
List<RemoteSocialVo> selectByAuthId(String authId);
/**
* 查询列表
*
* @param bo 社会化关系业务对象
*/
@PostExchange("/query-list")
List<RemoteSocialVo> queryList(@RequestBody RemoteSocialBo bo);
List<RemoteSocialVo> queryList(RemoteSocialBo bo);
/**
* 保存社会化关系
*
* @param bo 社会化关系业务对象
*/
@PostExchange("/insert-by-bo")
void insertByBo(@RequestBody RemoteSocialBo bo);
void insertByBo(RemoteSocialBo bo);
/**
* 更新社会化关系
*
* @param bo 社会化关系业务对象
*/
@PostExchange("/update-by-bo")
void updateByBo(@RequestBody RemoteSocialBo bo);
void updateByBo(RemoteSocialBo bo);
/**
* 删除社会化关系
@@ -59,7 +47,6 @@ public interface RemoteSocialService {
* @param socialId 社会化关系ID
* @return 结果
*/
@PostExchange("/delete-with-valid-by-id")
Boolean deleteWithValidById(@RequestParam Long socialId);
Boolean deleteWithValidById(Long socialId);
}
@@ -1,19 +1,13 @@
package org.dromara.system.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.system.api.domain.bo.RemoteTaskAssigneeBo;
import org.dromara.system.api.domain.vo.RemoteTaskAssigneeVo;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
/**
* 工作流设计器获取任务执行人
*
* @author Lion Li
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/task-assignee")
public interface RemoteTaskAssigneeService {
/**
@@ -22,8 +16,7 @@ public interface RemoteTaskAssigneeService {
* @param taskQuery 查询条件
* @return 办理人
*/
@PostExchange("/select-roles")
RemoteTaskAssigneeVo selectRolesByTaskAssigneeList(@RequestBody RemoteTaskAssigneeBo taskQuery);
RemoteTaskAssigneeVo selectRolesByTaskAssigneeList(RemoteTaskAssigneeBo taskQuery);
/**
* 查询岗位并返回任务指派的列表,支持分页
@@ -31,8 +24,7 @@ public interface RemoteTaskAssigneeService {
* @param taskQuery 查询条件
* @return 办理人
*/
@PostExchange("/select-posts")
RemoteTaskAssigneeVo selectPostsByTaskAssigneeList(@RequestBody RemoteTaskAssigneeBo taskQuery);
RemoteTaskAssigneeVo selectPostsByTaskAssigneeList(RemoteTaskAssigneeBo taskQuery);
/**
* 查询部门并返回任务指派的列表,支持分页
@@ -40,8 +32,7 @@ public interface RemoteTaskAssigneeService {
* @param taskQuery 查询条件
* @return 办理人
*/
@PostExchange("/select-depts")
RemoteTaskAssigneeVo selectDeptsByTaskAssigneeList(@RequestBody RemoteTaskAssigneeBo taskQuery);
RemoteTaskAssigneeVo selectDeptsByTaskAssigneeList(RemoteTaskAssigneeBo taskQuery);
/**
* 查询用户并返回任务指派的列表,支持分页
@@ -49,7 +40,6 @@ public interface RemoteTaskAssigneeService {
* @param taskQuery 查询条件
* @return 办理人
*/
@PostExchange("/select-users")
RemoteTaskAssigneeVo selectUsersByTaskAssigneeList(@RequestBody RemoteTaskAssigneeBo taskQuery);
RemoteTaskAssigneeVo selectUsersByTaskAssigneeList(RemoteTaskAssigneeBo taskQuery);
}
@@ -2,16 +2,10 @@ package org.dromara.system.api;
import org.dromara.common.core.exception.ServiceException;
import org.dromara.common.core.exception.user.UserException;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.system.api.domain.bo.RemoteUserBo;
import org.dromara.system.api.domain.vo.RemoteUserVo;
import org.dromara.system.api.model.LoginUser;
import org.dromara.system.api.model.XcxLoginUser;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
import java.util.Collection;
import java.util.List;
@@ -22,8 +16,6 @@ import java.util.Map;
*
* @author Lion Li
*/
@RemoteHttpService("ruoyi-system")
@HttpExchange("/remote/user")
public interface RemoteUserService {
/**
@@ -32,8 +24,7 @@ public interface RemoteUserService {
* @param username 用户名
* @return 结果
*/
@GetExchange("/get-by-username")
LoginUser getUserInfo(@RequestParam String username) throws UserException;
LoginUser getUserInfo(String username) throws UserException;
/**
* 通过用户id查询用户信息
@@ -41,8 +32,7 @@ public interface RemoteUserService {
* @param userId 用户id
* @return 结果
*/
@GetExchange("/get-by-id")
LoginUser getUserInfo(@RequestParam Long userId) throws UserException;
LoginUser getUserInfo(Long userId) throws UserException;
/**
* 通过手机号查询用户信息
@@ -50,8 +40,7 @@ public interface RemoteUserService {
* @param phoneNumber 手机号
* @return 结果
*/
@GetMapping("/get-by-phonenumber")
LoginUser getUserInfoByPhoneNumber(@RequestParam String phoneNumber) throws UserException;
LoginUser getUserInfoByPhoneNumber(String phoneNumber) throws UserException;
/**
* 通过邮箱查询用户信息
@@ -59,8 +48,7 @@ public interface RemoteUserService {
* @param email 邮箱
* @return 结果
*/
@GetExchange("/get-by-email")
LoginUser getUserInfoByEmail(@RequestParam String email) throws UserException;
LoginUser getUserInfoByEmail(String email) throws UserException;
/**
* 通过openid查询用户信息
@@ -68,8 +56,7 @@ public interface RemoteUserService {
* @param openid openid
* @return 结果
*/
@GetExchange("/get-by-openid")
XcxLoginUser getUserInfoByOpenid(@RequestParam String openid) throws UserException;
XcxLoginUser getUserInfoByOpenid(String openid) throws UserException;
/**
* 注册用户信息
@@ -77,8 +64,7 @@ public interface RemoteUserService {
* @param remoteUserBo 用户信息
* @return 结果
*/
@PostExchange("/register-user-info")
Boolean registerUserInfo(@RequestBody RemoteUserBo remoteUserBo) throws UserException, ServiceException;
Boolean registerUserInfo(RemoteUserBo remoteUserBo) throws UserException, ServiceException;
/**
* 通过userId查询用户账户
@@ -86,8 +72,7 @@ public interface RemoteUserService {
* @param userId 用户id
* @return 结果
*/
@GetExchange("/select-username-by-id")
String selectUserNameById(@RequestParam Long userId);
String selectUserNameById(Long userId);
/**
* 通过用户ID查询用户昵称
@@ -95,8 +80,7 @@ public interface RemoteUserService {
* @param userId 用户ID
* @return 用户昵称
*/
@GetExchange("/select-nickname-by-id")
String selectNicknameById(@RequestParam Long userId);
String selectNicknameById(Long userId);
/**
* 通过用户ID查询用户昵称
@@ -104,8 +88,7 @@ public interface RemoteUserService {
* @param userIds 用户ID 多个用逗号隔开
* @return 用户昵称
*/
@GetExchange("/select-nickname-by-ids")
String selectNicknameByIds(@RequestParam String userIds);
String selectNicknameByIds(String userIds);
/**
* 通过用户ID查询用户手机号
@@ -113,8 +96,7 @@ public interface RemoteUserService {
* @param userId 用户id
* @return 用户手机号
*/
@GetExchange("/select-phonenumber-by-id")
String selectPhonenumberById(@RequestParam Long userId);
String selectPhonenumberById(Long userId);
/**
* 通过用户ID查询用户邮箱
@@ -122,8 +104,7 @@ public interface RemoteUserService {
* @param userId 用户id
* @return 用户邮箱
*/
@GetExchange("/select-email-by-id")
String selectEmailById(@RequestParam Long userId);
String selectEmailById(Long userId);
/**
* 更新用户信息
@@ -131,8 +112,7 @@ public interface RemoteUserService {
* @param userId 用户ID
* @param ip IP地址
*/
@PostExchange("/record-login-info")
void recordLoginInfo(@RequestParam Long userId, @RequestParam String ip);
void recordLoginInfo(Long userId, String ip);
/**
* 通过用户ID查询用户列表
@@ -140,8 +120,7 @@ public interface RemoteUserService {
* @param userIds 用户ids
* @return 用户列表
*/
@PostExchange("/select-list-by-ids")
List<RemoteUserVo> selectListByIds(@RequestBody Collection<Long> userIds);
List<RemoteUserVo> selectListByIds(Collection<Long> userIds);
/**
* 通过角色ID查询用户ID
@@ -149,8 +128,7 @@ public interface RemoteUserService {
* @param roleIds 角色ids
* @return 用户ids
*/
@PostExchange("/select-user-ids-by-role-ids")
List<Long> selectUserIdsByRoleIds(@RequestBody Collection<Long> roleIds);
List<Long> selectUserIdsByRoleIds(Collection<Long> roleIds);
/**
* 通过角色ID查询用户
@@ -158,8 +136,7 @@ public interface RemoteUserService {
* @param roleIds 角色ids
* @return 用户
*/
@PostExchange("/select-users-by-role-ids")
List<RemoteUserVo> selectUsersByRoleIds(@RequestBody Collection<Long> roleIds);
List<RemoteUserVo> selectUsersByRoleIds(Collection<Long> roleIds);
/**
* 通过部门ID查询用户
@@ -167,8 +144,7 @@ public interface RemoteUserService {
* @param deptIds 部门ids
* @return 用户
*/
@PostExchange("/select-users-by-dept-ids")
List<RemoteUserVo> selectUsersByDeptIds(@RequestBody Collection<Long> deptIds);
List<RemoteUserVo> selectUsersByDeptIds(Collection<Long> deptIds);
/**
* 通过岗位ID查询用户
@@ -176,8 +152,7 @@ public interface RemoteUserService {
* @param postIds 岗位ids
* @return 用户
*/
@PostExchange("/select-users-by-post-ids")
List<RemoteUserVo> selectUsersByPostIds(@RequestBody Collection<Long> postIds);
List<RemoteUserVo> selectUsersByPostIds(Collection<Long> postIds);
/**
* 根据用户 ID 列表查询用户昵称映射关系
@@ -185,7 +160,6 @@ public interface RemoteUserService {
* @param userIds 用户 ID 列表
* @return Map,其中 key 为用户 ID,value 为对应的用户昵称
*/
@PostExchange("/select-user-nicks-by-ids")
Map<Long, String> selectUserNicksByIds(@RequestBody Collection<Long> userIds);
Map<Long, String> selectUserNicksByIds(Collection<Long> userIds);
}
@@ -1,14 +1,8 @@
package org.dromara.workflow.api;
import org.dromara.common.core.annotation.RemoteHttpService;
import org.dromara.workflow.api.domain.RemoteCompleteTask;
import org.dromara.workflow.api.domain.RemoteStartProcess;
import org.dromara.workflow.api.domain.RemoteStartProcessReturn;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.service.annotation.GetExchange;
import org.springframework.web.service.annotation.HttpExchange;
import org.springframework.web.service.annotation.PostExchange;
import java.util.List;
import java.util.Map;
@@ -19,8 +13,6 @@ import java.util.Map;
* @Author ZETA
* @Date 2024/6/3
*/
@RemoteHttpService(value = "ruoyi-workflow", fallback = RemoteWorkflowServiceFallback.class)
@HttpExchange("/remote/workflow")
public interface RemoteWorkflowService {
/**
@@ -29,8 +21,7 @@ public interface RemoteWorkflowService {
* @param businessIds 业务id
* @return 结果
*/
@PostExchange("/delete-instance")
boolean deleteInstance(@RequestBody List<String> businessIds);
boolean deleteInstance(List<String> businessIds);
/**
* 获取当前流程状态
@@ -38,8 +29,7 @@ public interface RemoteWorkflowService {
* @param taskId 任务id
* @return 状态
*/
@GetExchange("/business-status-by-task-id")
String getBusinessStatusByTaskId(@RequestParam Long taskId);
String getBusinessStatusByTaskId(Long taskId);
/**
* 获取当前流程状态
@@ -47,8 +37,7 @@ public interface RemoteWorkflowService {
* @param businessId 业务id
* @return 状态
*/
@GetExchange("/business-status")
String getBusinessStatus(@RequestParam String businessId);
String getBusinessStatus(String businessId);
/**
* 设置流程变量
@@ -56,16 +45,14 @@ public interface RemoteWorkflowService {
* @param instanceId 流程实例id
* @param variable 流程变量
*/
@PostExchange("/set-variable")
void setVariable(@RequestParam Long instanceId, @RequestBody Map<String, Object> variable);
void setVariable(Long instanceId, Map<String, Object> variable);
/**
* 获取流程变量
*
* @param instanceId 流程实例id
*/
@GetExchange("/instance-variable")
Map<String, Object> instanceVariable(@RequestParam Long instanceId);
Map<String, Object> instanceVariable(Long instanceId);
/**
* 按照业务id查询流程实例id
@@ -73,8 +60,7 @@ public interface RemoteWorkflowService {
* @param businessId 业务id
* @return 结果
*/
@GetExchange("/instance-id-by-business-id")
Long getInstanceIdByBusinessId(@RequestParam String businessId);
Long getInstanceIdByBusinessId(String businessId);
/**
* 启动流程
@@ -82,8 +68,7 @@ public interface RemoteWorkflowService {
* @param startProcess 参数
* @return 结果
*/
@PostExchange("/start-workflow")
RemoteStartProcessReturn startWorkFlow(@RequestBody RemoteStartProcess startProcess);
RemoteStartProcessReturn startWorkFlow(RemoteStartProcess startProcess);
/**
* 办理任务
@@ -91,8 +76,7 @@ public interface RemoteWorkflowService {
* @param completeTask 参数
* @return 结果
*/
@PostExchange("/complete-task")
boolean completeTask(@RequestBody RemoteCompleteTask completeTask);
boolean completeTask(RemoteCompleteTask completeTask);
/**
@@ -102,8 +86,7 @@ public interface RemoteWorkflowService {
* @param message 办理意见
* @return 结果
*/
@PostExchange("/complete-task-simple")
boolean completeTask(@RequestParam Long taskId, @RequestParam String message);
boolean completeTask(Long taskId, String message);
/**
* 启动流程并办理第一个任务
@@ -111,7 +94,6 @@ public interface RemoteWorkflowService {
* @param startProcess 参数
* @return 结果
*/
@PostExchange("/start-complete-task")
boolean startCompleteTask(@RequestBody RemoteStartProcess startProcess);
boolean startCompleteTask(RemoteStartProcess startProcess);
}
@@ -9,12 +9,12 @@ import java.util.List;
import java.util.Map;
/**
* 工作流服务熔断降级.
* 工作流服务(降级处理)
*
* @author Lion Li
*/
@Slf4j
public class RemoteWorkflowServiceFallback implements RemoteWorkflowService {
public class RemoteWorkflowServiceMock implements RemoteWorkflowService {
@Override
public boolean deleteInstance(List<String> businessIds) {