package com.estate.expert.admin.service.impl;
|
|
import com.estate.expert.admin.domain.business.client.ClientType;
|
import com.estate.expert.admin.domain.business.contract.Contract;
|
import com.estate.expert.admin.domain.business.contract.ContractDto;
|
import com.estate.expert.admin.domain.business.contract.ContractRepository;
|
import com.estate.expert.admin.domain.business.contract.ContractState;
|
import com.estate.expert.admin.domain.common.request.PageReq;
|
import com.estate.expert.admin.domain.common.response.PageResp;
|
import com.estate.expert.admin.domain.user.User;
|
import com.estate.expert.admin.service.ClientService;
|
import com.estate.expert.admin.service.ContractService;
|
import com.estate.expert.admin.service.common.CrudServiceBaseImpl;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
|
/**
|
* 合同服务实现
|
* @author ligf
|
* @Description
|
* @date 2023-09-05
|
**/
|
@Slf4j
|
@Service
|
public class ContractServiceImpl extends CrudServiceBaseImpl<Contract, ContractDto> implements ContractService {
|
|
@Resource
|
private ContractRepository contractRepository;
|
|
@Resource
|
private ClientService clientService;
|
|
@Override
|
public PageResp<ContractDto> list(String keyword, ClientType clientType, Integer creatorId, PageReq pageReq) {
|
var page = contractRepository.findContracts(keyword, clientType, creatorId,
|
pageReq.toPageRequest());
|
return PageResp.of(page, toDto(page.getContent()));
|
}
|
|
@Override
|
public Contract add(User creator, Contract entity) {
|
entity.setState(ContractState.NOT_STARTED);
|
return super.add(creator, entity);
|
}
|
|
@Override
|
public ContractDto toDto(Contract entity) {
|
var dto = super.toDto(entity);
|
dto.setClientDetail(clientService.toDto(entity.getClient()));
|
return dto;
|
}
|
}
|