package com.zteits.pay.dao.impl; import com.clouds.common.constants.pagequery.PageSizeEnum; import com.clouds.common.utils.page.PageUtil; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.dto.pay.dto.CustomerCarInfoDTO; import com.zteits.clouds.api.dto.pay.dto.CustomerInfoDTO; import com.zteits.clouds.api.dto.pay.param.CheckCustomerCarInfoRequest; import com.zteits.clouds.api.dto.pay.param.CustomerCarInfoRequest; import com.zteits.pay.dao.CustomerCarInfoDao; import com.zteits.pay.domain.TdClCustomerCarInfo; import com.zteits.pay.domain.TdClCustomerCarInfoExample; import com.zteits.pay.mapper.TdClCustomerCarInfoMapper; import com.zteits.pay.mapper.smapper.TdClCustomerCarInfoSMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.List; @Component public class CustomerCarInfoDaoImpl implements CustomerCarInfoDao { @Autowired private TdClCustomerCarInfoMapper tdClCustomerCarInfoMapper; @Autowired private TdClCustomerCarInfoSMapper tdClCustomerCarInfoSMapper; @Override public PageInfo queryCustomerCarInfo(CustomerCarInfoRequest request) { List dtoList = new ArrayList<>(); TdClCustomerCarInfoExample example = new TdClCustomerCarInfoExample(); TdClCustomerCarInfoExample.Criteria sql = example.createCriteria(); if(!StringUtils.isEmpty(request.getCustomerNo())){ sql.andCustomerNoEqualTo(request.getCustomerNo()); } if(!StringUtils.isEmpty(request.getCustomerName())){ sql.andCustomerNameLike("%"+request.getCustomerName()+"%"); } if(!StringUtils.isEmpty(request.getCarNo())){ sql.andCarNoLike("%"+request.getCarNo()+"%"); } sql.andDataStatusEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); // 1.设置分页信息 PageUtil.pageSizeValidate(PageSizeEnum.PAGE_SIZE_BASE,request); PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); // List customerCarInfoList = tdClCustomerCarInfoMapper.selectByExample(example); // ListCopyUtil.listCopyProperties(customerCarInfoList,dtoList, CustomerCarInfoDTO.class); List dto = tdClCustomerCarInfoMapper.selectDtoByExample(example); return new PageInfo<>(dto); } @Override public int insertSelective(TdClCustomerCarInfo record) { if (record == null) { return 0; } if (record.getDataStatus() == null) { record.setDataStatus(DataStatusEnum.DATA_STATUS_NO_VALID.value()); } return tdClCustomerCarInfoMapper.insertSelective(record); } @Override public int updateSelective(TdClCustomerCarInfo record) { if (record == null) { return 0; } if (record.getDataStatus() == null) { record.setDataStatus(DataStatusEnum.DATA_STATUS_NO_VALID.value()); } return tdClCustomerCarInfoMapper.updateByPrimaryKeySelective(record); } @Override public int deleteCustomerCarInfo(TdClCustomerCarInfo record) { if (record == null) { return 0; } if (record.getDataStatus() == null) { record.setDataStatus(DataStatusEnum.DATA_STATUS_NO_VALID.value()); } return tdClCustomerCarInfoMapper.updateByPrimaryKeySelective(record); } /** * 根据车牌号码获取绑定的客户信息 * * @Author: zegnqc * @Date: 2020-12-28 */ @Override public CustomerInfoDTO queryCustomerInfoByCarNo(CustomerCarInfoRequest request) { return tdClCustomerCarInfoSMapper.queryCustomerInfoByCarNo(request.getCarNo()); } @Override public Long checkCustomerManageCar(CheckCustomerCarInfoRequest request) { TdClCustomerCarInfoExample example = new TdClCustomerCarInfoExample(); example.createCriteria().andCarNoEqualTo(request.getCarNo()).andDataStatusEqualTo(1); // List list = tdClCustomerCarInfoMapper.selectByExample(example); Long count = tdClCustomerCarInfoMapper.countByExample(example); return count; } @Override public List queryCustomerCarList(CustomerCarInfoRequest request) { TdClCustomerCarInfoExample example = new TdClCustomerCarInfoExample(); example.createCriteria().andDataStatusEqualTo(1).andCustomerNoEqualTo(request.getCustomerNo()); List dtoList = tdClCustomerCarInfoMapper.selectDtoByExample(example); return dtoList; } @Override public int deleteCustomerManageRelCarInfo(TdClCustomerCarInfo customerCarInfo) { if (customerCarInfo == null) { return 0; } TdClCustomerCarInfoExample example = new TdClCustomerCarInfoExample(); example.createCriteria().andCustomerNoEqualTo(customerCarInfo.getCustomerNo()); return tdClCustomerCarInfoMapper.updateByExampleSelective(customerCarInfo,example); } }