多模块重构 8:bom 模块,尝试公用部分逻辑

This commit is contained in:
YunaiV
2022-02-01 20:33:03 +08:00
parent fe1271a6f7
commit f39bfdab89
102 changed files with 945 additions and 424 deletions

View File

@ -0,0 +1,50 @@
package cn.iocoder.yudao.module.system.api.dept;
import cn.iocoder.yudao.module.system.api.dept.dto.DeptRespDTO;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* 部门 API 接口
*
* @author 芋道源码
*/
public interface DeptApi {
/**
* 获得部门信息
*
* @param id 部门编号
* @return 部门信息
*/
DeptRespDTO getDept(Long id);
/**
* 获得部门信息数组
*
* @param ids 部门编号数组
* @return 部门信息数组
*/
List<DeptRespDTO> getDepts(Collection<Long> ids);
/**
* 校验部门们是否有效。如下情况,视为无效:
* 1. 部门编号不存在
* 2. 部门被禁用
*
* @param ids 角色编号数组
*/
void validDepts(Collection<Long> ids);
/**
* 获得指定编号的部门 Map
*
* @param ids 部门编号数组
* @return 部门 Map
*/
Map<Long, DeptRespDTO> getDeptMap(Set<Long> ids);
}

View File

@ -0,0 +1,21 @@
package cn.iocoder.yudao.module.system.api.dept;
import java.util.Collection;
/**
* 岗位 API 接口
*
* @author 芋道源码
*/
public interface PostApi {
/**
* 校验岗位们是否有效。如下情况,视为无效:
* 1. 岗位编号不存在
* 2. 岗位被禁用
*
* @param ids 岗位编号数组
*/
void validPosts(Collection<Long> ids);
}

View File

@ -0,0 +1,37 @@
package cn.iocoder.yudao.module.system.api.dept.dto;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import lombok.Data;
/**
* 部门 Response DTO
*
* @author 芋道源码
*/
@Data
public class DeptRespDTO {
/**
* 部门编号
*/
private Long id;
/**
* 部门名称
*/
private String name;
/**
* 父部门编号
*/
private Long parentId;
/**
* 负责人的用户编号
*/
private Long leaderUserId;
/**
* 部门状态
*
* 枚举 {@link CommonStatusEnum}
*/
private Integer status;
}

View File

@ -0,0 +1,22 @@
package cn.iocoder.yudao.module.system.api.dict;
import java.util.Collection;
/**
* 字典数据 API 接口
*
* @author 芋道源码
*/
public interface DictDataApi {
/**
* 校验字典数据们是否有效。如下情况,视为无效:
* 1. 字典数据不存在
* 2. 字典数据被禁用
*
* @param dictType 字典类型
* @param values 字典数据值的数组
*/
void validDictDatas(String dictType, Collection<String> values);
}

View File

@ -0,0 +1,21 @@
package cn.iocoder.yudao.module.system.api.permission;
import java.util.Collection;
import java.util.Set;
/**
* 权限 API 接口
*
* @author 芋道源码
*/
public interface PermissionApi {
/**
* 获得拥有多个角色的用户编号集合
*
* @param roleIds 角色编号集合
* @return 用户编号集合
*/
Set<Long> getUserRoleIdListByRoleIds(Collection<Long> roleIds);
}

View File

@ -0,0 +1,21 @@
package cn.iocoder.yudao.module.system.api.permission;
import java.util.Collection;
/**
* 角色 API 接口
*
* @author 芋道源码
*/
public interface RoleApi {
/**
* 校验角色们是否有效。如下情况,视为无效:
* 1. 角色编号不存在
* 2. 角色被禁用
*
* @param ids 角色编号数组
*/
void validRoles(Collection<Long> ids);
}

View File

@ -1,9 +1,9 @@
package cn.iocoder.yudao.module.system.api.sms;
import cn.iocoder.yudao.framework.common.exception.ServiceException;
import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeCheckReqDTO;
import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeSendReqDTO;
import cn.iocoder.yudao.module.system.api.sms.dto.SmsCodeUseReqDTO;
import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeCheckReqDTO;
import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO;
import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO;
import javax.validation.Valid;

View File

