package com.izouma.nineth.repo; import com.github.javafaker.Faker; import com.izouma.nineth.TokenHistory; import com.izouma.nineth.domain.RockRecord; import com.izouma.nineth.domain.User; import com.izouma.nineth.enums.AuthorityName; import com.izouma.nineth.security.Authority; import org.apache.commons.lang3.RandomStringUtils; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.test.context.junit4.SpringRunner; import java.math.BigDecimal; import java.time.LocalDate; import java.util.*; import java.util.stream.Collectors; @RunWith(SpringRunner.class) @SpringBootTest public class UserRepoTest { @Autowired private UserRepo userRepo; @Autowired private PasswordEncoder passwordEncoder; @Autowired private TokenHistoryRepo tokenHistoryRepo; @Autowired private RockRecordRepo rockRecordRepo; @Test public void testUser() { User user = User.builder() .username("testuser") .password("123") .avatar("") .build(); userRepo.save(user); } @Test public void createUser() { for (int i = 0; i < 30; i++) { Faker faker = new Faker(new Locale("zh-CN")); User user = User.builder() .username("9th_" + RandomStringUtils.randomAlphabetic(8)) .nickname(faker.name().fullName()) .avatar(faker.avatar().image()) .authorities(new HashSet<>(Arrays.asList(Authority.get(AuthorityName.ROLE_USER), Authority.get(AuthorityName.ROLE_MINTER)))) .build(); userRepo.save(user); } } @Test public void findAllByAuthoritiesContains() { List list = userRepo.findAllByAuthoritiesContainsAndDelFalse(Authority.builder().name("ROLE_ADMIN") .build()); System.out.println(list); } @Test public void test() { // System.out.println(userRepo.findById(150843L).orElse(null)); LocalDate now = LocalDate.now(); int dayOfWeek = now.getDayOfWeek().getValue(); System.out.println(dayOfWeek); LocalDate end = now.minusDays(dayOfWeek); System.out.println(end); LocalDate start = end.minusDays(6); System.out.println(start); } @Test public void test1() { // List userIds = userRepo.findInvitorByCollectionId(3460186L, 2); // System.out.println(userIds.size()); // userRepo.updateAllByInvitor(userIds); User user = userRepo.findById(9972L).orElse(null); System.out.println(passwordEncoder.matches("123456", user.getTradeCode())); } @Test public void test2() { //初始化 List histories = tokenHistoryRepo.findAllByPriceIsNotNull(); Map rockMap = histories.stream() .collect(Collectors.groupingBy(TokenHistory::getToUserId, Collectors.reducing(BigDecimal.ZERO, TokenHistory::getPrice, BigDecimal::add))); Map userMap = userRepo.findAllById(rockMap.keySet()) .stream() .collect(Collectors.toMap(User::getId, user -> user)); rockMap.forEach((key, value) -> { User user = userMap.get(key); if (user != null) { user.setRock(value); userRepo.save(user); } rockRecordRepo.save(RockRecord.builder() .lastNum(BigDecimal.ZERO) .num(value) .operation("购买") .userId(key) .build()); }); } }