|
@@ -1,16 +1,26 @@
|
|
|
package com.izouma.nineth.service;
|
|
package com.izouma.nineth.service;
|
|
|
|
|
|
|
|
import com.github.kevinsawicki.http.HttpRequest;
|
|
import com.github.kevinsawicki.http.HttpRequest;
|
|
|
|
|
+import com.huifu.adapay.core.exception.BaseAdaPayException;
|
|
|
import com.izouma.nineth.ApplicationTests;
|
|
import com.izouma.nineth.ApplicationTests;
|
|
|
import com.izouma.nineth.config.Constants;
|
|
import com.izouma.nineth.config.Constants;
|
|
|
|
|
+import com.izouma.nineth.domain.IdentityAuth;
|
|
|
import com.izouma.nineth.domain.User;
|
|
import com.izouma.nineth.domain.User;
|
|
|
|
|
+import com.izouma.nineth.dto.BankValidate;
|
|
|
import com.izouma.nineth.dto.PageQuery;
|
|
import com.izouma.nineth.dto.PageQuery;
|
|
|
|
|
+import com.izouma.nineth.dto.UserBankCard;
|
|
|
import com.izouma.nineth.dto.UserRegister;
|
|
import com.izouma.nineth.dto.UserRegister;
|
|
|
|
|
+import com.izouma.nineth.enums.AuthStatus;
|
|
|
import com.izouma.nineth.enums.AuthorityName;
|
|
import com.izouma.nineth.enums.AuthorityName;
|
|
|
|
|
+import com.izouma.nineth.exception.BusinessException;
|
|
|
|
|
+import com.izouma.nineth.repo.IdentityAuthRepo;
|
|
|
|
|
+import com.izouma.nineth.repo.UserBankCardRepo;
|
|
|
import com.izouma.nineth.repo.UserRepo;
|
|
import com.izouma.nineth.repo.UserRepo;
|
|
|
import com.izouma.nineth.security.Authority;
|
|
import com.izouma.nineth.security.Authority;
|
|
|
import com.izouma.nineth.service.storage.StorageService;
|
|
import com.izouma.nineth.service.storage.StorageService;
|
|
|
|
|
+import com.izouma.nineth.utils.BankUtils;
|
|
|
import org.apache.commons.lang3.RandomStringUtils;
|
|
import org.apache.commons.lang3.RandomStringUtils;
|
|
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
import org.junit.Test;
|
|
import org.junit.Test;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
|
@@ -24,11 +34,17 @@ import java.util.Map;
|
|
|
public class UserServiceTest extends ApplicationTests {
|
|
public class UserServiceTest extends ApplicationTests {
|
|
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private UserService userService;
|
|
|
|
|
|
|
+ private UserService userService;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private UserRepo userRepo;
|
|
|
|
|
|
|
+ private UserRepo userRepo;
|
|
|
@Autowired
|
|
@Autowired
|
|
|
- private StorageService storageService;
|
|
|
|
|
|
|
+ private StorageService storageService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private UserBankCardRepo userBankCardRepo;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private AdapayMerchantService adapayMerchantService;
|
|
|
|
|
+ @Autowired
|
|
|
|
|
+ private IdentityAuthRepo identityAuthRepo;
|
|
|
|
|
|
|
|
@Test
|
|
@Test
|
|
|
public void findByUsernameAndDelFalse1() {
|
|
public void findByUsernameAndDelFalse1() {
|
|
@@ -127,4 +143,46 @@ public class UserServiceTest extends ApplicationTests {
|
|
|
public void phoneRegister() {
|
|
public void phoneRegister() {
|
|
|
userService.phoneRegister("18100004444", "1234", "123456", null, 9972L, 206925L);
|
|
userService.phoneRegister("18100004444", "1234", "123456", null, 9972L, 206925L);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ @Test
|
|
|
|
|
+ public void addBankCard() throws BaseAdaPayException {
|
|
|
|
|
+ Long userId = 134613L;
|
|
|
|
|
+ String bankNo = "6222024301070380165";
|
|
|
|
|
+ String phone = "15077886171";
|
|
|
|
|
+ User user = userRepo.findById(userId).orElseThrow(new BusinessException("用户不存在"));
|
|
|
|
|
+ IdentityAuth identityAuth = identityAuthRepo.findFirstByUserIdAndStatusAndDelFalseOrderByCreatedAtDesc(userId, AuthStatus.SUCCESS)
|
|
|
|
|
+ .orElseThrow(new BusinessException("用户未认证"));
|
|
|
|
|
+ if (identityAuth.isOrg()) {
|
|
|
|
|
+ //throw new BusinessException("企业认证用户请绑定对公账户");
|
|
|
|
|
+ }
|
|
|
|
|
+ if (!StringUtils.isBlank(user.getSettleAccountId())) {
|
|
|
|
|
+ throw new BusinessException("此账号已绑定");
|
|
|
|
|
+ }
|
|
|
|
|
+ BankValidate bankValidate = BankUtils.validate(bankNo);
|
|
|
|
|
+ if (!bankValidate.isValidated()) {
|
|
|
|
|
+ throw new BusinessException("暂不支持此卡");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ adapayMerchantService.createMemberForAll(userId.toString(), user.getPhone(), identityAuth.getRealName(), identityAuth.getIdNo());
|
|
|
|
|
+ user.setMemberId(user.getId().toString());
|
|
|
|
|
+ userRepo.save(user);
|
|
|
|
|
+
|
|
|
|
|
+ String accountId = adapayMerchantService.createSettleAccountForAll
|
|
|
|
|
+ (user.getMemberId(), identityAuth.getRealName(),
|
|
|
|
|
+ identityAuth.getIdNo(), phone, bankNo);
|
|
|
|
|
+ user.setSettleAccountId(accountId);
|
|
|
|
|
+ userRepo.save(user);
|
|
|
|
|
+
|
|
|
|
|
+ userBankCardRepo.save(UserBankCard.builder()
|
|
|
|
|
+ .bank(bankValidate.getBank())
|
|
|
|
|
+ .bankName(bankValidate.getBankName())
|
|
|
|
|
+ .bankNo(bankNo)
|
|
|
|
|
+ .cardType(bankValidate.getCardType())
|
|
|
|
|
+ .cardTypeDesc(bankValidate.getCardTypeDesc())
|
|
|
|
|
+ .userId(userId)
|
|
|
|
|
+ .phone(phone)
|
|
|
|
|
+ .realName(identityAuth.getRealName())
|
|
|
|
|
+ .idNo(identityAuth.getIdNo())
|
|
|
|
|
+ .build());
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|