SpecialCarnumberBillingDaoImpl.java 7.09 KB
package com.zteits.pay.dao.impl;

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.param.SpecialCarnumberBillingRequest;
import com.zteits.pay.dao.SpecialCarnumberBillingDao;
import com.zteits.pay.domain.SpecialCarnumberBilling;
import com.zteits.pay.domain.SpecialCarnumberBillingExample;
import com.zteits.pay.mapper.SpecialCarnumberBillingMapper;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;

@Component
public class SpecialCarnumberBillingDaoImpl implements SpecialCarnumberBillingDao {


    @Autowired
    private SpecialCarnumberBillingMapper specialCarnumberBillingMapper;

    /**
     * 保存
     *
     * @param specialCarnumberBilling
     * @return
     */
    @Override
    public int saveSpecialCarnumberBilling(SpecialCarnumberBilling specialCarnumberBilling) {
        return specialCarnumberBillingMapper.insertSelective(specialCarnumberBilling);
    }

    /**
     * 动态更新
     *
     * @param record  需要更新的信息
     * @param example 更新时的where条件
     * @return
     */
    @Override
    public int updateByExampleSelective(SpecialCarnumberBilling record, SpecialCarnumberBillingExample example) {
        return 0;
    }

    /**
     * 根据主键更新
     *
     * @param record
     * @return
     */
    @Override
    public int updateByPrimaryKeySelective(SpecialCarnumberBilling record) {
        return specialCarnumberBillingMapper.updateByPrimaryKeySelective(record);
    }

    /**
     * 动态查询
     *
     * @param example
     * @return
     */
    @Override
    public List<SpecialCarnumberBilling> selectByExample(SpecialCarnumberBillingExample example) {
        return null;
    }

    /**
     * 根据主键查询
     *
     * @param id
     * @return
     */
    @Override
    public SpecialCarnumberBilling queryByPrimaryKey(Long id) {
        SpecialCarnumberBillingExample example = new SpecialCarnumberBillingExample();
        example.createCriteria()
                .andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
                .andIdEqualTo(id);
        return specialCarnumberBillingMapper.selectByExample(example).get(0);
    }

    /**
     * 动态查询
     *
     * @param request
     * @return
     */
    @Override
    public List<SpecialCarnumberBilling> querySpecialCarnumberBilling(SpecialCarnumberBillingRequest request) {
        SpecialCarnumberBillingExample example = new SpecialCarnumberBillingExample();
        example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
                .andCarNumberEqualTo(request.getCarNumber())
                .andOrgIdEqualTo(request.getOrgId()+"");
        return specialCarnumberBillingMapper.selectByExample(example);
    }

    /**
     * 根据手机号动态查询
     *
     * @param request
     * @return
     */
    @Override
    public List<SpecialCarnumberBilling> querySpecialCarnumberBillingByPhone(SpecialCarnumberBillingRequest request) {
        SpecialCarnumberBillingExample example = new SpecialCarnumberBillingExample();
        example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
                .andPhoneNumEqualTo(request.getPhoneNum());
        return specialCarnumberBillingMapper.selectByExample(example);
    }

    /**
     * 根据车牌号动态查询
     *
     * @param request
     * @return
     */
    @Override
    public List<SpecialCarnumberBilling> querySpecialCarnumberBillingByCarNum(SpecialCarnumberBillingRequest request) {
        SpecialCarnumberBillingExample example = new SpecialCarnumberBillingExample();
        example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
                .andCarNumberEqualTo(request.getCarNumber());
        return specialCarnumberBillingMapper.selectByExample(example);
    }

    @Override
    public int batchDeleteSpecialCarnumberBillingByPrimaryKey(List<Long> ids, String opId, String opName) {
        SpecialCarnumberBilling specialCarnumberBilling = new SpecialCarnumberBilling();
        specialCarnumberBilling.setModfiyEmpid(opId);
        specialCarnumberBilling.setModfiyEmpName(opName);
        specialCarnumberBilling.setModfiyDate(new Date());
        specialCarnumberBilling.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
        SpecialCarnumberBillingExample example = new SpecialCarnumberBillingExample();
        example.createCriteria().andIdIn(ids);
        return specialCarnumberBillingMapper.updateByExampleSelective(specialCarnumberBilling, example);
    }

    /**
     * 逻辑批量删除
     *
     * @param id
     * @param opId
     * @param opName
     * @return
     */
    @Override
    public int delSpecialCarnumberBillingByPrimaryKey(Long id, String opId, String opName) {
        SpecialCarnumberBilling specialCarnumberBilling = new SpecialCarnumberBilling();
        specialCarnumberBilling.setModfiyEmpid(opId);
        specialCarnumberBilling.setModfiyEmpName(opName);
        specialCarnumberBilling.setModfiyDate(new Date());
        specialCarnumberBilling.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
        SpecialCarnumberBillingExample example = new SpecialCarnumberBillingExample();
        example.createCriteria().andIdEqualTo(id);
        return specialCarnumberBillingMapper.updateByExampleSelective(specialCarnumberBilling, example);
    }

    /**
     * 动态分页查询
     *
     * @param request
     * @return
     */
    @Override
    public PageInfo<SpecialCarnumberBilling> querySpecialCarnumberBillingForPage(SpecialCarnumberBillingRequest request) {
        //1.设置分页
        PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
        SpecialCarnumberBillingExample example = new SpecialCarnumberBillingExample();
        SpecialCarnumberBillingExample.Criteria sql = example.createCriteria();
        sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
        if (StringUtils.isNotEmpty(request.getCarNumber())) {
            sql.andCarNumberEqualTo(request.getCarNumber());
        }
        if (StringUtils.isNotEmpty(request.getCarNumberColor())) {
            sql.andCarNumberColorEqualTo(request.getCarNumberColor());
        }
        if (StringUtils.isNotEmpty(request.getName())) {
            sql.andNameEqualTo(request.getName());
        }
        if (null != request.getExpTime()) {
            sql.andExpTimeLessThanOrEqualTo(request.getExpTime());
        }
        if (StringUtils.isNotEmpty(request.getPhoneNum())) {
            sql.andPhoneNumEqualTo(request.getPhoneNum());
        }
        if (StringUtils.isNotEmpty(request.getPlNo())) {
            sql.andPlNoEqualTo(request.getPlNo());
        }
        example.setOrderByClause(" id desc");
        List<SpecialCarnumberBilling> specialCarnumberBillings = specialCarnumberBillingMapper.selectByExample(example);
        return new PageInfo<>(specialCarnumberBillings);
    }
}