package com.ydtech.modules.protocols.service; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ydtech.modules.admin.model.dto.*; import com.ydtech.modules.order.entity.vo.CostSettlementExcelVo; import com.ydtech.modules.order.entity.vo.CostSettlementQueryVo; import com.ydtech.modules.order.entity.vo.FeeReceivableVo; import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew; import java.math.BigDecimal; import java.util.HashMap; import java.util.List; /** * @author: tz * @description: 费用计算表 service * @create: 2024-2-22 15:44:29 */ public interface InsFeeOrderNewService extends IService { InsFeeOrderNew getInsFeeOrderNewByCompanyId(String companyId); List getInsFeeOrderNewListByCompanyId(List companyIds); InsFeeOrderNew getInsFeeOrderEntity(String id); List getByUserId(String userId); /** * @version * @author: hxl * @Date: 2024/5/8 15:49 * @Description: 通过用户id查询预收金额的数据 查询 承保状态订单且不在 审核表中的数据 */ List getByUserIdAndOrderStatusAndNoCheck(String userId); /** * 更新一级机构管理费用 * * @param insOrderNo * @param jqPremium * @return */ boolean updateLevelDeptManager(String insOrderNo, BigDecimal jqPremium, BigDecimal syPremium, BigDecimal noPremium); /** * @param params 用户id 时间过滤 * @return */ List getSumWillAmount(HashMap params); List getSumWillAmountGeneralization(HashMap params); /** * @version * @author: hxl * @Date: 2024/6/3 12:00 * @Description: 通过类型查询数据 */ List getByUserIdAndOrderStatusAndNoCheckType(String userId, String number); /** * @version * @author: hxl * @Date: 2024/6/3 14:32 * @Description: 查询跟单明细的数据 */ List getSumWillAmountGeneralizationNew(HashMap params); /** * @version * @author: hxl * @Date: 2024/6/3 14:41 * @Description: 推广费 */ List getSumWillAmountNew(HashMap params); /** * @version * @author: hxl * @Date: 2024/6/19 14:21 * @Description: 通过用户id查询推广费 */ Page findMyCollectInAdvanceWillAmountByUserId(Page page, MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto); /** * @version * @author: hxl * @Date: 2024/6/19 14:47 * @Description: 通过用户id查询手续费+跟单费 */ Page findMyCollectInAdvanceSumByUserId(Page page, MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto); /** * @version * @author: hxl * @Date: 2024/6/19 15:07 * @Description: 通过用户id查询推广费 总条数 */ Long findMyCollectInAdvanceWillAmountByUserIdCount(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto); /** * @version * @author: hxl * @Date: 2024/6/19 15:17 * @Description: 通过用户id查询手续费+跟单费 总条数 */ Long findMyCollectInAdvanceSumByUserIdCount(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto); /** * @version * @author: hxl * @Date: 2024/6/19 17:29 * @Description: 计算推广费总费用 */ BigDecimal findSumWillAmount(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto); /** * @version * @author: hxl * @Date: 2024/6/19 17:30 * @Description: 计算手续费+跟单费 总费用 */ BigDecimal findSumAmount(MyCollectInAdvanceQueryDto myCollectInAdvanceQueryDto); /** * @version * @author: hxl * @Date: 2024/6/30 15:56 * @Description: 查询车险明细查询 */ Page findMyInsuranceByUserId(Page page, MyInsuranceQueryDto myInsuranceQueryDto, List userList); /** * @version * @author: hxl * @Date: 2024/6/30 17:38 * @Description: 查询推广费统计 */ Page findMyInsuranceTGByUserId(Page page, MyInsuranceTgQueryDto myInsuranceTgQueryDto); /** * @version * @author: hxl * @Date: 2024/6/30 18:01 * @Description: 导出车险明细 */ List exportMyInsuranceByUserId(MyInsuranceQueryDto myInsuranceQueryDto, List userList); /** * @version * @author: hxl * @Date: 2024/6/30 18:02 * @Description: 导出推广费明细 */ List exportMyInsuranceTGByUserId(MyInsuranceTgQueryDto myInsuranceTgQueryDto); /** * @version * @author: hxl * @Date: 2024/6/30 19:48 * @Description: 预收和实收手续+跟单的总金额 */ BigDecimal findMyAmountYSOrSSCXAmount(MySumAmountQueryDto mySumAmountQueryDto); /** * @version * @author: hxl * @Date: 2024/6/30 19:48 * @Description: 预收和实收推广费的总金额 */ BigDecimal findMyAmountYSOrSSTGAmount(MySumAmountQueryDto mySumAmountQueryDto); /** * @version * @author: hxl * @Date: 2024/6/30 19:58 * @Description: 查询用户已提现的金额 */ BigDecimal findMyAmountYTXmount(String userId, String status); /** * 获取费用结算导出表的数据 * * @return */ List getCostSettlementExcel(CostSettlementQueryVo costSettlementQueryVo); /** * 获取应收费用 * * @param costSettlementQueryVo * @return */ List getFeeReceivable(CostSettlementQueryVo costSettlementQueryVo); /** * 通过子订单获取费用信息 */ default InsFeeOrderNew getByInsOrderNo(String insOrderNo) { return lambdaQuery() .eq(InsFeeOrderNew::getInsOrderNo, insOrderNo) .one(); } /** * @version * @author: hxl * @Date: 2024/9/2 11:15 * @Description: 按时间检索 */ BigDecimal findMyAmountYTXmountByDate(String userId, String number, String beginDate, String endDate); }