PingAnOrderApiController.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package com.ydtech.modules.order.controller;
  2. import com.ydtech.aop.request.RequestSingleParam;
  3. import com.ydtech.core.page.HttpResult;
  4. import com.ydtech.modules.ins.model.vo.QuoteRespVo;
  5. import com.ydtech.modules.order.aop.AuditVerification;
  6. import com.ydtech.modules.order.aop.QuoteVerification;
  7. import com.ydtech.modules.order.components.InsOrdersComponents;
  8. import com.ydtech.modules.order.entity.api.pingan.response.UnAutoProductDetailResponse;
  9. import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo;
  10. import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo;
  11. import com.ydtech.modules.order.entity.vo.bohai.BoHaiQuoteAccidentVo;
  12. import com.ydtech.modules.order.entity.vo.bohai.ProductDetailsQueryVo;
  13. import com.ydtech.modules.order.entity.vo.bohai.ProductQueryVo;
  14. import com.ydtech.modules.order.entity.vo.pingan.PingAnQuoteVo;
  15. import com.ydtech.modules.order.service.PingAnOrderApiService;
  16. import io.swagger.annotations.Api;
  17. import io.swagger.annotations.ApiOperation;
  18. import lombok.RequiredArgsConstructor;
  19. import lombok.extern.slf4j.Slf4j;
  20. import org.springframework.web.bind.annotation.PostMapping;
  21. import org.springframework.web.bind.annotation.RequestBody;
  22. import org.springframework.web.bind.annotation.RequestMapping;
  23. import org.springframework.web.bind.annotation.RestController;
  24. import java.util.List;
  25. import java.util.Map;
  26. @Api(tags = "平安财险 API ")
  27. @Slf4j
  28. @RestController
  29. @RequestMapping("/order/pingAnApi")
  30. @RequiredArgsConstructor
  31. public class PingAnOrderApiController {
  32. private final PingAnOrderApiService pingAnOrderApiService;
  33. private final InsOrdersComponents insOrdersComponents;
  34. @QuoteVerification("报价授权")
  35. @PostMapping("/quote")
  36. @ApiOperation("报价")
  37. public HttpResult<QuoteRespVo> quote(@RequestBody PingAnQuoteVo<List<BoHaiQuoteAccidentVo>> quoteVo) throws Exception {
  38. BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo(), quoteVo.getAgreementId());
  39. return this.pingAnOrderApiService.quote(quoteInfo, quoteVo);
  40. }
  41. @PostMapping(value = "/submitImage")
  42. @ApiOperation(value = "提交影像信息")
  43. public HttpResult<Object> submitImage(@RequestSingleParam(value = "companyId") String companyId) throws Exception {
  44. return this.pingAnOrderApiService.submitImage(companyId);
  45. }
  46. @AuditVerification("核保")
  47. @PostMapping(value = "/audit")
  48. @ApiOperation(value = "提交核保")
  49. public HttpResult<Object> audit(@RequestBody BaseQuoteInfoVo quoteInfo) throws Exception {
  50. return this.pingAnOrderApiService.audit(quoteInfo);
  51. }
  52. @PostMapping("/getPolicyPrint")
  53. @ApiOperation(value = "电子保单")
  54. public HttpResult<CrawlerPolicyPrintVo> getPolicyPrint(@RequestSingleParam(value = "companyId") String companyId) throws Exception {
  55. return this.pingAnOrderApiService.getPolicyPrint(companyId);
  56. }
  57. @PostMapping("/getOrderDetail")
  58. @ApiOperation(value = "订单状态查询")
  59. public HttpResult<Object> getOrderDetail(@RequestSingleParam(value = "companyId") String companyId) throws Exception {
  60. return this.pingAnOrderApiService.getOrderDetail(companyId);
  61. }
  62. @PostMapping("/auditStatusQuery")
  63. @ApiOperation(value = "核保状态查询")
  64. public HttpResult<Object> auditStatusQuery(@RequestSingleParam(value = "companyId") String companyId) throws Exception {
  65. return this.pingAnOrderApiService.auditStatusQuery(companyId);
  66. }
  67. @PostMapping("/productQuery")
  68. @ApiOperation("获取财意险险种套餐列表")
  69. public HttpResult<Map<String,Object>> productQuery(@RequestBody ProductQueryVo productQueryVo) throws Exception {
  70. return this.pingAnOrderApiService.productQuery(productQueryVo);
  71. }
  72. @PostMapping("/renewalConfirm")
  73. @ApiOperation("续保")
  74. public HttpResult<Object> renewalConfirm(@RequestBody PingAnQuoteVo<List<BoHaiQuoteAccidentVo>> quoteVo,BaseQuoteInfoVo quoteInfo) throws Exception {
  75. return this.pingAnOrderApiService.renewalConfirm(quoteVo,quoteInfo);
  76. }
  77. @PostMapping("/queryServiceContract")
  78. @ApiOperation("服务类特约检索")
  79. public HttpResult<Object> queryServiceContract(@RequestSingleParam(value = "companyId") String companyId) throws Exception {
  80. return this.pingAnOrderApiService.queryServiceContract(companyId);
  81. }
  82. @PostMapping("/getDocumentStatusList")
  83. @ApiOperation("单证状态查询")
  84. public HttpResult<Object> getDocumentStatusList(@RequestBody PingAnQuoteVo<List<BoHaiQuoteAccidentVo>> quoteVo) throws Exception {
  85. return this.pingAnOrderApiService.getDocumentStatusList(quoteVo);
  86. }
  87. @PostMapping("/repealDocument")
  88. @ApiOperation("撤销单证")
  89. public HttpResult<Object> repealDocument(@RequestBody PingAnQuoteVo<List<BoHaiQuoteAccidentVo>> quoteVo) throws Exception {
  90. return this.pingAnOrderApiService.repealDocument(quoteVo);
  91. }
  92. @PostMapping("/getDmvehicleInfo")
  93. @ApiOperation("获取交管车辆验证码")
  94. public HttpResult<Object> getDmvehicleInfo(@RequestBody PingAnQuoteVo<List<BoHaiQuoteAccidentVo>> quoteVo, BaseQuoteInfoVo quoteInfo) throws Exception {
  95. return this.pingAnOrderApiService.getDmvehicleInfo(quoteVo,quoteInfo);
  96. }
  97. @PostMapping("/productDetailsQuery")
  98. @ApiOperation("获取财意险险种套餐责任信息")
  99. public HttpResult<List<UnAutoProductDetailResponse.UnAutoProductDetailsDTO>> productDetailsQuery(@RequestBody ProductDetailsQueryVo productDetailsQueryVo) throws Exception {
  100. return this.pingAnOrderApiService.productDetailsQuery(productDetailsQueryVo);
  101. }
  102. }