package com.zteits.park.dao.impl; import com.zteits.clouds.api.dto.park.param.DecreaseFreeBerthEnclosedRequest; import com.zteits.clouds.api.dto.park.param.IncreaseFreeBerthEnclosedRequest; import com.zteits.clouds.api.dto.park.param.UpdateFreeBerthEnclosedRequest; import com.zteits.clouds.api.dto.park.param.ViewFreeBerthEnclosedRequest; import com.zteits.clouds.api.dto.park.param.closecarpark.QueryParkListRequest; import com.zteits.park.dao.ParkingLotEnclosedDao; import com.zteits.park.domain.ParkingLotEnclosed; import com.zteits.park.domain.ParkingLotEnclosedExample; import com.zteits.park.mapper.ParkingLotEnclosedMapper; import com.zteits.park.mapper.smapper.ParkingLotEnclosedSMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import java.util.Date; import java.util.List; /** * 封闭车场扩展信息表 * @author zegnqc * @Date: 2021-02-08 */ @Component public class ParkingLotEnclosedDaoImpl implements ParkingLotEnclosedDao { @Autowired private ParkingLotEnclosedMapper parkingLotEnclosedMapper; @Autowired private ParkingLotEnclosedSMapper parkingLotEnclosedSMapper; /** * 根据停车场编号获取对应的封闭车场的扩展信息 * * @param plNo 停车场编号 * @return 车场扩展信息 */ @Override public ParkingLotEnclosed selectByPlNo(String plNo) { ParkingLotEnclosedExample example = new ParkingLotEnclosedExample(); example.createCriteria() .andPlNoEqualTo(plNo); List parkingLotEnclosedList = parkingLotEnclosedMapper.selectByExample(example); if(parkingLotEnclosedList != null && parkingLotEnclosedList.size() > 0){ return parkingLotEnclosedList.get(0); } return null; } /** * 根据停车场编号删除 * * @param plNo */ @Override public int deleteParkingLotEnclosedByPlNo(String plNo) { ParkingLotEnclosedExample example = new ParkingLotEnclosedExample(); example.createCriteria() .andPlNoEqualTo(plNo); return this.parkingLotEnclosedMapper.deleteByExample(example); } /** * 新增封闭车场扩展信息 * * @param entity */ @Override public void saveParkingLotEnclosed(ParkingLotEnclosed entity) { this.parkingLotEnclosedMapper.insert(entity); } @Override public int updateFreeBerthEnclosed(UpdateFreeBerthEnclosedRequest request) { ParkingLotEnclosedExample example = new ParkingLotEnclosedExample(); example.createCriteria().andPlNoEqualTo(request.getPlNo()); ParkingLotEnclosed record = new ParkingLotEnclosed(); record.setFreeBerth(request.getFreeBerth()); record.setModifyTime(new Date()); return parkingLotEnclosedMapper.updateByExampleSelective(record,example); } @Override public int viewFreeBerthEnclosed(ViewFreeBerthEnclosedRequest request) { ParkingLotEnclosedExample example = new ParkingLotEnclosedExample(); example.createCriteria().andPlNoEqualTo(request.getPlNo()); List list = parkingLotEnclosedMapper.selectByExample(example); int count = list.get(0).getFreeBerth(); return count; } @Override public List selectFreeBerthNo(QueryParkListRequest request) { ParkingLotEnclosedExample example = new ParkingLotEnclosedExample(); ParkingLotEnclosedExample.Criteria sql = example.createCriteria(); if(!StringUtils.isEmpty(request.getParkCode())){ sql.andPlNoEqualTo(request.getParkCode()); } List list = parkingLotEnclosedMapper.selectByExample(example); return list; } @Override public int decreaseFreeBerthEnclosed(DecreaseFreeBerthEnclosedRequest request) { int count = parkingLotEnclosedSMapper.decreaseFreeBerthEnclosed(request); return count; } @Override public int increaseFreeBerthEnclosed(IncreaseFreeBerthEnclosedRequest request) { int count = parkingLotEnclosedSMapper.increaseFreeBerthEnclosed(request); return count; } }