package com.ydtech.modules.order.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ydtech.core.page.HttpResult; import com.ydtech.modules.admin.model.SysUser; import com.ydtech.modules.ins.model.InsOrdersExcelVo; import com.ydtech.modules.ins.model.ya.CarModelDTO; import com.ydtech.modules.order.entity.BasePageResult; import com.ydtech.modules.order.entity.InsAreaCompany; import com.ydtech.modules.order.entity.InsOrders; import com.ydtech.modules.order.entity.dto.InquiryDetalsQueryDto; import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto; import com.ydtech.modules.order.entity.dto.TelemarketingAuditOrderDTO; import com.ydtech.modules.order.entity.vo.*; import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderQueryVo; import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo; import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto; import java.util.List; /** * @author Administrator * @description 针对表【ins_orders(保险订单表)】的数据库操作Service * @createDate 2023-01-31 15:44:29 */ public interface InsOrdersService extends IService { /** * 通过 部门id 获取协议授权权限 * * @param deptId 部门id * @return HttpResult */ HttpResult> getAgreementInsCompany(String deptId, String userId); /** * 通过 vin 码查询订单 * * @param vin * @return */ List vinSearch(String vin); /** * 修改订单状态 * * @return */ void updateByOrderStatus(InsAreaCompany insAreaCompany); /** * 判断订单是否存在 * * @param orderNo */ InsOrders existOrder(String orderNo); /** * 生成订单 * * @param quoteInfoVo 报价信息 * @return 订单信息 */ InsOrders generateOrder(SysUser user, BaseQuoteInfoVo quoteInfoVo); BasePageResult newQueryPageOrder(OrderQueryVo orderQueryVo); /** * 查询订单接口 * * @param orderQueryVo * @return */ BasePageResult queryPageOrder(OrderQueryVo orderQueryVo); /** * 订单信息导出excel * * @param insOrdersExcelVo * @return */ HttpResult orderExportExcel(InsOrdersExcelVo insOrdersExcelVo); /** * @param companyId * @return */ HttpResult getByCompanyId(String companyId, String userId); /** * 查询订单和子订单 * * @param orderNo * @return */ InsOrdersEditingVo revise(String orderNo); InsOrdersEditingVo reviseApp(String orderNo); /** * 验证近期是否出过单子 * * @param verifyOrdersVo * @return */ HttpResult verifyOrders(VerifyOrdersVo verifyOrdersVo); /** * 通过订单号查询子订单 * * @param orderNo 订单号 * @return 子订单列表 */ List querySuborder(String orderNo); /** * @param insOrders 订单数据 * @return true->成功 false->失败 */ boolean saveAndTrajectories(SysUser sysUser, InsOrders insOrders); /** * 分页查询保单报表信息 * * @param policyInsuranceReportReqVo * @param userId * @return */ BasePageResult getPolicyInsuranceReport(PolicyInsuranceReportReqVo policyInsuranceReportReqVo, String userId); /** * 导出保单报表信息 * * @param policyInsuranceReportReqVo * @return */ HttpResult exportPolicyInsuranceReport(PolicyInsuranceReportReqVo policyInsuranceReportReqVo, String userId); /** * @version * @author: hxl * @Date: 2024/4/17 15:33 * @Description: 通过用户id和状态查询待客订单的订单接口 */ BasePageResult queryPageHospitalityOrder(OrderQueryVo orderQueryVo); /** * @version * @author: hxl * @Date: 2024/4/17 16:11 * @Description: 通过待客用户id查询渠道、代理人、保险公司的相关的订单表 */ BasePageResult queryPageOrderByLinkType(OrderQueryVo orderQueryVo, int type); /** * @version * @author: hxl * @Date: 2024/4/18 10:49 * @Description: 查询子订单的数据列表 */ BasePageResult queryPageSubOrders(OrderTaskPoolsVo orderTaskPoolsVo); /** * @version * @author: hxl * @Date: 2024/5/6 18:02 * @Description: 任务管理的详细信息 */ HttpResult getTaskByCompanyId(String companyId, String userId); /** * 转换驾意险对象 * * @param baseQuoteVo * @return */ BaseQuoteVo convertDriving(BaseQuoteVo baseQuoteVo); /** * 转换紫金驾意险 * * @param baseQuoteVo * @return */ BaseQuoteVo> converDrivingZijin(BaseQuoteVo> baseQuoteVo); /** * 通过订单号查询手机号码 * * @param orderNo * @return */ String getMobileByOrderNo(String orderNo, String type); /** * 获取快到期的保单数量 * * @return */ int getExpirationInsureCount(OrderExpirationQueryVo orderExpirationQueryVo); /** * 获取快到期的保单 * * @return */ Page getExpirationInsure(Page page, OrderExpirationQueryVo orderExpirationQueryVo); /** * @version * @author: hxl * @Date: 2024/6/24 18:14 * @Description: 通过子订单号查询询价信息 */ InquiryDetalsVo getInquiryDetalsBySubOrderIds(InquiryDetalsQueryDto inquiryDetalsDto); IPage queryHxOrdersCount(QueryHxOrdersCountVo queryHxOrdersCountVo); List exportHxOrdersCount(QueryHxOrdersCountVo queryHxOrdersCountVo); /** * @param telemarketingAuditOrderQueryVo 电销审核状态查询实体 * @return */ BasePageResult getTelemarketingAudit(TelemarketingAuditOrderQueryVo telemarketingAuditOrderQueryVo); /** * 更新订单的起保与终保时间 */ void updateOrderStartingInsruanceTime(String orderno, String jqStartTime, String jqEndTime, String syStartTime, String syEndTime, InsAreaCompany insAreaCompany); /** * 刷新订单的缓存信息 */ void updateOrderCache(InsOrders orders); /** * 根据订单id 产品id 获取订单缓存信息 * * @param orderno * @return */ String getOrderCacheData(String orderno); /** * 对比订单 * * @return */ boolean contrastOrder(InsOrders oldOrder, InsOrders newOrder); /** * 查询订单中的车牌 * * @param queryLicenseInOrderVo 查询参数 * @return 车牌列表 */ List queryLicenseInOrder(QueryLicenseInOrderVo queryLicenseInOrderVo); /** * 查询订单中的被保人 * * @param queryInsuredInOrderVo 查询实体 * @return 被保人列表 */ List queryInsuredInOrder(QueryLicenseInOrderVo queryInsuredInOrderVo); }