package com.cirle.scientific;

import com.cirle.scientific.pojo.Result;
import com.cirle.scientific.utils.DatePatternConst;
import com.cirle.scientific.utils.LocalDateTimeUtil;
import lombok.extern.slf4j.Slf4j;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@Slf4j
public class UserServiceTest{
//
//    @Autowired
//    UserService userService;
//
//    @Autowired
//    MemberDao memberDao;
//
//    @org.junit.Test
//    public void a() throws InterruptedException {
//        Result result = userService.findUserStudyRecordWeb("3be65b6d4a654809862a25ca36c3680f",1,15);
//        System.out.println("result:" + result);
//    }
//
//    @org.junit.Test
//    public void b() throws InterruptedException {
//        Result result = userService.findUserStudyRecord("3be65b6d4a654809862a25ca36c3680f",1,15);
//        System.out.println("result:" + result);
//    }
//
//    @org.junit.Test
//    public void c() throws InterruptedException {
//        Result result = userService.findUserAttestInfo("bf5d9756ee874004ac02e80ae6a4880d");
//        System.out.println("result:" + result);
//    }
//    @org.junit.Test
//    public void d() throws InterruptedException {
//        LocalDateTime now = LocalDateTime.now();
//
//        LocalDateTime startOfDay = LocalDateTimeUtil.withTimeAtStartOfDay(now);
//        LocalDateTime endOfDay = LocalDateTimeUtil.withTimeAtEndOfDay(now);
//        Long maxUserId = memberDao.getMaxUserId(startOfDay, endOfDay);
//        System.out.println("result:" + maxUserId);
//    }
//
//    @org.junit.Test
//    public void e() throws InterruptedException {
//
//        LocalDateTime of = LocalDateTime.of(2022, 11, 1, 0, 0, 0);
//
//        for (int i = 0; i < 31; i++) {
//            //查出11月的所有人的注册数据
//
//            LocalDateTime startOfDay = LocalDateTimeUtil.withTimeAtStartOfDay(of);
//            LocalDateTime endOfDay = LocalDateTimeUtil.withTimeAtEndOfDay(of);
//            List<QkjMember> qkjMembers = memberDao.listByRegisterTime(startOfDay, endOfDay);
//            List<QkjMember> collect = qkjMembers.stream().sorted(Comparator.comparing(QkjMember::getMemRegisterTime)).collect(Collectors.toList());
//            collect.forEach(e ->{
//                LocalDateTime time = LocalDateTimeUtil.getByCalendar(e.getMemRegisterTime());
//                Long userId = generateUserId(time);
//                e.setUserId(userId);
//                log.info("userid=====:{}",userId);
//                memberDao.save(e);
//            });
//            System.out.println("result:" + collect);
//
//            of = of.plusDays(1);
//        }
//
//    }
//
//    private Long generateUserId(LocalDateTime memRegisterTime) {
//        //先得到当前的ID生成到啥 程度了
//        //先判断是否是当天第一个注册的是的话 ID为1
//        LocalDateTime startOfDay = LocalDateTimeUtil.withTimeAtStartOfDay(memRegisterTime);
//        LocalDateTime endOfDay = LocalDateTimeUtil.withTimeAtEndOfDay(memRegisterTime);
//        Long maxUserIdOld = memberDao.getMaxUserId(startOfDay, endOfDay);
//        if (Objects.isNull(maxUserIdOld)) {
//            LocalDate nowData = memRegisterTime.toLocalDate();
//            String dateAsString = LocalDateTimeUtil.getDateAsString(nowData, DatePatternConst.DATE_STAMP_TWO);
//            dateAsString = dateAsString + "00001";
//            maxUserIdOld = Long.valueOf(dateAsString);
//        } else {
//            maxUserIdOld = maxUserIdOld + 1;
//        }
//        return maxUserIdOld;
//    }


}
