package com.zcxk.admin.service.impl; import com.zcxk.admin.dao.FacilitiesConfigAttributeMapper; import com.zcxk.admin.dao.FacilitiesConfigLabelMapper; import com.zcxk.admin.dao.FacilitiesConfigMapper; import com.zcxk.admin.dto.FacilitiesConfigDto; import com.zcxk.admin.entity.FacilitiesConfig; import com.zcxk.admin.entity.FacilitiesConfigAttribute; import com.zcxk.admin.entity.FacilitiesConfigLabel; import com.zcxk.admin.service.FacilitiesService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service public class FacilitiesServiceImpl implements FacilitiesService { @Autowired private FacilitiesConfigMapper facilitiesConfigMapper; @Autowired private FacilitiesConfigLabelMapper facilitiesConfigLabelMapper; @Autowired private FacilitiesConfigAttributeMapper facilitiesConfigAttributeMapper; @Override public List queryFacilitiesConfigList(FacilitiesConfig facilitiesConfig) { return facilitiesConfigMapper.selectList(facilitiesConfig); } @Transactional @Override public void updateFacilitiesConfig(FacilitiesConfigDto facilitiesConfigDto) { FacilitiesConfig facilitiesConfig = facilitiesConfigDto.getFacilitiesConfig(); facilitiesConfig.setBaseInfoNum(facilitiesConfigDto.getFacilitiesConfigAttributes().size()); facilitiesConfig.setLabelInfoNum(facilitiesConfigDto.getFacilitiesConfigLabels().size()); facilitiesConfigLabelMapper.deleteByfacilitiesConfigid(facilitiesConfig.getId()); facilitiesConfigAttributeMapper.deleteByfacilitiesConfigid(facilitiesConfig.getId()); facilitiesConfigMapper.updateByPrimaryKey(facilitiesConfig); addLabelAndAttribute(facilitiesConfigDto); } private void addLabelAndAttribute(FacilitiesConfigDto facilitiesConfigDto){ facilitiesConfigDto.getFacilitiesConfigAttributes().forEach(facilitiesConfigAttribute ->{ facilitiesConfigAttribute.setFacilitiesConfigId(facilitiesConfigDto.getFacilitiesConfig().getId()); facilitiesConfigAttributeMapper.insertSelective(facilitiesConfigAttribute); }); facilitiesConfigDto.getFacilitiesConfigLabels().forEach(facilitiesConfigLabel -> { facilitiesConfigLabel.setFacilitiesConfigId(facilitiesConfigDto.getFacilitiesConfig().getId()); facilitiesConfigLabelMapper.insertSelective(facilitiesConfigLabel); }); } @Transactional @Override public void addFacilitiesConfig(FacilitiesConfigDto facilitiesConfigDto) { FacilitiesConfig facilitiesConfig = facilitiesConfigDto.getFacilitiesConfig(); facilitiesConfig.setBaseInfoNum(facilitiesConfigDto.getFacilitiesConfigAttributes().size()); facilitiesConfig.setLabelInfoNum(facilitiesConfigDto.getFacilitiesConfigLabels().size()); facilitiesConfigMapper.insertSelective(facilitiesConfig); addLabelAndAttribute(facilitiesConfigDto); } @Override public void deleteFacilitiesConfig(FacilitiesConfig facilitiesConfig) { facilitiesConfigMapper.deleteByPrimaryKey(facilitiesConfig.getId()); facilitiesConfigLabelMapper.deleteByfacilitiesConfigid(facilitiesConfig.getId()); facilitiesConfigAttributeMapper.deleteByfacilitiesConfigid(facilitiesConfig.getId()); } @Override public FacilitiesConfigDto queryFacilitiesConfig(FacilitiesConfig facilitiesConfig) { facilitiesConfig = facilitiesConfigMapper.selectByPrimaryKey(facilitiesConfig.getId()); List facilitiesConfigLabels = facilitiesConfigLabelMapper.selectByfacilitiesConfigid(facilitiesConfig.getId()); List facilitiesConfigAttributes = facilitiesConfigAttributeMapper.selectByfacilitiesConfigid(facilitiesConfig.getId()); FacilitiesConfigDto facilitiesConfigDto = new FacilitiesConfigDto(); facilitiesConfigDto.setFacilitiesConfig(facilitiesConfig); facilitiesConfigDto.setFacilitiesConfigAttributes(facilitiesConfigAttributes); facilitiesConfigDto.setFacilitiesConfigLabels(facilitiesConfigLabels); return facilitiesConfigDto; } }