package com.zteits.charge.dao.impl; import org.apache.commons.collections4.CollectionUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zteits.charge.domain.StationInfo; import com.zteits.charge.domain.StationInfoExample; import com.zteits.charge.mapper.smapper.StationInfoSMapper; import com.zteits.clouds.api.dto.charge.dto.StationConnectorInfoDTO; import com.zteits.clouds.api.dto.charge.dto.StationInfoDTO; import com.zteits.clouds.api.dto.charge.param.QueryStationInfoRequest; import com.zteits.clouds.api.dto.charge.param.StationInfoQueryRequest; import com.zteits.clouds.api.dto.charge.param.StationInfoRequest; import com.zteits.charge.dao.StationInfoDao; import com.zteits.charge.mapper.StationInfoMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import java.util.ArrayList; import java.util.Date; import java.util.List; @Component public class StationInfoDaoImpl implements StationInfoDao { @Autowired private StationInfoMapper stationInfoMapper; @Autowired private StationInfoSMapper stationInfoSMapper; @Override public int saveStationInfo(StationInfo newStationInfo) { StationInfo stationInfo = this.selectByStationId(newStationInfo.getOperatorId(), newStationInfo.getStationId()); if (stationInfo == null) { // 插入 newStationInfo.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); newStationInfo.setCreateTime(new Date()); newStationInfo.setModifyTime(new Date()); return stationInfoMapper.insertSelective(newStationInfo); } else { // 更新 newStationInfo.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); newStationInfo.setModifyTime(new Date()); newStationInfo.setId(stationInfo.getId()); return stationInfoMapper.updateByPrimaryKeySelective(newStationInfo); } } @Override public int updateByExampleSelective(StationInfo record, StationInfoExample example) { return stationInfoMapper.updateByExampleSelective(record,example); } @Override public int updateByPrimaryKeySelective(StationInfo record) { return stationInfoMapper.updateByPrimaryKeySelective(record); } @Override public List selectByExample(StationInfoExample example) { return stationInfoMapper.selectByExample(example); } @Override public StationInfo queryByPrimaryKey(Long id) { return stationInfoMapper.selectByPrimaryKey(id); } @Override public List queryStationInfo(StationInfoRequest request) { //return stationInfoSMapper.queryStationInfo(request); return null; } @Override public int batchDeleteStationInfoByPrimaryKey(List ids, String opId, String opName) { StationInfo record = new StationInfo(); record.setModifyEmpId(opId); record.setModifyEmpName(opName); record.setModifyTime(new Date()); record.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value()); StationInfoExample example = new StationInfoExample(); example.createCriteria().andIdIn(ids); return stationInfoMapper.updateByExampleSelective(record,example); } @Override public StationInfo selectByStationId(String operatorId, String stationId) { StationInfoExample example = new StationInfoExample(); example.createCriteria().andOperatorIdEqualTo(operatorId) .andStationIdEqualTo(stationId); // .andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); List stationInfos = this.selectByExample(example); if (CollectionUtils.isNotEmpty(stationInfos)) { return stationInfos.get(0); } return null; } @Override public PageInfo queryStationInfoForPage(QueryStationInfoRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List list = stationInfoSMapper.queryStationInfo(request); if (CollectionUtils.isNotEmpty(list)) { return new PageInfo<>(list); } return new PageInfo<>(new ArrayList<>()); } @Override public List queryStationInfoList(StationInfoQueryRequest request) { List list = stationInfoSMapper.queryStationInfoList(request); return list; } }