InsOrdersService.java 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  1. package com.ydtech.modules.order.service;
  2. import com.baomidou.mybatisplus.core.metadata.IPage;
  3. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  4. import com.baomidou.mybatisplus.extension.service.IService;
  5. import com.ydtech.core.page.HttpResult;
  6. import com.ydtech.modules.admin.model.SysUser;
  7. import com.ydtech.modules.ins.model.InsOrdersExcelVo;
  8. import com.ydtech.modules.ins.model.ya.CarModelDTO;
  9. import com.ydtech.modules.order.entity.BasePageResult;
  10. import com.ydtech.modules.order.entity.InsAreaCompany;
  11. import com.ydtech.modules.order.entity.InsOrders;
  12. import com.ydtech.modules.order.entity.dto.InquiryDetalsQueryDto;
  13. import com.ydtech.modules.order.entity.dto.InsAreaCompanyQueryDto;
  14. import com.ydtech.modules.order.entity.dto.TelemarketingAuditOrderDTO;
  15. import com.ydtech.modules.order.entity.vo.*;
  16. import com.ydtech.modules.order.entity.vo.telemarketing.TelemarketingAuditOrderQueryVo;
  17. import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
  18. import com.ydtech.modules.protocol.entity.dto.PtlAgreementInsCompanyDto;
  19. import java.util.List;
  20. /**
  21. * @author Administrator
  22. * @description 针对表【ins_orders(保险订单表)】的数据库操作Service
  23. * @createDate 2023-01-31 15:44:29
  24. */
  25. public interface InsOrdersService extends IService<InsOrders> {
  26. /**
  27. * 通过 部门id 获取协议授权权限
  28. *
  29. * @param deptId 部门id
  30. * @return HttpResult
  31. */
  32. HttpResult<List<PtlAgreementInsCompanyDto>> getAgreementInsCompany(String deptId, String userId);
  33. /**
  34. * 通过 vin 码查询订单
  35. *
  36. * @param vin
  37. * @return
  38. */
  39. List<CarModelDTO> vinSearch(String vin);
  40. /**
  41. * 修改订单状态
  42. *
  43. * @return
  44. */
  45. void updateByOrderStatus(InsAreaCompany insAreaCompany);
  46. /**
  47. * 判断订单是否存在
  48. *
  49. * @param orderNo
  50. */
  51. InsOrders existOrder(String orderNo);
  52. /**
  53. * 生成订单
  54. *
  55. * @param quoteInfoVo 报价信息
  56. * @return 订单信息
  57. */
  58. InsOrders generateOrder(SysUser user, BaseQuoteInfoVo quoteInfoVo);
  59. BasePageResult<InsOrders> newQueryPageOrder(OrderQueryVo orderQueryVo);
  60. /**
  61. * 查询订单接口
  62. *
  63. * @param orderQueryVo
  64. * @return
  65. */
  66. BasePageResult<InsOrders> queryPageOrder(OrderQueryVo orderQueryVo);
  67. /**
  68. * 订单信息导出excel
  69. *
  70. * @param insOrdersExcelVo
  71. * @return
  72. */
  73. HttpResult<String> orderExportExcel(InsOrdersExcelVo insOrdersExcelVo);
  74. /**
  75. * @param companyId
  76. * @return
  77. */
  78. HttpResult<OrderVo> getByCompanyId(String companyId, String userId);
  79. /**
  80. * 查询订单和子订单
  81. *
  82. * @param orderNo
  83. * @return
  84. */
  85. InsOrdersEditingVo revise(String orderNo);
  86. InsOrdersEditingVo reviseApp(String orderNo);
  87. /**
  88. * 验证近期是否出过单子
  89. *
  90. * @param verifyOrdersVo
  91. * @return
  92. */
  93. HttpResult<InsOrders> verifyOrders(VerifyOrdersVo verifyOrdersVo);
  94. /**
  95. * 通过订单号查询子订单
  96. *
  97. * @param orderNo 订单号
  98. * @return 子订单列表
  99. */
  100. List<InsAreaCompanyQueryDto> querySuborder(String orderNo);
  101. /**
  102. * @param insOrders 订单数据
  103. * @return true->成功 false->失败
  104. */
  105. boolean saveAndTrajectories(SysUser sysUser, InsOrders insOrders);
  106. /**
  107. * 分页查询保单报表信息
  108. *
  109. * @param policyInsuranceReportReqVo
  110. * @param userId
  111. * @return
  112. */
  113. BasePageResult<PolicyInsuranceReportResVo> getPolicyInsuranceReport(PolicyInsuranceReportReqVo policyInsuranceReportReqVo, String userId);
  114. /**
  115. * 导出保单报表信息
  116. *
  117. * @param policyInsuranceReportReqVo
  118. * @return
  119. */
  120. HttpResult<String> exportPolicyInsuranceReport(PolicyInsuranceReportReqVo policyInsuranceReportReqVo, String userId);
  121. /**
  122. * @version
  123. * @author: hxl
  124. * @Date: 2024/4/17 15:33
  125. * @Description: 通过用户id和状态查询待客订单的订单接口
  126. */
  127. BasePageResult<InsOrders> queryPageHospitalityOrder(OrderQueryVo orderQueryVo);
  128. /**
  129. * @version
  130. * @author: hxl
  131. * @Date: 2024/4/17 16:11
  132. * @Description: 通过待客用户id查询渠道、代理人、保险公司的相关的订单表
  133. */
  134. BasePageResult<InsOrders> queryPageOrderByLinkType(OrderQueryVo orderQueryVo, int type);
  135. /**
  136. * @version
  137. * @author: hxl
  138. * @Date: 2024/4/18 10:49
  139. * @Description: 查询子订单的数据列表
  140. */
  141. BasePageResult<InsOrders> queryPageSubOrders(OrderTaskPoolsVo orderTaskPoolsVo);
  142. /**
  143. * @version
  144. * @author: hxl
  145. * @Date: 2024/5/6 18:02
  146. * @Description: 任务管理的详细信息
  147. */
  148. HttpResult<OrderVo> getTaskByCompanyId(String companyId, String userId);
  149. /**
  150. * 转换驾意险对象
  151. *
  152. * @param baseQuoteVo
  153. * @return
  154. */
  155. BaseQuoteVo convertDriving(BaseQuoteVo<QuoteAccidentalDrivingVo> baseQuoteVo);
  156. /**
  157. * 转换紫金驾意险
  158. *
  159. * @param baseQuoteVo
  160. * @return
  161. */
  162. BaseQuoteVo<List<ZjQuoteAccidentVo>> converDrivingZijin(BaseQuoteVo<List<QuoteAccidentalDrivingVo>> baseQuoteVo);
  163. /**
  164. * 通过订单号查询手机号码
  165. *
  166. * @param orderNo
  167. * @return
  168. */
  169. String getMobileByOrderNo(String orderNo, String type);
  170. /**
  171. * 获取快到期的保单数量
  172. *
  173. * @return
  174. */
  175. int getExpirationInsureCount(OrderExpirationQueryVo orderExpirationQueryVo);
  176. /**
  177. * 获取快到期的保单
  178. *
  179. * @return
  180. */
  181. Page<OrderExpirationVo> getExpirationInsure(Page page, OrderExpirationQueryVo orderExpirationQueryVo);
  182. /**
  183. * @version
  184. * @author: hxl
  185. * @Date: 2024/6/24 18:14
  186. * @Description: 通过子订单号查询询价信息
  187. */
  188. InquiryDetalsVo getInquiryDetalsBySubOrderIds(InquiryDetalsQueryDto inquiryDetalsDto);
  189. IPage<QueryHxOrdersCountVo> queryHxOrdersCount(QueryHxOrdersCountVo queryHxOrdersCountVo);
  190. List<QueryHxOrdersCountExcel> exportHxOrdersCount(QueryHxOrdersCountVo queryHxOrdersCountVo);
  191. /**
  192. * @param telemarketingAuditOrderQueryVo 电销审核状态查询实体
  193. * @return
  194. */
  195. BasePageResult<TelemarketingAuditOrderDTO> getTelemarketingAudit(TelemarketingAuditOrderQueryVo telemarketingAuditOrderQueryVo);
  196. /**
  197. * 更新订单的起保与终保时间
  198. */
  199. void updateOrderStartingInsruanceTime(String orderno, String jqStartTime, String jqEndTime, String syStartTime, String syEndTime, InsAreaCompany insAreaCompany);
  200. /**
  201. * 刷新订单的缓存信息
  202. */
  203. void updateOrderCache(InsOrders orders);
  204. /**
  205. * 根据订单id 产品id 获取订单缓存信息
  206. *
  207. * @param orderno
  208. * @return
  209. */
  210. String getOrderCacheData(String orderno);
  211. /**
  212. * 对比订单
  213. *
  214. * @return
  215. */
  216. boolean contrastOrder(InsOrders oldOrder, InsOrders newOrder);
  217. /**
  218. * 查询订单中的车牌
  219. *
  220. * @param queryLicenseInOrderVo 查询参数
  221. * @return 车牌列表
  222. */
  223. List<String> queryLicenseInOrder(QueryLicenseInOrderVo queryLicenseInOrderVo);
  224. /**
  225. * 查询订单中的被保人
  226. *
  227. * @param queryInsuredInOrderVo 查询实体
  228. * @return 被保人列表
  229. */
  230. List<String> queryInsuredInOrder(QueryLicenseInOrderVo queryInsuredInOrderVo);
  231. }