mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-08-11 16:53:54 +08:00
接入汇付企业开户失败待办
This commit is contained in:
@@ -121,6 +121,9 @@ public class OrderService {
|
||||
@Autowired
|
||||
private AdapayMemberAccountService adapayMemberAccountService;
|
||||
|
||||
@Autowired
|
||||
private AdapayAccountTodoService adapayAccountTodoService;
|
||||
|
||||
@Autowired
|
||||
private ClearingWithdrawInfoService clearingWithdrawInfoService;
|
||||
|
||||
@@ -1417,7 +1420,7 @@ public class OrderService {
|
||||
}
|
||||
adapayMemberAccount.setAuditState(auditState);
|
||||
// 逻辑删除记录,并删除缓存
|
||||
adapayMemberAccountService.updateAdapayMemberAccount(adapayMemberAccount);
|
||||
adapayAccountTodoService.handleCorpMemberFailed(adapayMemberAccount);
|
||||
if (StringUtils.isNotBlank(adapayMemberAccount.getMerchantId())) {
|
||||
redisCache.deleteObject(CacheConstants.ADAPAY_MEMBER_ACCOUNT + adapayMemberAccount.getMerchantId());
|
||||
}
|
||||
@@ -1454,7 +1457,7 @@ public class OrderService {
|
||||
adapayMemberAccount.setSettleAccountId(settleAccountId);
|
||||
}
|
||||
adapayMemberAccount.setDelFlag(DelFlagEnum.NORMAL.getValue());
|
||||
adapayMemberAccountService.updateAdapayMemberAccount(adapayMemberAccount);
|
||||
adapayAccountTodoService.handleCorpMemberSucceeded(adapayMemberAccount);
|
||||
if (StringUtils.isNotBlank(adapayMemberAccount.getMerchantId())) {
|
||||
redisCache.deleteObject(CacheConstants.ADAPAY_MEMBER_ACCOUNT + adapayMemberAccount.getMerchantId());
|
||||
}
|
||||
|
||||
@@ -219,4 +219,4 @@ sms:
|
||||
todo:
|
||||
operator-admin-role-id: 3
|
||||
retention-days: 180
|
||||
route-whitelist: invoiceDetail,financeDetail
|
||||
route-whitelist: invoiceDetail,financeDetail,accountUserInfo
|
||||
|
||||
@@ -0,0 +1,96 @@
|
||||
package com.jsowell.pile.service;
|
||||
|
||||
import com.jsowell.common.constant.Constants;
|
||||
import com.jsowell.pile.constant.AdapayAccountTodoConstants;
|
||||
import com.jsowell.pile.domain.AdapayMemberAccount;
|
||||
import com.jsowell.pile.domain.PileMerchantInfo;
|
||||
import com.jsowell.pile.service.impl.AdapayAccountTodoServiceImpl;
|
||||
import com.jsowell.system.domain.dto.TodoTaskCreateCommand;
|
||||
import com.jsowell.system.service.TodoTaskAssigneeService;
|
||||
import com.jsowell.system.service.TodoTaskService;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.Collections;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.mockito.ArgumentMatchers.any;
|
||||
import static org.mockito.Mockito.mock;
|
||||
import static org.mockito.Mockito.verify;
|
||||
import static org.mockito.Mockito.when;
|
||||
|
||||
class AdapayAccountTodoServiceImplTest {
|
||||
@Test
|
||||
void failed_shouldUpdateAccountAndCreateAdminTodo() {
|
||||
Dependencies dependencies = new Dependencies();
|
||||
AdapayAccountTodoServiceImpl service = dependencies.createService();
|
||||
AdapayMemberAccount account = account();
|
||||
PileMerchantInfo merchantInfo = new PileMerchantInfo();
|
||||
merchantInfo.setDeptId("200");
|
||||
when(dependencies.merchantService.selectPileMerchantInfoById(100L)).thenReturn(merchantInfo);
|
||||
when(dependencies.assigneeService.findActiveOperatorAdminUserIdsByDeptTree(200L))
|
||||
.thenReturn(Collections.singletonList(8L));
|
||||
account.setAuditDesc("证件资料不清晰");
|
||||
|
||||
service.handleCorpMemberFailed(account);
|
||||
|
||||
verify(dependencies.accountService).updateAdapayMemberAccount(account);
|
||||
ArgumentCaptor<TodoTaskCreateCommand> captor = ArgumentCaptor.forClass(TodoTaskCreateCommand.class);
|
||||
verify(dependencies.todoTaskService).createTask(captor.capture());
|
||||
TodoTaskCreateCommand command = captor.getValue();
|
||||
assertEquals(AdapayAccountTodoConstants.TASK_TYPE_CORP_MEMBER_FAILED, command.getTaskType());
|
||||
assertEquals(AdapayAccountTodoConstants.BUSINESS_TYPE, command.getBusinessType());
|
||||
assertEquals("100", command.getBusinessId());
|
||||
assertEquals("accountUserInfo", command.getRouteName());
|
||||
assertEquals(8L, command.getAssigneeUserId());
|
||||
}
|
||||
|
||||
@Test
|
||||
void succeeded_shouldUpdateAccountAndCompleteFailureTodosAsSystem() {
|
||||
Dependencies dependencies = new Dependencies();
|
||||
AdapayAccountTodoServiceImpl service = dependencies.createService();
|
||||
AdapayMemberAccount account = account();
|
||||
|
||||
service.handleCorpMemberSucceeded(account);
|
||||
|
||||
verify(dependencies.accountService).updateAdapayMemberAccount(account);
|
||||
verify(dependencies.todoTaskService).completeByBusinessAsSystem(
|
||||
AdapayAccountTodoConstants.BUSINESS_TYPE, "100", null, "adapay-callback");
|
||||
}
|
||||
|
||||
private static AdapayMemberAccount account() {
|
||||
AdapayMemberAccount account = new AdapayMemberAccount();
|
||||
account.setId(1);
|
||||
account.setMerchantId("100");
|
||||
account.setAdapayMemberId("member-100");
|
||||
account.setStatus(Constants.ONE);
|
||||
return account;
|
||||
}
|
||||
|
||||
private static void setField(Object target, String fieldName, Object value) {
|
||||
try {
|
||||
Field field = AdapayAccountTodoServiceImpl.class.getDeclaredField(fieldName);
|
||||
field.setAccessible(true);
|
||||
field.set(target, value);
|
||||
} catch (Exception exception) {
|
||||
throw new RuntimeException(exception);
|
||||
}
|
||||
}
|
||||
|
||||
private static class Dependencies {
|
||||
private final AdapayMemberAccountService accountService = mock(AdapayMemberAccountService.class);
|
||||
private final PileMerchantInfoService merchantService = mock(PileMerchantInfoService.class);
|
||||
private final TodoTaskAssigneeService assigneeService = mock(TodoTaskAssigneeService.class);
|
||||
private final TodoTaskService todoTaskService = mock(TodoTaskService.class);
|
||||
|
||||
private AdapayAccountTodoServiceImpl createService() {
|
||||
AdapayAccountTodoServiceImpl service = new AdapayAccountTodoServiceImpl();
|
||||
setField(service, "adapayMemberAccountService", accountService);
|
||||
setField(service, "pileMerchantInfoService", merchantService);
|
||||
setField(service, "todoTaskAssigneeService", assigneeService);
|
||||
setField(service, "todoTaskService", todoTaskService);
|
||||
return service;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -140,6 +140,19 @@ class TodoTaskServiceImplTest {
|
||||
verify(mapper, never()).insertTodoTask(any(SysTodoTask.class));
|
||||
}
|
||||
|
||||
@Test
|
||||
void completeByBusinessAsSystem_shouldAllowNullCompletedBy() {
|
||||
SysTodoTaskMapper mapper = mock(SysTodoTaskMapper.class);
|
||||
TodoTaskServiceImpl service = newService(mapper);
|
||||
when(mapper.completeTodoByBusiness("ADAPAY_CORP_MEMBER_ACCOUNT", "100", null,
|
||||
null, "adapay-callback")).thenReturn(1);
|
||||
|
||||
assertEquals(1, service.completeByBusinessAsSystem("ADAPAY_CORP_MEMBER_ACCOUNT", "100",
|
||||
null, "adapay-callback"));
|
||||
verify(mapper).completeTodoByBusiness("ADAPAY_CORP_MEMBER_ACCOUNT", "100", null,
|
||||
null, "adapay-callback");
|
||||
}
|
||||
|
||||
private static TodoTaskCreateCommand createCommand() {
|
||||
return TodoTaskCreateCommand.builder()
|
||||
.taskType("INVOICE_REVIEW")
|
||||
|
||||
Reference in New Issue
Block a user