package com.zteits.park.dao.impl; import java.util.Arrays; import java.util.Date; import java.util.List; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.dto.park.param.ParkIllegalAreaBaseRequest; import com.zteits.clouds.api.dto.pay.account.dto.AccountInOutDetailForPageDTO; import com.zteits.park.dao.ParkIllegalAreaBaseDao; import com.zteits.park.domain.ParkIllegalAreaBase; import com.zteits.park.domain.ParkIllegalAreaBaseExample; import com.zteits.park.domain.ParkIllegalAreaBaseExample.Criteria; import com.zteits.park.domain.ParkIllegalAreaRel; import com.zteits.park.domain.ParkIllegalAreaRelExample; import com.zteits.park.mapper.ParkIllegalAreaBaseMapper; import com.zteits.park.mapper.ParkIllegalAreaRelMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import static java.util.stream.Collectors.toList; @Component public class ParkIllegalAreaBaseDaoImpl implements ParkIllegalAreaBaseDao { @Autowired private ParkIllegalAreaBaseMapper parkIllegalAreaBaseMapper; @Autowired private ParkIllegalAreaRelMapper parkIllegalAreaRelMapper; @Override public int deleteParkIllegalAreaBaseByPrimaryKey(Long id, String opId, String opName) { ParkIllegalAreaBase record = new ParkIllegalAreaBase(); record.setId(id); record.setModifyOp(Long.parseLong(opId)); record.setModifyTime(new Date()); record.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value()); return parkIllegalAreaBaseMapper.updateByPrimaryKeySelective(record); } @Override public int saveParkIllegalAreaBase(ParkIllegalAreaBase parkIllegalAreaBase) { if (parkIllegalAreaBase.getCreateTime() == null) { parkIllegalAreaBase.setCreateTime(new Date()); } if (parkIllegalAreaBase.getModifyTime() == null) { parkIllegalAreaBase.setModifyTime(new Date()); } parkIllegalAreaBase.setDataState(DataStatusEnum.DATA_STATUS_VALID.value()); return parkIllegalAreaBaseMapper.insertSelective(parkIllegalAreaBase); } @Override public int updateByExampleSelective(ParkIllegalAreaBase record, ParkIllegalAreaBaseExample example) { return parkIllegalAreaBaseMapper.updateByExampleSelective(record, example); } @Override public int updateByPrimaryKeySelective(ParkIllegalAreaBase record) { return parkIllegalAreaBaseMapper.updateByPrimaryKeySelective(record); } @Override public List selectByExample(ParkIllegalAreaBaseExample example) { return parkIllegalAreaBaseMapper.selectByExample(example); } @Override public ParkIllegalAreaBase queryByPrimaryKey(Long id) { return parkIllegalAreaBaseMapper.selectByPrimaryKey(id); } @Override public List queryParkIllegalAreaBase(ParkIllegalAreaBaseRequest request) { ParkIllegalAreaBaseExample example = new ParkIllegalAreaBaseExample(); Criteria sql = example.createCriteria(); sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()).andOrgIdEqualTo(request.getOrgId()); if (CollectionUtils.isNotEmpty(request.getPlNos())) { ParkIllegalAreaRelExample parkIllegalAreaRelExample = new ParkIllegalAreaRelExample(); parkIllegalAreaRelExample.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()) .andPlNoIn(request.getPlNos()); parkIllegalAreaRelExample.setOrderByClause("modify_time desc,id desc "); List rels = parkIllegalAreaRelMapper.selectByExample(parkIllegalAreaRelExample); List baseIds = Arrays.asList(-1L); if (CollectionUtils.isNotEmpty(rels)) { baseIds = rels.parallelStream().map(a -> a.getParkIllegalBaseId()).collect(toList()); } sql.andIdIn(baseIds); } if (StringUtils.isNotEmpty(request.getRoadNo())) { sql.andRoadNoEqualTo( request.getRoadNo() ); } if (StringUtils.isNotEmpty(request.getRoadName())) { sql.andRoadNameLike("%" + request.getRoadName() + "%"); } return parkIllegalAreaBaseMapper.selectByExample(example); } @Override public int batchDeleteParkIllegalAreaBaseByPrimaryKey(List ids, String opId, String opName) { ParkIllegalAreaBase record = new ParkIllegalAreaBase(); record.setModifyOp(Long.parseLong(opId)); record.setModifyTime(new Date()); //where条件 ParkIllegalAreaBaseExample example = new ParkIllegalAreaBaseExample(); example.createCriteria().andIdIn(ids); return parkIllegalAreaBaseMapper.updateByExampleSelective(record, example); } @Override public PageInfo queryParkIllegalAreaBaseForPage(ParkIllegalAreaBaseRequest request) { ParkIllegalAreaBaseExample example = new ParkIllegalAreaBaseExample(); Criteria sql = example.createCriteria(); sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()).andOrgIdEqualTo(request.getOrgId()); if (CollectionUtils.isNotEmpty(request.getPlNos())) { ParkIllegalAreaRelExample parkIllegalAreaRelExample = new ParkIllegalAreaRelExample(); parkIllegalAreaRelExample.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()) .andPlNoIn(request.getPlNos()); parkIllegalAreaRelExample.setOrderByClause("modify_time desc,id desc "); List rels = parkIllegalAreaRelMapper.selectByExample(parkIllegalAreaRelExample); List baseIds = Arrays.asList(-1L); if (CollectionUtils.isNotEmpty(rels)) { baseIds = rels.parallelStream().map(a -> a.getId()).collect(toList()); } sql.andIdIn(baseIds); } if (StringUtils.isNotEmpty(request.getRoadName())) { sql.andRoadNameLike("%" + request.getRoadName() + "%"); } PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List parkIllegalAreaBases = parkIllegalAreaBaseMapper.selectByExample(example); PageInfo pageInfo = new PageInfo<>(parkIllegalAreaBases); if(pageInfo.getPages()(parkIllegalAreaBases); } }