@ -0,0 +1,34 @@
package cn.iocoder.yudao.module.system.api.sms;
import cn.iocoder.yudao.module.system.api.sms.dto.send.SmsSendSingleToUserReqDTO;
import javax.validation.Valid;
/**
* 短信发送 API 接口
*
* @author 芋道源码
*/
public interface SmsSendApi {
/**
* 发送单条短信给 Admin 用户
*
* 在 mobile 为空时,使用 userId 加载对应 Admin 的手机号
*
* @param reqDTO 发送请求
* @return 发送日志编号
*/
Long sendSingleSmsToAdmin(@Valid SmsSendSingleToUserReqDTO reqDTO);
/**
* 发送单条短信给 Member 用户
*
* 在 mobile 为空时,使用 userId 加载对应 Member 的手机号
*
* @param reqDTO 发送请求
* @return 发送日志编号
*/
Long sendSingleSmsToMember(@Valid SmsSendSingleToUserReqDTO reqDTO);
}

View File

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.system.api.sms.dto;
package cn.iocoder.yudao.module.system.api.sms.dto.code;
import cn.iocoder.yudao.framework.common.validation.InEnum;
import cn.iocoder.yudao.framework.common.validation.Mobile;

View File

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.system.api.sms.dto;
package cn.iocoder.yudao.module.system.api.sms.dto.code;
import cn.iocoder.yudao.framework.common.validation.InEnum;
import cn.iocoder.yudao.framework.common.validation.Mobile;

View File

@ -1,4 +1,4 @@
package cn.iocoder.yudao.module.system.api.sms.dto;
package cn.iocoder.yudao.module.system.api.sms.dto.code;
import cn.iocoder.yudao.framework.common.validation.InEnum;
import cn.iocoder.yudao.framework.common.validation.Mobile;

View File

@ -0,0 +1,38 @@
package cn.iocoder.yudao.module.system.api.sms.dto.send;
import cn.iocoder.yudao.framework.common.validation.Mobile;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.Map;
/**
* 短信发送给 Admin 或者 Member 用户
*
* @author 芋道源码
*/
@Data
public class SmsSendSingleToUserReqDTO {
/**
* 用户编号
*/
@NotNull(message = "用户编号不能为空")
private Long userId;
/**
* 手机号
*/
@Mobile
private String mobile;
/**
* 短信模板编号
*/
@NotEmpty(message = "短信模板编号不能为空")
private String templateCode;
/**
* 短信模板参数
*/
private Map<String, Object> templateParams;
}

View File

@ -0,0 +1,58 @@
package cn.iocoder.yudao.module.system.api.user;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* Admin 用户 API 接口
*
* @author 芋道源码
*/
public interface AdminUserApi {
/**
* 通过用户 ID 查询用户
*
* @param id 用户ID
* @return 用户对象信息
*/
AdminUserRespDTO getUser(Long id);
/**
* 获得指定部门的用户数组
*
* @param deptIds 部门数组
* @return 用户数组
*/
List<AdminUserRespDTO> getUsersByDeptIds(Collection<Long> deptIds);
/**
* 获得指定岗位的用户数组
*
* @param postIds 岗位数组
* @return 用户数组
*/
List<AdminUserRespDTO> getUsersByPostIds(Collection<Long> postIds);
/**
* 获得用户 Map
*
* @param ids 用户编号数组
* @return 用户 Map
*/
Map<Long, AdminUserRespDTO> getUserMap(Collection<Long> ids);
/**
* 校验用户们是否有效。如下情况,视为无效:
* 1. 用户编号不存在
* 2. 用户被禁用
*
* @param ids 用户编号数组
*/
void validUsers(Set<Long> ids);
}

View File

@ -0,0 +1,44 @@
package cn.iocoder.yudao.module.system.api.user.dto;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import lombok.Data;
import java.util.Set;
/**
* Admin 用户 Response DTO
*
* @author 芋道源码
*/
@Data
public class AdminUserRespDTO {
/**
* 用户ID
*/
private Long id;
/**
* 用户昵称
*/
private String nickname;
/**
* 帐号状态
*
* 枚举 {@link CommonStatusEnum}
*/
private Integer status;
/**
* 部门ID
*/
private Long deptId;
/**
* 岗位编号数组
*/
private Set<Long> postIds;
/**
* 手机号码
*/
private String mobile;
}