package com.estate.expert.admin.service.impl; import com.estate.expert.admin.domain.common.request.PageReq; import com.estate.expert.admin.domain.common.response.PageResp; import com.estate.expert.admin.domain.report.ReportTemplate; import com.estate.expert.admin.domain.report.ReportTemplateDto; import com.estate.expert.admin.domain.report.ReportTemplateRepository; import com.estate.expert.admin.domain.report.ReportTemplateType; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.service.ReportTemplateService; import com.estate.expert.admin.service.UserService; import com.estate.expert.admin.service.common.CrudServiceBaseImpl; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * 报告模板服务实现 */ @Service public class ReportTemplateServiceImpl extends CrudServiceBaseImpl implements ReportTemplateService { @Resource private ReportTemplateRepository reportTemplateRepository; @Resource private UserService userService; @Override public PageResp list(String keyword, PageReq pageReq) { var page = reportTemplateRepository.list(keyword, pageReq.toPageRequest()); return PageResp.of(page, toDto(page.getContent())); } @Override public ReportTemplate add(User creator, ReportTemplate entity) { if(entity.getConfig() == null) entity.setConfig(entity.getType().getConfig()); entity.setSubNumber("N/A"); return super.add(creator, entity); } @Override public void createDefaultTemplates() { var template = ReportTemplateDto.builder() .number("JZY-2024") // .subNumber("DSFPG-001") .name("第三方评估报告示例") .type(ReportTemplateType.ThirdPartyReport) .build(); add(userService.getSystemUser(), template); template = ReportTemplateDto.builder() .number("JZY-2024") // .subNumber("DB-001") .name("设备报告示例") .type(ReportTemplateType.DeviceReport) .build(); add(userService.getSystemUser(), template); } @Override public List getTemplate(Integer type) { return List.of(); } }