package com.ydtech.modules.order.controller; import com.ydtech.aop.request.RequestSingleParam; import com.ydtech.components.ZhongmeiRequestComponents; import com.ydtech.core.page.HttpResult; import com.ydtech.exception.SystemException; import com.ydtech.modules.ins.model.request.Response; import com.ydtech.modules.ins.model.request.ZhongmeiQuoteResponse; import com.ydtech.modules.ins.vo.CarInfoVo; import com.ydtech.modules.ins.vo.CustomerInfoVo; import com.ydtech.modules.ins.vo.QuoteInfoVo; import com.ydtech.modules.order.components.InsOrdersComponents; import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo; import com.ydtech.modules.order.entity.vo.BaseQuoteInfoVo; import com.ydtech.modules.order.entity.vo.BaseQuoteVo; import com.ydtech.modules.order.entity.vo.zm.ZmQuoteSpiderVo; import com.ydtech.modules.order.entity.vo.zm.ZmQuoteVo; import com.ydtech.modules.order.service.ZhongMeiOrderService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.core.ParameterizedTypeReference; import org.springframework.validation.annotation.Validated; 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 org.springframework.web.client.RestClientException; import java.io.IOException; @Api(tags = "中煤财险 Spider") @RestController @RequestMapping("/order/zhongMei") public class ZhongMeiOrderController { private final InsOrdersComponents insOrdersComponents; private final ZhongMeiOrderService zhongMeiOrderService; public ZhongMeiOrderController(InsOrdersComponents insOrdersComponents, ZhongMeiOrderService zhongMeiOrderService) { this.insOrdersComponents = insOrdersComponents; this.zhongMeiOrderService = zhongMeiOrderService; } @PostMapping("/quote") @ApiOperation("报价") public HttpResult quote(@RequestBody BaseQuoteVo zmQuoteVo) { BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(zmQuoteVo.getOrderNo()); return this.zhongMeiOrderService.quote(quoteInfo, zmQuoteVo); } @PostMapping(value = "/submitImage") @ApiOperation(value = "提交影像信息") public HttpResult submitImage(@RequestSingleParam(value = "companyId") String companyId) throws IOException { return this.zhongMeiOrderService.submitImage(companyId); } @PostMapping("/audit") @ApiOperation("核保") public HttpResult audit(@RequestSingleParam(value = "companyId") String companyId) { return this.zhongMeiOrderService.audit(companyId); } @PostMapping("/manualUnderwriting") @ApiOperation("人工核保通过调取二维码") public HttpResult manualUnderwriting(@RequestSingleParam(value = "companyId") String companyId) { return this.zhongMeiOrderService.manualUnderwriting(companyId); } @PostMapping(value = "/verifyPayment") @ApiOperation(value = "验证是否支付") public HttpResult verifyPayment(@RequestSingleParam(value = "companyId") String companyId) { return this.zhongMeiOrderService.verifyPayment(companyId); } @PostMapping("/getPolicyPrint") @ApiOperation(value = "电子保单") public HttpResult getPolicyPrint(@RequestSingleParam(value = "companyId") String companyId) throws IOException { return this.zhongMeiOrderService.getPolicyPrint(companyId); } }