Commit ab6ec2f0edaf13c1338ec3235b26ad4516db8508
1 parent
117914d9
多模块重构 4:system 模块的创建,去除 Sys
Showing
224 changed files
with
1612 additions
and
2215 deletions
Too many changes.
To preserve performance only 100 of 224 files are displayed.
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/infra/controller/config/vo/InfConfigExcelVO.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.adminserver.modules.infra.controller.config.vo; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 7 | 7 | import lombok.Data; |
| 8 | 8 | |
| ... | ... | @@ -30,11 +30,11 @@ public class InfConfigExcelVO { |
| 30 | 30 | private String value; |
| 31 | 31 | |
| 32 | 32 | @ExcelProperty(value = "参数类型", converter = DictConvert.class) |
| 33 | - @DictFormat(SysDictTypeConstants.CONFIG_TYPE) | |
| 33 | + @DictFormat(DictTypeConstants.CONFIG_TYPE) | |
| 34 | 34 | private Integer type; |
| 35 | 35 | |
| 36 | 36 | @ExcelProperty(value = "是否敏感", converter = DictConvert.class) |
| 37 | - @DictFormat(SysDictTypeConstants.BOOLEAN_STRING) | |
| 37 | + @DictFormat(DictTypeConstants.BOOLEAN_STRING) | |
| 38 | 38 | private Boolean sensitive; |
| 39 | 39 | |
| 40 | 40 | @ExcelProperty("备注") | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/infra/controller/logger/vo/apiaccesslog/InfApiAccessLogExcelVO.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.adminserver.modules.infra.controller.logger.vo.apiacces |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 7 | 7 | import lombok.Data; |
| 8 | 8 | |
| ... | ... | @@ -26,7 +26,7 @@ public class InfApiAccessLogExcelVO { |
| 26 | 26 | private Long userId; |
| 27 | 27 | |
| 28 | 28 | @ExcelProperty(value = "用户类型", converter = DictConvert.class) |
| 29 | - @DictFormat(SysDictTypeConstants.USER_TYPE) | |
| 29 | + @DictFormat(DictTypeConstants.USER_TYPE) | |
| 30 | 30 | private Integer userType; |
| 31 | 31 | |
| 32 | 32 | @ExcelProperty("应用名") | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/infra/controller/logger/vo/apierrorlog/InfApiErrorLogExcelVO.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.infra.controller.logger.vo.apierror |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | 5 | import cn.iocoder.yudao.adminserver.modules.infra.enums.InfDictTypeConstants; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 6 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 7 | 7 | import com.alibaba.excel.annotation.ExcelProperty; |
| 8 | 8 | import lombok.Data; |
| 9 | 9 | |
| ... | ... | @@ -27,7 +27,7 @@ public class InfApiErrorLogExcelVO { |
| 27 | 27 | private Integer userId; |
| 28 | 28 | |
| 29 | 29 | @ExcelProperty(value = "用户类型", converter = DictConvert.class) |
| 30 | - @DictFormat(SysDictTypeConstants.USER_TYPE) | |
| 30 | + @DictFormat(DictTypeConstants.USER_TYPE) | |
| 31 | 31 | private Integer userType; |
| 32 | 32 | |
| 33 | 33 | @ExcelProperty("应用名") | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/order/PayOrderExcelVO.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.order; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 3 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 5 | 5 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| ... | ... | @@ -46,11 +46,11 @@ public class PayOrderExcelVO { |
| 46 | 46 | @ExcelProperty("渠道手续费,单位:百分比") |
| 47 | 47 | private String channelFeeRate; |
| 48 | 48 | |
| 49 | - @DictFormat(SysDictTypeConstants.PAY_ORDER_STATUS) | |
| 49 | + @DictFormat(DictTypeConstants.PAY_ORDER_STATUS) | |
| 50 | 50 | @ExcelProperty(value = "支付状态", converter = DictConvert.class) |
| 51 | 51 | private Integer status; |
| 52 | 52 | |
| 53 | - @DictFormat(SysDictTypeConstants.PAY_ORDER_NOTIFY_STATUS) | |
| 53 | + @DictFormat(DictTypeConstants.PAY_ORDER_NOTIFY_STATUS) | |
| 54 | 54 | @ExcelProperty(value = "通知商户支付结果的回调状态", converter = DictConvert.class) |
| 55 | 55 | private Integer notifyStatus; |
| 56 | 56 | |
| ... | ... | @@ -75,7 +75,7 @@ public class PayOrderExcelVO { |
| 75 | 75 | @ExcelProperty("用户 IP") |
| 76 | 76 | private String userIp; |
| 77 | 77 | |
| 78 | - @DictFormat(SysDictTypeConstants.PAY_ORDER_REFUND_STATUS) | |
| 78 | + @DictFormat(DictTypeConstants.PAY_ORDER_REFUND_STATUS) | |
| 79 | 79 | @ExcelProperty(value = "退款状态", converter = DictConvert.class) |
| 80 | 80 | private Integer refundStatus; |
| 81 | 81 | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/pay/controller/order/vo/refund/vo/PayRefundExcelVO.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.pay.controller.order.vo.refund.vo; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 3 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 5 | 5 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| ... | ... | @@ -43,15 +43,15 @@ public class PayRefundExcelVO { |
| 43 | 43 | @ExcelProperty("异步通知商户地址") |
| 44 | 44 | private String notifyUrl; |
| 45 | 45 | |
| 46 | - @DictFormat(SysDictTypeConstants.PAY_ORDER_NOTIFY_STATUS) | |
| 46 | + @DictFormat(DictTypeConstants.PAY_ORDER_NOTIFY_STATUS) | |
| 47 | 47 | @ExcelProperty(value = "商户退款结果回调状态", converter = DictConvert.class) |
| 48 | 48 | private Integer notifyStatus; |
| 49 | 49 | |
| 50 | - @DictFormat(SysDictTypeConstants.PAY_REFUND_ORDER_STATUS) | |
| 50 | + @DictFormat(DictTypeConstants.PAY_REFUND_ORDER_STATUS) | |
| 51 | 51 | @ExcelProperty(value = "退款状态", converter = DictConvert.class) |
| 52 | 52 | private Integer status; |
| 53 | 53 | |
| 54 | - @DictFormat(SysDictTypeConstants.PAY_REFUND_ORDER_TYPE) | |
| 54 | + @DictFormat(DictTypeConstants.PAY_REFUND_ORDER_TYPE) | |
| 55 | 55 | @ExcelProperty(value = "退款类型", converter = DictConvert.class) |
| 56 | 56 | private Integer type; |
| 57 | 57 | ... | ... |
yudao-admin-server/src/main/java/cn/iocoder/yudao/adminserver/modules/tool/controller/test/vo/ToolTestDemoExcelVO.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.tool.controller.test.vo; |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | 5 | import cn.iocoder.yudao.adminserver.modules.infra.enums.InfDictTypeConstants; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 6 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 7 | 7 | import com.alibaba.excel.annotation.ExcelProperty; |
| 8 | 8 | import lombok.Data; |
| 9 | 9 | |
| ... | ... | @@ -24,11 +24,11 @@ public class ToolTestDemoExcelVO { |
| 24 | 24 | private String name; |
| 25 | 25 | |
| 26 | 26 | @ExcelProperty(value = "状态", converter = DictConvert.class) |
| 27 | - @DictFormat(SysDictTypeConstants.COMMON_STATUS) | |
| 27 | + @DictFormat(DictTypeConstants.COMMON_STATUS) | |
| 28 | 28 | private Integer status; |
| 29 | 29 | |
| 30 | 30 | @ExcelProperty(value = "类型", converter = DictConvert.class) |
| 31 | - @DictFormat(SysDictTypeConstants.OPERATE_TYPE) | |
| 31 | + @DictFormat(DictTypeConstants.OPERATE_TYPE) | |
| 32 | 32 | private Integer type; |
| 33 | 33 | |
| 34 | 34 | @ExcelProperty(value = "分类", converter = DictConvert.class) | ... | ... |
yudao-admin-server/src/test-integration/java/cn/iocoder/yudao/adminserver/framework/redis/core/stream/RedisStreamTest.java
| ... | ... | @@ -5,7 +5,7 @@ import cn.iocoder.yudao.adminserver.BaseRedisIntegrationTest; |
| 5 | 5 | import cn.iocoder.yudao.module.system.mq.consumer.mail.SysMailSendConsumer; |
| 6 | 6 | import cn.iocoder.yudao.module.system.mq.consumer.sms.SysSmsSendConsumer; |
| 7 | 7 | import cn.iocoder.yudao.module.system.mq.message.mail.SysMailSendMessage; |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.mq.message.sms.SysSmsSendMessage; | |
| 8 | +import cn.iocoder.yudao.module.system.mq.message.sms.SysSmsSendMessage; | |
| 9 | 9 | import cn.iocoder.yudao.framework.mq.core.util.RedisMessageUtils; |
| 10 | 10 | import org.junit.jupiter.api.Disabled; |
| 11 | 11 | import org.junit.jupiter.api.Test; | ... | ... |
yudao-admin-server/src/test-integration/java/cn/iocoder/yudao/adminserver/modules/system/service/sms/SysSmsServiceIntegrationTest.java
| ... | ... | @@ -9,7 +9,7 @@ import cn.iocoder.yudao.module.system.service.sms.impl.SysSmsChannelServiceImpl; |
| 9 | 9 | import cn.iocoder.yudao.module.system.service.sms.impl.SysSmsLogServiceImpl; |
| 10 | 10 | import cn.iocoder.yudao.module.system.service.sms.impl.SysSmsTemplateServiceImpl; |
| 11 | 11 | import cn.iocoder.yudao.module.system.service.user.SysUserService; |
| 12 | -import cn.iocoder.yudao.coreservice.modules.system.service.sms.impl.SysSmsCoreServiceImpl; | |
| 12 | +import cn.iocoder.yudao.module.system.service.sms.impl.SysSmsCoreServiceImpl; | |
| 13 | 13 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 14 | 14 | import cn.iocoder.yudao.framework.sms.config.YudaoSmsAutoConfiguration; |
| 15 | 15 | import org.junit.jupiter.api.Test; | ... | ... |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/infra/enums/SysErrorCodeConstants.java
0 → 100644
| 1 | +package cn.iocoder.yudao.coreservice.modules.infra.enums; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.exception.ErrorCode; | |
| 4 | + | |
| 5 | +/** | |
| 6 | + * System 错误码枚举类 | |
| 7 | + * | |
| 8 | + * system 系统,使用 1-006-000-000 段 | |
| 9 | + */ | |
| 10 | +public interface SysErrorCodeConstants { | |
| 11 | + | |
| 12 | + // ========= 文件相关 1006001000================= | |
| 13 | + ErrorCode FILE_PATH_EXISTS = new ErrorCode(1006001000, "文件路径已存在"); | |
| 14 | + ErrorCode FILE_NOT_EXISTS = new ErrorCode(1006001002, "文件不存在"); | |
| 15 | + | |
| 16 | +} | ... | ... |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/infra/enums/package-info.java deleted
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/infra/service/file/impl/InfFileCoreServiceImpl.java
| ... | ... | @@ -10,7 +10,7 @@ import org.springframework.stereotype.Service; |
| 10 | 10 | import javax.annotation.Resource; |
| 11 | 11 | import java.io.ByteArrayInputStream; |
| 12 | 12 | |
| 13 | -import static cn.iocoder.yudao.coreservice.modules.system.enums.SysErrorCodeConstants.*; | |
| 13 | +import static cn.iocoder.yudao.coreservice.modules.infra.enums.SysErrorCodeConstants.*; | |
| 14 | 14 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 15 | 15 | |
| 16 | 16 | /** | ... | ... |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/convert/package-info.java deleted
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/convert/《芋道 Spring Boot 对象转换 MapStruct 入门》.md deleted
| 1 | -<http://www.iocoder.cn/Spring-Boot/MapStruct/?yudao> |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/dal/dataobject/package-info.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.dal.dataobject; |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/dal/mysql/dict/SysDictDataCoreMapper.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.dal.mysql.dict; | |
| 2 | - | |
| 3 | - | |
| 4 | -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dict.SysDictDataDO; | |
| 6 | -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |
| 7 | -import org.apache.ibatis.annotations.Mapper; | |
| 8 | - | |
| 9 | -import java.util.Date; | |
| 10 | - | |
| 11 | -@Mapper | |
| 12 | -public interface SysDictDataCoreMapper extends BaseMapperX<SysDictDataDO> { | |
| 13 | - | |
| 14 | - default boolean selectExistsByUpdateTimeAfter(Date maxUpdateTime) { | |
| 15 | - return selectOne(new QueryWrapper<SysDictDataDO>().select("id") | |
| 16 | - .gt("update_time", maxUpdateTime).last("LIMIT 1")) != null; | |
| 17 | - } | |
| 18 | - | |
| 19 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/dal/mysql/package-info.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.dal.mysql; |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/dal/mysql/sms/SysSmsLogCoreMapper.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.dal.mysql.sms; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsLogDO; | |
| 4 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 5 | -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 6 | -import cn.iocoder.yudao.framework.mybatis.core.query.QueryWrapperX; | |
| 7 | -import org.apache.ibatis.annotations.Mapper; | |
| 8 | - | |
| 9 | -import java.util.List; | |
| 10 | - | |
| 11 | -@Mapper | |
| 12 | -public interface SysSmsLogCoreMapper extends BaseMapperX<SysSmsLogDO> { | |
| 13 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/dal/mysql/sms/SysSmsTemplateCoreMapper.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.dal.mysql.sms; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 4 | -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 5 | -import org.apache.ibatis.annotations.Mapper; | |
| 6 | -import org.apache.ibatis.annotations.Select; | |
| 7 | - | |
| 8 | -import java.util.Date; | |
| 9 | - | |
| 10 | -@Mapper | |
| 11 | -public interface SysSmsTemplateCoreMapper extends BaseMapperX<SysSmsTemplateDO> { | |
| 12 | - | |
| 13 | - @Select("SELECT id FROM sys_sms_template WHERE update_time > #{maxUpdateTime} LIMIT 1") | |
| 14 | - Long selectExistsByUpdateTimeAfter(Date maxUpdateTime); | |
| 15 | - | |
| 16 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/dal/mysql/user/SysUserCoreMapper.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.dal.mysql.user; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 4 | -import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | |
| 5 | -import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | |
| 6 | -import org.apache.ibatis.annotations.Mapper; | |
| 7 | - | |
| 8 | -import java.util.Collection; | |
| 9 | -import java.util.List; | |
| 10 | - | |
| 11 | -@Mapper | |
| 12 | -public interface SysUserCoreMapper extends BaseMapperX<SysUserDO> { | |
| 13 | - | |
| 14 | - default List<SysUserDO> selectListByDeptIds(Collection<Long> deptIds) { | |
| 15 | - return selectList(SysUserDO::getDeptId, deptIds); | |
| 16 | - } | |
| 17 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/mq/producer/package-info.java deleted
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/mq/producer/sms/SysSmsCoreProducer.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.mq.producer.sms; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.mq.message.sms.SysSmsSendMessage; | |
| 4 | -import cn.iocoder.yudao.framework.common.core.KeyValue; | |
| 5 | -import cn.iocoder.yudao.framework.mq.core.RedisMQTemplate; | |
| 6 | -import lombok.extern.slf4j.Slf4j; | |
| 7 | -import org.springframework.stereotype.Component; | |
| 8 | - | |
| 9 | -import javax.annotation.Resource; | |
| 10 | -import java.util.List; | |
| 11 | - | |
| 12 | -/** | |
| 13 | - * Sms 短信相关消息的 Core Producer | |
| 14 | - * | |
| 15 | - * @author zzf | |
| 16 | - * @date 2021/3/9 16:35 | |
| 17 | - */ | |
| 18 | -@Slf4j | |
| 19 | -@Component | |
| 20 | -public class SysSmsCoreProducer { | |
| 21 | - | |
| 22 | - @Resource | |
| 23 | - private RedisMQTemplate redisMQTemplate; | |
| 24 | - | |
| 25 | - /** | |
| 26 | - * 发送 {@link SysSmsSendMessage} 消息 | |
| 27 | - * | |
| 28 | - * @param logId 短信日志编号 | |
| 29 | - * @param mobile 手机号 | |
| 30 | - * @param channelId 渠道编号 | |
| 31 | - * @param apiTemplateId 短信模板编号 | |
| 32 | - * @param templateParams 短信模板参数 | |
| 33 | - */ | |
| 34 | - public void sendSmsSendMessage(Long logId, String mobile, | |
| 35 | - Long channelId, String apiTemplateId, List<KeyValue<String, Object>> templateParams) { | |
| 36 | - SysSmsSendMessage message = new SysSmsSendMessage().setLogId(logId).setMobile(mobile); | |
| 37 | - message.setChannelId(channelId).setApiTemplateId(apiTemplateId).setTemplateParams(templateParams); | |
| 38 | - redisMQTemplate.send(message); | |
| 39 | - } | |
| 40 | - | |
| 41 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/package-info.java deleted
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/auth/SysUserSessionCoreService.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.auth; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.framework.security.core.LoginUser; | |
| 4 | - | |
| 5 | -/** | |
| 6 | - * 在线用户 Session Core Service 接口 | |
| 7 | - * | |
| 8 | - * @author 芋道源码 | |
| 9 | - */ | |
| 10 | -public interface SysUserSessionCoreService { | |
| 11 | - | |
| 12 | - /** | |
| 13 | - * 创建在线用户 Session | |
| 14 | - * | |
| 15 | - * @param loginUser 登录用户 | |
| 16 | - * @param userIp 用户 IP | |
| 17 | - * @param userAgent 用户 UA | |
| 18 | - * @return Session 编号 | |
| 19 | - */ | |
| 20 | - String createUserSession(LoginUser loginUser, String userIp, String userAgent); | |
| 21 | - | |
| 22 | - /** | |
| 23 | - * 刷新在线用户 Session 的更新时间 | |
| 24 | - * | |
| 25 | - * @param sessionId Session 编号 | |
| 26 | - * @param loginUser 登录用户 | |
| 27 | - */ | |
| 28 | - void refreshUserSession(String sessionId, LoginUser loginUser); | |
| 29 | - | |
| 30 | - /** | |
| 31 | - * 删除在线用户 Session | |
| 32 | - * | |
| 33 | - * @param sessionId Session 编号 | |
| 34 | - */ | |
| 35 | - void deleteUserSession(String sessionId); | |
| 36 | - | |
| 37 | - /** | |
| 38 | - * 获得 Session 编号对应的在线用户 | |
| 39 | - * | |
| 40 | - * @param sessionId Session 编号 | |
| 41 | - * @return 在线用户 | |
| 42 | - */ | |
| 43 | - LoginUser getLoginUser(String sessionId); | |
| 44 | - | |
| 45 | - /** | |
| 46 | - * 获得 Session 超时时间,单位:毫秒 | |
| 47 | - * | |
| 48 | - * @return 超时时间 | |
| 49 | - */ | |
| 50 | - Long getSessionTimeoutMillis(); | |
| 51 | - | |
| 52 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/auth/impl/SysUserSessionCoreServiceImpl.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.auth.impl; | |
| 2 | - | |
| 3 | -import cn.hutool.core.util.IdUtil; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.auth.SysUserSessionDO; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.mysql.auth.SysUserSessionCoreMapper; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.redis.auth.SysLoginUserCoreRedisDAO; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.service.auth.SysUserSessionCoreService; | |
| 8 | -import cn.iocoder.yudao.framework.security.config.SecurityProperties; | |
| 9 | -import cn.iocoder.yudao.framework.security.core.LoginUser; | |
| 10 | -import org.springframework.stereotype.Service; | |
| 11 | - | |
| 12 | -import javax.annotation.Resource; | |
| 13 | -import java.time.Duration; | |
| 14 | -import java.util.Date; | |
| 15 | - | |
| 16 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.addTime; | |
| 17 | - | |
| 18 | -/** | |
| 19 | - * 在线用户 Session Core Service 实现类 | |
| 20 | - * | |
| 21 | - * @author 芋道源码 | |
| 22 | - */ | |
| 23 | -@Service | |
| 24 | -public class SysUserSessionCoreServiceImpl implements SysUserSessionCoreService { | |
| 25 | - | |
| 26 | - @Resource | |
| 27 | - private SysUserSessionCoreMapper userSessionCoreMapper; | |
| 28 | - | |
| 29 | - @Resource | |
| 30 | - private SysLoginUserCoreRedisDAO loginUserCoreRedisDAO; | |
| 31 | - | |
| 32 | - @Resource | |
| 33 | - private SecurityProperties securityProperties; | |
| 34 | - | |
| 35 | - @Override | |
| 36 | - public String createUserSession(LoginUser loginUser, String userIp, String userAgent) { | |
| 37 | - // 生成 Session 编号 | |
| 38 | - String sessionId = generateSessionId(); | |
| 39 | - // 写入 Redis 缓存 | |
| 40 | - loginUser.setUpdateTime(new Date()); | |
| 41 | - loginUserCoreRedisDAO.set(sessionId, loginUser); | |
| 42 | - // 写入 DB 中 | |
| 43 | - SysUserSessionDO userSession = SysUserSessionDO.builder().id(sessionId) | |
| 44 | - .userId(loginUser.getId()).userType(loginUser.getUserType()) | |
| 45 | - .userIp(userIp).userAgent(userAgent).username(loginUser.getUsername()) | |
| 46 | - .sessionTimeout(addTime(Duration.ofMillis(getSessionTimeoutMillis()))) | |
| 47 | - .build(); | |
| 48 | - userSessionCoreMapper.insert(userSession); | |
| 49 | - // 返回 Session 编号 | |
| 50 | - return sessionId; | |
| 51 | - } | |
| 52 | - | |
| 53 | - @Override | |
| 54 | - public void refreshUserSession(String sessionId, LoginUser loginUser) { | |
| 55 | - // 写入 Redis 缓存 | |
| 56 | - loginUser.setUpdateTime(new Date()); | |
| 57 | - loginUserCoreRedisDAO.set(sessionId, loginUser); | |
| 58 | - // 更新 DB 中 | |
| 59 | - SysUserSessionDO updateObj = SysUserSessionDO.builder().id(sessionId).build(); | |
| 60 | - updateObj.setUsername(loginUser.getUsername()); | |
| 61 | - updateObj.setUpdateTime(new Date()); | |
| 62 | - updateObj.setSessionTimeout(addTime(Duration.ofMillis(getSessionTimeoutMillis()))); | |
| 63 | - userSessionCoreMapper.updateById(updateObj); | |
| 64 | - } | |
| 65 | - | |
| 66 | - @Override | |
| 67 | - public void deleteUserSession(String sessionId) { | |
| 68 | - // 删除 Redis 缓存 | |
| 69 | - loginUserCoreRedisDAO.delete(sessionId); | |
| 70 | - // 删除 DB 记录 | |
| 71 | - userSessionCoreMapper.deleteById(sessionId); | |
| 72 | - } | |
| 73 | - | |
| 74 | - @Override | |
| 75 | - public LoginUser getLoginUser(String sessionId) { | |
| 76 | - return loginUserCoreRedisDAO.get(sessionId); | |
| 77 | - } | |
| 78 | - | |
| 79 | - @Override | |
| 80 | - public Long getSessionTimeoutMillis() { | |
| 81 | - return securityProperties.getSessionTimeout().toMillis(); | |
| 82 | - } | |
| 83 | - | |
| 84 | - /** | |
| 85 | - * 生成 Session 编号,目前采用 UUID 算法 | |
| 86 | - * | |
| 87 | - * @return Session 编号 | |
| 88 | - */ | |
| 89 | - private static String generateSessionId() { | |
| 90 | - return IdUtil.fastSimpleUUID(); | |
| 91 | - } | |
| 92 | - | |
| 93 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/dict/SysDictDataCoreService.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.dict; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.framework.dict.core.service.DictDataFrameworkService; | |
| 4 | - | |
| 5 | -import java.util.Collection; | |
| 6 | - | |
| 7 | -/** | |
| 8 | - * 字典数据 Service 接口 | |
| 9 | - * | |
| 10 | - * @author 芋道源码 | |
| 11 | - */ | |
| 12 | -public interface SysDictDataCoreService extends DictDataFrameworkService { | |
| 13 | - | |
| 14 | - /** | |
| 15 | - * 初始化字典数据的本地缓存 | |
| 16 | - */ | |
| 17 | - void initLocalCache(); | |
| 18 | - | |
| 19 | - /** | |
| 20 | - * 校验字典数据们是否有效。如下情况,视为无效: | |
| 21 | - * 1. 字典数据不存在 | |
| 22 | - * 2. 字典数据被禁用 | |
| 23 | - * | |
| 24 | - * @param dictType 字典类型 | |
| 25 | - * @param values 字典数据值的数组 | |
| 26 | - */ | |
| 27 | - void validDictDatas(String dictType, Collection<String> values); | |
| 28 | - | |
| 29 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/dict/impl/SysDictDataCoreServiceImpl.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.dict.impl; | |
| 2 | - | |
| 3 | -import cn.hutool.core.collection.CollUtil; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.convert.dict.SysDictDataCoreConvert; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dict.SysDictDataDO; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.mysql.dict.SysDictDataCoreMapper; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.service.dict.SysDictDataCoreService; | |
| 8 | -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 9 | -import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | |
| 10 | -import cn.iocoder.yudao.framework.dict.core.dto.DictDataRespDTO; | |
| 11 | -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | |
| 12 | -import com.google.common.collect.ImmutableMap; | |
| 13 | -import com.google.common.collect.ImmutableTable; | |
| 14 | -import lombok.extern.slf4j.Slf4j; | |
| 15 | -import org.springframework.scheduling.annotation.Scheduled; | |
| 16 | -import org.springframework.stereotype.Service; | |
| 17 | - | |
| 18 | -import javax.annotation.PostConstruct; | |
| 19 | -import javax.annotation.Resource; | |
| 20 | -import java.util.*; | |
| 21 | - | |
| 22 | -import static cn.iocoder.yudao.coreservice.modules.system.enums.SysErrorCodeConstants.DICT_DATA_NOT_ENABLE; | |
| 23 | -import static cn.iocoder.yudao.coreservice.modules.system.enums.SysErrorCodeConstants.DICT_DATA_NOT_EXISTS; | |
| 24 | -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 25 | - | |
| 26 | -/** | |
| 27 | - * 字典数据 Service 实现类 | |
| 28 | - * | |
| 29 | - * @author 芋道源码 | |
| 30 | - */ | |
| 31 | -@Service | |
| 32 | -@Slf4j | |
| 33 | -public class SysDictDataCoreServiceImpl implements SysDictDataCoreService { | |
| 34 | - | |
| 35 | - /** | |
| 36 | - * 定时执行 {@link #schedulePeriodicRefresh()} 的周期 | |
| 37 | - * 因为已经通过 Redis Pub/Sub 机制,所以频率不需要高 | |
| 38 | - */ | |
| 39 | - private static final long SCHEDULER_PERIOD = 5 * 60 * 1000L; | |
| 40 | - | |
| 41 | - /** | |
| 42 | - * 字典数据缓存,第二个 key 使用 label | |
| 43 | - * | |
| 44 | - * key1:字典类型 dictType | |
| 45 | - * key2:字典标签 label | |
| 46 | - */ | |
| 47 | - private ImmutableTable<String, String, SysDictDataDO> labelDictDataCache; | |
| 48 | - /** | |
| 49 | - * 字典数据缓存,第二个 key 使用 value | |
| 50 | - * | |
| 51 | - * key1:字典类型 dictType | |
| 52 | - * key2:字典值 value | |
| 53 | - */ | |
| 54 | - private ImmutableTable<String, String, SysDictDataDO> valueDictDataCache; | |
| 55 | - /** | |
| 56 | - * 缓存字典数据的最大更新时间,用于后续的增量轮询,判断是否有更新 | |
| 57 | - */ | |
| 58 | - private volatile Date maxUpdateTime; | |
| 59 | - | |
| 60 | - @Resource | |
| 61 | - private SysDictDataCoreMapper dictDataCoreMapper; | |
| 62 | - | |
| 63 | - @Override | |
| 64 | - @PostConstruct | |
| 65 | - public synchronized void initLocalCache() { | |
| 66 | - // 获取字典数据列表,如果有更新 | |
| 67 | - List<SysDictDataDO> dataList = this.loadDictDataIfUpdate(maxUpdateTime); | |
| 68 | - if (CollUtil.isEmpty(dataList)) { | |
| 69 | - return; | |
| 70 | - } | |
| 71 | - | |
| 72 | - // 构建缓存 | |
| 73 | - ImmutableTable.Builder<String, String, SysDictDataDO> labelDictDataBuilder = ImmutableTable.builder(); | |
| 74 | - ImmutableTable.Builder<String, String, SysDictDataDO> valueDictDataBuilder = ImmutableTable.builder(); | |
| 75 | - dataList.forEach(dictData -> { | |
| 76 | - labelDictDataBuilder.put(dictData.getDictType(), dictData.getLabel(), dictData); | |
| 77 | - valueDictDataBuilder.put(dictData.getDictType(), dictData.getValue(), dictData); | |
| 78 | - }); | |
| 79 | - labelDictDataCache = labelDictDataBuilder.build(); | |
| 80 | - valueDictDataCache = valueDictDataBuilder.build(); | |
| 81 | - assert dataList.size() > 0; // 断言,避免告警 | |
| 82 | - maxUpdateTime = dataList.stream().max(Comparator.comparing(BaseDO::getUpdateTime)).get().getUpdateTime(); | |
| 83 | - log.info("[initLocalCache][缓存字典数据,数量为:{}]", dataList.size()); | |
| 84 | - } | |
| 85 | - | |
| 86 | - @Scheduled(fixedDelay = SCHEDULER_PERIOD, initialDelay = SCHEDULER_PERIOD) | |
| 87 | - public void schedulePeriodicRefresh() { | |
| 88 | - initLocalCache(); | |
| 89 | - } | |
| 90 | - | |
| 91 | - /** | |
| 92 | - * 如果字典数据发生变化,从数据库中获取最新的全量字典数据。 | |
| 93 | - * 如果未发生变化,则返回空 | |
| 94 | - * | |
| 95 | - * @param maxUpdateTime 当前字典数据的最大更新时间 | |
| 96 | - * @return 字典数据列表 | |
| 97 | - */ | |
| 98 | - private List<SysDictDataDO> loadDictDataIfUpdate(Date maxUpdateTime) { | |
| 99 | - // 第一步,判断是否要更新。 | |
| 100 | - if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 | |
| 101 | - log.info("[loadDictDataIfUpdate][首次加载全量字典数据]"); | |
| 102 | - } else { // 判断数据库中是否有更新的字典数据 | |
| 103 | - if (!dictDataCoreMapper.selectExistsByUpdateTimeAfter(maxUpdateTime)) { | |
| 104 | - return null; | |
| 105 | - } | |
| 106 | - log.info("[loadDictDataIfUpdate][增量加载全量字典数据]"); | |
| 107 | - } | |
| 108 | - // 第二步,如果有更新,则从数据库加载所有字典数据 | |
| 109 | - return dictDataCoreMapper.selectList(); | |
| 110 | - } | |
| 111 | - | |
| 112 | - @Override | |
| 113 | - public DictDataRespDTO getDictDataFromCache(String type, String value) { | |
| 114 | - return SysDictDataCoreConvert.INSTANCE.convert02(valueDictDataCache.get(type, value)); | |
| 115 | - } | |
| 116 | - | |
| 117 | - @Override | |
| 118 | - public DictDataRespDTO parseDictDataFromCache(String type, String label) { | |
| 119 | - return SysDictDataCoreConvert.INSTANCE.convert02(labelDictDataCache.get(type, label)); | |
| 120 | - } | |
| 121 | - | |
| 122 | - @Override | |
| 123 | - public List<DictDataRespDTO> listDictDatasFromCache(String type) { | |
| 124 | - return SysDictDataCoreConvert.INSTANCE.convertList03(labelDictDataCache.row(type).values()); | |
| 125 | - } | |
| 126 | - | |
| 127 | - @Override | |
| 128 | - public void validDictDatas(String dictType, Collection<String> values) { | |
| 129 | - if (CollUtil.isEmpty(values)) { | |
| 130 | - return; | |
| 131 | - } | |
| 132 | - ImmutableMap<String, SysDictDataDO> dictDataMap = valueDictDataCache.row(dictType); | |
| 133 | - // 校验 | |
| 134 | - values.forEach(value -> { | |
| 135 | - SysDictDataDO dictData = dictDataMap.get(value); | |
| 136 | - if (dictData == null) { | |
| 137 | - throw exception(DICT_DATA_NOT_EXISTS); | |
| 138 | - } | |
| 139 | - if (!CommonStatusEnum.ENABLE.getStatus().equals(dictData.getStatus())) { | |
| 140 | - throw exception(DICT_DATA_NOT_ENABLE, dictData.getLabel()); | |
| 141 | - } | |
| 142 | - }); | |
| 143 | - } | |
| 144 | - | |
| 145 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/logger/SysLoginLogCoreService.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.logger; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.service.logger.dto.SysLoginLogCreateReqDTO; | |
| 4 | - | |
| 5 | -/** | |
| 6 | - * 登录日志 Core Service 接口 | |
| 7 | - */ | |
| 8 | -public interface SysLoginLogCoreService { | |
| 9 | - | |
| 10 | - /** | |
| 11 | - * 创建登录日志 | |
| 12 | - * | |
| 13 | - * @param reqDTO 日志信息 | |
| 14 | - */ | |
| 15 | - void createLoginLog(SysLoginLogCreateReqDTO reqDTO); | |
| 16 | - | |
| 17 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/logger/impl/SysLoginLogCoreServiceImpl.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.logger.impl; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.convert.logger.SysLoginLogCoreConvert; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.logger.SysLoginLogDO; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.mysql.logger.SysLoginLogCoreMapper; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.service.logger.SysLoginLogCoreService; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.service.logger.dto.SysLoginLogCreateReqDTO; | |
| 8 | -import org.springframework.stereotype.Service; | |
| 9 | - | |
| 10 | -import javax.annotation.Resource; | |
| 11 | - | |
| 12 | -/** | |
| 13 | - * 登录日志 Service Core 实现 | |
| 14 | - * | |
| 15 | - * @author 芋道源码 | |
| 16 | - */ | |
| 17 | -@Service | |
| 18 | -public class SysLoginLogCoreServiceImpl implements SysLoginLogCoreService { | |
| 19 | - | |
| 20 | - @Resource | |
| 21 | - private SysLoginLogCoreMapper loginLogMapper; | |
| 22 | - | |
| 23 | - @Override | |
| 24 | - public void createLoginLog(SysLoginLogCreateReqDTO reqDTO) { | |
| 25 | - SysLoginLogDO loginLog = SysLoginLogCoreConvert.INSTANCE.convert(reqDTO); | |
| 26 | - // 插入 | |
| 27 | - loginLogMapper.insert(loginLog); | |
| 28 | - } | |
| 29 | - | |
| 30 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/sms/SysSmsLogCoreService.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.sms; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 4 | - | |
| 5 | -import java.util.Date; | |
| 6 | -import java.util.Map; | |
| 7 | - | |
| 8 | -/** | |
| 9 | - * 短信日志 Core Service 接口 | |
| 10 | - * | |
| 11 | - * @author zzf | |
| 12 | - * @date 13:48 2021/3/2 | |
| 13 | - */ | |
| 14 | -public interface SysSmsLogCoreService { | |
| 15 | - | |
| 16 | - /** | |
| 17 | - * 创建短信日志 | |
| 18 | - * | |
| 19 | - * @param mobile 手机号 | |
| 20 | - * @param userId 用户编号 | |
| 21 | - * @param userType 用户类型 | |
| 22 | - * @param isSend 是否发送 | |
| 23 | - * @param template 短信模板 | |
| 24 | - * @param templateContent 短信内容 | |
| 25 | - * @param templateParams 短信参数 | |
| 26 | - * @return 发送日志编号 | |
| 27 | - */ | |
| 28 | - Long createSmsLog(String mobile, Long userId, Integer userType, Boolean isSend, | |
| 29 | - SysSmsTemplateDO template, String templateContent, Map<String, Object> templateParams); | |
| 30 | - | |
| 31 | - /** | |
| 32 | - * 更新日志的发送结果 | |
| 33 | - * | |
| 34 | - * @param id 日志编号 | |
| 35 | - * @param sendCode 发送结果的编码 | |
| 36 | - * @param sendMsg 发送结果的提示 | |
| 37 | - * @param apiSendCode 短信 API 发送结果的编码 | |
| 38 | - * @param apiSendMsg 短信 API 发送失败的提示 | |
| 39 | - * @param apiRequestId 短信 API 发送返回的唯一请求 ID | |
| 40 | - * @param apiSerialNo 短信 API 发送返回的序号 | |
| 41 | - */ | |
| 42 | - void updateSmsSendResult(Long id, Integer sendCode, String sendMsg, | |
| 43 | - String apiSendCode, String apiSendMsg, String apiRequestId, String apiSerialNo); | |
| 44 | - | |
| 45 | - /** | |
| 46 | - * 更新日志的接收结果 | |
| 47 | - * | |
| 48 | - * @param id 日志编号 | |
| 49 | - * @param success 是否接收成功 | |
| 50 | - * @param receiveTime 用户接收时间 | |
| 51 | - * @param apiReceiveCode API 接收结果的编码 | |
| 52 | - * @param apiReceiveMsg API 接收结果的说明 | |
| 53 | - */ | |
| 54 | - void updateSmsReceiveResult(Long id, Boolean success, Date receiveTime, String apiReceiveCode, String apiReceiveMsg); | |
| 55 | - | |
| 56 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/sms/SysSmsTemplateCoreService.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.sms; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 4 | - | |
| 5 | -import java.util.Map; | |
| 6 | - | |
| 7 | -/** | |
| 8 | - * 短信模板 Core Service 接口 | |
| 9 | - * | |
| 10 | - * @author 芋道源码 | |
| 11 | - */ | |
| 12 | -public interface SysSmsTemplateCoreService { | |
| 13 | - | |
| 14 | - /** | |
| 15 | - * 初始化短信模板的本地缓存 | |
| 16 | - */ | |
| 17 | - void initLocalCache(); | |
| 18 | - | |
| 19 | - /** | |
| 20 | - * 获得短信模板,从缓存中 | |
| 21 | - * | |
| 22 | - * @param code 模板编码 | |
| 23 | - * @return 短信模板 | |
| 24 | - */ | |
| 25 | - SysSmsTemplateDO getSmsTemplateByCodeFromCache(String code); | |
| 26 | - | |
| 27 | - /** | |
| 28 | - * 格式化短信内容 | |
| 29 | - * | |
| 30 | - * @param content 短信模板的内容 | |
| 31 | - * @param params 内容的参数 | |
| 32 | - * @return 格式化后的内容 | |
| 33 | - */ | |
| 34 | - String formatSmsTemplateContent(String content, Map<String, Object> params); | |
| 35 | - | |
| 36 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/sms/impl/SysSmsLogCoreServiceImpl.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.sms.impl; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsLogDO; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.mysql.sms.SysSmsLogCoreMapper; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.enums.sms.SysSmsReceiveStatusEnum; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.enums.sms.SysSmsSendStatusEnum; | |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.service.sms.SysSmsLogCoreService; | |
| 9 | -import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 10 | -import lombok.extern.slf4j.Slf4j; | |
| 11 | -import org.springframework.stereotype.Service; | |
| 12 | - | |
| 13 | -import javax.annotation.Resource; | |
| 14 | -import java.util.Date; | |
| 15 | -import java.util.Map; | |
| 16 | -import java.util.Objects; | |
| 17 | - | |
| 18 | -/** | |
| 19 | - * 短信日志 Core Service 实现类 | |
| 20 | - * | |
| 21 | - * @author zzf | |
| 22 | - * @date 2021/1/25 9:25 | |
| 23 | - */ | |
| 24 | -@Slf4j | |
| 25 | -@Service | |
| 26 | -public class SysSmsLogCoreServiceImpl implements SysSmsLogCoreService { | |
| 27 | - | |
| 28 | - @Resource | |
| 29 | - private SysSmsLogCoreMapper smsLogCoreMapper; | |
| 30 | - | |
| 31 | - @Override | |
| 32 | - public Long createSmsLog(String mobile, Long userId, Integer userType, Boolean isSend, | |
| 33 | - SysSmsTemplateDO template, String templateContent, Map<String, Object> templateParams) { | |
| 34 | - SysSmsLogDO.SysSmsLogDOBuilder logBuilder = SysSmsLogDO.builder(); | |
| 35 | - // 根据是否要发送,设置状态 | |
| 36 | - logBuilder.sendStatus(Objects.equals(isSend, true) ? SysSmsSendStatusEnum.INIT.getStatus() | |
| 37 | - : SysSmsSendStatusEnum.IGNORE.getStatus()); | |
| 38 | - // 设置手机相关字段 | |
| 39 | - logBuilder.mobile(mobile).userId(userId).userType(userType); | |
| 40 | - // 设置模板相关字段 | |
| 41 | - logBuilder.templateId(template.getId()).templateCode(template.getCode()).templateType(template.getType()); | |
| 42 | - logBuilder.templateContent(templateContent).templateParams(templateParams).apiTemplateId(template.getApiTemplateId()); | |
| 43 | - // 设置渠道相关字段 | |
| 44 | - logBuilder.channelId(template.getChannelId()).channelCode(template.getChannelCode()); | |
| 45 | - // 设置接收相关字段 | |
| 46 | - logBuilder.receiveStatus(SysSmsReceiveStatusEnum.INIT.getStatus()); | |
| 47 | - | |
| 48 | - // 插入数据库 | |
| 49 | - SysSmsLogDO logDO = logBuilder.build(); | |
| 50 | - smsLogCoreMapper.insert(logDO); | |
| 51 | - return logDO.getId(); | |
| 52 | - } | |
| 53 | - | |
| 54 | - @Override | |
| 55 | - public void updateSmsSendResult(Long id, Integer sendCode, String sendMsg, | |
| 56 | - String apiSendCode, String apiSendMsg, String apiRequestId, String apiSerialNo) { | |
| 57 | - SysSmsSendStatusEnum sendStatus = CommonResult.isSuccess(sendCode) ? SysSmsSendStatusEnum.SUCCESS | |
| 58 | - : SysSmsSendStatusEnum.FAILURE; | |
| 59 | - smsLogCoreMapper.updateById(SysSmsLogDO.builder().id(id).sendStatus(sendStatus.getStatus()).sendTime(new Date()) | |
| 60 | - .sendCode(sendCode).sendMsg(sendMsg).apiSendCode(apiSendCode).apiSendMsg(apiSendMsg) | |
| 61 | - .apiRequestId(apiRequestId).apiSerialNo(apiSerialNo).build()); | |
| 62 | - } | |
| 63 | - | |
| 64 | - @Override | |
| 65 | - public void updateSmsReceiveResult(Long id, Boolean success, Date receiveTime, String apiReceiveCode, String apiReceiveMsg) { | |
| 66 | - SysSmsReceiveStatusEnum receiveStatus = Objects.equals(success, true) ? SysSmsReceiveStatusEnum.SUCCESS | |
| 67 | - : SysSmsReceiveStatusEnum.FAILURE; | |
| 68 | - smsLogCoreMapper.updateById(SysSmsLogDO.builder().id(id).receiveStatus(receiveStatus.getStatus()).receiveTime(receiveTime) | |
| 69 | - .apiReceiveCode(apiReceiveCode).apiReceiveMsg(apiReceiveMsg).build()); | |
| 70 | - } | |
| 71 | - | |
| 72 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/sms/impl/SysSmsTemplateCoreServiceImpl.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.sms.impl; | |
| 2 | - | |
| 3 | -import cn.hutool.core.collection.CollUtil; | |
| 4 | -import cn.hutool.core.util.StrUtil; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.mysql.sms.SysSmsTemplateCoreMapper; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.service.sms.SysSmsTemplateCoreService; | |
| 8 | -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | |
| 9 | -import com.google.common.collect.ImmutableMap; | |
| 10 | -import lombok.extern.slf4j.Slf4j; | |
| 11 | -import org.springframework.scheduling.annotation.Scheduled; | |
| 12 | -import org.springframework.stereotype.Service; | |
| 13 | - | |
| 14 | -import javax.annotation.PostConstruct; | |
| 15 | -import javax.annotation.Resource; | |
| 16 | -import java.util.Comparator; | |
| 17 | -import java.util.Date; | |
| 18 | -import java.util.List; | |
| 19 | -import java.util.Map; | |
| 20 | - | |
| 21 | -/** | |
| 22 | - * 短信模板 Core Service 接口 | |
| 23 | - * | |
| 24 | - * @author 芋道源码 | |
| 25 | - */ | |
| 26 | -@Service | |
| 27 | -@Slf4j | |
| 28 | -public class SysSmsTemplateCoreServiceImpl implements SysSmsTemplateCoreService { | |
| 29 | - | |
| 30 | - /** | |
| 31 | - * 定时执行 {@link #schedulePeriodicRefresh()} 的周期 | |
| 32 | - * 因为已经通过 Redis Pub/Sub 机制,所以频率不需要高 | |
| 33 | - */ | |
| 34 | - private static final long SCHEDULER_PERIOD = 5 * 60 * 1000L; | |
| 35 | - | |
| 36 | - /** | |
| 37 | - * 短信模板缓存 | |
| 38 | - * key:短信模板编码 {@link SysSmsTemplateDO#getCode()} | |
| 39 | - * | |
| 40 | - * 这里声明 volatile 修饰的原因是,每次刷新时,直接修改指向 | |
| 41 | - */ | |
| 42 | - private volatile Map<String, SysSmsTemplateDO> smsTemplateCache; | |
| 43 | - /** | |
| 44 | - * 缓存短信模板的最大更新时间,用于后续的增量轮询,判断是否有更新 | |
| 45 | - */ | |
| 46 | - private volatile Date maxUpdateTime; | |
| 47 | - | |
| 48 | - @Resource | |
| 49 | - private SysSmsTemplateCoreMapper smsTemplateCoreMapper; | |
| 50 | - | |
| 51 | - @Override | |
| 52 | - @PostConstruct | |
| 53 | - public void initLocalCache() { | |
| 54 | - // 获取短信模板列表,如果有更新 | |
| 55 | - List<SysSmsTemplateDO> smsTemplateList = this.loadSmsTemplateIfUpdate(maxUpdateTime); | |
| 56 | - if (CollUtil.isEmpty(smsTemplateList)) { | |
| 57 | - return; | |
| 58 | - } | |
| 59 | - | |
| 60 | - // 写入缓存 | |
| 61 | - ImmutableMap.Builder<String, SysSmsTemplateDO> builder = ImmutableMap.builder(); | |
| 62 | - smsTemplateList.forEach(sysSmsTemplateDO -> builder.put(sysSmsTemplateDO.getCode(), sysSmsTemplateDO)); | |
| 63 | - smsTemplateCache = builder.build(); | |
| 64 | - assert smsTemplateList.size() > 0; // 断言,避免告警 | |
| 65 | - maxUpdateTime = smsTemplateList.stream().max(Comparator.comparing(BaseDO::getUpdateTime)).get().getUpdateTime(); | |
| 66 | - log.info("[initLocalCache][初始化 SmsTemplate 数量为 {}]", smsTemplateList.size()); | |
| 67 | - } | |
| 68 | - | |
| 69 | - /** | |
| 70 | - * 如果短信模板发生变化,从数据库中获取最新的全量短信模板。 | |
| 71 | - * 如果未发生变化,则返回空 | |
| 72 | - * | |
| 73 | - * @param maxUpdateTime 当前短信模板的最大更新时间 | |
| 74 | - * @return 短信模板列表 | |
| 75 | - */ | |
| 76 | - private List<SysSmsTemplateDO> loadSmsTemplateIfUpdate(Date maxUpdateTime) { | |
| 77 | - // 第一步,判断是否要更新。 | |
| 78 | - if (maxUpdateTime == null) { // 如果更新时间为空,说明 DB 一定有新数据 | |
| 79 | - log.info("[loadSmsTemplateIfUpdate][首次加载全量短信模板]"); | |
| 80 | - } else { // 判断数据库中是否有更新的短信模板 | |
| 81 | - if (smsTemplateCoreMapper.selectExistsByUpdateTimeAfter(maxUpdateTime) == null) { | |
| 82 | - return null; | |
| 83 | - } | |
| 84 | - log.info("[loadSmsTemplateIfUpdate][增量加载全量短信模板]"); | |
| 85 | - } | |
| 86 | - // 第二步,如果有更新,则从数据库加载所有短信模板 | |
| 87 | - return smsTemplateCoreMapper.selectList(); | |
| 88 | - } | |
| 89 | - | |
| 90 | - @Scheduled(fixedDelay = SCHEDULER_PERIOD, initialDelay = SCHEDULER_PERIOD) | |
| 91 | - public void schedulePeriodicRefresh() { | |
| 92 | - initLocalCache(); | |
| 93 | - } | |
| 94 | - | |
| 95 | - @Override | |
| 96 | - public SysSmsTemplateDO getSmsTemplateByCodeFromCache(String code) { | |
| 97 | - return smsTemplateCache.get(code); | |
| 98 | - } | |
| 99 | - | |
| 100 | - @Override | |
| 101 | - public String formatSmsTemplateContent(String content, Map<String, Object> params) { | |
| 102 | - return StrUtil.format(content, params); | |
| 103 | - } | |
| 104 | - | |
| 105 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/user/SysUserCoreService.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.user; | |
| 2 | - | |
| 3 | -import cn.hutool.core.collection.CollUtil; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 5 | -import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | |
| 6 | - | |
| 7 | -import java.util.*; | |
| 8 | - | |
| 9 | -/** | |
| 10 | - * 后台用户 Service Core 接口 | |
| 11 | - * | |
| 12 | - * @author 芋道源码 | |
| 13 | - */ | |
| 14 | -public interface SysUserCoreService { | |
| 15 | - | |
| 16 | - /** | |
| 17 | - * 通过用户 ID 查询用户 | |
| 18 | - * | |
| 19 | - * @param id 用户ID | |
| 20 | - * @return 用户对象信息 | |
| 21 | - */ | |
| 22 | - SysUserDO getUser(Long id); | |
| 23 | - | |
| 24 | - /** | |
| 25 | - * 获得指定部门的用户数组 | |
| 26 | - * | |
| 27 | - * @param deptIds 部门数组 | |
| 28 | - * @return 用户数组 | |
| 29 | - */ | |
| 30 | - List<SysUserDO> getUsersByDeptIds(Collection<Long> deptIds); | |
| 31 | - | |
| 32 | - /** | |
| 33 | - * 获得指定岗位的用户数组 | |
| 34 | - * | |
| 35 | - * @param postIds 岗位数组 | |
| 36 | - * @return 用户数组 | |
| 37 | - */ | |
| 38 | - List<SysUserDO> getUsersByPostIds(Collection<Long> postIds); | |
| 39 | - | |
| 40 | - /** | |
| 41 | - * 获得用户列表 | |
| 42 | - * | |
| 43 | - * @param ids 用户编号数组 | |
| 44 | - * @return 用户列表 | |
| 45 | - */ | |
| 46 | - List<SysUserDO> getUsers(Collection<Long> ids); | |
| 47 | - | |
| 48 | - /** | |
| 49 | - * 校验用户们是否有效。如下情况,视为无效: | |
| 50 | - * 1. 用户编号不存在 | |
| 51 | - * 2. 用户被禁用 | |
| 52 | - * | |
| 53 | - * @param ids 用户编号数组 | |
| 54 | - */ | |
| 55 | - void validUsers(Set<Long> ids); | |
| 56 | - | |
| 57 | - /** | |
| 58 | - * 获得用户 Map | |
| 59 | - * | |
| 60 | - * @param ids 用户编号数组 | |
| 61 | - * @return 用户 Map | |
| 62 | - */ | |
| 63 | - default Map<Long, SysUserDO> getUserMap(Collection<Long> ids) { | |
| 64 | - if (CollUtil.isEmpty(ids)) { | |
| 65 | - return new HashMap<>(); | |
| 66 | - } | |
| 67 | - return CollectionUtils.convertMap(getUsers(ids), SysUserDO::getId); | |
| 68 | - } | |
| 69 | - | |
| 70 | -} |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/service/user/impl/SysUserCoreServiceImpl.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.user.impl; | |
| 2 | - | |
| 3 | -import cn.hutool.core.collection.CollUtil; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.mysql.user.SysUserCoreMapper; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 7 | -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 8 | -import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | |
| 9 | -import org.springframework.stereotype.Service; | |
| 10 | - | |
| 11 | -import javax.annotation.Resource; | |
| 12 | -import java.util.*; | |
| 13 | - | |
| 14 | -import static cn.iocoder.yudao.coreservice.modules.system.enums.SysErrorCodeConstants.USER_IS_DISABLE; | |
| 15 | -import static cn.iocoder.yudao.coreservice.modules.system.enums.SysErrorCodeConstants.USER_NOT_EXISTS; | |
| 16 | -import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; | |
| 17 | - | |
| 18 | -/** | |
| 19 | - * 后台用户 Service Core 实现 | |
| 20 | - * | |
| 21 | - * @author 芋道源码 | |
| 22 | - */ | |
| 23 | -@Service | |
| 24 | -public class SysUserCoreServiceImpl implements SysUserCoreService { | |
| 25 | - | |
| 26 | - @Resource | |
| 27 | - private SysUserCoreMapper userCoreMapper; | |
| 28 | - | |
| 29 | - @Override | |
| 30 | - public SysUserDO getUser(Long id) { | |
| 31 | - return userCoreMapper.selectById(id); | |
| 32 | - } | |
| 33 | - | |
| 34 | - @Override | |
| 35 | - public List<SysUserDO> getUsersByDeptIds(Collection<Long> deptIds) { | |
| 36 | - if (CollUtil.isEmpty(deptIds)) { | |
| 37 | - return Collections.emptyList(); | |
| 38 | - } | |
| 39 | - return userCoreMapper.selectListByDeptIds(deptIds); | |
| 40 | - } | |
| 41 | - | |
| 42 | - @Override | |
| 43 | - public List<SysUserDO> getUsersByPostIds(Collection<Long> postIds) { | |
| 44 | - if (CollUtil.isEmpty(postIds)) { | |
| 45 | - return Collections.emptyList(); | |
| 46 | - } | |
| 47 | - // 过滤不符合条件的 | |
| 48 | - // TODO 芋艿:暂时只能内存过滤。解决方案:1、新建一个关联表;2、基于 where + 函数;3、json 字段,适合 mysql 8+ 版本 | |
| 49 | - List<SysUserDO> users = userCoreMapper.selectList(); | |
| 50 | - users.removeIf(user -> !CollUtil.containsAny(user.getPostIds(), postIds)); | |
| 51 | - return users; | |
| 52 | - } | |
| 53 | - | |
| 54 | - @Override | |
| 55 | - public List<SysUserDO> getUsers(Collection<Long> ids) { | |
| 56 | - if (CollUtil.isEmpty(ids)) { | |
| 57 | - return Collections.emptyList(); | |
| 58 | - } | |
| 59 | - return userCoreMapper.selectBatchIds(ids); | |
| 60 | - } | |
| 61 | - | |
| 62 | - @Override | |
| 63 | - public void validUsers(Set<Long> ids) { | |
| 64 | - if (CollUtil.isEmpty(ids)) { | |
| 65 | - return; | |
| 66 | - } | |
| 67 | - // 获得岗位信息 | |
| 68 | - List<SysUserDO> users = userCoreMapper.selectBatchIds(ids); | |
| 69 | - Map<Long, SysUserDO> userMap = CollectionUtils.convertMap(users, SysUserDO::getId); | |
| 70 | - // 校验 | |
| 71 | - ids.forEach(id -> { | |
| 72 | - SysUserDO user = userMap.get(id); | |
| 73 | - if (user == null) { | |
| 74 | - throw exception(USER_NOT_EXISTS); | |
| 75 | - } | |
| 76 | - if (!CommonStatusEnum.ENABLE.getStatus().equals(user.getStatus())) { | |
| 77 | - throw exception(USER_IS_DISABLE, user.getNickname()); | |
| 78 | - } | |
| 79 | - }); | |
| 80 | - } | |
| 81 | - | |
| 82 | -} |
yudao-core-service/src/test/java/cn/iocoder/yudao/coreservice/modules/infra/service/file/InfFileCoreServiceTest.java
| ... | ... | @@ -12,8 +12,7 @@ import org.springframework.context.annotation.Import; |
| 12 | 12 | |
| 13 | 13 | import javax.annotation.Resource; |
| 14 | 14 | |
| 15 | -import static cn.iocoder.yudao.coreservice.modules.system.enums.SysErrorCodeConstants.FILE_NOT_EXISTS; | |
| 16 | -import static cn.iocoder.yudao.coreservice.modules.system.enums.SysErrorCodeConstants.FILE_PATH_EXISTS; | |
| 15 | +import static cn.iocoder.yudao.coreservice.modules.infra.enums.SysErrorCodeConstants.*; | |
| 17 | 16 | import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertServiceException; |
| 18 | 17 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; |
| 19 | 18 | import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomString; | ... | ... |
yudao-core-service/src/test/java/cn/iocoder/yudao/coreservice/modules/system/service/auth/SysUserSessionCoreServiceTest.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.auth; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.BaseDbAndRedisUnitTest; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.auth.SysUserSessionDO; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.mysql.auth.SysUserSessionCoreMapper; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.redis.auth.SysLoginUserCoreRedisDAO; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.service.auth.impl.SysUserSessionCoreServiceImpl; | |
| 8 | -import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; | |
| 9 | -import cn.iocoder.yudao.framework.security.config.SecurityProperties; | |
| 10 | -import cn.iocoder.yudao.framework.security.core.LoginUser; | |
| 11 | -import org.junit.jupiter.api.Test; | |
| 12 | -import org.springframework.boot.test.mock.mockito.MockBean; | |
| 13 | -import org.springframework.context.annotation.Import; | |
| 14 | - | |
| 15 | -import javax.annotation.Resource; | |
| 16 | -import java.time.Duration; | |
| 17 | -import java.util.Date; | |
| 18 | - | |
| 19 | -import static cn.hutool.core.util.RandomUtil.randomEle; | |
| 20 | -import static cn.iocoder.yudao.framework.common.util.date.DateUtils.addTime; | |
| 21 | -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; | |
| 22 | -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; | |
| 23 | -import static org.junit.jupiter.api.Assertions.*; | |
| 24 | -import static org.mockito.Mockito.when; | |
| 25 | - | |
| 26 | -@Import({SysUserSessionCoreServiceImpl.class, SysLoginUserCoreRedisDAO.class}) | |
| 27 | -public class SysUserSessionCoreServiceTest extends BaseDbAndRedisUnitTest { | |
| 28 | - | |
| 29 | - @Resource | |
| 30 | - private SysUserSessionCoreServiceImpl userSessionCoreService; | |
| 31 | - | |
| 32 | - @Resource | |
| 33 | - private SysUserSessionCoreMapper userSessionCoreMapper; | |
| 34 | - @Resource | |
| 35 | - private SysLoginUserCoreRedisDAO loginUserCoreRedisDAO; | |
| 36 | - | |
| 37 | - @MockBean | |
| 38 | - private SecurityProperties securityProperties; | |
| 39 | - | |
| 40 | - @Test | |
| 41 | - public void testCreateUserSession_success() { | |
| 42 | - // 准备参数 | |
| 43 | - String userIp = randomString(); | |
| 44 | - String userAgent = randomString(); | |
| 45 | - LoginUser loginUser = randomPojo(LoginUser.class, o -> { | |
| 46 | - o.setUserType(randomEle(UserTypeEnum.values()).getValue()); | |
| 47 | - o.setTenantId(0L); // 租户设置为 0,因为暂未启用多租户组件 | |
| 48 | - }); | |
| 49 | - // mock 方法 | |
| 50 | - when(securityProperties.getSessionTimeout()).thenReturn(Duration.ofDays(1)); | |
| 51 | - | |
| 52 | - // 调用 | |
| 53 | - String sessionId = userSessionCoreService.createUserSession(loginUser, userIp, userAgent); | |
| 54 | - // 校验 SysUserSessionDO 记录 | |
| 55 | - SysUserSessionDO userSessionDO = userSessionCoreMapper.selectById(sessionId); | |
| 56 | - assertPojoEquals(loginUser, userSessionDO, "id", "updateTime"); | |
| 57 | - assertEquals(sessionId, userSessionDO.getId()); | |
| 58 | - assertEquals(userIp, userSessionDO.getUserIp()); | |
| 59 | - assertEquals(userAgent, userSessionDO.getUserAgent()); | |
| 60 | - // 校验 LoginUser 缓存 | |
| 61 | - LoginUser redisLoginUser = loginUserCoreRedisDAO.get(sessionId); | |
| 62 | - assertPojoEquals(loginUser, redisLoginUser, "username", "password"); | |
| 63 | - } | |
| 64 | - | |
| 65 | - @Test | |
| 66 | - public void testCreateRefreshUserSession_success() { | |
| 67 | - // 准备参数 | |
| 68 | - String sessionId = randomString(); | |
| 69 | - String userIp = randomString(); | |
| 70 | - String userAgent = randomString(); | |
| 71 | - long timeLong = randomLongId(); | |
| 72 | - String userName = randomString(); | |
| 73 | - Date date = randomDate(); | |
| 74 | - LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setUserType(randomEle(UserTypeEnum.values()).getValue())); | |
| 75 | - // mock 方法 | |
| 76 | - when(securityProperties.getSessionTimeout()).thenReturn(Duration.ofDays(1)); | |
| 77 | - // mock 数据 | |
| 78 | - loginUser.setUpdateTime(date); | |
| 79 | - loginUserCoreRedisDAO.set(sessionId, loginUser); | |
| 80 | - SysUserSessionDO userSession = SysUserSessionDO.builder().id(sessionId) | |
| 81 | - .userId(loginUser.getId()).userType(loginUser.getUserType()) | |
| 82 | - .userIp(userIp).userAgent(userAgent).username(userName) | |
| 83 | - .sessionTimeout(addTime(Duration.ofMillis(timeLong))) | |
| 84 | - .build(); | |
| 85 | - userSessionCoreMapper.insert(userSession); | |
| 86 | - | |
| 87 | - // 调用 | |
| 88 | - userSessionCoreService.refreshUserSession(sessionId, loginUser); | |
| 89 | - // 校验 LoginUser 缓存 | |
| 90 | - LoginUser redisLoginUser = loginUserCoreRedisDAO.get(sessionId); | |
| 91 | - assertNotEquals(redisLoginUser.getUpdateTime(), date); | |
| 92 | - // 校验 SysUserSessionDO 记录 | |
| 93 | - SysUserSessionDO updateDO = userSessionCoreMapper.selectById(sessionId); | |
| 94 | - assertEquals(updateDO.getUsername(), loginUser.getUsername()); | |
| 95 | - assertNotEquals(updateDO.getUpdateTime(), userSession.getUpdateTime()); | |
| 96 | - assertNotEquals(updateDO.getSessionTimeout(), addTime(Duration.ofMillis(timeLong))); | |
| 97 | - } | |
| 98 | - | |
| 99 | - @Test | |
| 100 | - public void testDeleteUserSession_success() { | |
| 101 | - // 准备参数 | |
| 102 | - String sessionId = randomString(); | |
| 103 | - String userIp = randomString(); | |
| 104 | - String userAgent = randomString(); | |
| 105 | - Long timeLong = randomLongId(); | |
| 106 | - LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setUserType(randomEle(UserTypeEnum.values()).getValue())); | |
| 107 | - // mock 存入 Redis | |
| 108 | - when(securityProperties.getSessionTimeout()).thenReturn(Duration.ofDays(1)); | |
| 109 | - // mock 数据 | |
| 110 | - loginUserCoreRedisDAO.set(sessionId, loginUser); | |
| 111 | - SysUserSessionDO userSession = SysUserSessionDO.builder().id(sessionId) | |
| 112 | - .userId(loginUser.getId()).userType(loginUser.getUserType()) | |
| 113 | - .userIp(userIp).userAgent(userAgent).username(loginUser.getUsername()) | |
| 114 | - .sessionTimeout(addTime(Duration.ofMillis(timeLong))) | |
| 115 | - .build(); | |
| 116 | - userSessionCoreMapper.insert(userSession); | |
| 117 | - | |
| 118 | - // 调用 | |
| 119 | - userSessionCoreService.deleteUserSession(sessionId); | |
| 120 | - // 校验数据不存在了 | |
| 121 | - assertNull(loginUserCoreRedisDAO.get(sessionId)); | |
| 122 | - assertNull(userSessionCoreMapper.selectById(sessionId)); | |
| 123 | - } | |
| 124 | - | |
| 125 | -} |
yudao-core-service/src/test/java/cn/iocoder/yudao/coreservice/modules/system/service/dict/SysDictDataCoreServiceTest.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.dict; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.BaseDbUnitTest; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dict.SysDictDataDO; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.mysql.dict.SysDictDataCoreMapper; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.service.dict.impl.SysDictDataCoreServiceImpl; | |
| 7 | -import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; | |
| 8 | -import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | |
| 9 | -import com.google.common.collect.ImmutableTable; | |
| 10 | -import org.junit.jupiter.api.Test; | |
| 11 | -import org.springframework.context.annotation.Import; | |
| 12 | - | |
| 13 | -import javax.annotation.Resource; | |
| 14 | -import java.util.Date; | |
| 15 | -import java.util.function.Consumer; | |
| 16 | - | |
| 17 | -import static cn.hutool.core.bean.BeanUtil.getFieldValue; | |
| 18 | -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; | |
| 19 | -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomCommonStatus; | |
| 20 | -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; | |
| 21 | -import static org.junit.jupiter.api.Assertions.assertEquals; | |
| 22 | - | |
| 23 | -/** | |
| 24 | -* {@link SysDictDataCoreServiceImpl} 的单元测试类 | |
| 25 | -* | |
| 26 | -* @author 芋道源码 | |
| 27 | -*/ | |
| 28 | -@Import(SysDictDataCoreServiceImpl.class) | |
| 29 | -public class SysDictDataCoreServiceTest extends BaseDbUnitTest { | |
| 30 | - | |
| 31 | - @Resource | |
| 32 | - private SysDictDataCoreServiceImpl dictDataCoreService; | |
| 33 | - | |
| 34 | - @Resource | |
| 35 | - private SysDictDataCoreMapper dictDataMapper; | |
| 36 | - | |
| 37 | - /** | |
| 38 | - * 测试加载到新的字典数据的情况 | |
| 39 | - */ | |
| 40 | - @Test | |
| 41 | - @SuppressWarnings("unchecked") | |
| 42 | - public void testInitLocalCache() { | |
| 43 | - // mock 数据 | |
| 44 | - SysDictDataDO dictData01 = randomDictDataDO(); | |
| 45 | - dictDataMapper.insert(dictData01); | |
| 46 | - SysDictDataDO dictData02 = randomDictDataDO(); | |
| 47 | - dictDataMapper.insert(dictData02); | |
| 48 | - | |
| 49 | - // 调用 | |
| 50 | - dictDataCoreService.initLocalCache(); | |
| 51 | - // 断言 labelDictDataCache 缓存 | |
| 52 | - ImmutableTable<String, String, SysDictDataDO> labelDictDataCache = | |
| 53 | - (ImmutableTable<String, String, SysDictDataDO>) getFieldValue(dictDataCoreService, "labelDictDataCache"); | |
| 54 | - assertEquals(2, labelDictDataCache.size()); | |
| 55 | - assertPojoEquals(dictData01, labelDictDataCache.get(dictData01.getDictType(), dictData01.getLabel())); | |
| 56 | - assertPojoEquals(dictData02, labelDictDataCache.get(dictData02.getDictType(), dictData02.getLabel())); | |
| 57 | - // 断言 valueDictDataCache 缓存 | |
| 58 | - ImmutableTable<String, String, SysDictDataDO> valueDictDataCache = | |
| 59 | - (ImmutableTable<String, String, SysDictDataDO>) getFieldValue(dictDataCoreService, "valueDictDataCache"); | |
| 60 | - assertEquals(2, valueDictDataCache.size()); | |
| 61 | - assertPojoEquals(dictData01, valueDictDataCache.get(dictData01.getDictType(), dictData01.getValue())); | |
| 62 | - assertPojoEquals(dictData02, valueDictDataCache.get(dictData02.getDictType(), dictData02.getValue())); | |
| 63 | - // 断言 maxUpdateTime 缓存 | |
| 64 | - Date maxUpdateTime = (Date) getFieldValue(dictDataCoreService, "maxUpdateTime"); | |
| 65 | - assertEquals(ObjectUtils.max(dictData01.getUpdateTime(), dictData02.getUpdateTime()), maxUpdateTime); | |
| 66 | - } | |
| 67 | - | |
| 68 | - // ========== 随机对象 ========== | |
| 69 | - | |
| 70 | - @SafeVarargs | |
| 71 | - private static SysDictDataDO randomDictDataDO(Consumer<SysDictDataDO>... consumers) { | |
| 72 | - Consumer<SysDictDataDO> consumer = (o) -> { | |
| 73 | - o.setStatus(randomCommonStatus()); // 保证 status 的范围 | |
| 74 | - }; | |
| 75 | - return randomPojo(SysDictDataDO.class, ArrayUtils.append(consumer, consumers)); | |
| 76 | - } | |
| 77 | - | |
| 78 | -} |
yudao-core-service/src/test/java/cn/iocoder/yudao/coreservice/modules/system/service/logger/SysLoginLogServiceImplTest.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.logger; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.BaseDbUnitTest; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.logger.SysLoginLogDO; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.mysql.logger.SysLoginLogCoreMapper; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.enums.logger.SysLoginLogTypeEnum; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.enums.logger.SysLoginResultEnum; | |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.service.logger.dto.SysLoginLogCreateReqDTO; | |
| 9 | -import cn.iocoder.yudao.coreservice.modules.system.service.logger.impl.SysLoginLogCoreServiceImpl; | |
| 10 | -import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; | |
| 11 | -import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils; | |
| 12 | -import cn.iocoder.yudao.framework.test.core.util.RandomUtils; | |
| 13 | -import org.junit.jupiter.api.Test; | |
| 14 | -import org.springframework.context.annotation.Import; | |
| 15 | - | |
| 16 | -import javax.annotation.Resource; | |
| 17 | - | |
| 18 | -import static cn.hutool.core.util.RandomUtil.randomEle; | |
| 19 | -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; | |
| 20 | - | |
| 21 | -@Import(SysLoginLogCoreServiceImpl.class) | |
| 22 | -public class SysLoginLogServiceImplTest extends BaseDbUnitTest { | |
| 23 | - | |
| 24 | - @Resource | |
| 25 | - private SysLoginLogCoreServiceImpl loginLogCoreService; | |
| 26 | - | |
| 27 | - @Resource | |
| 28 | - private SysLoginLogCoreMapper loginLogCoreMapper; | |
| 29 | - | |
| 30 | - @Test | |
| 31 | - public void testCreateLoginLog() { | |
| 32 | - SysLoginLogCreateReqDTO reqDTO = RandomUtils.randomPojo(SysLoginLogCreateReqDTO.class, vo -> { | |
| 33 | - // 指定随机的范围,避免超出范围入库失败 | |
| 34 | - vo.setUserType(randomEle(UserTypeEnum.values()).getValue()); | |
| 35 | - vo.setLogType(randomEle(SysLoginLogTypeEnum.values()).getType()); | |
| 36 | - vo.setResult(randomEle(SysLoginResultEnum.values()).getResult()); | |
| 37 | - vo.setTraceId(TracerUtils.getTraceId()); | |
| 38 | - }); | |
| 39 | - | |
| 40 | - // 调用 | |
| 41 | - loginLogCoreService.createLoginLog(reqDTO); | |
| 42 | - // 断言,忽略基本字段 | |
| 43 | - SysLoginLogDO sysLoginLogDO = loginLogCoreMapper.selectOne(null); | |
| 44 | - assertPojoEquals(reqDTO, sysLoginLogDO); | |
| 45 | - } | |
| 46 | - | |
| 47 | -} |
yudao-core-service/src/test/java/cn/iocoder/yudao/coreservice/modules/system/service/package-info.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service; |
yudao-core-service/src/test/java/cn/iocoder/yudao/coreservice/modules/system/service/sms/SysSmsLogCoreServiceTest.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.sms; | |
| 2 | - | |
| 3 | -import cn.hutool.core.map.MapUtil; | |
| 4 | -import cn.iocoder.yudao.coreservice.BaseDbUnitTest; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsLogDO; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.dal.mysql.sms.SysSmsLogCoreMapper; | |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.enums.sms.SysSmsReceiveStatusEnum; | |
| 9 | -import cn.iocoder.yudao.coreservice.modules.system.enums.sms.SysSmsSendStatusEnum; | |
| 10 | -import cn.iocoder.yudao.coreservice.modules.system.enums.sms.SysSmsTemplateTypeEnum; | |
| 11 | -import cn.iocoder.yudao.coreservice.modules.system.service.sms.impl.SysSmsLogCoreServiceImpl; | |
| 12 | -import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; | |
| 13 | -import cn.iocoder.yudao.framework.common.pojo.CommonResult; | |
| 14 | -import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; | |
| 15 | -import org.junit.jupiter.api.Test; | |
| 16 | -import org.springframework.context.annotation.Import; | |
| 17 | - | |
| 18 | -import javax.annotation.Resource; | |
| 19 | -import java.util.Date; | |
| 20 | -import java.util.Map; | |
| 21 | -import java.util.function.Consumer; | |
| 22 | - | |
| 23 | -import static cn.hutool.core.util.RandomUtil.randomBoolean; | |
| 24 | -import static cn.hutool.core.util.RandomUtil.randomEle; | |
| 25 | -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.*; | |
| 26 | -import static org.junit.jupiter.api.Assertions.assertEquals; | |
| 27 | -import static org.junit.jupiter.api.Assertions.assertNotNull; | |
| 28 | - | |
| 29 | -/** | |
| 30 | -* {@link SysSmsLogCoreServiceImpl} 的单元测试类 | |
| 31 | -* | |
| 32 | -* @author 芋道源码 | |
| 33 | -*/ | |
| 34 | -@Import(SysSmsLogCoreServiceImpl.class) | |
| 35 | -public class SysSmsLogCoreServiceTest extends BaseDbUnitTest { | |
| 36 | - | |
| 37 | - @Resource | |
| 38 | - private SysSmsLogCoreServiceImpl smsLogCoreService; | |
| 39 | - | |
| 40 | - @Resource | |
| 41 | - private SysSmsLogCoreMapper smsLogCoreMapper; | |
| 42 | - | |
| 43 | - @Test | |
| 44 | - public void testCreateSmsLog() { | |
| 45 | - // 准备参数 | |
| 46 | - String mobile = randomString(); | |
| 47 | - Long userId = randomLongId(); | |
| 48 | - Integer userType = randomEle(UserTypeEnum.values()).getValue(); | |
| 49 | - Boolean isSend = randomBoolean(); | |
| 50 | - SysSmsTemplateDO templateDO = randomPojo(SysSmsTemplateDO.class, | |
| 51 | - o -> o.setType(randomEle(SysSmsTemplateTypeEnum.values()).getType())); | |
| 52 | - String templateContent = randomString(); | |
| 53 | - Map<String, Object> templateParams = randomTemplateParams(); | |
| 54 | - // mock 方法 | |
| 55 | - | |
| 56 | - // 调用 | |
| 57 | - Long logId = smsLogCoreService.createSmsLog(mobile, userId, userType, isSend, | |
| 58 | - templateDO, templateContent, templateParams); | |
| 59 | - // 断言 | |
| 60 | - SysSmsLogDO logDO = smsLogCoreMapper.selectById(logId); | |
| 61 | - assertEquals(isSend ? SysSmsSendStatusEnum.INIT.getStatus() : SysSmsSendStatusEnum.IGNORE.getStatus(), | |
| 62 | - logDO.getSendStatus()); | |
| 63 | - assertEquals(mobile, logDO.getMobile()); | |
| 64 | - assertEquals(userType, logDO.getUserType()); | |
| 65 | - assertEquals(userId, logDO.getUserId()); | |
| 66 | - assertEquals(templateDO.getId(), logDO.getTemplateId()); | |
| 67 | - assertEquals(templateDO.getCode(), logDO.getTemplateCode()); | |
| 68 | - assertEquals(templateDO.getType(), logDO.getTemplateType()); | |
| 69 | - assertEquals(templateDO.getChannelId(), logDO.getChannelId()); | |
| 70 | - assertEquals(templateDO.getChannelCode(), logDO.getChannelCode()); | |
| 71 | - assertEquals(templateContent, logDO.getTemplateContent()); | |
| 72 | - assertEquals(templateParams, logDO.getTemplateParams()); | |
| 73 | - assertEquals(SysSmsReceiveStatusEnum.INIT.getStatus(), logDO.getReceiveStatus()); | |
| 74 | - } | |
| 75 | - | |
| 76 | - @Test | |
| 77 | - public void testUpdateSmsSendResult() { | |
| 78 | - // mock 数据 | |
| 79 | - SysSmsLogDO dbSmsLog = randomSmsLogDO( | |
| 80 | - o -> o.setSendStatus(SysSmsSendStatusEnum.IGNORE.getStatus())); | |
| 81 | - smsLogCoreMapper.insert(dbSmsLog); | |
| 82 | - // 准备参数 | |
| 83 | - Long id = dbSmsLog.getId(); | |
| 84 | - Integer sendCode = randomInteger(); | |
| 85 | - String sendMsg = randomString(); | |
| 86 | - String apiSendCode = randomString(); | |
| 87 | - String apiSendMsg = randomString(); | |
| 88 | - String apiRequestId = randomString(); | |
| 89 | - String apiSerialNo = randomString(); | |
| 90 | - | |
| 91 | - // 调用 | |
| 92 | - smsLogCoreService.updateSmsSendResult(id, sendCode, sendMsg, | |
| 93 | - apiSendCode, apiSendMsg, apiRequestId, apiSerialNo); | |
| 94 | - // 断言 | |
| 95 | - dbSmsLog = smsLogCoreMapper.selectById(id); | |
| 96 | - assertEquals(CommonResult.isSuccess(sendCode) ? SysSmsSendStatusEnum.SUCCESS.getStatus() | |
| 97 | - : SysSmsSendStatusEnum.FAILURE.getStatus(), dbSmsLog.getSendStatus()); | |
| 98 | - assertNotNull(dbSmsLog.getSendTime()); | |
| 99 | - assertEquals(sendMsg, dbSmsLog.getSendMsg()); | |
| 100 | - assertEquals(apiSendCode, dbSmsLog.getApiSendCode()); | |
| 101 | - assertEquals(apiSendMsg, dbSmsLog.getApiSendMsg()); | |
| 102 | - assertEquals(apiRequestId, dbSmsLog.getApiRequestId()); | |
| 103 | - assertEquals(apiSerialNo, dbSmsLog.getApiSerialNo()); | |
| 104 | - } | |
| 105 | - | |
| 106 | - @Test | |
| 107 | - public void testUpdateSmsReceiveResult() { | |
| 108 | - // mock 数据 | |
| 109 | - SysSmsLogDO dbSmsLog = randomSmsLogDO( | |
| 110 | - o -> o.setReceiveStatus(SysSmsReceiveStatusEnum.INIT.getStatus())); | |
| 111 | - smsLogCoreMapper.insert(dbSmsLog); | |
| 112 | - // 准备参数 | |
| 113 | - Long id = dbSmsLog.getId(); | |
| 114 | - Boolean success = randomBoolean(); | |
| 115 | - Date receiveTime = randomDate(); | |
| 116 | - String apiReceiveCode = randomString(); | |
| 117 | - String apiReceiveMsg = randomString(); | |
| 118 | - | |
| 119 | - // 调用 | |
| 120 | - smsLogCoreService.updateSmsReceiveResult(id, success, receiveTime, apiReceiveCode, apiReceiveMsg); | |
| 121 | - // 断言 | |
| 122 | - dbSmsLog = smsLogCoreMapper.selectById(id); | |
| 123 | - assertEquals(success ? SysSmsReceiveStatusEnum.SUCCESS.getStatus() | |
| 124 | - : SysSmsReceiveStatusEnum.FAILURE.getStatus(), dbSmsLog.getReceiveStatus()); | |
| 125 | - assertEquals(receiveTime, dbSmsLog.getReceiveTime()); | |
| 126 | - assertEquals(apiReceiveCode, dbSmsLog.getApiReceiveCode()); | |
| 127 | - assertEquals(apiReceiveMsg, dbSmsLog.getApiReceiveMsg()); | |
| 128 | - } | |
| 129 | - | |
| 130 | - // ========== 随机对象 ========== | |
| 131 | - | |
| 132 | - @SafeVarargs | |
| 133 | - private static SysSmsLogDO randomSmsLogDO(Consumer<SysSmsLogDO>... consumers) { | |
| 134 | - Consumer<SysSmsLogDO> consumer = (o) -> { | |
| 135 | - o.setTemplateParams(randomTemplateParams()); | |
| 136 | - o.setTemplateType(randomEle(SysSmsTemplateTypeEnum.values()).getType()); // 保证 templateType 的范围 | |
| 137 | - o.setUserType(randomEle(UserTypeEnum.values()).getValue()); // 保证 userType 的范围 | |
| 138 | - o.setSendStatus(randomEle(SysSmsSendStatusEnum.values()).getStatus()); // 保证 sendStatus 的范围 | |
| 139 | - o.setReceiveStatus(randomEle(SysSmsReceiveStatusEnum.values()).getStatus()); // 保证 receiveStatus 的范围 | |
| 140 | - }; | |
| 141 | - return randomPojo(SysSmsLogDO.class, ArrayUtils.append(consumer, consumers)); | |
| 142 | - } | |
| 143 | - | |
| 144 | - | |
| 145 | - private static Map<String, Object> randomTemplateParams() { | |
| 146 | - return MapUtil.<String, Object>builder().put(randomString(), randomString()) | |
| 147 | - .put(randomString(), randomString()).build(); | |
| 148 | - } | |
| 149 | -} |
yudao-core-service/src/test/java/cn/iocoder/yudao/coreservice/modules/system/service/sms/SysSmsTemplateServiceTest.java deleted
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.service.sms; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.coreservice.BaseDbUnitTest; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.mysql.sms.SysSmsTemplateCoreMapper; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.enums.sms.SysSmsTemplateTypeEnum; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.service.sms.impl.SysSmsTemplateCoreServiceImpl; | |
| 8 | -import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | |
| 9 | -import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; | |
| 10 | -import org.junit.jupiter.api.Test; | |
| 11 | -import org.springframework.context.annotation.Import; | |
| 12 | - | |
| 13 | -import javax.annotation.Resource; | |
| 14 | -import java.util.Date; | |
| 15 | -import java.util.Map; | |
| 16 | -import java.util.function.Consumer; | |
| 17 | - | |
| 18 | -import static cn.hutool.core.bean.BeanUtil.getFieldValue; | |
| 19 | -import static cn.hutool.core.util.RandomUtil.randomEle; | |
| 20 | -import static cn.iocoder.yudao.framework.common.util.object.ObjectUtils.max; | |
| 21 | -import static cn.iocoder.yudao.framework.test.core.util.AssertUtils.assertPojoEquals; | |
| 22 | -import static cn.iocoder.yudao.framework.test.core.util.RandomUtils.randomPojo; | |
| 23 | -import static org.junit.jupiter.api.Assertions.assertEquals; | |
| 24 | - | |
| 25 | -/** | |
| 26 | -* {@link SysSmsTemplateCoreServiceImpl} 的单元测试类 | |
| 27 | -* | |
| 28 | -* @author 芋道源码 | |
| 29 | -*/ | |
| 30 | -@Import(SysSmsTemplateCoreServiceImpl.class) | |
| 31 | -public class SysSmsTemplateServiceTest extends BaseDbUnitTest { | |
| 32 | - | |
| 33 | - @Resource | |
| 34 | - private SysSmsTemplateCoreServiceImpl smsTemplateCoreService; | |
| 35 | - | |
| 36 | - @Resource | |
| 37 | - private SysSmsTemplateCoreMapper smsTemplateCoreMapper; | |
| 38 | - | |
| 39 | - @Test | |
| 40 | - @SuppressWarnings("unchecked") | |
| 41 | - void testInitLocalCache() { | |
| 42 | - // mock 数据 | |
| 43 | - SysSmsTemplateDO smsTemplate01 = randomSmsTemplateDO(); | |
| 44 | - smsTemplateCoreMapper.insert(smsTemplate01); | |
| 45 | - SysSmsTemplateDO smsTemplate02 = randomSmsTemplateDO(); | |
| 46 | - smsTemplateCoreMapper.insert(smsTemplate02); | |
| 47 | - | |
| 48 | - // 调用 | |
| 49 | - smsTemplateCoreService.initLocalCache(); | |
| 50 | - // 断言 deptCache 缓存 | |
| 51 | - Map<String, SysSmsTemplateDO> smsTemplateCache = (Map<String, SysSmsTemplateDO>) getFieldValue(smsTemplateCoreService, "smsTemplateCache"); | |
| 52 | - assertEquals(2, smsTemplateCache.size()); | |
| 53 | - assertPojoEquals(smsTemplate01, smsTemplateCache.get(smsTemplate01.getCode())); | |
| 54 | - assertPojoEquals(smsTemplate02, smsTemplateCache.get(smsTemplate02.getCode())); | |
| 55 | - // 断言 maxUpdateTime 缓存 | |
| 56 | - Date maxUpdateTime = (Date) getFieldValue(smsTemplateCoreService, "maxUpdateTime"); | |
| 57 | - assertEquals(max(smsTemplate01.getUpdateTime(), smsTemplate02.getUpdateTime()), maxUpdateTime); | |
| 58 | - } | |
| 59 | - | |
| 60 | - // ========== 随机对象 ========== | |
| 61 | - | |
| 62 | - @SafeVarargs | |
| 63 | - private static SysSmsTemplateDO randomSmsTemplateDO(Consumer<SysSmsTemplateDO>... consumers) { | |
| 64 | - Consumer<SysSmsTemplateDO> consumer = (o) -> { | |
| 65 | - o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围 | |
| 66 | - o.setType(randomEle(SysSmsTemplateTypeEnum.values()).getType()); // 保证 type 的 范围 | |
| 67 | - }; | |
| 68 | - return randomPojo(SysSmsTemplateDO.class, ArrayUtils.append(consumer, consumers)); | |
| 69 | - } | |
| 70 | - | |
| 71 | -} |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/message/BpmMessageConvert.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.adminserver.modules.bpm.convert.message; |
| 3 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceApproveReqDTO; |
| 4 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO; |
| 5 | 5 | import cn.iocoder.yudao.adminserver.modules.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 6 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; | |
| 7 | 7 | import org.activiti.api.task.model.Task; |
| 8 | 8 | import org.activiti.engine.runtime.ProcessInstance; |
| 9 | 9 | import org.mapstruct.Mapper; | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmProcessInstanceConvert.java
| ... | ... | @@ -5,8 +5,8 @@ import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.instance.BpmP |
| 5 | 5 | import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.definition.BpmProcessDefinitionExtDO; |
| 6 | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task.BpmProcessInstanceExtDO; |
| 7 | 7 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.event.BpmProcessInstanceResultEvent; |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 9 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 8 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 9 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; | |
| 10 | 10 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 11 | 11 | import org.activiti.engine.history.HistoricProcessInstance; |
| 12 | 12 | import org.activiti.engine.repository.ProcessDefinition; | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/convert/task/BpmTaskConvert.java
| ... | ... | @@ -4,8 +4,8 @@ import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.BpmTaskD |
| 4 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.BpmTaskRespVO; |
| 5 | 5 | import cn.iocoder.yudao.adminserver.modules.bpm.controller.task.vo.task.BpmTaskTodoPageItemRespVO; |
| 6 | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.task.BpmTaskExtDO; |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 8 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; | |
| 9 | 9 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 10 | 10 | import cn.iocoder.yudao.framework.common.util.number.NumberUtils; |
| 11 | 11 | import org.activiti.engine.history.HistoricProcessInstance; | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/dal/dataobject/leave/BpmOALeaveDO.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.dal.dataobject.leave; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 3 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; | |
| 4 | 4 | import lombok.*; |
| 5 | 5 | import java.util.*; |
| 6 | 6 | import com.baomidou.mybatisplus.annotation.*; | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/enums/message/BpmMessageEnum.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.enums.message; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 3 | +import cn.iocoder.yudao.module.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 4 | 4 | import lombok.AllArgsConstructor; |
| 5 | 5 | import lombok.Getter; |
| 6 | 6 | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/config/BpmActivitiConfiguration.java
| ... | ... | @@ -7,9 +7,9 @@ import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.identity |
| 7 | 7 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.listener.BpmTackActivitiEventListener; |
| 8 | 8 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; |
| 9 | 9 | import cn.iocoder.yudao.coreservice.modules.bpm.api.group.BpmUserGroupServiceApi; |
| 10 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 11 | -import cn.iocoder.yudao.coreservice.modules.system.service.permission.SysPermissionCoreService; | |
| 12 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 10 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 11 | +import cn.iocoder.yudao.module.system.service.permission.SysPermissionCoreService; | |
| 12 | +import cn.iocoder.yudao.module.system.service.user.SysUserCoreService; | |
| 13 | 13 | import org.activiti.api.runtime.shared.identity.UserGroupManager; |
| 14 | 14 | import org.activiti.spring.boot.ProcessEngineConfigurationConfigurer; |
| 15 | 15 | import org.springframework.context.ApplicationEventPublisher; | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/core/behavior/BpmActivityBehaviorFactory.java
| ... | ... | @@ -3,9 +3,9 @@ package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavio |
| 3 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript; |
| 4 | 4 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; |
| 5 | 5 | import cn.iocoder.yudao.coreservice.modules.bpm.api.group.BpmUserGroupServiceApi; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.service.permission.SysPermissionCoreService; | |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 6 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 7 | +import cn.iocoder.yudao.module.system.service.permission.SysPermissionCoreService; | |
| 8 | +import cn.iocoder.yudao.module.system.service.user.SysUserCoreService; | |
| 9 | 9 | import lombok.Data; |
| 10 | 10 | import lombok.EqualsAndHashCode; |
| 11 | 11 | import lombok.Setter; | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/core/behavior/BpmUserTaskActivitiBehavior.java
| ... | ... | @@ -9,11 +9,11 @@ import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior |
| 9 | 9 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; |
| 10 | 10 | import cn.iocoder.yudao.coreservice.modules.bpm.api.group.BpmUserGroupServiceApi; |
| 11 | 11 | import cn.iocoder.yudao.coreservice.modules.bpm.api.group.dto.BpmUserGroupDTO; |
| 12 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 13 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 14 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 15 | -import cn.iocoder.yudao.coreservice.modules.system.service.permission.SysPermissionCoreService; | |
| 16 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 12 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 13 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; | |
| 14 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 15 | +import cn.iocoder.yudao.module.system.service.permission.SysPermissionCoreService; | |
| 16 | +import cn.iocoder.yudao.module.system.service.user.SysUserCoreService; | |
| 17 | 17 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 18 | 18 | import com.google.common.annotations.VisibleForTesting; |
| 19 | 19 | import lombok.Setter; | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/core/behavior/script/impl/BpmTaskAssignLeaderAbstractScript.java
| ... | ... | @@ -2,17 +2,16 @@ package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavio |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.BpmTaskAssignScript; |
| 4 | 4 | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 5 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 6 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; | |
| 7 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 8 | +import cn.iocoder.yudao.module.system.service.user.SysUserCoreService; | |
| 9 | 9 | import org.activiti.engine.impl.persistence.entity.TaskEntity; |
| 10 | 10 | import org.springframework.util.Assert; |
| 11 | 11 | |
| 12 | 12 | import javax.annotation.Resource; |
| 13 | 13 | import java.util.Set; |
| 14 | 14 | |
| 15 | -import static cn.iocoder.yudao.framework.common.util.collection.SetUtils.asSet; | |
| 16 | 15 | import static java.util.Collections.emptySet; |
| 17 | 16 | |
| 18 | 17 | /** | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/definition/impl/BpmTaskAssignRuleServiceImpl.java
| ... | ... | @@ -14,12 +14,12 @@ import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmModelServi |
| 14 | 14 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmProcessDefinitionService; |
| 15 | 15 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; |
| 16 | 16 | import cn.iocoder.yudao.coreservice.modules.bpm.api.group.BpmUserGroupServiceApi; |
| 17 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 18 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 19 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysPostCoreService; | |
| 20 | -import cn.iocoder.yudao.coreservice.modules.system.service.dict.SysDictDataCoreService; | |
| 21 | -import cn.iocoder.yudao.coreservice.modules.system.service.permission.SysRoleCoreService; | |
| 22 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 17 | +import cn.iocoder.yudao.module.system.enums.SysDictTypeConstants; | |
| 18 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 19 | +import cn.iocoder.yudao.module.system.service.dept.SysPostCoreService; | |
| 20 | +import cn.iocoder.yudao.module.system.service.dict.DictDataCoreService; | |
| 21 | +import cn.iocoder.yudao.module.system.service.permission.SysRoleCoreService; | |
| 22 | +import cn.iocoder.yudao.module.system.service.user.SysUserCoreService; | |
| 23 | 23 | import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils; |
| 24 | 24 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 25 | 25 | import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; |
| ... | ... | @@ -64,7 +64,7 @@ public class BpmTaskAssignRuleServiceImpl implements BpmTaskAssignRuleService { |
| 64 | 64 | @Resource |
| 65 | 65 | private BpmUserGroupServiceApi userGroupServiceApi; |
| 66 | 66 | @Resource |
| 67 | - private SysDictDataCoreService dictDataCoreService; | |
| 67 | + private DictDataCoreService dictDataCoreService; | |
| 68 | 68 | |
| 69 | 69 | @Override |
| 70 | 70 | public List<BpmTaskAssignRuleDO> getTaskAssignRuleListByProcessDefinitionId(String processDefinitionId, | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/message/impl/BpmMessageServiceImpl.java
| ... | ... | @@ -5,7 +5,7 @@ import cn.iocoder.yudao.adminserver.modules.bpm.service.message.BpmMessageServic |
| 5 | 5 | import cn.iocoder.yudao.adminserver.modules.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceApproveReqDTO; |
| 6 | 6 | import cn.iocoder.yudao.adminserver.modules.bpm.service.message.dto.BpmMessageSendWhenProcessInstanceRejectReqDTO; |
| 7 | 7 | import cn.iocoder.yudao.adminserver.modules.bpm.service.message.dto.BpmMessageSendWhenTaskCreatedReqDTO; |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.service.sms.SysSmsCoreService; | |
| 8 | +import cn.iocoder.yudao.module.system.service.sms.SysSmsCoreService; | |
| 9 | 9 | import lombok.extern.slf4j.Slf4j; |
| 10 | 10 | import org.springframework.beans.factory.annotation.Value; |
| 11 | 11 | import org.springframework.stereotype.Service; | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java
| ... | ... | @@ -18,10 +18,10 @@ import cn.iocoder.yudao.adminserver.modules.bpm.service.message.BpmMessageServic |
| 18 | 18 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; |
| 19 | 19 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService; |
| 20 | 20 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.dto.BpmProcessInstanceCreateReqDTO; |
| 21 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 22 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 23 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 24 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 21 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 22 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; | |
| 23 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 24 | +import cn.iocoder.yudao.module.system.service.user.SysUserCoreService; | |
| 25 | 25 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 26 | 26 | import cn.iocoder.yudao.framework.common.util.number.NumberUtils; |
| 27 | 27 | import lombok.extern.slf4j.Slf4j; | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/main/java/cn/iocoder/yudao/adminserver/modules/bpm/service/task/impl/BpmTaskServiceImpl.java
| ... | ... | @@ -12,10 +12,10 @@ import cn.iocoder.yudao.adminserver.modules.bpm.service.message.BpmMessageServic |
| 12 | 12 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmProcessInstanceService; |
| 13 | 13 | import cn.iocoder.yudao.adminserver.modules.bpm.service.task.BpmTaskService; |
| 14 | 14 | |
| 15 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 16 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 17 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 18 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 15 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 16 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; | |
| 17 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 18 | +import cn.iocoder.yudao.module.system.service.user.SysUserCoreService; | |
| 19 | 19 | import cn.iocoder.yudao.framework.activiti.core.util.ActivitiUtils; |
| 20 | 20 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 21 | 21 | import cn.iocoder.yudao.framework.common.util.number.NumberUtils; | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/test/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/core/behavior/BpmUserTaskActivitiBehaviorTest.java
| ... | ... | @@ -8,11 +8,11 @@ import cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior |
| 8 | 8 | import cn.iocoder.yudao.adminserver.modules.bpm.service.definition.BpmTaskAssignRuleService; |
| 9 | 9 | import cn.iocoder.yudao.coreservice.modules.bpm.api.group.BpmUserGroupServiceApi; |
| 10 | 10 | import cn.iocoder.yudao.coreservice.modules.bpm.api.group.dto.BpmUserGroupDTO; |
| 11 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 12 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 13 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 14 | -import cn.iocoder.yudao.coreservice.modules.system.service.permission.SysPermissionCoreService; | |
| 15 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 11 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 12 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; | |
| 13 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 14 | +import cn.iocoder.yudao.module.system.service.permission.SysPermissionCoreService; | |
| 15 | +import cn.iocoder.yudao.module.system.service.user.SysUserCoreService; | |
| 16 | 16 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 17 | 17 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 18 | 18 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; | ... | ... |
yudao-module-bpm/yudao-module-bpm-activiti/src/test/java/cn/iocoder/yudao/adminserver/modules/bpm/framework/activiti/core/behavior/script/impl/BpmTaskAssignLeaderX2ScriptTest.java
| 1 | 1 | package cn.iocoder.yudao.adminserver.modules.bpm.framework.activiti.core.behavior.script.impl; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 3 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 4 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.SysUserDO; | |
| 5 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 6 | +import cn.iocoder.yudao.module.system.service.user.SysUserCoreService; | |
| 7 | 7 | import cn.iocoder.yudao.framework.test.core.ut.BaseMockitoUnitTest; |
| 8 | 8 | import org.activiti.engine.impl.persistence.entity.ExecutionEntityImpl; |
| 9 | 9 | import org.activiti.engine.impl.persistence.entity.TaskEntity; | ... | ... |
yudao-module-member/yudao-module-member-impl/pom.xml
| ... | ... | @@ -24,6 +24,12 @@ |
| 24 | 24 | <version>${revision}</version> |
| 25 | 25 | </dependency> |
| 26 | 26 | |
| 27 | + <dependency> | |
| 28 | + <groupId>cn.iocoder.boot</groupId> | |
| 29 | + <artifactId>yudao-module-system-api</artifactId> | |
| 30 | + <version>${revision}</version> | |
| 31 | + </dependency> | |
| 32 | + | |
| 27 | 33 | <!-- 业务组件 --> |
| 28 | 34 | <dependency> |
| 29 | 35 | <groupId>cn.iocoder.boot</groupId> | ... | ... |
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/AppAuthController.java
| 1 | 1 | package cn.iocoder.yudao.module.member.controller.app.auth; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.service.social.SysSocialCoreService; | |
| 4 | 3 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 5 | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 6 | 5 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |
| 7 | 6 | import cn.iocoder.yudao.framework.security.core.annotations.PreAuthenticated; |
| 8 | -import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; | |
| 9 | 7 | import cn.iocoder.yudao.module.member.controller.app.auth.vo.*; |
| 10 | 8 | import cn.iocoder.yudao.module.member.service.auth.AuthService; |
| 11 | 9 | import cn.iocoder.yudao.module.member.service.sms.SysSmsCodeService; |
| ... | ... | @@ -15,7 +13,6 @@ import io.swagger.annotations.ApiImplicitParams; |
| 15 | 13 | import io.swagger.annotations.ApiOperation; |
| 16 | 14 | import lombok.extern.slf4j.Slf4j; |
| 17 | 15 | import org.springframework.beans.factory.annotation.Autowired; |
| 18 | -import org.springframework.security.web.authentication.logout.LogoutSuccessHandler; | |
| 19 | 16 | import org.springframework.validation.annotation.Validated; |
| 20 | 17 | import org.springframework.web.bind.annotation.*; |
| 21 | 18 | ... | ... |
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSocialBindReqVO.java
| 1 | 1 | package cn.iocoder.yudao.module.member.controller.app.auth.vo; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.enums.social.SysSocialTypeEnum; | |
| 4 | 3 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 5 | 4 | import io.swagger.annotations.ApiModel; |
| 6 | 5 | import io.swagger.annotations.ApiModelProperty; | ... | ... |
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSocialLogin2ReqVO.java
| 1 | 1 | package cn.iocoder.yudao.module.member.controller.app.auth.vo; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.enums.social.SysSocialTypeEnum; | |
| 4 | 3 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 4 | +import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | |
| 5 | 5 | import io.swagger.annotations.ApiModel; |
| 6 | 6 | import io.swagger.annotations.ApiModelProperty; |
| 7 | 7 | import lombok.AllArgsConstructor; |
| ... | ... | @@ -22,7 +22,7 @@ import javax.validation.constraints.Pattern; |
| 22 | 22 | public class AppAuthSocialLogin2ReqVO { |
| 23 | 23 | |
| 24 | 24 | @ApiModelProperty(value = "社交平台的类型", required = true, example = "10", notes = "参见 SysUserSocialTypeEnum 枚举值") |
| 25 | - @InEnum(SysSocialTypeEnum.class) | |
| 25 | + @InEnum(SocialTypeEnum.class) | |
| 26 | 26 | @NotNull(message = "社交平台的类型不能为空") |
| 27 | 27 | private Integer type; |
| 28 | 28 | ... | ... |
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSocialLoginReqVO.java
| 1 | 1 | package cn.iocoder.yudao.module.member.controller.app.auth.vo; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.enums.social.SysSocialTypeEnum; | |
| 4 | 3 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 4 | +import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | |
| 5 | 5 | import io.swagger.annotations.ApiModel; |
| 6 | 6 | import io.swagger.annotations.ApiModelProperty; |
| 7 | 7 | import lombok.AllArgsConstructor; |
| ... | ... | @@ -20,7 +20,7 @@ import javax.validation.constraints.NotNull; |
| 20 | 20 | public class AppAuthSocialLoginReqVO { |
| 21 | 21 | |
| 22 | 22 | @ApiModelProperty(value = "社交平台的类型", required = true, example = "10", notes = "参见 SysUserSocialTypeEnum 枚举值") |
| 23 | - @InEnum(SysSocialTypeEnum.class) | |
| 23 | + @InEnum(SocialTypeEnum.class) | |
| 24 | 24 | @NotNull(message = "社交平台的类型不能为空") |
| 25 | 25 | private Integer type; |
| 26 | 26 | ... | ... |
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/controller/app/auth/vo/AppAuthSocialUnbindReqVO.java
| 1 | 1 | package cn.iocoder.yudao.module.member.controller.app.auth.vo; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.enums.social.SysSocialTypeEnum; | |
| 4 | 3 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 4 | +import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | |
| 5 | 5 | import io.swagger.annotations.ApiModel; |
| 6 | 6 | import io.swagger.annotations.ApiModelProperty; |
| 7 | 7 | import lombok.AllArgsConstructor; |
| ... | ... | @@ -20,7 +20,7 @@ import javax.validation.constraints.NotNull; |
| 20 | 20 | public class AppAuthSocialUnbindReqVO { |
| 21 | 21 | |
| 22 | 22 | @ApiModelProperty(value = "社交平台的类型", required = true, example = "10", notes = "参见 SysUserSocialTypeEnum 枚举值") |
| 23 | - @InEnum(SysSocialTypeEnum.class) | |
| 23 | + @InEnum(SocialTypeEnum.class) | |
| 24 | 24 | @NotNull(message = "社交平台的类型不能为空") |
| 25 | 25 | private Integer type; |
| 26 | 26 | ... | ... |
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/auth/AuthServiceImpl.java
| ... | ... | @@ -2,13 +2,13 @@ package cn.iocoder.yudao.module.member.service.auth; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.lang.Assert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.social.SysSocialUserDO; | |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.enums.logger.SysLoginLogTypeEnum; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.enums.logger.SysLoginResultEnum; | |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.service.auth.SysUserSessionCoreService; | |
| 9 | -import cn.iocoder.yudao.coreservice.modules.system.service.logger.SysLoginLogCoreService; | |
| 10 | -import cn.iocoder.yudao.coreservice.modules.system.service.logger.dto.SysLoginLogCreateReqDTO; | |
| 11 | -import cn.iocoder.yudao.coreservice.modules.system.service.social.SysSocialCoreService; | |
| 5 | +import cn.iocoder.yudao.module.system.dal.dataobject.social.SysSocialUserDO; | |
| 6 | +import cn.iocoder.yudao.module.system.enums.logger.SysLoginLogTypeEnum; | |
| 7 | +import cn.iocoder.yudao.module.system.enums.logger.SysLoginResultEnum; | |
| 8 | +import cn.iocoder.yudao.module.system.service.auth.SysUserSessionCoreService; | |
| 9 | +import cn.iocoder.yudao.module.system.service.logger.SysLoginLogCoreService; | |
| 10 | +import cn.iocoder.yudao.module.system.service.logger.dto.SysLoginLogCreateReqDTO; | |
| 11 | +import cn.iocoder.yudao.module.system.service.social.SysSocialCoreService; | |
| 12 | 12 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 13 | 13 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 14 | 14 | import cn.iocoder.yudao.framework.common.util.monitor.TracerUtils; |
| ... | ... | @@ -29,7 +29,6 @@ import org.springframework.context.annotation.Lazy; |
| 29 | 29 | import org.springframework.security.authentication.AuthenticationManager; |
| 30 | 30 | import org.springframework.security.authentication.BadCredentialsException; |
| 31 | 31 | import org.springframework.security.authentication.DisabledException; |
| 32 | -import org.springframework.security.authentication.UsernamePasswordAuthenticationToken; | |
| 33 | 32 | import org.springframework.security.core.Authentication; |
| 34 | 33 | import org.springframework.security.core.AuthenticationException; |
| 35 | 34 | import org.springframework.security.core.userdetails.UserDetails; | ... | ... |
yudao-module-member/yudao-module-member-impl/src/main/java/cn/iocoder/yudao/module/member/service/sms/SysSmsCodeServiceImpl.java
| 1 | 1 | package cn.iocoder.yudao.module.member.service.sms; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.map.MapUtil; |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.service.sms.SysSmsCoreService; | |
| 4 | +import cn.iocoder.yudao.module.system.service.sms.SysSmsCoreService; | |
| 5 | 5 | import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; |
| 6 | 6 | import cn.iocoder.yudao.module.member.dal.dataobject.sms.SysSmsCodeDO; |
| 7 | 7 | import cn.iocoder.yudao.module.member.dal.dataobject.user.UserDO; | ... | ... |
yudao-module-member/yudao-module-member-impl/src/test/java/cn/iocoder/yudao/module/member/service/auth/SysAuthServiceTest.java
| 1 | 1 | package cn.iocoder.yudao.module.member.service.auth; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.service.auth.SysUserSessionCoreService; | |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.service.logger.SysLoginLogCoreService; | |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.service.social.SysSocialCoreService; | |
| 3 | +import cn.iocoder.yudao.module.system.service.auth.SysUserSessionCoreService; | |
| 4 | +import cn.iocoder.yudao.module.system.service.logger.SysLoginLogCoreService; | |
| 5 | +import cn.iocoder.yudao.module.system.service.social.SysSocialCoreService; | |
| 6 | 6 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 7 | 7 | import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils; |
| 8 | 8 | import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration; | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java renamed to yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/ErrorCodeConstants.java
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/enums/SysErrorCodeConstants.java renamed to yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/SysErrorCodeConstants.java
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.enums; | |
| 1 | +package cn.iocoder.yudao.module.system.enums; | |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.exception.ErrorCode; |
| 4 | 4 | |
| ... | ... | @@ -14,10 +14,6 @@ public interface SysErrorCodeConstants { |
| 14 | 14 | ErrorCode SMS_SEND_MOBILE_TEMPLATE_PARAM_MISS = new ErrorCode(1006000001, "模板参数({})缺失"); |
| 15 | 15 | ErrorCode SMS_SEND_TEMPLATE_NOT_EXISTS = new ErrorCode(1006000000, "短信模板不存在"); |
| 16 | 16 | |
| 17 | - // ========= 文件相关 1006001000================= | |
| 18 | - ErrorCode FILE_PATH_EXISTS = new ErrorCode(1006001000, "文件路径已存在"); | |
| 19 | - ErrorCode FILE_NOT_EXISTS = new ErrorCode(1006001002, "文件不存在"); | |
| 20 | - | |
| 21 | 17 | // ========== 社交模块 1006002000 ========== |
| 22 | 18 | ErrorCode SOCIAL_AUTH_FAILURE = new ErrorCode(1006002000, "社交授权失败,原因是:{}"); |
| 23 | 19 | ErrorCode SOCIAL_UNBIND_NOT_SELF = new ErrorCode(1006002001, "社交解绑失败,非当前用户绑定"); |
| ... | ... | @@ -34,10 +30,6 @@ public interface SysErrorCodeConstants { |
| 34 | 30 | ErrorCode ROLE_NOT_EXISTS = new ErrorCode(1006005000, "角色不存在"); |
| 35 | 31 | ErrorCode ROLE_IS_DISABLE = new ErrorCode(1006005001, "名字为【{}】的角色已被禁用"); |
| 36 | 32 | |
| 37 | - // ========== 字典类型 1006006000 ========== | |
| 38 | - ErrorCode DICT_DATA_NOT_EXISTS = new ErrorCode(1006006000, "当前字典数据不存在"); | |
| 39 | - ErrorCode DICT_DATA_NOT_ENABLE = new ErrorCode(1006006001, "字典数据({})不处于开启状态,不允许选择"); | |
| 40 | - | |
| 41 | 33 | // ========== 岗位模块 1006007000 ========== |
| 42 | 34 | ErrorCode POST_NOT_FOUND = new ErrorCode(1006007000, "当前岗位不存在"); |
| 43 | 35 | ErrorCode POST_NOT_ENABLE = new ErrorCode(1006007001, "岗位({}) 不处于开启状态,不允许选择"); | ... | ... |
yudao-core-service/src/main/java/cn/iocoder/yudao/coreservice/modules/system/enums/social/SysSocialTypeEnum.java renamed to yudao-module-system/yudao-module-system-api/src/main/java/cn/iocoder/yudao/module/system/enums/social/SocialTypeEnum.java
| 1 | -package cn.iocoder.yudao.coreservice.modules.system.enums.social; | |
| 1 | +package cn.iocoder.yudao.module.system.enums.social; | |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.collection.ListUtil; |
| 4 | 4 | import cn.hutool.core.util.ArrayUtil; |
| ... | ... | @@ -16,7 +16,7 @@ import java.util.List; |
| 16 | 16 | */ |
| 17 | 17 | @Getter |
| 18 | 18 | @AllArgsConstructor |
| 19 | -public enum SysSocialTypeEnum implements IntArrayValuable { | |
| 19 | +public enum SocialTypeEnum implements IntArrayValuable { | |
| 20 | 20 | |
| 21 | 21 | /** |
| 22 | 22 | * Gitee |
| ... | ... | @@ -51,7 +51,7 @@ public enum SysSocialTypeEnum implements IntArrayValuable { |
| 51 | 51 | WECHAT_MINI_PROGRAM(33, "WECHAT_MINI_PROGRAM"), |
| 52 | 52 | ; |
| 53 | 53 | |
| 54 | - public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(SysSocialTypeEnum::getType).toArray(); | |
| 54 | + public static final int[] ARRAYS = Arrays.stream(values()).mapToInt(SocialTypeEnum::getType).toArray(); | |
| 55 | 55 | |
| 56 | 56 | public static final List<Integer> WECHAT_ALL = ListUtil.toList(WECHAT_ENTERPRISE.type, WECHAT_MP.type, WECHAT_OPEN.type, |
| 57 | 57 | WECHAT_MINI_PROGRAM.type); |
| ... | ... | @@ -70,7 +70,7 @@ public enum SysSocialTypeEnum implements IntArrayValuable { |
| 70 | 70 | return ARRAYS; |
| 71 | 71 | } |
| 72 | 72 | |
| 73 | - public static SysSocialTypeEnum valueOfType(Integer type) { | |
| 73 | + public static SocialTypeEnum valueOfType(Integer type) { | |
| 74 | 74 | return ArrayUtil.firstMatch(o -> o.getType().equals(type), values()); |
| 75 | 75 | } |
| 76 | 76 | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java
| ... | ... | @@ -3,19 +3,19 @@ package cn.iocoder.yudao.module.system.controller.admin.auth; |
| 3 | 3 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.*; |
| 4 | 4 | import cn.iocoder.yudao.module.system.convert.auth.AuthConvert; |
| 5 | 5 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.permission.SysRoleDO; | |
| 6 | +import cn.iocoder.yudao.module.system.dal.dataobject.permission.SysRoleDO; | |
| 7 | 7 | import cn.iocoder.yudao.module.system.enums.permission.MenuTypeEnum; |
| 8 | 8 | import cn.iocoder.yudao.module.system.service.auth.AuthService; |
| 9 | 9 | import cn.iocoder.yudao.module.system.service.permission.PermissionService; |
| 10 | 10 | import cn.iocoder.yudao.module.system.service.permission.RoleService; |
| 11 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 12 | -import cn.iocoder.yudao.coreservice.modules.system.service.social.SysSocialCoreService; | |
| 13 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 11 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.UserDO; | |
| 12 | +import cn.iocoder.yudao.module.system.service.social.SocialUserService; | |
| 14 | 13 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 15 | 14 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 16 | 15 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 17 | 16 | import cn.iocoder.yudao.framework.common.util.collection.SetUtils; |
| 18 | 17 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |
| 18 | +import cn.iocoder.yudao.module.system.service.user.UserService; | |
| 19 | 19 | import io.swagger.annotations.Api; |
| 20 | 20 | import io.swagger.annotations.ApiImplicitParam; |
| 21 | 21 | import io.swagger.annotations.ApiImplicitParams; |
| ... | ... | @@ -45,14 +45,15 @@ public class AuthController { |
| 45 | 45 | @Autowired |
| 46 | 46 | @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") // AuthService 存在重名 |
| 47 | 47 | private AuthService authService; |
| 48 | - @Resource | |
| 49 | - private SysUserCoreService userCoreService; | |
| 48 | + @Autowired | |
| 49 | + @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") // UserService 存在重名 | |
| 50 | + private UserService userService; | |
| 50 | 51 | @Resource |
| 51 | 52 | private RoleService roleService; |
| 52 | 53 | @Resource |
| 53 | 54 | private PermissionService permissionService; |
| 54 | 55 | @Resource |
| 55 | - private SysSocialCoreService socialCoreService; | |
| 56 | + private SocialUserService socialCoreService; | |
| 56 | 57 | |
| 57 | 58 | @PostMapping("/login") |
| 58 | 59 | @ApiOperation("使用账号密码登录") |
| ... | ... | @@ -67,7 +68,7 @@ public class AuthController { |
| 67 | 68 | @ApiOperation("获取登录用户的权限信息") |
| 68 | 69 | public CommonResult<AuthPermissionInfoRespVO> getPermissionInfo() { |
| 69 | 70 | // 获得用户信息 |
| 70 | - SysUserDO user = userCoreService.getUser(getLoginUserId()); | |
| 71 | + UserDO user = userService.getUser(getLoginUserId()); | |
| 71 | 72 | if (user == null) { |
| 72 | 73 | return null; |
| 73 | 74 | } | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/UserSessionController.java
| ... | ... | @@ -3,19 +3,19 @@ package cn.iocoder.yudao.module.system.controller.admin.auth; |
| 3 | 3 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.session.UserSessionPageItemRespVO; |
| 4 | 4 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.session.UserSessionPageReqVO; |
| 5 | 5 | import cn.iocoder.yudao.module.system.convert.auth.UserSessionConvert; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 6 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 7 | 7 | import cn.iocoder.yudao.module.system.service.auth.UserSessionService; |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.auth.SysUserSessionDO; | |
| 9 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 10 | -import cn.iocoder.yudao.coreservice.modules.system.service.auth.SysUserSessionCoreService; | |
| 11 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 12 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 8 | +import cn.iocoder.yudao.module.system.dal.dataobject.auth.SysUserSessionDO; | |
| 9 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.UserDO; | |
| 10 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 13 | 11 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 14 | 12 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 15 | 13 | import cn.iocoder.yudao.framework.common.util.collection.MapUtils; |
| 14 | +import cn.iocoder.yudao.module.system.service.user.UserService; | |
| 16 | 15 | import io.swagger.annotations.Api; |
| 17 | 16 | import io.swagger.annotations.ApiImplicitParam; |
| 18 | 17 | import io.swagger.annotations.ApiOperation; |
| 18 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 19 | 19 | import org.springframework.security.access.prepost.PreAuthorize; |
| 20 | 20 | import org.springframework.validation.annotation.Validated; |
| 21 | 21 | import org.springframework.web.bind.annotation.*; |
| ... | ... | @@ -35,10 +35,9 @@ public class UserSessionController { |
| 35 | 35 | |
| 36 | 36 | @Resource |
| 37 | 37 | private UserSessionService userSessionService; |
| 38 | - @Resource | |
| 39 | - private SysUserSessionCoreService userSessionCoreService; | |
| 40 | - @Resource | |
| 41 | - private SysUserCoreService userCoreService; | |
| 38 | + @Autowired | |
| 39 | + @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") // UserService 存在重名 | |
| 40 | + private UserService userService; | |
| 42 | 41 | |
| 43 | 42 | @Resource |
| 44 | 43 | private SysDeptCoreService deptCoreService; |
| ... | ... | @@ -51,10 +50,10 @@ public class UserSessionController { |
| 51 | 50 | PageResult<SysUserSessionDO> pageResult = userSessionService.getUserSessionPage(reqVO); |
| 52 | 51 | |
| 53 | 52 | // 获得拼接需要的数据 |
| 54 | - Map<Long, SysUserDO> userMap = userCoreService.getUserMap( | |
| 53 | + Map<Long, UserDO> userMap = userService.getUserMap( | |
| 55 | 54 | convertList(pageResult.getList(), SysUserSessionDO::getUserId)); |
| 56 | 55 | Map<Long, SysDeptDO> deptMap = deptCoreService.getDeptMap( |
| 57 | - convertList(userMap.values(), SysUserDO::getDeptId)); | |
| 56 | + convertList(userMap.values(), UserDO::getDeptId)); | |
| 58 | 57 | // 拼接结果返回 |
| 59 | 58 | List<UserSessionPageItemRespVO> sessionList = new ArrayList<>(pageResult.getList().size()); |
| 60 | 59 | pageResult.getList().forEach(session -> { |
| ... | ... | @@ -76,7 +75,7 @@ public class UserSessionController { |
| 76 | 75 | example = "fe50b9f6-d177-44b1-8da9-72ea34f63db7") |
| 77 | 76 | @PreAuthorize("@ss.hasPermission('system:user-session:delete')") |
| 78 | 77 | public CommonResult<Boolean> deleteUserSession(@RequestParam("id") String id) { |
| 79 | - userSessionCoreService.deleteUserSession(id); | |
| 78 | + userSessionService.deleteUserSession(id); | |
| 80 | 79 | return success(true); |
| 81 | 80 | } |
| 82 | 81 | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/auth/AuthSocialBindReqVO.java
| 1 | 1 | package cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.enums.social.SysSocialTypeEnum; | |
| 3 | +import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | |
| 4 | 4 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 5 | 5 | import io.swagger.annotations.ApiModel; |
| 6 | 6 | import io.swagger.annotations.ApiModelProperty; |
| ... | ... | @@ -20,7 +20,7 @@ import javax.validation.constraints.NotNull; |
| 20 | 20 | public class AuthSocialBindReqVO { |
| 21 | 21 | |
| 22 | 22 | @ApiModelProperty(value = "社交平台的类型", required = true, example = "10", notes = "参见 SysUserSocialTypeEnum 枚举值") |
| 23 | - @InEnum(SysSocialTypeEnum.class) | |
| 23 | + @InEnum(SocialTypeEnum.class) | |
| 24 | 24 | @NotNull(message = "社交平台的类型不能为空") |
| 25 | 25 | private Integer type; |
| 26 | 26 | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/auth/AuthSocialLogin2ReqVO.java
| 1 | 1 | package cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.enums.social.SysSocialTypeEnum; | |
| 4 | 3 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 4 | +import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | |
| 5 | 5 | import io.swagger.annotations.ApiModel; |
| 6 | 6 | import io.swagger.annotations.ApiModelProperty; |
| 7 | 7 | import lombok.AllArgsConstructor; |
| ... | ... | @@ -22,7 +22,7 @@ import javax.validation.constraints.Pattern; |
| 22 | 22 | public class AuthSocialLogin2ReqVO { |
| 23 | 23 | |
| 24 | 24 | @ApiModelProperty(value = "社交平台的类型", required = true, example = "10", notes = "参见 SysUserSocialTypeEnum 枚举值") |
| 25 | - @InEnum(SysSocialTypeEnum.class) | |
| 25 | + @InEnum(SocialTypeEnum.class) | |
| 26 | 26 | @NotNull(message = "社交平台的类型不能为空") |
| 27 | 27 | private Integer type; |
| 28 | 28 | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/auth/AuthSocialLoginReqVO.java
| 1 | 1 | package cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.enums.social.SysSocialTypeEnum; | |
| 3 | +import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | |
| 4 | 4 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 5 | 5 | import io.swagger.annotations.ApiModel; |
| 6 | 6 | import io.swagger.annotations.ApiModelProperty; |
| ... | ... | @@ -20,7 +20,7 @@ import javax.validation.constraints.NotNull; |
| 20 | 20 | public class AuthSocialLoginReqVO { |
| 21 | 21 | |
| 22 | 22 | @ApiModelProperty(value = "社交平台的类型", required = true, example = "10", notes = "参见 SysUserSocialTypeEnum 枚举值") |
| 23 | - @InEnum(SysSocialTypeEnum.class) | |
| 23 | + @InEnum(SocialTypeEnum.class) | |
| 24 | 24 | @NotNull(message = "社交平台的类型不能为空") |
| 25 | 25 | private Integer type; |
| 26 | 26 | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/vo/auth/AuthSocialUnbindReqVO.java
| 1 | 1 | package cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.enums.social.SysSocialTypeEnum; | |
| 4 | 3 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 4 | +import cn.iocoder.yudao.module.system.enums.social.SocialTypeEnum; | |
| 5 | 5 | import io.swagger.annotations.ApiModel; |
| 6 | 6 | import io.swagger.annotations.ApiModelProperty; |
| 7 | 7 | import lombok.AllArgsConstructor; |
| ... | ... | @@ -20,7 +20,7 @@ import javax.validation.constraints.NotNull; |
| 20 | 20 | public class AuthSocialUnbindReqVO { |
| 21 | 21 | |
| 22 | 22 | @ApiModelProperty(value = "社交平台的类型", required = true, example = "10", notes = "参见 SysUserSocialTypeEnum 枚举值") |
| 23 | - @InEnum(SysSocialTypeEnum.class) | |
| 23 | + @InEnum(SocialTypeEnum.class) | |
| 24 | 24 | @NotNull(message = "社交平台的类型不能为空") |
| 25 | 25 | private Integer type; |
| 26 | 26 | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/DeptController.java
| 1 | 1 | package cn.iocoder.yudao.module.system.controller.admin.dept; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 3 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 4 | 4 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 6 | 6 | import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.*; |
| 7 | 7 | import cn.iocoder.yudao.module.system.convert.dept.DeptConvert; |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 8 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 9 | 9 | import cn.iocoder.yudao.module.system.service.dept.DeptService; |
| 10 | 10 | import io.swagger.annotations.Api; |
| 11 | 11 | import io.swagger.annotations.ApiImplicitParam; | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/PostController.java
| ... | ... | @@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| 7 | 7 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |
| 8 | 8 | import cn.iocoder.yudao.module.system.controller.admin.dept.vo.post.*; |
| 9 | 9 | import cn.iocoder.yudao.module.system.convert.dept.PostConvert; |
| 10 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysPostDO; | |
| 10 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysPostDO; | |
| 11 | 11 | import cn.iocoder.yudao.module.system.service.dept.PostService; |
| 12 | 12 | import io.swagger.annotations.Api; |
| 13 | 13 | import io.swagger.annotations.ApiImplicitParam; | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dept/vo/post/PostExcelVO.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.dept.vo.post; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 7 | 7 | import lombok.Data; |
| 8 | 8 | |
| ... | ... | @@ -25,7 +25,7 @@ public class PostExcelVO { |
| 25 | 25 | private Integer sort; |
| 26 | 26 | |
| 27 | 27 | @ExcelProperty(value = "状态", converter = DictConvert.class) |
| 28 | - @DictFormat(SysDictTypeConstants.COMMON_STATUS) | |
| 28 | + @DictFormat(DictTypeConstants.COMMON_STATUS) | |
| 29 | 29 | private String status; |
| 30 | 30 | |
| 31 | 31 | } | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/DictDataController.java
| 1 | 1 | package cn.iocoder.yudao.module.system.controller.admin.dict; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dict.SysDictDataDO; | |
| 3 | +import cn.iocoder.yudao.module.system.dal.dataobject.dict.SysDictDataDO; | |
| 4 | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 6 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/data/DictDataExcelVO.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.dict.vo.data; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 7 | 7 | import lombok.Data; |
| 8 | 8 | |
| ... | ... | @@ -28,7 +28,7 @@ public class DictDataExcelVO { |
| 28 | 28 | private String dictType; |
| 29 | 29 | |
| 30 | 30 | @ExcelProperty(value = "状态", converter = DictConvert.class) |
| 31 | - @DictFormat(SysDictTypeConstants.COMMON_STATUS) | |
| 31 | + @DictFormat(DictTypeConstants.COMMON_STATUS) | |
| 32 | 32 | private Integer status; |
| 33 | 33 | |
| 34 | 34 | } | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/dict/vo/type/DictTypeExcelVO.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.dict.vo.type; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 7 | 7 | import lombok.Data; |
| 8 | 8 | |
| ... | ... | @@ -22,7 +22,7 @@ public class DictTypeExcelVO { |
| 22 | 22 | private String type; |
| 23 | 23 | |
| 24 | 24 | @ExcelProperty(value = "状态", converter = DictConvert.class) |
| 25 | - @DictFormat(SysDictTypeConstants.COMMON_STATUS) | |
| 25 | + @DictFormat(DictTypeConstants.COMMON_STATUS) | |
| 26 | 26 | private Integer status; |
| 27 | 27 | |
| 28 | 28 | } | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/LoginLogController.java
| 1 | 1 | package cn.iocoder.yudao.module.system.controller.admin.logger; |
| 2 | 2 | |
| 3 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.logger.SysLoginLogDO; | |
| 3 | +import cn.iocoder.yudao.module.system.dal.dataobject.logger.SysLoginLogDO; | |
| 4 | 4 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 6 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/OperateLogController.java
| ... | ... | @@ -7,16 +7,17 @@ import cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog.Oper |
| 7 | 7 | import cn.iocoder.yudao.module.system.convert.logger.OperateLogConvert; |
| 8 | 8 | import cn.iocoder.yudao.module.system.dal.dataobject.logger.OperateLogDO; |
| 9 | 9 | import cn.iocoder.yudao.module.system.service.logger.OperateLogService; |
| 10 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 11 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 10 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.UserDO; | |
| 12 | 11 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 13 | 12 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 14 | 13 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 15 | 14 | import cn.iocoder.yudao.framework.common.util.collection.MapUtils; |
| 16 | 15 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| 17 | 16 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |
| 17 | +import cn.iocoder.yudao.module.system.service.user.UserService; | |
| 18 | 18 | import io.swagger.annotations.Api; |
| 19 | 19 | import io.swagger.annotations.ApiOperation; |
| 20 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 20 | 21 | import org.springframework.security.access.prepost.PreAuthorize; |
| 21 | 22 | import org.springframework.validation.annotation.Validated; |
| 22 | 23 | import org.springframework.web.bind.annotation.GetMapping; |
| ... | ... | @@ -43,8 +44,9 @@ public class OperateLogController { |
| 43 | 44 | |
| 44 | 45 | @Resource |
| 45 | 46 | private OperateLogService operateLogService; |
| 46 | - @Resource | |
| 47 | - private SysUserCoreService userCoreService; | |
| 47 | + @Autowired | |
| 48 | + @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") // UserService 存在重名 | |
| 49 | + private UserService userService; | |
| 48 | 50 | |
| 49 | 51 | @GetMapping("/page") |
| 50 | 52 | @ApiOperation("查看操作日志分页列表") |
| ... | ... | @@ -54,7 +56,7 @@ public class OperateLogController { |
| 54 | 56 | |
| 55 | 57 | // 获得拼接需要的数据 |
| 56 | 58 | Collection<Long> userIds = CollectionUtils.convertList(pageResult.getList(), OperateLogDO::getUserId); |
| 57 | - Map<Long, SysUserDO> userMap = userCoreService.getUserMap(userIds); | |
| 59 | + Map<Long, UserDO> userMap = userService.getUserMap(userIds); | |
| 58 | 60 | // 拼接数据 |
| 59 | 61 | List<OperateLogRespVO> list = new ArrayList<>(pageResult.getList().size()); |
| 60 | 62 | pageResult.getList().forEach(operateLog -> { |
| ... | ... | @@ -75,7 +77,7 @@ public class OperateLogController { |
| 75 | 77 | |
| 76 | 78 | // 获得拼接需要的数据 |
| 77 | 79 | Collection<Long> userIds = CollectionUtils.convertList(list, OperateLogDO::getUserId); |
| 78 | - Map<Long, SysUserDO> userMap = userCoreService.getUserMap(userIds); | |
| 80 | + Map<Long, UserDO> userMap = userService.getUserMap(userIds); | |
| 79 | 81 | // 拼接数据 |
| 80 | 82 | List<OperateLogExcelVO> excelDataList = OperateLogConvert.INSTANCE.convertList(list, userMap); |
| 81 | 83 | // 输出 | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/loginlog/LoginLogExcelVO.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.logger.vo.loginlog; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 7 | 7 | import lombok.Data; |
| 8 | 8 | |
| ... | ... | @@ -21,11 +21,11 @@ public class LoginLogExcelVO { |
| 21 | 21 | private String username; |
| 22 | 22 | |
| 23 | 23 | @ExcelProperty(value = "日志类型", converter = DictConvert.class) |
| 24 | - @DictFormat(SysDictTypeConstants.LOGIN_TYPE) | |
| 24 | + @DictFormat(DictTypeConstants.LOGIN_TYPE) | |
| 25 | 25 | private Integer logType; |
| 26 | 26 | |
| 27 | 27 | @ExcelProperty(value = "登录结果", converter = DictConvert.class) |
| 28 | - @DictFormat(SysDictTypeConstants.LOGIN_RESULT) | |
| 28 | + @DictFormat(DictTypeConstants.LOGIN_RESULT) | |
| 29 | 29 | private Integer result; |
| 30 | 30 | |
| 31 | 31 | @ExcelProperty("登录 IP") | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/logger/vo/operatelog/OperateLogExcelVO.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.logger.vo.operatelog; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 7 | 7 | import lombok.Data; |
| 8 | 8 | |
| ... | ... | @@ -24,7 +24,7 @@ public class OperateLogExcelVO { |
| 24 | 24 | private String name; |
| 25 | 25 | |
| 26 | 26 | @ExcelProperty(value = "操作类型", converter = DictConvert.class) |
| 27 | - @DictFormat(SysDictTypeConstants.OPERATE_TYPE) | |
| 27 | + @DictFormat(DictTypeConstants.OPERATE_TYPE) | |
| 28 | 28 | private String type; |
| 29 | 29 | |
| 30 | 30 | @ExcelProperty("操作人") | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/RoleController.java
| ... | ... | @@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| 7 | 7 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |
| 8 | 8 | import cn.iocoder.yudao.module.system.controller.admin.permission.vo.role.*; |
| 9 | 9 | import cn.iocoder.yudao.module.system.convert.permission.RoleConvert; |
| 10 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.permission.SysRoleDO; | |
| 10 | +import cn.iocoder.yudao.module.system.dal.dataobject.permission.SysRoleDO; | |
| 11 | 11 | import cn.iocoder.yudao.module.system.service.permission.RoleService; |
| 12 | 12 | import io.swagger.annotations.Api; |
| 13 | 13 | import io.swagger.annotations.ApiImplicitParam; | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/permission/vo/role/RoleExcelVO.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.permission.vo.role; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 7 | 7 | import lombok.Data; |
| 8 | 8 | |
| ... | ... | @@ -28,7 +28,7 @@ public class RoleExcelVO { |
| 28 | 28 | private Integer dataScope; |
| 29 | 29 | |
| 30 | 30 | @ExcelProperty(value = "角色状态", converter = DictConvert.class) |
| 31 | - @DictFormat(SysDictTypeConstants.COMMON_STATUS) | |
| 31 | + @DictFormat(DictTypeConstants.COMMON_STATUS) | |
| 32 | 32 | private String status; |
| 33 | 33 | |
| 34 | 34 | } | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsCallbackController.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.sms; |
| 2 | 2 | |
| 3 | 3 | import cn.hutool.core.util.URLUtil; |
| 4 | 4 | import cn.hutool.extra.servlet.ServletUtil; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.service.sms.SysSmsCoreService; | |
| 5 | +import cn.iocoder.yudao.module.system.service.sms.SysSmsSendService; | |
| 6 | 6 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 7 | 7 | import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; |
| 8 | 8 | import cn.iocoder.yudao.framework.sms.core.enums.SmsChannelEnum; |
| ... | ... | @@ -25,7 +25,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 25 | 25 | public class SmsCallbackController { |
| 26 | 26 | |
| 27 | 27 | @Resource |
| 28 | - private SysSmsCoreService smsCoreService; | |
| 28 | + private SysSmsSendService smsCoreService; | |
| 29 | 29 | |
| 30 | 30 | @PostMapping("/sms/yunpian") |
| 31 | 31 | @ApiOperation(value = "云片短信的回调", notes = "参见 https://www.yunpian.com/official/document/sms/zh_cn/domestic_push_report 文档") | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsChannelController.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.system.controller.admin.sms; |
| 3 | 3 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.channel.*; |
| 4 | 4 | import cn.iocoder.yudao.module.system.convert.sms.SmsChannelConvert; |
| 5 | 5 | import cn.iocoder.yudao.module.system.service.sms.SmsChannelService; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsChannelDO; | |
| 6 | +import cn.iocoder.yudao.module.system.dal.dataobject.sms.SysSmsChannelDO; | |
| 7 | 7 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 8 | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | 9 | import io.swagger.annotations.Api; | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsLogController.java
| ... | ... | @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.controller.admin.sms.vo.log.SmsLogPageReqV |
| 6 | 6 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.log.SysSmsLogRespVO; |
| 7 | 7 | import cn.iocoder.yudao.module.system.convert.sms.SmsLogConvert; |
| 8 | 8 | import cn.iocoder.yudao.module.system.service.sms.SmsLogService; |
| 9 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsLogDO; | |
| 9 | +import cn.iocoder.yudao.module.system.dal.dataobject.sms.SysSmsLogDO; | |
| 10 | 10 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 11 | 11 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 12 | 12 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/SmsTemplateController.java
| ... | ... | @@ -3,8 +3,8 @@ package cn.iocoder.yudao.module.system.controller.admin.sms; |
| 3 | 3 | import cn.iocoder.yudao.module.system.controller.admin.sms.vo.template.*; |
| 4 | 4 | import cn.iocoder.yudao.module.system.convert.sms.SmsTemplateConvert; |
| 5 | 5 | import cn.iocoder.yudao.module.system.service.sms.SmsTemplateService; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.service.sms.SysSmsCoreService; | |
| 6 | +import cn.iocoder.yudao.module.system.dal.dataobject.sms.SysSmsTemplateDO; | |
| 7 | +import cn.iocoder.yudao.module.system.service.sms.SysSmsSendService; | |
| 8 | 8 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 9 | 9 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 10 | 10 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; |
| ... | ... | @@ -32,7 +32,7 @@ public class SmsTemplateController { |
| 32 | 32 | @Resource |
| 33 | 33 | private SmsTemplateService smsTemplateService; |
| 34 | 34 | @Resource |
| 35 | - private SysSmsCoreService smsCoreService; | |
| 35 | + private SysSmsSendService smsCoreService; | |
| 36 | 36 | |
| 37 | 37 | @PostMapping("/create") |
| 38 | 38 | @ApiOperation("创建短信模板") | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/log/SmsLogExcelVO.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.system.controller.admin.sms.vo.log; |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | 5 | import cn.iocoder.yudao.framework.excel.core.convert.JsonConvert; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 6 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 7 | 7 | import com.alibaba.excel.annotation.ExcelProperty; |
| 8 | 8 | import lombok.Data; |
| 9 | 9 | |
| ... | ... | @@ -34,7 +34,7 @@ public class SmsLogExcelVO { |
| 34 | 34 | private String templateCode; |
| 35 | 35 | |
| 36 | 36 | @ExcelProperty(value = "短信类型", converter = DictConvert.class) |
| 37 | - @DictFormat(SysDictTypeConstants.SMS_TEMPLATE_TYPE) | |
| 37 | + @DictFormat(DictTypeConstants.SMS_TEMPLATE_TYPE) | |
| 38 | 38 | private Integer templateType; |
| 39 | 39 | |
| 40 | 40 | @ExcelProperty("短信内容") |
| ... | ... | @@ -53,11 +53,11 @@ public class SmsLogExcelVO { |
| 53 | 53 | private Long userId; |
| 54 | 54 | |
| 55 | 55 | @ExcelProperty(value = "用户类型", converter = DictConvert.class) |
| 56 | - @DictFormat(SysDictTypeConstants.USER_TYPE) | |
| 56 | + @DictFormat(DictTypeConstants.USER_TYPE) | |
| 57 | 57 | private Integer userType; |
| 58 | 58 | |
| 59 | 59 | @ExcelProperty(value = "发送状态", converter = DictConvert.class) |
| 60 | - @DictFormat(SysDictTypeConstants.SMS_SEND_STATUS) | |
| 60 | + @DictFormat(DictTypeConstants.SMS_SEND_STATUS) | |
| 61 | 61 | private Integer sendStatus; |
| 62 | 62 | |
| 63 | 63 | @ExcelProperty("发送时间") |
| ... | ... | @@ -82,7 +82,7 @@ public class SmsLogExcelVO { |
| 82 | 82 | private String apiSerialNo; |
| 83 | 83 | |
| 84 | 84 | @ExcelProperty(value = "接收状态", converter = DictConvert.class) |
| 85 | - @DictFormat(SysDictTypeConstants.SMS_RECEIVE_STATUS) | |
| 85 | + @DictFormat(DictTypeConstants.SMS_RECEIVE_STATUS) | |
| 86 | 86 | private Integer receiveStatus; |
| 87 | 87 | |
| 88 | 88 | @ExcelProperty("接收时间") | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/sms/vo/template/SmsTemplateExcelVO.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.sms.vo.template; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 7 | 7 | import lombok.Data; |
| 8 | 8 | |
| ... | ... | @@ -20,11 +20,11 @@ public class SmsTemplateExcelVO { |
| 20 | 20 | private Long id; |
| 21 | 21 | |
| 22 | 22 | @ExcelProperty(value = "短信签名", converter = DictConvert.class) |
| 23 | - @DictFormat(SysDictTypeConstants.SMS_TEMPLATE_TYPE) | |
| 23 | + @DictFormat(DictTypeConstants.SMS_TEMPLATE_TYPE) | |
| 24 | 24 | private Integer type; |
| 25 | 25 | |
| 26 | 26 | @ExcelProperty(value = "开启状态", converter = DictConvert.class) |
| 27 | - @DictFormat(SysDictTypeConstants.COMMON_STATUS) | |
| 27 | + @DictFormat(DictTypeConstants.COMMON_STATUS) | |
| 28 | 28 | private Integer status; |
| 29 | 29 | |
| 30 | 30 | @ExcelProperty("模板编码") |
| ... | ... | @@ -46,7 +46,7 @@ public class SmsTemplateExcelVO { |
| 46 | 46 | private Long channelId; |
| 47 | 47 | |
| 48 | 48 | @ExcelProperty(value = "短信渠道编码", converter = DictConvert.class) |
| 49 | - @DictFormat(SysDictTypeConstants.SMS_CHANNEL_CODE) | |
| 49 | + @DictFormat(DictTypeConstants.SMS_CHANNEL_CODE) | |
| 50 | 50 | private String channelCode; |
| 51 | 51 | |
| 52 | 52 | @ExcelProperty("创建时间") | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/tenant/TenantController.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.system.controller.admin.tenant; |
| 3 | 3 | import cn.iocoder.yudao.module.system.controller.admin.tenant.vo.*; |
| 4 | 4 | import cn.iocoder.yudao.module.system.convert.tenant.TenantConvert; |
| 5 | 5 | import cn.iocoder.yudao.module.system.service.tenant.TenantService; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.tenant.SysTenantDO; | |
| 6 | +import cn.iocoder.yudao.module.system.dal.dataobject.tenant.SysTenantDO; | |
| 7 | 7 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 8 | 8 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 9 | 9 | import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserController.java
| ... | ... | @@ -3,12 +3,11 @@ package cn.iocoder.yudao.module.system.controller.admin.user; |
| 3 | 3 | import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.iocoder.yudao.module.system.controller.admin.user.vo.user.*; |
| 5 | 5 | import cn.iocoder.yudao.module.system.convert.user.UserConvert; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 6 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 7 | 7 | import cn.iocoder.yudao.module.system.service.user.UserService; |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 9 | -import cn.iocoder.yudao.coreservice.modules.system.enums.common.SysSexEnum; | |
| 10 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 11 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 8 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.UserDO; | |
| 9 | +import cn.iocoder.yudao.module.system.enums.common.SysSexEnum; | |
| 10 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 12 | 11 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 13 | 12 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 14 | 13 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| ... | ... | @@ -19,6 +18,7 @@ import io.swagger.annotations.Api; |
| 19 | 18 | import io.swagger.annotations.ApiImplicitParam; |
| 20 | 19 | import io.swagger.annotations.ApiImplicitParams; |
| 21 | 20 | import io.swagger.annotations.ApiOperation; |
| 21 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 22 | 22 | import org.springframework.security.access.prepost.PreAuthorize; |
| 23 | 23 | import org.springframework.validation.annotation.Validated; |
| 24 | 24 | import org.springframework.web.bind.annotation.*; |
| ... | ... | @@ -41,11 +41,10 @@ import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.E |
| 41 | 41 | @Validated |
| 42 | 42 | public class UserController { |
| 43 | 43 | |
| 44 | - @Resource | |
| 44 | + @Autowired | |
| 45 | + @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") // UserService 存在重名 | |
| 45 | 46 | private UserService userService; |
| 46 | 47 | @Resource |
| 47 | - private SysUserCoreService userCoreService; | |
| 48 | - @Resource | |
| 49 | 48 | private SysDeptCoreService deptCoreService; |
| 50 | 49 | |
| 51 | 50 | @PostMapping("/create") |
| ... | ... | @@ -94,13 +93,13 @@ public class UserController { |
| 94 | 93 | @PreAuthorize("@ss.hasPermission('system:user:list')") |
| 95 | 94 | public CommonResult<PageResult<UserPageItemRespVO>> getUserPage(@Valid UserPageReqVO reqVO) { |
| 96 | 95 | // 获得用户分页列表 |
| 97 | - PageResult<SysUserDO> pageResult = userService.getUserPage(reqVO); | |
| 96 | + PageResult<UserDO> pageResult = userService.getUserPage(reqVO); | |
| 98 | 97 | if (CollUtil.isEmpty(pageResult.getList())) { |
| 99 | 98 | return success(new PageResult<>(pageResult.getTotal())); // 返回空 |
| 100 | 99 | } |
| 101 | 100 | |
| 102 | 101 | // 获得拼接需要的数据 |
| 103 | - Collection<Long> deptIds = convertList(pageResult.getList(), SysUserDO::getDeptId); | |
| 102 | + Collection<Long> deptIds = convertList(pageResult.getList(), UserDO::getDeptId); | |
| 104 | 103 | Map<Long, SysDeptDO> deptMap = deptCoreService.getDeptMap(deptIds); |
| 105 | 104 | // 拼接结果返回 |
| 106 | 105 | List<UserPageItemRespVO> userList = new ArrayList<>(pageResult.getList().size()); |
| ... | ... | @@ -116,7 +115,7 @@ public class UserController { |
| 116 | 115 | @ApiOperation(value = "获取用户精简信息列表", notes = "只包含被开启的用户,主要用于前端的下拉选项") |
| 117 | 116 | public CommonResult<List<UserSimpleRespVO>> getSimpleUsers() { |
| 118 | 117 | // 获用户门列表,只要开启状态的 |
| 119 | - List<SysUserDO> list = userService.getUsersByStatus(CommonStatusEnum.ENABLE.getStatus()); | |
| 118 | + List<UserDO> list = userService.getUsersByStatus(CommonStatusEnum.ENABLE.getStatus()); | |
| 120 | 119 | // 排序后,返回给前端 |
| 121 | 120 | return success(UserConvert.INSTANCE.convertList04(list)); |
| 122 | 121 | } |
| ... | ... | @@ -126,7 +125,7 @@ public class UserController { |
| 126 | 125 | @ApiImplicitParam(name = "id", value = "编号", required = true, example = "1024", dataTypeClass = Long.class) |
| 127 | 126 | @PreAuthorize("@ss.hasPermission('system:user:query')") |
| 128 | 127 | public CommonResult<UserRespVO> getInfo(@RequestParam("id") Long id) { |
| 129 | - return success(UserConvert.INSTANCE.convert(userCoreService.getUser(id))); | |
| 128 | + return success(UserConvert.INSTANCE.convert(userService.getUser(id))); | |
| 130 | 129 | } |
| 131 | 130 | |
| 132 | 131 | @GetMapping("/export") |
| ... | ... | @@ -136,12 +135,13 @@ public class UserController { |
| 136 | 135 | public void exportUsers(@Validated UserExportReqVO reqVO, |
| 137 | 136 | HttpServletResponse response) throws IOException { |
| 138 | 137 | // 获得用户列表 |
| 139 | - List<SysUserDO> users = userService.getUsers(reqVO); | |
| 138 | + List<UserDO> users = userService.getUsers(reqVO); | |
| 140 | 139 | |
| 141 | 140 | // 获得拼接需要的数据 |
| 142 | - Collection<Long> deptIds = convertList(users, SysUserDO::getDeptId); | |
| 141 | + Collection<Long> deptIds = convertList(users, UserDO::getDeptId); | |
| 143 | 142 | Map<Long, SysDeptDO> deptMap = deptCoreService.getDeptMap(deptIds); |
| 144 | - Map<Long, SysUserDO> deptLeaderUserMap = userCoreService.getUserMap(convertSet(deptMap.values(), SysDeptDO::getLeaderUserId)); | |
| 143 | + Map<Long, UserDO> deptLeaderUserMap = userService.getUserMap( | |
| 144 | + convertSet(deptMap.values(), SysDeptDO::getLeaderUserId)); | |
| 145 | 145 | // 拼接数据 |
| 146 | 146 | List<UserExcelVO> excelUsers = new ArrayList<>(users.size()); |
| 147 | 147 | users.forEach(user -> { | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.java
| ... | ... | @@ -9,20 +9,20 @@ import cn.iocoder.yudao.module.system.service.dept.PostService; |
| 9 | 9 | import cn.iocoder.yudao.module.system.service.permission.PermissionService; |
| 10 | 10 | import cn.iocoder.yudao.module.system.service.permission.RoleService; |
| 11 | 11 | import cn.iocoder.yudao.module.system.service.user.UserService; |
| 12 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 13 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysPostDO; | |
| 14 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.permission.SysRoleDO; | |
| 15 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.social.SysSocialUserDO; | |
| 16 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 17 | -import cn.iocoder.yudao.coreservice.modules.system.service.dept.SysDeptCoreService; | |
| 18 | -import cn.iocoder.yudao.coreservice.modules.system.service.social.SysSocialCoreService; | |
| 19 | -import cn.iocoder.yudao.coreservice.modules.system.service.user.SysUserCoreService; | |
| 12 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 13 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysPostDO; | |
| 14 | +import cn.iocoder.yudao.module.system.dal.dataobject.permission.SysRoleDO; | |
| 15 | +import cn.iocoder.yudao.module.system.dal.dataobject.social.SysSocialUserDO; | |
| 16 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.UserDO; | |
| 17 | +import cn.iocoder.yudao.module.system.service.dept.SysDeptCoreService; | |
| 18 | +import cn.iocoder.yudao.module.system.service.social.SocialUserService; | |
| 20 | 19 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 21 | 20 | import cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil; |
| 22 | 21 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 23 | 22 | import io.swagger.annotations.Api; |
| 24 | 23 | import io.swagger.annotations.ApiOperation; |
| 25 | 24 | import lombok.extern.slf4j.Slf4j; |
| 25 | +import org.springframework.beans.factory.annotation.Autowired; | |
| 26 | 26 | import org.springframework.validation.annotation.Validated; |
| 27 | 27 | import org.springframework.web.bind.annotation.*; |
| 28 | 28 | import org.springframework.web.multipart.MultipartFile; |
| ... | ... | @@ -43,11 +43,10 @@ import static cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUti |
| 43 | 43 | @Slf4j |
| 44 | 44 | public class UserProfileController { |
| 45 | 45 | |
| 46 | - @Resource | |
| 46 | + @Autowired | |
| 47 | + @SuppressWarnings("SpringJavaAutowiredFieldsWarningInspection") // UserService 存在重名 | |
| 47 | 48 | private UserService userService; |
| 48 | 49 | @Resource |
| 49 | - private SysUserCoreService userCoreService; | |
| 50 | - @Resource | |
| 51 | 50 | private SysDeptCoreService deptCoreService; |
| 52 | 51 | |
| 53 | 52 | @Resource |
| ... | ... | @@ -57,13 +56,13 @@ public class UserProfileController { |
| 57 | 56 | @Resource |
| 58 | 57 | private RoleService roleService; |
| 59 | 58 | @Resource |
| 60 | - private SysSocialCoreService socialService; | |
| 59 | + private SocialUserService socialService; | |
| 61 | 60 | |
| 62 | 61 | @GetMapping("/get") |
| 63 | 62 | @ApiOperation("获得登录用户信息") |
| 64 | 63 | public CommonResult<UserProfileRespVO> profile() { |
| 65 | 64 | // 获得用户基本信息 |
| 66 | - SysUserDO user = userCoreService.getUser(getLoginUserId()); | |
| 65 | + UserDO user = userService.getUser(getLoginUserId()); | |
| 67 | 66 | UserProfileRespVO resp = UserConvert.INSTANCE.convert03(user); |
| 68 | 67 | // 获得用户角色 |
| 69 | 68 | List<SysRoleDO> userRoles = roleService.getRolesFromCache(permissionService.getUserRoleIdListByUserId(user.getId())); | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserExcelVO.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.user.vo.user; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 7 | 7 | import lombok.Data; |
| 8 | 8 | |
| ... | ... | @@ -30,11 +30,11 @@ public class UserExcelVO { |
| 30 | 30 | private String mobile; |
| 31 | 31 | |
| 32 | 32 | @ExcelProperty(value = "用户性别", converter = DictConvert.class) |
| 33 | - @DictFormat(SysDictTypeConstants.USER_SEX) | |
| 33 | + @DictFormat(DictTypeConstants.USER_SEX) | |
| 34 | 34 | private Integer sex; |
| 35 | 35 | |
| 36 | 36 | @ExcelProperty(value = "帐号状态", converter = DictConvert.class) |
| 37 | - @DictFormat(SysDictTypeConstants.COMMON_STATUS) | |
| 37 | + @DictFormat(DictTypeConstants.COMMON_STATUS) | |
| 38 | 38 | private Integer status; |
| 39 | 39 | |
| 40 | 40 | @ExcelProperty("最后登录IP") | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/vo/user/UserImportExcelVO.java
| ... | ... | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.controller.admin.user.vo.user; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat; |
| 4 | 4 | import cn.iocoder.yudao.framework.excel.core.convert.DictConvert; |
| 5 | -import cn.iocoder.yudao.coreservice.modules.system.enums.SysDictTypeConstants; | |
| 5 | +import cn.iocoder.yudao.module.system.enums.DictTypeConstants; | |
| 6 | 6 | import com.alibaba.excel.annotation.ExcelProperty; |
| 7 | 7 | import lombok.AllArgsConstructor; |
| 8 | 8 | import lombok.Builder; |
| ... | ... | @@ -36,11 +36,11 @@ public class UserImportExcelVO { |
| 36 | 36 | private String mobile; |
| 37 | 37 | |
| 38 | 38 | @ExcelProperty(value = "用户性别", converter = DictConvert.class) |
| 39 | - @DictFormat(SysDictTypeConstants.USER_SEX) | |
| 39 | + @DictFormat(DictTypeConstants.USER_SEX) | |
| 40 | 40 | private Integer sex; |
| 41 | 41 | |
| 42 | 42 | @ExcelProperty(value = "账号状态", converter = DictConvert.class) |
| 43 | - @DictFormat(SysDictTypeConstants.COMMON_STATUS) | |
| 43 | + @DictFormat(DictTypeConstants.COMMON_STATUS) | |
| 44 | 44 | private Integer status; |
| 45 | 45 | |
| 46 | 46 | } | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/convert/auth/AuthConvert.java
| ... | ... | @@ -3,9 +3,9 @@ package cn.iocoder.yudao.module.system.convert.auth; |
| 3 | 3 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthMenuRespVO; |
| 4 | 4 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.auth.AuthPermissionInfoRespVO; |
| 5 | 5 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; |
| 6 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.permission.SysRoleDO; | |
| 6 | +import cn.iocoder.yudao.module.system.dal.dataobject.permission.SysRoleDO; | |
| 7 | 7 | import cn.iocoder.yudao.module.system.enums.permission.MenuIdEnum; |
| 8 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.user.SysUserDO; | |
| 8 | +import cn.iocoder.yudao.module.system.dal.dataobject.user.UserDO; | |
| 9 | 9 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 10 | 10 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 11 | 11 | import cn.iocoder.yudao.framework.security.core.LoginUser; |
| ... | ... | @@ -22,14 +22,14 @@ public interface AuthConvert { |
| 22 | 22 | AuthConvert INSTANCE = Mappers.getMapper(AuthConvert.class); |
| 23 | 23 | |
| 24 | 24 | @Mapping(source = "updateTime", target = "updateTime", ignore = true) // 字段相同,但是含义不同,忽略 |
| 25 | - LoginUser convert0(SysUserDO bean); | |
| 25 | + LoginUser convert0(UserDO bean); | |
| 26 | 26 | |
| 27 | - default LoginUser convert(SysUserDO bean) { | |
| 27 | + default LoginUser convert(UserDO bean) { | |
| 28 | 28 | // 目的,为了设置 UserTypeEnum.ADMIN.getValue() |
| 29 | 29 | return convert0(bean).setUserType(UserTypeEnum.ADMIN.getValue()); |
| 30 | 30 | } |
| 31 | 31 | |
| 32 | - default AuthPermissionInfoRespVO convert(SysUserDO user, List<SysRoleDO> roleList, List<MenuDO> menuList) { | |
| 32 | + default AuthPermissionInfoRespVO convert(UserDO user, List<SysRoleDO> roleList, List<MenuDO> menuList) { | |
| 33 | 33 | return AuthPermissionInfoRespVO.builder() |
| 34 | 34 | .user(AuthPermissionInfoRespVO.UserVO.builder().id(user.getId()).nickname(user.getNickname()).avatar(user.getAvatar()).build()) |
| 35 | 35 | .roles(CollectionUtils.convertSet(roleList, SysRoleDO::getCode)) | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/convert/auth/UserSessionConvert.java
| 1 | 1 | package cn.iocoder.yudao.module.system.convert.auth; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.session.UserSessionPageItemRespVO; |
| 4 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.auth.SysUserSessionDO; | |
| 4 | +import cn.iocoder.yudao.module.system.dal.dataobject.auth.SysUserSessionDO; | |
| 5 | 5 | import org.mapstruct.Mapper; |
| 6 | 6 | import org.mapstruct.factory.Mappers; |
| 7 | 7 | ... | ... |
yudao-module-system/yudao-module-system-impl/src/main/java/cn/iocoder/yudao/module/system/convert/dept/DeptConvert.java
| ... | ... | @@ -4,7 +4,7 @@ import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptCreateRe |
| 4 | 4 | import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptRespVO; |
| 5 | 5 | import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptSimpleRespVO; |
| 6 | 6 | import cn.iocoder.yudao.module.system.controller.admin.dept.vo.dept.DeptUpdateReqVO; |
| 7 | -import cn.iocoder.yudao.coreservice.modules.system.dal.dataobject.dept.SysDeptDO; | |
| 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.dept.SysDeptDO; | |
| 8 | 8 | import org.mapstruct.Mapper; |
| 9 | 9 | import org.mapstruct.factory.Mappers; |
| 10 | 10 | ... | ... |