ChargerTicketTemplateDaoImpl.java 3.05 KB
package com.zteits.pay.dao.impl;

import cn.hutool.core.collection.CollectionUtil;
import org.apache.commons.lang3.StringUtils;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.dto.pay.param.ChargerTicketRequest;
import com.zteits.pay.dao.ChargerTicketTemplateDao;
import com.zteits.pay.domain.ChargerTicketTemplate;
import com.zteits.pay.domain.ChargerTicketTemplateExample;
import com.zteits.pay.mapper.ChargerTicketTemplateMapper;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

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

@Component
public class ChargerTicketTemplateDaoImpl implements ChargerTicketTemplateDao {

    @Autowired
    private ChargerTicketTemplateMapper chargerTicketTemplateMapper;
    @Override
    public int saveChargerTicketTemplate(ChargerTicketTemplate template) {
        template.setCreateTime(new Date());
        return chargerTicketTemplateMapper.insertSelective(template);
    }

    @Override
    public ChargerTicketTemplate queryChargerTicketTemplateByCondition(ChargerTicketRequest template) {
        ChargerTicketTemplateExample example = new ChargerTicketTemplateExample();
        ChargerTicketTemplateExample.Criteria sql = example.createCriteria();
        sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
                .andOrgIdEqualTo(template.getOrgId());
        if(template.getTicketType() != null){
            sql.andTicketTypeEqualTo(template.getTicketType());
        }
        if(template.getTicketCategory() != null){
            sql.andTicketCategoryEqualTo(template.getTicketCategory());
        }
        if(template.getTicketState() != null){
            sql.andTicketStateEqualTo(template.getTicketState());
        }
        if (!StringUtils.isBlank(template.getTicketNo())) {
            sql.andTicketNoEqualTo(template.getTicketNo());
        }
        example.setOrderByClause("id desc");
        List<ChargerTicketTemplate> list = chargerTicketTemplateMapper.selectByExample(example);
        if(CollectionUtil.isEmpty(list)){
            return null;
        }
        return list.get(0);
    }

    @Override
    public Boolean updateChargerTicketTemplateByNo(ChargerTicketRequest request) {
        ChargerTicketTemplate record = new ChargerTicketTemplate();
        BeanUtils.copyProperties(request,record);
        record.setModifyTime(new Date());
        ChargerTicketTemplateExample example = new ChargerTicketTemplateExample();
        example.createCriteria().andOrgIdEqualTo(request.getOrgId())
                .andTicketNoEqualTo(request.getTicketNo())
                .andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
        return chargerTicketTemplateMapper.updateByExampleSelective(record,example) > 0;
    }

    @Override
    public Boolean updateChargerTicketTemplateByExample(ChargerTicketTemplateExample example, ChargerTicketTemplate template) {
        return chargerTicketTemplateMapper.updateByExampleSelective(template,example) > 0;
    }
}