package com.zteits.business.dao.impl; import org.apache.commons.collections4.CollectionUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.zteits.business.dao.TdCBusinessAcctDao; import com.zteits.business.domain.TdCBusinessAcct; import com.zteits.business.domain.TdCBusinessAcctExample; import com.zteits.business.mapper.TdCBusinessAcctMapper; import com.zteits.business.mapper.smapper.TdCBusinessAcctSMapper; import com.zteits.clouds.api.apibase.constants.DataStatusEnum; import com.zteits.clouds.api.dto.business.dto.BusinessAccountDetailCountDTO; import com.zteits.clouds.api.dto.business.dto.BusinessAccountInOutDetailForPageDTO; import com.zteits.clouds.api.dto.business.param.BusinessAccountInOutDetailRequest; import com.zteits.clouds.api.dto.business.param.TdCBusinessAcctRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; @Component public class TdCBusinessAcctDaoImpl implements TdCBusinessAcctDao { @Autowired private TdCBusinessAcctMapper tdCBusinessAcctMapper; @Autowired private TdCBusinessAcctSMapper tdCBusinessAcctSMapper; @Override public int saveTdCBusinessAcct(TdCBusinessAcct tdCBusinessAcct) { if (tdCBusinessAcct.getCreateDate() == null) { tdCBusinessAcct.setCreateDate(new Date()); } return tdCBusinessAcctMapper.insertSelective(tdCBusinessAcct); } @Override public int updateByExampleSelective(TdCBusinessAcct record, TdCBusinessAcctExample example) { return tdCBusinessAcctMapper.updateByExampleSelective(record, example); } @Override public int updateByPrimaryKeySelective(TdCBusinessAcct record) { return tdCBusinessAcctMapper.updateByPrimaryKeySelective(record); } @Override public List selectByExample(TdCBusinessAcctExample example) { return tdCBusinessAcctMapper.selectByExample(example); } @Override public TdCBusinessAcct queryByPrimaryKey(Long id) { return tdCBusinessAcctMapper.selectByPrimaryKey(id); } @Override public List queryTdCBusinessAcct(TdCBusinessAcctRequest request) { TdCBusinessAcctExample example = new TdCBusinessAcctExample(); TdCBusinessAcctExample.Criteria sql = example.createCriteria(); if (!StringUtils.isEmpty(request.getBusinessName())) { sql.andBusinessNameLike("%" + request.getBusinessName() + "%"); } if (!StringUtils.isEmpty(request.getUserPhone())) { sql.andUserPhoneLike("%" + request.getUserPhone() + "%"); } if (!StringUtils.isEmpty(request.getDataState())) { sql.andDataStateEqualTo(request.getDataState()); } if (!StringUtils.isEmpty(request.getBusinessId())) { sql.andBusinessIdEqualTo(request.getBusinessId()); } if (!StringUtils.isEmpty(request.getAcctId())) { sql.andAcctIdEqualTo(request.getAcctId()); } List list = tdCBusinessAcctMapper.selectByExample(example); if (CollectionUtils.isNotEmpty(list)) { return list; } return null; } @Override public int batchDeleteTdCBusinessAcctByPrimaryKey(List ids, String opId, String opName) { TdCBusinessAcct record = new TdCBusinessAcct(); record.setModifyEmpid(opId); record.setModifyDate(new Date()); record.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value()); TdCBusinessAcctExample example = new TdCBusinessAcctExample(); example.createCriteria().andIdIn(ids); return tdCBusinessAcctMapper.updateByExampleSelective(record, example); } @Override public PageInfo queryTdCBusinessAcctForPage(TdCBusinessAcctRequest request) { PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); TdCBusinessAcctExample example = new TdCBusinessAcctExample(); TdCBusinessAcctExample.Criteria sql = example.createCriteria(); if (!StringUtils.isEmpty(request.getBusinessName())) { sql.andBusinessNameLike("%" + request.getBusinessName() + "%"); } if (!StringUtils.isEmpty(request.getUserPhone())) { sql.andUserPhoneLike("%" + request.getUserPhone() + "%"); } if (!StringUtils.isEmpty(request.getDataState())) { sql.andDataStateEqualTo(request.getDataState()); } List list = tdCBusinessAcctMapper.selectByExample(example); if (CollectionUtils.isNotEmpty(list)) { return new PageInfo(list); } return new PageInfo(new ArrayList()); } /** * 分页查询商户账户余额充值与支出明细 */ @Override public PageInfo queryAccountInOutDetailsForPage(BusinessAccountInOutDetailRequest requestQ) { PageHelper.startPage(requestQ.getBaseRequest().getPageNum(), requestQ.getBaseRequest().getPageSize()); List resultList = tdCBusinessAcctSMapper.queryAccountInOutDetailsForPage(requestQ); return new PageInfo<>(resultList); } /** * 余额明细总览 */ @Override public List detailSummary(BusinessAccountInOutDetailRequest requestQ) { return tdCBusinessAcctSMapper.detailSummary(requestQ); } }