完成支付、电子面单、模板消息队列等功能

This commit is contained in:
hupeng
2023-07-25 23:45:57 +08:00
parent f8f699fe6a
commit 0ae51f9ee7
625 changed files with 8291 additions and 18630 deletions

View File

@ -248,7 +248,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest {
String responseType = "token";
String clientId = randomString();
String scope = "{\"read\": true, \"write\": false}";
String redirectUri = "https://www.iocoder.cn";
String redirectUri = "https://www.yixiang.co";
String state = "test";
// mock 方法
OAuth2ClientDO client = randomPojo(OAuth2ClientDO.class);
@ -260,7 +260,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest {
scope, redirectUri, false, state);
// 断言
assertEquals(0, result.getCode());
assertEquals("https://www.iocoder.cn#error=access_denied&error_description=User%20denied%20access&state=test", result.getData());
assertEquals("https://www.yixiang.co#error=access_denied&error_description=User%20denied%20access&state=test", result.getData());
}
@Test // autoApprove = true通过 + token
@ -269,7 +269,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest {
String responseType = "token";
String clientId = randomString();
String scope = "{\"read\": true, \"write\": false}";
String redirectUri = "https://www.iocoder.cn";
String redirectUri = "https://www.yixiang.co";
String state = "test";
// mock 方法client)
OAuth2ClientDO client = randomPojo(OAuth2ClientDO.class).setClientId(clientId).setAdditionalInformation(null);
@ -289,7 +289,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest {
scope, redirectUri, true, state);
// 断言
assertEquals(0, result.getCode());
assertEquals("https://www.iocoder.cn#access_token=test_access_token&token_type=bearer&state=test&expires_in=30&scope=read", result.getData());
assertEquals("https://www.yixiang.co#access_token=test_access_token&token_type=bearer&state=test&expires_in=30&scope=read", result.getData());
}
@Test // autoApprove = false通过 + code
@ -298,7 +298,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest {
String responseType = "code";
String clientId = randomString();
String scope = "{\"read\": true, \"write\": false}";
String redirectUri = "https://www.iocoder.cn";
String redirectUri = "https://www.yixiang.co";
String state = "test";
// mock 方法client)
OAuth2ClientDO client = randomPojo(OAuth2ClientDO.class).setClientId(clientId).setAdditionalInformation(null);
@ -318,7 +318,7 @@ public class OAuth2OpenControllerTest extends BaseMockitoUnitTest {
scope, redirectUri, false, state);
// 断言
assertEquals(0, result.getCode());
assertEquals("https://www.iocoder.cn?code=test_code&state=test", result.getData());
assertEquals("https://www.yixiang.co?code=test_code&state=test", result.getData());
}
private HttpServletRequest mockRequest(String clientId, String secret) {

View File

@ -43,9 +43,9 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
@Test
public void testGetDictDataList() {
// mock 数据
DictDataDO dictDataDO01 = randomDictDataDO().setDictType("yunai").setSort(2);
DictDataDO dictDataDO01 = randomDictDataDO().setDictType("yshop").setSort(2);
dictDataMapper.insert(dictDataDO01);
DictDataDO dictDataDO02 = randomDictDataDO().setDictType("yunai").setSort(1);
DictDataDO dictDataDO02 = randomDictDataDO().setDictType("yshop").setSort(1);
dictDataMapper.insert(dictDataDO02);
// 准备参数
@ -62,7 +62,7 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
// mock 数据
DictDataDO dbDictData = randomPojo(DictDataDO.class, o -> { // 等会查询到
o.setLabel("yshop");
o.setDictType("yunai");
o.setDictType("yshop");
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
});
dictDataMapper.insert(dbDictData);
@ -75,7 +75,7 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
// 准备参数
DictDataPageReqVO reqVO = new DictDataPageReqVO();
reqVO.setLabel("");
reqVO.setDictType("yunai");
reqVO.setDictType("yshop");
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
// 调用
@ -91,7 +91,7 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
// mock 数据
DictDataDO dbDictData = randomPojo(DictDataDO.class, o -> { // 等会查询到
o.setLabel("yshop");
o.setDictType("yunai");
o.setDictType("yshop");
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
});
dictDataMapper.insert(dbDictData);
@ -104,7 +104,7 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
// 准备参数
DictDataExportReqVO reqVO = new DictDataExportReqVO();
reqVO.setLabel("");
reqVO.setDictType("yunai");
reqVO.setDictType("yshop");
reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
// 调用
@ -262,11 +262,11 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
@Test
public void testCountByDictType() {
// mock 数据
dictDataMapper.insert(randomDictDataDO(o -> o.setDictType("yunai")));
dictDataMapper.insert(randomDictDataDO(o -> o.setDictType("yshop")));
dictDataMapper.insert(randomDictDataDO(o -> o.setDictType("tudou")));
dictDataMapper.insert(randomDictDataDO(o -> o.setDictType("yunai")));
dictDataMapper.insert(randomDictDataDO(o -> o.setDictType("yshop")));
// 准备参数
String dictType = "yunai";
String dictType = "yshop";
// 调用
long count = dictDataService.countByDictType(dictType);
@ -314,12 +314,12 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
@Test
public void testGetDictData_dictType() {
// mock 数据
DictDataDO dictDataDO = randomDictDataDO().setDictType("yunai").setValue("1");
DictDataDO dictDataDO = randomDictDataDO().setDictType("yshop").setValue("1");
dictDataMapper.insert(dictDataDO);
DictDataDO dictDataDO02 = randomDictDataDO().setDictType("yunai").setValue("2");
DictDataDO dictDataDO02 = randomDictDataDO().setDictType("yshop").setValue("2");
dictDataMapper.insert(dictDataDO02);
// 准备参数
String dictType = "yunai";
String dictType = "yshop";
String value = "1";
// 调用
@ -331,12 +331,12 @@ public class DictDataServiceImplTest extends BaseDbUnitTest {
@Test
public void testParseDictData() {
// mock 数据
DictDataDO dictDataDO = randomDictDataDO().setDictType("yunai").setLabel("1");
DictDataDO dictDataDO = randomDictDataDO().setDictType("yshop").setLabel("1");
dictDataMapper.insert(dictDataDO);
DictDataDO dictDataDO02 = randomDictDataDO().setDictType("yunai").setLabel("2");
DictDataDO dictDataDO02 = randomDictDataDO().setDictType("yshop").setLabel("2");
dictDataMapper.insert(dictDataDO02);
// 准备参数
String dictType = "yunai";
String dictType = "yshop";
String label = "1";
// 调用

View File

@ -45,7 +45,7 @@ public class DictTypeServiceImplTest extends BaseDbUnitTest {
public void testGetDictTypePage() {
// mock 数据
DictTypeDO dbDictType = randomPojo(DictTypeDO.class, o -> { // 等会查询到
o.setName("yunai");
o.setName("yshop");
o.setType("yshop");
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
o.setCreateTime(buildTime(2021, 1, 15));
@ -78,7 +78,7 @@ public class DictTypeServiceImplTest extends BaseDbUnitTest {
public void testGetDictTypeList_export() {
// mock 数据
DictTypeDO dbDictType = randomPojo(DictTypeDO.class, o -> { // 等会查询到
o.setName("yunai");
o.setName("yshop");
o.setType("yshop");
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
o.setCreateTime(buildTime(2021, 1, 15));

View File

@ -299,13 +299,13 @@ public class ErrorCodeServiceTest extends BaseDbUnitTest {
public void testGetErrorCodeList() {
// 准备参数
ErrorCodeDO errorCodeDO01 = randomErrorCodeDO(
o -> o.setApplicationName("yunai_server").setUpdateTime(buildTime(2022, 1, 10)));
o -> o.setApplicationName("yshop_server").setUpdateTime(buildTime(2022, 1, 10)));
errorCodeMapper.insert(errorCodeDO01);
ErrorCodeDO errorCodeDO02 = randomErrorCodeDO(
o -> o.setApplicationName("yunai_server").setUpdateTime(buildTime(2022, 1, 12)));
o -> o.setApplicationName("yshop_server").setUpdateTime(buildTime(2022, 1, 12)));
errorCodeMapper.insert(errorCodeDO02);
// mock 方法
String applicationName = "yunai_server";
String applicationName = "yshop_server";
LocalDateTime minUpdateTime = buildTime(2022, 1, 11);
// 调用

View File

@ -46,7 +46,7 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest {
// 测试 ip 不匹配
loginLogMapper.insert(cloneIgnoreId(loginLogDO, o -> o.setUserIp("192.168.128.18")));
// 测试 username 不匹配
loginLogMapper.insert(cloneIgnoreId(loginLogDO, o -> o.setUsername("yunai")));
loginLogMapper.insert(cloneIgnoreId(loginLogDO, o -> o.setUsername("yshop")));
// 测试 createTime 不匹配
loginLogMapper.insert(cloneIgnoreId(loginLogDO, o -> o.setCreateTime(buildTime(2021, 2, 6))));
// 构造调用参数
@ -79,7 +79,7 @@ public class LoginLogServiceImplTest extends BaseDbUnitTest {
// 测试 ip 不匹配
loginLogMapper.insert(cloneIgnoreId(loginLogDO, o -> o.setUserIp("192.168.128.18")));
// 测试 username 不匹配
loginLogMapper.insert(cloneIgnoreId(loginLogDO, o -> o.setUsername("yunai")));
loginLogMapper.insert(cloneIgnoreId(loginLogDO, o -> o.setUsername("yshop")));
// 测试 createTime 不匹配
loginLogMapper.insert(cloneIgnoreId(loginLogDO, o -> o.setCreateTime(buildTime(2021, 2, 6))));
// 构造调用参数

View File

@ -149,7 +149,7 @@ public class MailAccountServiceImplTest extends BaseDbUnitTest {
// mock 数据
MailAccountDO dbMailAccount = randomPojo(MailAccountDO.class, o -> { // 等会查询到
o.setMail("768@qq.com");
o.setUsername("yunai");
o.setUsername("yshop");
});
mailAccountMapper.insert(dbMailAccount);
// 测试 mail 不匹配

View File

@ -393,7 +393,7 @@ public class PermissionServiceTest extends BaseDbUnitTest {
public void testHasAnyRoles_superAdmin() {
// 准备参数
Long userId = 1L;
String[] roles = new String[]{"yunai", "tudou"};
String[] roles = new String[]{"yshop", "tudou"};
// mock 用户与角色的缓存
permissionService.setUserRoleCache(MapUtil.<Long, Set<Long>>builder().put(1L, asSet(100L)).build());
RoleDO role = randomPojo(RoleDO.class, o -> o.setId(100L)
@ -412,10 +412,10 @@ public class PermissionServiceTest extends BaseDbUnitTest {
public void testHasAnyRoles_normal() {
// 准备参数
Long userId = 1L;
String[] roles = new String[]{"yunai", "tudou"};
String[] roles = new String[]{"yshop", "tudou"};
// mock 用户与角色的缓存
permissionService.setUserRoleCache(MapUtil.<Long, Set<Long>>builder().put(1L, asSet(100L)).build());
RoleDO role = randomPojo(RoleDO.class, o -> o.setId(100L).setCode("yunai")
RoleDO role = randomPojo(RoleDO.class, o -> o.setId(100L).setCode("yshop")
.setStatus(CommonStatusEnum.ENABLE.getStatus()));
when(roleService.getRoleFromCache(eq(100L))).thenReturn(role);
// mock 其它方法

View File

@ -197,7 +197,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
o.setCode("tudou");
o.setContent("yshop");
o.setApiTemplateId("yunai");
o.setApiTemplateId("yshop");
o.setChannelId(1L);
o.setCreateTime(buildTime(2021, 11, 11));
});
@ -242,7 +242,7 @@ public class SmsTemplateServiceImplTest extends BaseDbUnitTest {
o.setStatus(CommonStatusEnum.ENABLE.getStatus());
o.setCode("tudou");
o.setContent("yshop");
o.setApiTemplateId("yunai");
o.setApiTemplateId("yshop");
o.setChannelId(1L);
o.setCreateTime(buildTime(2021, 11, 11));
});

View File

@ -59,12 +59,12 @@ public class SocialUserServiceImplTest extends BaseDbAndRedisUnitTest {
when(authRequestFactory.get(eq("WECHAT_MP"))).thenReturn(authRequest);
// mock 方法
authStateUtilsMock.when(AuthStateUtils::createState).thenReturn("aoteman");
when(authRequest.authorize(eq("aoteman"))).thenReturn("https://www.iocoder.cn?redirect_uri=yyy");
when(authRequest.authorize(eq("aoteman"))).thenReturn("https://www.yixiang.co?redirect_uri=yyy");
// 调用
String url = socialUserService.getAuthorizeUrl(type, redirectUri);
// 断言
assertEquals("https://www.iocoder.cn?redirect_uri=sss", url);
assertEquals("https://www.yixiang.co?redirect_uri=sss", url);
}
}

View File

@ -144,7 +144,7 @@ public class TenantServiceImplTest extends BaseDbUnitTest {
}), eq(RoleTypeEnum.SYSTEM.getType()))).thenReturn(200L);
// mock 用户 300L
when(userService.createUser(argThat(user -> {
assertEquals("yunai", user.getUsername());
assertEquals("yshop", user.getUsername());
assertEquals("yuanma", user.getPassword());
assertEquals("yshop", user.getNickname());
assertEquals("15601691300", user.getMobile());
@ -157,8 +157,8 @@ public class TenantServiceImplTest extends BaseDbUnitTest {
o.setContactMobile("15601691300");
o.setPackageId(100L);
o.setStatus(randomCommonStatus());
o.setDomain("https://www.iocoder.cn");
o.setUsername("yunai");
o.setDomain("https://www.yixiang.co");
o.setUsername("yshop");
o.setPassword("yuanma");
});

View File

@ -8,7 +8,7 @@ spring:
spring:
# 数据源配置项
datasource:
name: ruoyi-vue-pro
name: yshop-pro
url: jdbc:h2:mem:testdb;MODE=MYSQL;DATABASE_TO_UPPER=false;NON_KEYWORDS=value; # MODE 使用 MySQL 模式DATABASE_TO_UPPER 配置表和字段使用小写
driver-class-name: org.h2.Driver
username: sa