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.standard.measure.MeasureRule; import com.estate.expert.admin.domain.standard.model.Model; import com.estate.expert.admin.domain.standard.model.measure.MeasureModel; import com.estate.expert.admin.domain.standard.model.measure.MeasureModelDto; import com.estate.expert.admin.domain.standard.model.measure.MeasureModelRepository; import com.estate.expert.admin.domain.user.User; import com.estate.expert.admin.service.UserService; import com.estate.expert.admin.service.common.CrudServiceBaseImpl; import com.estate.expert.admin.service.model.MeasureModelService; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * 实测实量模型服务实现 */ @Service public class MeasureModelServiceImpl extends CrudServiceBaseImpl implements MeasureModelService { @Resource private MeasureModelRepository repository; @Resource private UserService userService; @Override public PageResp list(String keyword, PageReq pageReq) { var page = repository.findAllByKeyword(keyword, pageReq.toPageRequest()); return PageResp.of(page, toDto(page.getContent())); } @Override public MeasureModel getDefaultModel() { return repository.findByName("默认实测实量模型"); } @Override public MeasureModel add(User creator, MeasureModel entity) { entity.setVersion(0); return super.add(creator, entity); } @Override public void createDefaultModel() { var model = getDefaultModel(); if (model != null) { return; } var modelDto = MeasureModelDto.builder() .name("默认实测实量模型") .description("详细说明") .version(0) .build(); add(userService.getSystemUser(), modelDto); } @Override public List listRules(Model model) { return List.of(); } }