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.components.huatai.HuiTaiUploadImageComponents; import com.ydtech.modules.order.entity.api.zijin.response.QueryClauseDataResponse; import com.ydtech.modules.order.entity.crawler.vo.CrawlerPolicyPrintVo; import com.ydtech.modules.order.entity.dto.InsUploadImagesDto; import com.ydtech.modules.order.entity.po.InsHuataiContributing; import com.ydtech.modules.order.entity.vo.*; import com.ydtech.modules.order.entity.vo.huatai.InsHuataiContributingVo; import com.ydtech.modules.order.service.HuaTaiOrderApiService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; 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.Collections; import java.util.List; @Api(tags = "华泰财险 API ") @Slf4j @RestController @RequestMapping("/order/huaTaiApi") @RequiredArgsConstructor public class HuaTaiOrderApiController { private final HuaTaiOrderApiService huaTaiOrderApiService; private final InsOrdersComponents insOrdersComponents; @QuoteVerification("报价授权") @PostMapping("/quote") @ApiOperation("报价")//3.5. 报价接口 public HttpResult quote(@RequestBody BaseQuoteVo zmQuoteVo) { BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(zmQuoteVo.getOrderNo(), zmQuoteVo.getAgreementId()); return this.huaTaiOrderApiService.quote(quoteInfo, zmQuoteVo); } @PostMapping(value = "/queryClauseData") @ApiOperation(value = "特约查询") public HttpResult> queryClauseData(@RequestSingleParam(value = "companyId") String companyId) { return this.huaTaiOrderApiService.queryClauseData(companyId); } @AuditVerification("核保") @PostMapping(value = "/audit") @ApiOperation(value = "提交核保")//3.6. 转投保接口 public HttpResult audit(@RequestBody SpecialAuditVo specialAudit) { return this.huaTaiOrderApiService.audit(specialAudit); } @PostMapping(value = "/submitImage") @ApiOperation(value = "提交影像信息")//赞未做 public HttpResult submitImage(@RequestSingleParam(value = "companyId") String companyId) { return this.huaTaiOrderApiService.submitImage(companyId); } @PostMapping("/getPolicyPrint") @ApiOperation(value = "电子保单")//3.12. 电子保单下载接口 public HttpResult getPolicyPrint(@RequestBody PolicyPrintVo policyPrintVo) { return this.huaTaiOrderApiService.getPolicyPrint(policyPrintVo); } @PostMapping("/paymentEnquiry") @ApiOperation(value = "缴费查询")//3.15. 见费出单结果查询接口 public HttpResult paymentEnquiry(@RequestSingleParam(value = "companyId") String companyId) { return this.huaTaiOrderApiService.paymentEnquiry(companyId); } @PostMapping("/auditStatusQuery") @ApiOperation(value = "核保状态查询")//3.7. 提交核保接口 public HttpResult auditStatusQuery(@RequestSingleParam(value = "companyId") String companyId) { return this.huaTaiOrderApiService.auditStatusQuery(companyId); } /* @PostMapping("/getPaymentUrl") @ApiOperation(value = "支付码获取")//3.8. 电子投保单确认及缴费短信发送接口 都为后端自动触发调用 前端不触发 暂时注释 public HttpResult getPaymentUrl(@RequestSingleParam(value = "companyId") String companyId) { return this.huaTaiOrderApiService.getPaymentUrl(companyId); }*/ }