package com.zteits.park.dao.impl; import com.zteits.clouds.api.dto.park.dto.AllConfigDTO; import com.zteits.clouds.api.dto.park.dto.ConfigDTO; import com.zteits.clouds.api.dto.park.dto.ConfigPlNoDTO; import com.zteits.clouds.api.dto.park.param.closecarpark.*; import com.zteits.park.dao.ParkingRuleConfigurationDao; import com.zteits.park.domain.EnclosedParkingLotConfig; import com.zteits.park.domain.EnclosedParkingLotConfigExample; import com.zteits.park.mapper.EnclosedParkingLotConfigMapper; import com.zteits.park.mapper.smapper.EnclosedParkingLotConfigSMapper; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.math.NumberUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; import java.util.Optional; @Component public class ParkingRuleConfigurationDaoImpl implements ParkingRuleConfigurationDao { private static final Logger logger = LoggerFactory.getLogger(ParkingRuleConfigurationDaoImpl.class); @Autowired private EnclosedParkingLotConfigMapper enclosedParkingLotConfigMapper; @Autowired private EnclosedParkingLotConfigSMapper enclosedParkingLotConfigSMapper; /** * 每一页大小. */ private static final Integer PAGE_SIZE = 500; @Override public int insertSelective(EnclosedParkingLotConfig record) { if (record == null) { return 0; } return enclosedParkingLotConfigMapper.insertSelective(record); } @Override public int updateSelective(EnclosedParkingLotConfig record) { if (record == null) { return 0; } return enclosedParkingLotConfigMapper.updateByPrimaryKeySelective(record); } @Override public List viewSelective(EnclosedParkingLotConfig record) { if (record == null) { return new ArrayList<>(); } EnclosedParkingLotConfigExample example = new EnclosedParkingLotConfigExample(); example.createCriteria().andPlNoEqualTo(record.getPlNo()); return enclosedParkingLotConfigMapper.selectByExample(example); } @Override public List queryOutparkDurationTime(EnclosedParkingLotConfig record) { if (record == null) { return new ArrayList<>(); } EnclosedParkingLotConfigExample example = new EnclosedParkingLotConfigExample(); example.createCriteria().andPlNoEqualTo(record.getPlNo()).andConfigTypeEqualTo(record.getConfigType()); List list = enclosedParkingLotConfigMapper.selectByExample(example); return list; } @Override public List queryAllRuleConfiguration(QueryAllRuleConfigurationRequest request) { if (request == null) { return new ArrayList<>(); } List dtoList = enclosedParkingLotConfigSMapper.queryAllRuleConfiguration(request); return dtoList; } @Override public int updateAllRuleConfiguration(UpdateAllRuleConfigurationRequest request) { if (request == null) { return 0; } int flag = 0; for (int i = 0;i queryParkRuleList(QueryParkRuleConfigurationRequest request) { if (request == null) { return new ArrayList<>(); } List dtoList = enclosedParkingLotConfigSMapper.queryParkRuleList(request); return dtoList; } @Override public List queryPlNoRuleList(QueryParkRuleConfigurationRequest request) { if (request == null) { return new ArrayList<>(); } List dtoList = enclosedParkingLotConfigSMapper.queryPlNoRuleList(request); return dtoList; } @Override public int delParkRuleConfiguration(SaveParkRuleConfigurationRequest request) { if (request == null) { return 0; } EnclosedParkingLotConfigExample example = new EnclosedParkingLotConfigExample(); example.createCriteria().andPlNoEqualTo(request.getPlNo()); return enclosedParkingLotConfigMapper.deleteByExample(example); } @Override public int saveParkRuleConfiguration(SaveParkRuleConfigurationRequest request) { if (request == null) { return 0; } int flag = 0; for (int i = 0;i list = enclosedParkingLotConfigMapper.selectByExample(example); EnclosedParkingLotConfig config = list.size() > 0 ? list.get(0) : null; String configValue = Optional.ofNullable(config).map(EnclosedParkingLotConfig::getConfigValue).orElse(null); int flag = 0; if(!StringUtils.isEmpty(configValue)){ // 特殊车辆是否自动入0 否 1是 flag = NumberUtils.toInt(configValue, 0); } /* if(!StringUtils.isEmpty(list.get(0).getConfigValue())){ flag = Integer.parseInt(list.get(0).getConfigValue()); }*/ logger.info("停车场{}, 特殊车是否自动放行{}, 获取的配置为{}",request, flag, list); return flag; } }