package com.ydtech.modules.order.controller; import com.ydtech.aop.request.RequestSingleParam; import com.ydtech.core.page.HttpResult; import com.ydtech.modules.ins.model.vo.QuoteRespVo; import com.ydtech.modules.order.aop.AuditVerification; import com.ydtech.modules.order.aop.QuoteVerification; import com.ydtech.modules.order.components.InsOrdersComponents; import com.ydtech.modules.order.entity.api.pingan.response.UnAutoProductDetailResponse; import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo; import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo; import com.ydtech.modules.order.entity.vo.bohai.BoHaiQuoteAccidentVo; import com.ydtech.modules.order.entity.vo.bohai.ProductDetailsQueryVo; import com.ydtech.modules.order.entity.vo.bohai.ProductQueryVo; import com.ydtech.modules.order.entity.vo.pingan.PingAnQuoteVo; import com.ydtech.modules.order.service.PingAnOrderApiService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; import java.util.Map; @Api(tags = "平安财险 API ") @Slf4j @RestController @RequestMapping("/order/pingAnApi") @RequiredArgsConstructor public class PingAnOrderApiController { private final PingAnOrderApiService pingAnOrderApiService; private final InsOrdersComponents insOrdersComponents; @QuoteVerification("报价授权") @PostMapping("/quote") @ApiOperation("报价") public HttpResult quote(@RequestBody PingAnQuoteVo> quoteVo) throws Exception { BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(quoteVo.getOrderNo(), quoteVo.getAgreementId()); return this.pingAnOrderApiService.quote(quoteInfo, quoteVo); } @PostMapping(value = "/submitImage") @ApiOperation(value = "提交影像信息") public HttpResult submitImage(@RequestSingleParam(value = "companyId") String companyId) throws Exception { return this.pingAnOrderApiService.submitImage(companyId); } @AuditVerification("核保") @PostMapping(value = "/audit") @ApiOperation(value = "提交核保") public HttpResult audit(@RequestBody BaseQuoteInfoVo quoteInfo) throws Exception { return this.pingAnOrderApiService.audit(quoteInfo); } @PostMapping("/getPolicyPrint") @ApiOperation(value = "电子保单") public HttpResult getPolicyPrint(@RequestSingleParam(value = "companyId") String companyId) throws Exception { return this.pingAnOrderApiService.getPolicyPrint(companyId); } @PostMapping("/getOrderDetail") @ApiOperation(value = "订单状态查询") public HttpResult getOrderDetail(@RequestSingleParam(value = "companyId") String companyId) throws Exception { return this.pingAnOrderApiService.getOrderDetail(companyId); } @PostMapping("/auditStatusQuery") @ApiOperation(value = "核保状态查询") public HttpResult auditStatusQuery(@RequestSingleParam(value = "companyId") String companyId) throws Exception { return this.pingAnOrderApiService.auditStatusQuery(companyId); } @PostMapping("/productQuery") @ApiOperation("获取财意险险种套餐列表") public HttpResult> productQuery(@RequestBody ProductQueryVo productQueryVo) throws Exception { return this.pingAnOrderApiService.productQuery(productQueryVo); } @PostMapping("/renewalConfirm") @ApiOperation("续保") public HttpResult renewalConfirm(@RequestBody PingAnQuoteVo> quoteVo,BaseQuoteInfoVo quoteInfo) throws Exception { return this.pingAnOrderApiService.renewalConfirm(quoteVo,quoteInfo); } @PostMapping("/queryServiceContract") @ApiOperation("服务类特约检索") public HttpResult queryServiceContract(@RequestSingleParam(value = "companyId") String companyId) throws Exception { return this.pingAnOrderApiService.queryServiceContract(companyId); } @PostMapping("/getDocumentStatusList") @ApiOperation("单证状态查询") public HttpResult getDocumentStatusList(@RequestBody PingAnQuoteVo> quoteVo) throws Exception { return this.pingAnOrderApiService.getDocumentStatusList(quoteVo); } @PostMapping("/repealDocument") @ApiOperation("撤销单证") public HttpResult repealDocument(@RequestBody PingAnQuoteVo> quoteVo) throws Exception { return this.pingAnOrderApiService.repealDocument(quoteVo); } @PostMapping("/getDmvehicleInfo") @ApiOperation("获取交管车辆验证码") public HttpResult getDmvehicleInfo(@RequestBody PingAnQuoteVo> quoteVo, BaseQuoteInfoVo quoteInfo) throws Exception { return this.pingAnOrderApiService.getDmvehicleInfo(quoteVo,quoteInfo); } @PostMapping("/productDetailsQuery") @ApiOperation("获取财意险险种套餐责任信息") public HttpResult> productDetailsQuery(@RequestBody ProductDetailsQueryVo productDetailsQueryVo) throws Exception { return this.pingAnOrderApiService.productDetailsQuery(productDetailsQueryVo); } }