package com.estate.expert.admin.initdata; import com.estate.expert.admin.domain.business.archive.ArchiveDto; import com.estate.expert.admin.domain.business.archive.ArchiveType; import com.estate.expert.admin.domain.business.car.CarDto; import com.estate.expert.admin.domain.business.client.ClientDto; import com.estate.expert.admin.domain.business.client.ClientType; import com.estate.expert.admin.domain.business.contract.ContractDto; import com.estate.expert.admin.domain.business.device.DeviceDto; import com.estate.expert.admin.domain.business.device.DeviceType; import com.estate.expert.admin.domain.common.EntityRef; import com.estate.expert.admin.domain.user.UserDto; import com.estate.expert.admin.initdata.common.ImportUtil; import com.estate.expert.admin.service.*; import lombok.Builder; import java.io.File; import java.util.List; import java.util.TreeMap; /** * 导入业务数据 */ @Builder public class ImportBusinessJob { private RoleService roleService; private UserService userService; private UserFileService userFileService; private ClientService clientService; private ContractService contractService; private CarService carService; private DeviceService deviceService; private ReportTemplateService reportTemplateService; private ArchiveService archiveService; public void importRoles() { roleService.createDefaultRoles(); } public void importUsers() { userService.createSystemUser(); ImportUtil.doImport(i -> { var user = UserDto.builder() .name("user" + i) .mobile(String.format("138%08d", i)) .departmentPath("/0") .email(String.format("138%08d@example.com", i)) .remark("测试用户" + i) .roleId(2) // 检查人员 .build(); userService.add(userService.getSystemUser(), user); }); } public void importSampleFiles(){ var userFile = userFileService.upload(userService.getSystemUser(), new File("/Volumes/Works/管理平台/Sources/estate-expert-backend/admin-server/src/main/resources/images/sample.jpg")); var userFile2 = userFileService.upload(userService.getSystemUser(), new File("/Volumes/Works/管理平台/Sources/estate-expert-backend/admin-server/src/main/resources/data/sample_doc.docx")); var userFile3 = userFileService.upload(userService.getSystemUser(), new File("/Volumes/Works/管理平台/Sources/estate-expert-backend/admin-server/src/main/resources/data/sample_pdf.pdf")); userFileService.upload(userService.getSystemUser(), new File("/Volumes/Works/管理平台/Sources/estate-expert-backend/admin-server/src/main/resources/images/sample_1.png")); userFileService.upload(userService.getSystemUser(), new File("/Volumes/Works/管理平台/Sources/estate-expert-backend/admin-server/src/main/resources/images/sample_2.png")); } public void importArchives() { ImportUtil.doImport(i -> { var archive = ArchiveDto.builder() .file(EntityRef.of(1)) .type(ArchiveType.values()[i % 5]) .remark("测试档案" + i) .build(); archiveService.add(userService.getSystemUser(), archive); }); } public void importClients() { ImportUtil.doImport(i -> { var client = ClientDto.builder() .name("测试委托方" + i) .type(ClientType.DEVELOPER) .intention("测试意向" + i) .build(); clientService.add(userService.getSystemUser(), client); }); } public void importContracts(){ ImportUtil.doImport(i -> { var contract = ContractDto.builder() .name("NO_" + i) .client(EntityRef.of(1)) .contractFile(EntityRef.of(1)) .techServiceFile(EntityRef.of(2)) .build(); contractService.add(userService.getSystemUser(), contract); }); } public void importCars() { ImportUtil.doImport(i -> { var car = CarDto.builder() .name("车牌号" + i) .model("车辆型号" + i) .driver(EntityRef.of(i)) .initialMileage(1000 + i * 100) .departmentPath("/0") .images(List.of(EntityRef.of(1))) .build(); carService.add(userService.getSystemUser(), car); }); } public void importDevices() { for(int i = 0; i < 20; i++) { var properties = new TreeMap(); properties.put("使用单位", "使用单位" + i); properties.put("设备出厂日期", "2021-01-01"); properties.put("设备型号", "设备型号" + i); properties.put("工程起重机械生产单位", "生产单位" + i); properties.put("工程起重机械租赁单位", "租赁单位" + i); properties.put("工程起重机械维保单位", "维保单位" + i); properties.put("工程起重机械安拆单位", "安拆单位" + i); properties.put("工程起重机械设备备案登记证号", "备案证号" + i); properties.put("设备备案登记日期", "2021-01-01"); properties.put("备案机构", "备案机构" + i); properties.put("设备备案登记有效期", "2021-01-01"); properties.put("设备使用登记证号", "使用证号" + i); properties.put("使用登记日期", "2021-01-01"); properties.put("使用登记机构", "使用登记机构" + i); properties.put("使用登记有效期截止日期", "2021-01-01"); properties.put("初装高度", "100" + i); properties.put("最大安装高度", "200" + i); properties.put("最终安装高度", "300" + i); properties.put("验收日期", "2021-01-01"); properties.put("安拆人员证件号", "安拆证号" + i); var device = DeviceDto.builder() .type(DeviceType.values()[i % 10]) .name("设备编号" + i) .manufacturerNumber("NO_" + i) .properties(properties) .build(); deviceService.add(userService.getSystemUser(), device); } } public void importReportTemplates(){ reportTemplateService.createDefaultTemplates(); } }