package com.estate.expert.admin.initdata; import com.estate.expert.admin.domain.business.sign.project.ProjectSignRecordDto; import com.estate.expert.admin.domain.business.sign.work.WorkSignRecordDto; import com.estate.expert.admin.domain.business.sign.work.WorkTimePeriod; import com.estate.expert.admin.domain.business.sign.work.WorkType; import com.estate.expert.admin.domain.common.EntityRef; import com.estate.expert.admin.initdata.common.ImportUtil; import com.estate.expert.admin.service.UserService; import com.estate.expert.admin.service.sign.ProjectSignService; import com.estate.expert.admin.service.sign.WorkSignService; import lombok.Builder; import java.time.LocalDate; import java.util.ArrayList; import java.util.List; @Builder public class ImportSignJob { private ProjectSignService projectSignService; private WorkSignService workSignService; private UserService userService; public void importProjectSign() { var signRecords = new ArrayList<>(); ImportUtil.doImport(i -> { var user = userService.get(i); ImportUtil.doImport(j -> { var startDate = LocalDate.of(2024, 5, 1); var endDate = LocalDate.of(2024, 5, 31); for(var date = startDate; date.isBefore(endDate); date = date.plusDays(1)) { var dto = ProjectSignRecordDto.builder() .location("项目签到地点_" + i + "_" + j) .gps(new Double[]{116.0, 40.0}) .creator(EntityRef.of(i)) .project(EntityRef.of(j)) .images(List.of(EntityRef.of(1))) .build(); projectSignService.add(user, dto, date.atTime(12, 0)); } }); }); } public void importWorkSign() { ImportUtil.doImport(i -> { var user = userService.get(i); var startDate = LocalDate.of(2024, 5, 1); var endDate = LocalDate.of(2024, 5, 31); for(var date = startDate; date.isBefore(endDate); date = date.plusDays(1)) { var dto = WorkSignRecordDto.builder() .location("工作签到地点_" + i) .gps(new Double[]{116.0, 40.0}) .workType(WorkType.IN) .workTimePeriod(WorkTimePeriod.ALL_DAY) .content("工作签到内容_" + i) .images(List.of(EntityRef.of(1))) .build(); workSignService.add(user, dto, date.atTime(12, 0)); } }); } }