package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.TFlowManagementMapper;
import com.ruoyi.system.model.TFlowManagement;
import com.ruoyi.system.query.TFlowManagementQuery;
import com.ruoyi.system.service.TFlowManagementService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.vo.TFlowManagementStatisticsVo;
import org.springframework.stereotype.Service;
import java.util.List;
/**
*
* 流水管理 服务实现类
*
*
* @author xiaochen
* @since 2025-01-17
*/
@Service
public class TFlowManagementServiceImpl extends ServiceImpl implements TFlowManagementService {
@Override
public PageInfo pageList(TFlowManagementQuery query) {
PageInfo pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(StringUtils.isNotEmpty(query.getSysSerialNumber()),TFlowManagement::getSysSerialNumber,query.getSysSerialNumber())
.eq(StringUtils.isNotEmpty(query.getBankSerialNumber()),TFlowManagement::getBankSerialNumber,query.getBankSerialNumber())
.like(StringUtils.isNotEmpty(query.getPayer()),TFlowManagement::getPayer,query.getPayer())
.ge(StringUtils.isNotEmpty(query.getPayStartTime()),TFlowManagement::getPayTime,query.getPayStartTime())
.lt(StringUtils.isNotEmpty(query.getPayEndTime()),TFlowManagement::getPayTime,query.getPayEndTime())
.eq(null != query.getPayType(),TFlowManagement::getPayType,query.getPayType())
.eq(StringUtils.isNotEmpty(query.getBusinessDeptId()) && !"0".equals(query.getBusinessDeptId()),TFlowManagement::getBusinessDeptId,query.getBusinessDeptId())
.orderByDesc(TFlowManagement::getCreateTime)
;
return this.baseMapper.selectPage(pageInfo,queryWrapper);
}
@Override
public TFlowManagementStatisticsVo getPaymentStats(TFlowManagementQuery query) {
return this.baseMapper.getPaymentStats(query, SecurityUtils.getBusinessDeptId());
}
@Override
public List findByBankSerialNumber(String bankSerialNumber){
LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>() ;
queryWrapper.eq(StringUtils.isNotEmpty(bankSerialNumber),TFlowManagement::getBankSerialNumber,bankSerialNumber);
return this.baseMapper.selectList(queryWrapper);
}
}