package com.newfiber.termite.service.impl; import com.newfiber.common.core.exception.ServiceException; import com.newfiber.common.core.web.domain.BaseEntity; import com.newfiber.common.core.web.service.BaseServiceImpl; import com.newfiber.termite.domain.ProjectInfo; import com.newfiber.termite.domain.request.ProjectInfoQueryRequest; import com.newfiber.termite.domain.request.ProjectInfoSaveRequest; import com.newfiber.termite.domain.request.ProjectInfoUpdateRequest; import com.newfiber.termite.mapper.ProjectInfoMapper; import com.newfiber.termite.service.IProjectInfoService; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.List; import java.util.Optional; @Service public class ProjectInfoServiceImpl extends BaseServiceImpl<ProjectInfoMapper, ProjectInfo> implements IProjectInfoService { @Resource private ProjectInfoMapper projectInfoMapper; @Override public long insert(ProjectInfoSaveRequest request) { ProjectInfo ProjectInfo = new ProjectInfo(); BeanUtils.copyProperties(request, ProjectInfo); save(ProjectInfo); return Optional.of(ProjectInfo).map(BaseEntity::getId).orElse(0L); } @Override public boolean update(ProjectInfoUpdateRequest request) { ProjectInfo ProjectInfo = new ProjectInfo(); BeanUtils.copyProperties(request, ProjectInfo); return updateById(ProjectInfo); } @Override @Transactional(rollbackFor = Exception.class) public boolean delete(String ids) { return deleteLogic(ids); } @Override public ProjectInfo selectDetail(Long id) { ProjectInfo ProjectInfo = projectInfoMapper.selectById(id); if(null == ProjectInfo){ throw new ServiceException(String.format("%s ID=%s 的记录不存在", this.getClass().getSimpleName(), id)); } return ProjectInfo; } @Override public List<ProjectInfo> selectPage(ProjectInfoQueryRequest request) { return projectInfoMapper.selectByCondition(request); } @Override public List<ProjectInfo> selectList(ProjectInfoQueryRequest request) { return projectInfoMapper.selectByCondition(request); } @Override public List<ProjectInfo> getUploadApi(String sn){ return projectInfoMapper.selectUploadApiBySn(sn); } }