package com.zteits.pay.dao.impl; import com.clouds.common.constants.pagequery.PageSizeEnum; import com.clouds.common.utils.page.PageUtil; import com.github.pagehelper.PageHelper; import com.zteits.clouds.api.dto.pay.dto.CompanyAccountDTO; import com.zteits.clouds.api.dto.pay.dto.CompanyAccountViewDTO; import com.zteits.clouds.api.dto.pay.param.QueryCompanyAccountRequest; import com.zteits.clouds.api.dto.pay.param.SaveCompanyAccountRequest; import com.zteits.clouds.api.dto.pay.param.ViewCompanyAccountRequest; import com.zteits.pay.dao.CompanyAccountInfoDao; import com.zteits.pay.domain.TdClCompanyAccInfo; import com.zteits.pay.domain.TdClCompanyAccInfoExample; import com.zteits.pay.mapper.TdClCompanyAccInfoMapper; import com.zteits.pay.mapper.smapper.TdClCompanyAccInfoSMapper; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.springframework.util.StringUtils; import java.util.ArrayList; import java.util.List; @Component public class CompanyAccountInfoDaoImpl implements CompanyAccountInfoDao { @Autowired private TdClCompanyAccInfoMapper tdClCompanyAccInfoMapper; @Autowired private TdClCompanyAccInfoSMapper tdClCompanyAccInfoSMapper; @Override public List queryCompanyAccount(QueryCompanyAccountRequest request) { List list = new ArrayList<>(); TdClCompanyAccInfoExample example = new TdClCompanyAccInfoExample(); TdClCompanyAccInfoExample.Criteria sql = example.createCriteria(); if (!StringUtils.isEmpty(request.getCustomerNo())) { sql.andCustomerNoEqualTo(request.getCustomerNo()); } if (!StringUtils.isEmpty(request.getAccStatus())) { sql.andAccCodeEqualTo(request.getAccStatus()); } if (request.getOrgId() != null) { sql.andOrgIdEqualTo(request.getOrgId()); } example.setOrderByClause("modfiy_date desc"); // 1.设置分页信息 PageUtil.pageSizeValidate(PageSizeEnum.PAGE_SIZE_BASE, request); PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize()); List dtoList = tdClCompanyAccInfoSMapper.selectByDataDtoExample(request); return dtoList; } @Override public int insertSelective(TdClCompanyAccInfo record) { if (record == null) { return 0; } return tdClCompanyAccInfoMapper.insertSelective(record); } @Override public int updateSelective(TdClCompanyAccInfo record) { if (record == null) { return 0; } return tdClCompanyAccInfoMapper.updateByPrimaryKeySelective(record); } @Override public TdClCompanyAccInfo viewCompanyAccount(ViewCompanyAccountRequest request) { CompanyAccountViewDTO dto = new CompanyAccountViewDTO(); if (request == null) { return new TdClCompanyAccInfo(); } TdClCompanyAccInfo tdClCompanyAccInfo = tdClCompanyAccInfoSMapper.viewCompanyAccount(request); return tdClCompanyAccInfo; } @Override public int validateAccount(SaveCompanyAccountRequest request) { TdClCompanyAccInfoExample example = new TdClCompanyAccInfoExample(); example.createCriteria().andCustomerNoEqualTo(request.getCustomerNo()).andAccStatusEqualTo("1"); List list = tdClCompanyAccInfoMapper.selectByExample(example); int num = list.size(); return num; } /** * 根据停车场编号以及公司编号,获取对应的账户信息 * @Author: zengqc * @Date: 202-12-28 */ @Override public TdClCompanyAccInfo queryCompanyAccInfo(QueryCompanyAccountRequest request) { TdClCompanyAccInfo tdClCompanyAccInfo = this.tdClCompanyAccInfoSMapper. queryCompanyAccInfo(request.getCustomerNo(), request.getPlNo()); return tdClCompanyAccInfo; } /** * 根据账户编号获取某个车在某个停车场的公司储值账户信息 * * @param accCode * @Author: zegnqc */ @Override public TdClCompanyAccInfo queryCompanyAccInfoAccCode(String accCode) { TdClCompanyAccInfoExample example = new TdClCompanyAccInfoExample(); example.createCriteria() .andAccCodeEqualTo(accCode) .andAccStatusEqualTo("1"); TdClCompanyAccInfo tdClCompanyAccInfo = this.tdClCompanyAccInfoMapper.selectByExample(example).get(0); return tdClCompanyAccInfo; } /** * 更新余额 */ @Override public int updateAccountBalance(String accCode, long balance) { return this.tdClCompanyAccInfoSMapper.updateAccountBalance(accCode, balance); } }