UserServiceTest.java 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190
  1. package com.izouma.nineth.service;
  2. import com.huifu.adapay.core.exception.BaseAdaPayException;
  3. import com.izouma.nineth.ApplicationTests;
  4. import com.izouma.nineth.config.Constants;
  5. import com.izouma.nineth.domain.IdentityAuth;
  6. import com.izouma.nineth.domain.User;
  7. import com.izouma.nineth.dto.BankValidate;
  8. import com.izouma.nineth.dto.PageQuery;
  9. import com.izouma.nineth.dto.UserBankCard;
  10. import com.izouma.nineth.dto.UserRegister;
  11. import com.izouma.nineth.enums.AuthStatus;
  12. import com.izouma.nineth.exception.BusinessException;
  13. import com.izouma.nineth.repo.IdentityAuthRepo;
  14. import com.izouma.nineth.repo.UserBankCardRepo;
  15. import com.izouma.nineth.repo.UserRepo;
  16. import com.izouma.nineth.service.storage.StorageService;
  17. import com.izouma.nineth.utils.BankUtils;
  18. import org.apache.commons.lang3.StringUtils;
  19. import org.junit.Test;
  20. import org.springframework.beans.factory.annotation.Autowired;
  21. import java.io.IOException;
  22. import java.util.List;
  23. import java.util.Map;
  24. import java.util.regex.Pattern;
  25. public class UserServiceTest extends ApplicationTests {
  26. @Autowired
  27. private UserService userService;
  28. @Autowired
  29. private UserRepo userRepo;
  30. @Autowired
  31. private StorageService storageService;
  32. @Autowired
  33. private UserBankCardRepo userBankCardRepo;
  34. @Autowired
  35. private AdapayMerchantService adapayMerchantService;
  36. @Autowired
  37. private IdentityAuthRepo identityAuthRepo;
  38. @Test
  39. public void findByUsernameAndDelFalse1() {
  40. }
  41. @Test
  42. public void searchByPhone() {
  43. System.out.println(userService.searchByPhone("15077886171"));
  44. }
  45. @Test
  46. public void register() throws IOException {
  47. try {
  48. User user = userService.create(UserRegister.builder()
  49. .username("1111fff1g1rertuiohejldknhgurphoj")
  50. .nickname("1111fff1g1rertuiohejldknhgurphoj")
  51. .avatar(Constants.DEFAULT_AVATAR)
  52. .phone("15077886171")
  53. .build());
  54. System.out.println(user.getId());
  55. } catch (Exception e) {
  56. if (Pattern.matches(".*SQL.*constraint.*phone.*", e.getMessage())) {
  57. System.out.println("手机号已注册");
  58. }
  59. if (Pattern.matches(".*SQL.*constraint.*username.*", e.getMessage())) {
  60. System.out.println("用户名已存在");
  61. }
  62. e.printStackTrace();
  63. }
  64. }
  65. @Test
  66. public void batchRegister() {
  67. userService.batchRegister("13226246698\n" +
  68. "13793310531\n" +
  69. "13358006613\n" +
  70. "18898406893\n" +
  71. "17615876370\n" +
  72. "13267002685\n" +
  73. "15888548080\n" +
  74. "13678662069\n" +
  75. "15659009359\n" +
  76. "13011776866\n" +
  77. "18810668532\n" +
  78. "13543322894\n" +
  79. "13589360750\n" +
  80. "18582589484\n" +
  81. "15194185209\n" +
  82. "15063692500\n" +
  83. "13605489618\n" +
  84. "18069783568\n" +
  85. "15801815684\n" +
  86. "13285413859\n" +
  87. "13688419164\n" +
  88. "15979115671\n" +
  89. "13799940755\n" +
  90. "18301015323", "123456");
  91. }
  92. @Test
  93. public void test() {
  94. PageQuery pageQuery = new PageQuery();
  95. Map<String, Object> query = pageQuery.getQuery();
  96. query.put("inviteCode", "JL21FF");
  97. pageQuery.setSize(5000);
  98. List<User> phone = userService.all(pageQuery)
  99. .getContent();
  100. phone.forEach(user -> System.out.println(user.getPhone() + ":" + user.getCreatedAt()));
  101. // 2022-01-14T15:53:58 504 第一次查询
  102. phone.forEach(user -> System.out.print(user.getPhone() + " "));
  103. }
  104. @Test
  105. public void switchAccount() {
  106. userService.checkSettleAccount();
  107. }
  108. @Test
  109. public void phoneRegister() {
  110. userService.phoneRegister("18100004444", "1234", "123456", null, 9972L, 206925L);
  111. }
  112. @Test
  113. public void addBankCard() throws BaseAdaPayException {
  114. Long userId = 134613L;
  115. String bankNo = "6222024301070380165";
  116. String phone = "15077886171";
  117. User user = userRepo.findById(userId).orElseThrow(new BusinessException("用户不存在"));
  118. IdentityAuth identityAuth = identityAuthRepo.findFirstByUserIdAndStatusAndDelFalseOrderByCreatedAtDesc(userId, AuthStatus.SUCCESS)
  119. .orElseThrow(new BusinessException("用户未认证"));
  120. if (identityAuth.isOrg()) {
  121. //throw new BusinessException("企业认证用户请绑定对公账户");
  122. }
  123. if (!StringUtils.isBlank(user.getSettleAccountId())) {
  124. throw new BusinessException("此账号已绑定");
  125. }
  126. BankValidate bankValidate = BankUtils.validate(bankNo);
  127. if (!bankValidate.isValidated()) {
  128. throw new BusinessException("暂不支持此卡");
  129. }
  130. adapayMerchantService.createMemberForAll(userId.toString(), user.getPhone(), identityAuth.getRealName(), identityAuth.getIdNo());
  131. user.setMemberId(user.getId().toString());
  132. userRepo.save(user);
  133. String accountId = adapayMerchantService.createSettleAccountForAll
  134. (user.getMemberId(), identityAuth.getRealName(),
  135. identityAuth.getIdNo(), phone, bankNo);
  136. user.setSettleAccountId(accountId);
  137. userRepo.save(user);
  138. userBankCardRepo.save(UserBankCard.builder()
  139. .bank(bankValidate.getBank())
  140. .bankName(bankValidate.getBankName())
  141. .bankNo(bankNo)
  142. .cardType(bankValidate.getCardType())
  143. .cardTypeDesc(bankValidate.getCardTypeDesc())
  144. .userId(userId)
  145. .phone(phone)
  146. .realName(identityAuth.getRealName())
  147. .idNo(identityAuth.getIdNo())
  148. .build());
  149. }
  150. @Test
  151. public void removeBank() throws BaseAdaPayException {
  152. Long[] arr = {2577842L, 1440523L, 2775597L, 2766468L, 2686690L, 2747709L,
  153. 2804878L, 1737822L, 1692606L, 1690986L, 12895L, 2768872L,
  154. 2758319L, 1722623L, 2767026L, 2742354L, 2772909L, 2813187L,
  155. 2592513L, 1245862L, 2581606L, 2775941L, 1649287L, 2764550L,
  156. 2660763L, 2609032L, 2777065L, 2589915L, 2810643L, 3114342L,
  157. 2897490L, 2579233L, 2728905L, 3064530L, 3261900L, 1634473L,
  158. 2798840L, 3146142L, 2872925L, 3309420L, 3618828L, 2786593L,
  159. 3337840L, 3253588L, 2745257L, 3454559L, 3474642L, 3468716L,
  160. 3363882L, 2685228L, 3088476L, 2900428L, 2705763L, 2687527L,
  161. 2787733L, 2737842L, 3324792L, 3147077L, 3145577L, 3142936L,
  162. 3385528L, 2888036L, 3366975L, 2842334L, 2864480L, 3277214L,
  163. 3260809L, 2867983L, 3246561L, 3472246L, 3302523L, 2882982L,
  164. 3150301L, 2782692L, 3082410L, 3043665L, 3448907L, 3421038L,
  165. 3371851L, 3225869L, 3087358L, 3463444L, 3478718L, 3434422L,
  166. 2784575L, 2622956L, 2700225L, 1635188L, 2715660L, 620172L,
  167. 3418309L, 3476261L, 2597211L, 3293018L, 3261495L, 3443258L
  168. };
  169. for (Long aLong : arr) {
  170. userService.removeBankCard(aLong);
  171. }
  172. }
  173. }