ZijinOrderApiController.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  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.zijin.request.PaymentCallbacksRequest;
  9. import com.ydtech.modules.order.entity.api.zijin.request.SubmitVerifyRequest;
  10. import com.ydtech.modules.order.entity.api.zijin.response.QueryClauseDataResponse;
  11. import com.ydtech.modules.order.entity.api.zijin.response.QueryVehicProductsResponse;
  12. import com.ydtech.modules.order.entity.vo.*;
  13. import com.ydtech.modules.order.entity.vo.zj.ZjQuoteAccidentVo;
  14. import com.ydtech.modules.order.entity.vo.zj.ZjVehicleProductsQueryVo;
  15. import com.ydtech.modules.order.service.InsOrdersService;
  16. import com.ydtech.modules.order.service.ZijinOrderApiService;
  17. import io.swagger.annotations.Api;
  18. import io.swagger.annotations.ApiOperation;
  19. import org.springframework.web.bind.annotation.PostMapping;
  20. import org.springframework.web.bind.annotation.RequestBody;
  21. import org.springframework.web.bind.annotation.RequestMapping;
  22. import org.springframework.web.bind.annotation.RestController;
  23. import java.util.List;
  24. @Api(tags = "紫金财险 Api")
  25. @RestController
  26. @RequestMapping("/order/zijin")
  27. public class ZijinOrderApiController {
  28. private final InsOrdersComponents insOrdersComponents;
  29. private final ZijinOrderApiService zijinOrderApiService;
  30. private final InsOrdersService insOrdersService;
  31. public ZijinOrderApiController(InsOrdersComponents insOrdersComponents, ZijinOrderApiService zijinOrderApiService, InsOrdersService insOrdersService) {
  32. this.insOrdersComponents = insOrdersComponents;
  33. this.zijinOrderApiService = zijinOrderApiService;
  34. this.insOrdersService = insOrdersService;
  35. }
  36. @PostMapping("/queryVehicleProducts")
  37. @ApiOperation(value = "查询“车+意”中意外险方案信息")
  38. public HttpResult<List<QueryVehicProductsResponse.ProductDtoListDTO>> queryVehicleProducts(@RequestBody ZjVehicleProductsQueryVo zjVehicleProductsVo) {
  39. return this.zijinOrderApiService.queryVehicleProducts(zjVehicleProductsVo);
  40. }
  41. @QuoteVerification("报价授权")
  42. @PostMapping("/quote")
  43. @ApiOperation("报价")
  44. public HttpResult<QuoteRespVo> quote(@RequestBody BaseQuoteVo<List<QuoteAccidentalDrivingVo>> quoteVo) {
  45. BaseQuoteVo<List<ZjQuoteAccidentVo>> listBaseQuoteVo = insOrdersService.converDrivingZijin(quoteVo);
  46. BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo(), quoteVo.getAgreementId());
  47. return this.zijinOrderApiService.quote(quoteInfo, listBaseQuoteVo);
  48. }
  49. @PostMapping(value = "/submitImage")
  50. @ApiOperation(value = "提交影像信息")
  51. public HttpResult<Object> submitImage(@RequestSingleParam(value = "companyId") String companyId) {
  52. return this.zijinOrderApiService.submitImage(companyId);
  53. }
  54. @PostMapping(value = "/queryClauseData")
  55. @ApiOperation(value = "特约查询")
  56. public HttpResult<List<QueryClauseDataResponse.ClauseInfoDtoListDTO>> queryClauseData(@RequestSingleParam(value = "companyId") String companyId) {
  57. return this.zijinOrderApiService.queryClauseData(companyId);
  58. }
  59. @AuditVerification("核保")
  60. @PostMapping(value = "/audit")
  61. @ApiOperation(value = "提交核保")
  62. public HttpResult<Object> audit(@RequestBody SpecialAuditVo<SubmitVerifyRequest.EngageListDTO> specialAudit) {
  63. return this.zijinOrderApiService.audit(specialAudit);
  64. }
  65. @PostMapping(value = "/cancel")
  66. @ApiOperation(value = "未缴费保单撤单")
  67. public HttpResult<Object> cancel(@RequestSingleParam(value = "companyId") String companyId) {
  68. return this.zijinOrderApiService.cancel(companyId);
  69. }
  70. @PostMapping("/paymentCallbacks")
  71. @ApiOperation(value = "支付回调")
  72. public HttpResult<Object> paymentCallbacks(PaymentCallbacksRequest paymentCallbacksRequest) {
  73. return this.zijinOrderApiService.paymentCallbacks(paymentCallbacksRequest);
  74. }
  75. @PostMapping("/getOrderDetail")
  76. @ApiOperation(value = "订单状态查询")
  77. public HttpResult<Object> getOrderDetail(@RequestSingleParam(value = "companyId") String companyId) {
  78. return this.zijinOrderApiService.getOrderDetail(companyId);
  79. }
  80. @PostMapping("/getPolicyPrint")
  81. @ApiOperation(value = "电子保单")
  82. public HttpResult<String> getPolicyPrint(@RequestBody PolicyPrintVo policyPrintVo) {
  83. return this.zijinOrderApiService.getPolicyPrint(policyPrintVo);
  84. }
  85. @PostMapping("/auditStatusQuery")
  86. @ApiOperation(value = "核保状态查询")
  87. public HttpResult<Object> auditStatusQuery(@RequestSingleParam(value = "companyId") String companyId) {
  88. return this.zijinOrderApiService.auditStatusQuery(companyId);
  89. }
  90. }