package com.zteits.pay.dao.impl; import java.util.List; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; 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.TdCCarDTO; import com.zteits.clouds.api.dto.pay.car.param.CustCarInfoQueryReq; import com.zteits.clouds.api.dto.pay.car.param.UserCarInfoQueryForPageReq; import com.zteits.clouds.api.dto.pay.param.TdCCarRequest; import com.zteits.pay.dao.TdCCarDao; import com.zteits.pay.domain.TdCCar; import com.zteits.pay.domain.TdCCarExample; import com.zteits.pay.domain.TdCCarExample.Criteria; import com.zteits.pay.mapper.TdCCarMapper; import com.zteits.pay.mapper.smapper.TdCCarSMapper; import org.apache.ibatis.annotations.Param; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; @Component public class TdCCarDaoImpl implements TdCCarDao { @Autowired private TdCCarSMapper TdCCarSMapper; @Autowired private TdCCarMapper TdCCarMapper; @Override public TdCCar selectCustCarInfoById(Long id) { return TdCCarMapper.selectByPrimaryKey(id); } @Override public List selectCustInfoBycustId(TdCCarRequest request) { return TdCCarSMapper.selectCustInfoBycustId(request); } @Override public List selectCustInfoBycustIds(List custIds) { return TdCCarSMapper.selectCustInfoBycustIds(custIds); } @Override public Integer updateCars(TdCCar car) { return TdCCarMapper.updateByPrimaryKeySelective(car); } @Override public Integer insertCars(TdCCar car) { return TdCCarMapper.insertSelective(car); } @Override public Integer deleteCars(TdCCar car) { return TdCCarSMapper.deleteCars(car); } @Override public List selectCustInfo(TdCCar reqcar) { return TdCCarSMapper.selectCustInfo(reqcar); } @Override public PageInfo queryUserCarInfoForPage(UserCarInfoQueryForPageReq req) { //校验分页数据 PageUtil.pageSizeValidate(PageSizeEnum.PAGE_SIZE_BASE,req.getBaseRequest().getPageSize()); TdCCarExample example = new TdCCarExample(); Criteria sql = example.createCriteria(); sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); if(StringUtils.isNotEmpty(req.getPhoneNum())){ sql.andPhoneNumberEqualTo(req.getPhoneNum()); } if(StringUtils.isNotEmpty(req.getCarNumber())){ sql.andCarNumberLike('%'+req.getCarNumber()+'%'); } if(CollectionUtils.isNotEmpty(req.getExamineStates())){ sql.andExamineStateIn(req.getExamineStates()); } example.setOrderByClause(" modfiy_date desc,create_date desc "); PageHelper.startPage(req.getBaseRequest().getPageNum(),req.getBaseRequest().getPageSize()); List tdCCarList = TdCCarMapper.selectByExample(example); return new PageInfo<>(tdCCarList); } @Override public List selectCustInfoByCarNumber(CustCarInfoQueryReq req) { TdCCarExample example = new TdCCarExample(); Criteria sql = example.createCriteria(); if(!req.isQueryUnBindCar()){ sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value()); } sql.andCarNumberEqualTo(req.getCarNumber()); /** 需求需要,不能把 data_state desc * 赤峰需求 518 欠费追缴短信支持配置规则自动下发 * 期望APP解绑了车牌号的用户,在解绑后如果有新号码(联系电话或第三方获取电话),给新号码发短信,如果都没有,则给解绑的电话号发短信 */ example.setOrderByClause("id desc, data_state desc"); List tdCCarList = TdCCarMapper.selectByExample(example); return tdCCarList; } @Override public PageInfo queryUserCarInfoForPageAndPN(UserCarInfoQueryForPageReq req) { PageUtil.pageSizeValidate(PageSizeEnum.PAGE_SIZE_BASE,req.getBaseRequest().getPageSize()); PageHelper.startPage(req.getBaseRequest().getPageNum(),req.getBaseRequest().getPageSize()); List tdCCarList = TdCCarSMapper.queryUserCarInfoForPageAndPN(req); return new PageInfo<>(tdCCarList); } @Override public List queryCustCarInfoByPhone(UserCarInfoQueryForPageReq req) { List tdCCarList = TdCCarSMapper.queryUserCarInfoForPageAndPN(req); return tdCCarList; } }