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 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; } }