package cn.iocoder.yudao.module.erp.dal.mysql.finance; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.map.MapUtil; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; import cn.iocoder.yudao.module.erp.dal.dataobject.finance.ErpFinanceReceiptItemDO; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.apache.ibatis.annotations.Mapper; import java.math.BigDecimal; import java.util.Collection; import java.util.List; import java.util.Map; /** * ERP 收款单项 Mapper * * @author 芋道源码 */ @Mapper public interface ErpFinanceReceiptItemMapper extends BaseMapperX { default List selectListByReceiptId(Long receiptId) { return selectList(ErpFinanceReceiptItemDO::getReceiptId, receiptId); } default List selectListByReceiptIds(Collection receiptIds) { return selectList(ErpFinanceReceiptItemDO::getReceiptId, receiptIds); } default BigDecimal selectReceiptPriceSumByBizIdAndBizType(Long bizId, Integer bizType) { // SQL sum 查询 List> result = selectMaps(new QueryWrapper() .select("SUM(receipt_price) AS receiptPriceSum") .eq("biz_id", bizId) .eq("biz_type", bizType)); // 获得数量 if (CollUtil.isEmpty(result)) { return BigDecimal.ZERO; } return BigDecimal.valueOf(MapUtil.getDouble(result.get(0), "receiptPriceSum", 0D)); } }