多模块重构 4:system 模块的调整,实现 social API~~

This commit is contained in:
YunaiV
2022-01-30 21:23:45 +08:00
parent ab6ec2f0ed
commit add08b1ecd
132 changed files with 1649 additions and 1587 deletions

View File

@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.member.service.auth;
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
import cn.iocoder.yudao.module.system.service.auth.SysUserSessionCoreService;
import cn.iocoder.yudao.module.system.service.logger.SysLoginLogCoreService;
import cn.iocoder.yudao.module.system.service.social.SysSocialCoreService;
@@ -8,10 +9,9 @@ import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration;
import cn.iocoder.yudao.module.member.controller.app.auth.vo.AppAuthResetPasswordReqVO;
import cn.iocoder.yudao.module.member.controller.app.auth.vo.AppAuthUpdatePasswordReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.user.UserDO;
import cn.iocoder.yudao.module.member.dal.mysql.user.UserMapper;
import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper;
import cn.iocoder.yudao.module.member.service.sms.SysSmsCodeService;
import cn.iocoder.yudao.module.member.service.user.UserService;
import cn.iocoder.yudao.module.member.service.user.MemberUserService;
import cn.iocoder.yudao.module.member.test.BaseDbAndRedisUnitTest;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.mock.mockito.MockBean;
@@ -32,17 +32,17 @@ import static org.mockito.Mockito.when;
// TODO @芋艿:单测的 review等逻辑都达成一致后
/**
* {@link AuthService} 的单元测试类
* {@link MemberAuthService} 的单元测试类
*
* @author 宋天
*/
@Import({AuthServiceImpl.class, YudaoRedisAutoConfiguration.class})
@Import({MemberAuthServiceImpl.class, YudaoRedisAutoConfiguration.class})
public class SysAuthServiceTest extends BaseDbAndRedisUnitTest {
@MockBean
private AuthenticationManager authenticationManager;
@MockBean
private UserService userService;
private MemberUserService userService;
@MockBean
private SysSmsCodeService smsCodeService;
@MockBean
@@ -56,14 +56,14 @@ public class SysAuthServiceTest extends BaseDbAndRedisUnitTest {
@MockBean
private PasswordEncoder passwordEncoder;
@Resource
private UserMapper mbrUserMapper;
private MemberUserMapper mbrUserMapper;
@Resource
private AuthServiceImpl authService;
private MemberAuthServiceImpl authService;
@Test
public void testUpdatePassword_success(){
// 准备参数
UserDO userDO = randomUserDO();
MemberUserDO userDO = randomUserDO();
mbrUserMapper.insert(userDO);
// 新密码
@@ -88,7 +88,7 @@ public class SysAuthServiceTest extends BaseDbAndRedisUnitTest {
@Test
public void testResetPassword_success(){
// 准备参数
UserDO userDO = randomUserDO();
MemberUserDO userDO = randomUserDO();
mbrUserMapper.insert(userDO);
// 随机密码
@@ -113,12 +113,12 @@ public class SysAuthServiceTest extends BaseDbAndRedisUnitTest {
// ========== 随机对象 ==========
@SafeVarargs
private static UserDO randomUserDO(Consumer<UserDO>... consumers) {
Consumer<UserDO> consumer = (o) -> {
private static MemberUserDO randomUserDO(Consumer<MemberUserDO>... consumers) {
Consumer<MemberUserDO> consumer = (o) -> {
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
o.setPassword(randomString());
};
return randomPojo(UserDO.class, ArrayUtils.append(consumer, consumers));
return randomPojo(MemberUserDO.class, ArrayUtils.append(consumer, consumers));
}

View File

@@ -6,11 +6,11 @@ import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.common.util.collection.ArrayUtils;
import cn.iocoder.yudao.framework.redis.config.YudaoRedisAutoConfiguration;
import cn.iocoder.yudao.module.member.controller.app.user.vo.AppUserUpdateMobileReqVO;
import cn.iocoder.yudao.module.member.dal.dataobject.sms.SysSmsCodeDO;
import cn.iocoder.yudao.module.member.dal.dataobject.user.UserDO;
import cn.iocoder.yudao.module.member.dal.mysql.user.UserMapper;
import cn.iocoder.yudao.module.member.enums.sms.SysSmsSceneEnum;
import cn.iocoder.yudao.module.member.service.auth.AuthServiceImpl;
import cn.iocoder.yudao.module.member.dal.dataobject.sms.SmsCodeDO;
import cn.iocoder.yudao.module.member.dal.dataobject.user.MemberUserDO;
import cn.iocoder.yudao.module.member.dal.mysql.user.MemberUserMapper;
import cn.iocoder.yudao.module.system.enums.sms.SmsSceneEnum;
import cn.iocoder.yudao.module.member.service.auth.MemberAuthServiceImpl;
import cn.iocoder.yudao.module.member.service.sms.SysSmsCodeService;
import cn.iocoder.yudao.module.member.test.BaseDbAndRedisUnitTest;
import org.junit.jupiter.api.Test;
@@ -31,24 +31,24 @@ import static org.mockito.Mockito.*;
// TODO @芋艿单测的 review等逻辑都达成一致后
/**
* {@link UserServiceImpl} 的单元测试类
* {@link MemberUserServiceImpl} 的单元测试类
*
* @author 宋天
*/
@Import({UserServiceImpl.class, YudaoRedisAutoConfiguration.class})
public class MbrUserServiceImplTest extends BaseDbAndRedisUnitTest {
@Import({MemberUserServiceImpl.class, YudaoRedisAutoConfiguration.class})
public class UserServiceImplTest extends BaseDbAndRedisUnitTest {
@Resource
private UserServiceImpl mbrUserService;
private MemberUserServiceImpl mbrUserService;
@Resource
private StringRedisTemplate stringRedisTemplate;
@Resource
private UserMapper userMapper;
private MemberUserMapper userMapper;
@MockBean
private AuthServiceImpl authService;
private MemberAuthServiceImpl authService;
@MockBean
private InfFileCoreService fileCoreService;
@@ -57,12 +57,12 @@ public class MbrUserServiceImplTest extends BaseDbAndRedisUnitTest {
private PasswordEncoder passwordEncoder;
@MockBean
private SysSmsCodeService sysSmsCodeService;
private SmsCodeService smsCodeService;
@Test
public void testUpdateNickName_success(){
// mock 数据
UserDO userDO = randomUserDO();
MemberUserDO userDO = randomUserDO();
userMapper.insert(userDO);
// 随机昵称
@@ -79,7 +79,7 @@ public class MbrUserServiceImplTest extends BaseDbAndRedisUnitTest {
@Test
public void testUpdateAvatar_success(){
// mock 数据
UserDO dbUser = randomUserDO();
MemberUserDO dbUser = randomUserDO();
userMapper.insert(dbUser);
// 准备参数
@@ -99,18 +99,18 @@ public class MbrUserServiceImplTest extends BaseDbAndRedisUnitTest {
public void updateMobile_success(){
// mock数据
String oldMobile = randomNumbers(11);
UserDO userDO = randomUserDO();
MemberUserDO userDO = randomUserDO();
userDO.setMobile(oldMobile);
userMapper.insert(userDO);
// 旧手机和旧验证码
SysSmsCodeDO codeDO = new SysSmsCodeDO();
SmsCodeDO codeDO = new SmsCodeDO();
String oldCode = RandomUtil.randomString(4);
codeDO.setMobile(userDO.getMobile());
codeDO.setCode(oldCode);
codeDO.setScene(SysSmsSceneEnum.CHANGE_MOBILE_BY_SMS.getScene());
codeDO.setScene(SmsSceneEnum.MEMBER_UPDATE_MOBILE.getScene());
codeDO.setUsed(Boolean.FALSE);
when(sysSmsCodeService.checkCodeIsExpired(codeDO.getMobile(),codeDO.getCode(),codeDO.getScene())).thenReturn(codeDO);
when(smsCodeService.checkCodeIsExpired(codeDO.getMobile(),codeDO.getCode(),codeDO.getScene())).thenReturn(codeDO);
// 更新手机号
String newMobile = randomNumbers(11);
@@ -128,11 +128,11 @@ public class MbrUserServiceImplTest extends BaseDbAndRedisUnitTest {
// ========== 随机对象 ==========
@SafeVarargs
private static UserDO randomUserDO(Consumer<UserDO>... consumers) {
Consumer<UserDO> consumer = (o) -> {
private static MemberUserDO randomUserDO(Consumer<MemberUserDO>... consumers) {
Consumer<MemberUserDO> consumer = (o) -> {
o.setStatus(randomEle(CommonStatusEnum.values()).getStatus()); // 保证 status 的范围
};
return randomPojo(UserDO.class, ArrayUtils.append(consumer, consumers));
return randomPojo(MemberUserDO.class, ArrayUtils.append(consumer, consumers));
}
}