UserRepoTest.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. package com.izouma.nineth.repo;
  2. import com.github.javafaker.Faker;
  3. import com.izouma.nineth.TokenHistory;
  4. import com.izouma.nineth.domain.RockRecord;
  5. import com.izouma.nineth.domain.User;
  6. import com.izouma.nineth.enums.AuthorityName;
  7. import com.izouma.nineth.security.Authority;
  8. import org.apache.commons.lang3.RandomStringUtils;
  9. import org.junit.Test;
  10. import org.junit.runner.RunWith;
  11. import org.springframework.beans.factory.annotation.Autowired;
  12. import org.springframework.boot.test.context.SpringBootTest;
  13. import org.springframework.security.crypto.password.PasswordEncoder;
  14. import org.springframework.test.context.junit4.SpringRunner;
  15. import java.math.BigDecimal;
  16. import java.time.LocalDate;
  17. import java.util.*;
  18. import java.util.stream.Collectors;
  19. @RunWith(SpringRunner.class)
  20. @SpringBootTest
  21. public class UserRepoTest {
  22. @Autowired
  23. private UserRepo userRepo;
  24. @Autowired
  25. private PasswordEncoder passwordEncoder;
  26. @Autowired
  27. private TokenHistoryRepo tokenHistoryRepo;
  28. @Autowired
  29. private RockRecordRepo rockRecordRepo;
  30. @Test
  31. public void testUser() {
  32. User user = User.builder()
  33. .username("testuser")
  34. .password("123")
  35. .avatar("")
  36. .build();
  37. userRepo.save(user);
  38. }
  39. @Test
  40. public void createUser() {
  41. for (int i = 0; i < 30; i++) {
  42. Faker faker = new Faker(new Locale("zh-CN"));
  43. User user = User.builder()
  44. .username("9th_" + RandomStringUtils.randomAlphabetic(8))
  45. .nickname(faker.name().fullName())
  46. .avatar(faker.avatar().image())
  47. .authorities(new HashSet<>(Arrays.asList(Authority.get(AuthorityName.ROLE_USER), Authority.get(AuthorityName.ROLE_MINTER))))
  48. .build();
  49. userRepo.save(user);
  50. }
  51. }
  52. @Test
  53. public void findAllByAuthoritiesContains() {
  54. List<User> list = userRepo.findAllByAuthoritiesContainsAndDelFalse(Authority.builder().name("ROLE_ADMIN")
  55. .build());
  56. System.out.println(list);
  57. }
  58. @Test
  59. public void test() {
  60. // System.out.println(userRepo.findById(150843L).orElse(null));
  61. LocalDate now = LocalDate.now();
  62. int dayOfWeek = now.getDayOfWeek().getValue();
  63. System.out.println(dayOfWeek);
  64. LocalDate end = now.minusDays(dayOfWeek);
  65. System.out.println(end);
  66. LocalDate start = end.minusDays(6);
  67. System.out.println(start);
  68. }
  69. @Test
  70. public void test1() {
  71. // List<Long> userIds = userRepo.findInvitorByCollectionId(3460186L, 2);
  72. // System.out.println(userIds.size());
  73. // userRepo.updateAllByInvitor(userIds);
  74. User user = userRepo.findById(9972L).orElse(null);
  75. System.out.println(passwordEncoder.matches("123456", user.getTradeCode()));
  76. }
  77. @Test
  78. public void test2() {
  79. //初始化
  80. List<TokenHistory> histories = tokenHistoryRepo.findAllByPriceIsNotNull();
  81. Map<Long, BigDecimal> rockMap = histories.stream()
  82. .collect(Collectors.groupingBy(TokenHistory::getToUserId, Collectors.reducing(BigDecimal.ZERO,
  83. TokenHistory::getPrice,
  84. BigDecimal::add)));
  85. Map<Long, User> userMap = userRepo.findAllById(rockMap.keySet())
  86. .stream()
  87. .collect(Collectors.toMap(User::getId, user -> user));
  88. rockMap.forEach((key, value) -> {
  89. User user = userMap.get(key);
  90. if (user != null) {
  91. user.setRock(value);
  92. userRepo.save(user);
  93. }
  94. rockRecordRepo.save(RockRecord.builder()
  95. .lastNum(BigDecimal.ZERO)
  96. .num(value)
  97. .operation("购买")
  98. .userId(key)
  99. .build());
  100. });
  101. }
  102. }