| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- package com.ydtech.modules.order.controller;
- import com.ydtech.aop.request.RequestSingleParam;
- import com.ydtech.config.properties.ZhongmeiApiConfigurationProperties;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.modules.ins.model.vo.GeneralNonCarProductReqVo;
- import com.ydtech.modules.ins.model.vo.GeneralNonCarProductResVo;
- import com.ydtech.modules.ins.model.vo.QuoteRespVo;
- import com.ydtech.modules.ins.model.ya.CarModelDTO;
- 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.zhongmei.request.ApprovedRequest;
- import com.ydtech.modules.order.entity.api.zhongmei.request.CoverageRequest;
- import com.ydtech.modules.order.entity.api.zhongmei.response.RideAccidentQueryResponse;
- import com.ydtech.modules.order.entity.vo.*;
- import com.ydtech.modules.order.service.ZhongMeiOrderApiService;
- import com.ydtech.modules.order.utils.AESUtilsWithDataBase;
- import io.swagger.annotations.Api;
- import io.swagger.annotations.ApiOperation;
- import lombok.extern.slf4j.Slf4j;
- import org.springframework.web.bind.annotation.*;
- import javax.validation.Valid;
- import java.util.Comparator;
- import java.util.List;
- import java.util.stream.Collectors;
- @Api(tags = "中煤财险 API ")
- @Slf4j
- @RestController
- @RequestMapping("/order/zhongMeiApi")
- public class ZhongMeiOrderApiController {
- private final ZhongMeiOrderApiService zhongMeiOrderApiService;
- private final InsOrdersComponents insOrdersComponents;
- private final ZhongmeiApiConfigurationProperties properties;
- public ZhongMeiOrderApiController(ZhongMeiOrderApiService zhongMeiOrderApiService, InsOrdersComponents insOrdersComponents,
- ZhongmeiApiConfigurationProperties properties) {
- this.zhongMeiOrderApiService = zhongMeiOrderApiService;
- this.insOrdersComponents = insOrdersComponents;
- this.properties = properties;
- }
- @PostMapping(value = "/modelsQuery")
- @ApiOperation(value = "车型查询接口")
- public HttpResult<List<CarModelDTO>> modelsQuery(@RequestSingleParam(value = "modelName") String modelName) {
- List<CarModelDTO> map = this.zhongMeiOrderApiService.modelsQuery(modelName);
- List<CarModelDTO> carModelDTOS =
- map.stream().sorted(Comparator.comparing(CarModelDTO::getReplacementValue)).collect(Collectors.toList());
- return HttpResult.ok(carModelDTOS);
- }
- @QuoteVerification("报价授权")
- @PostMapping("/quote")
- @ApiOperation("报价")
- public HttpResult<QuoteRespVo> quote(@RequestBody BaseQuoteVo<AccidentalDrivingVo> zmQuoteVo) {
- BaseQuoteInfoVo quoteInfo = this.insOrdersComponents.getQuoteInfo(zmQuoteVo.getOrderNo(), zmQuoteVo.getAgreementId());
- return this.zhongMeiOrderApiService.quote(quoteInfo, zmQuoteVo);
- }
- @AuditVerification("核保")
- @PostMapping(value = "/audit")
- @ApiOperation(value = "提交核保")
- public HttpResult<Object> audit(@RequestSingleParam(value = "companyId") String companyId) {
- return this.zhongMeiOrderApiService.audit(companyId);
- }
- @PostMapping(value = "/submitImage")
- @ApiOperation(value = "提交影像信息")
- public HttpResult<Object> submitImage(@RequestSingleParam(value = "companyId") String companyId) {
- // return this.zhongMeiOrderApiService.submitImage(companyId);
- return HttpResult.ok("ok");
- }
- @PostMapping("/getPolicyPrint")
- @ApiOperation(value = "电子保单")
- public HttpResult<List<String>> getPolicyPrint(@RequestBody PolicyPrintVo policyPrintVo) {
- return this.zhongMeiOrderApiService.getPolicyPrint(policyPrintVo);
- }
- @PostMapping("/paymentEnquiry")
- @ApiOperation(value = "缴费查询")
- public HttpResult<Object> paymentEnquiry(@RequestSingleParam(value = "companyId") String companyId) {
- return this.zhongMeiOrderApiService.paymentEnquiry(companyId);
- }
- @PostMapping("/underwritingCallback")
- @ApiOperation(value = "承保回调")
- public HttpResult<Object> underwritingCallback(@RequestBody String s) {
- CoverageRequest coverageRequest = AESUtilsWithDataBase.decryptMessage(s, CoverageRequest.class, "承保回调", properties.getSessionKey());
- return this.zhongMeiOrderApiService.underwritingCallback(coverageRequest);
- }
- @PostMapping("/auditCallback")
- @ApiOperation(value = "审核回调")
- public HttpResult<Object> auditCallback(@RequestBody String s) {
- ApprovedRequest approvedRequest = AESUtilsWithDataBase.decryptMessage(s, ApprovedRequest.class, "审核回调", properties.getSessionKey());
- return this.zhongMeiOrderApiService.auditCallback(approvedRequest);
- }
- @PostMapping("/auditStatusQuery")
- @ApiOperation(value = "核保状态查询")
- public HttpResult<Object> auditStatusQuery(@RequestSingleParam(value = "companyId") String companyId) {
- return this.zhongMeiOrderApiService.auditStatusQuery(companyId);
- }
- @PostMapping("/getDrivingInsurance")
- @ApiOperation(value = "查询“车+意”中意外险方案信息")
- public HttpResult<List<GeneralNonCarProductResVo>> getDrivingInsurance(@RequestBody GeneralNonCarProductReqVo reqVo) {
- return this.zhongMeiOrderApiService.getDrivingInsurance(reqVo);
- }
- @PostMapping("/queryRideAccident")
- @ApiOperation(value = "意外险可投保产品查询")
- public HttpResult<List<RideAccidentQueryResponse.RideAccidentDTO>> queryRideAccident(@RequestBody GeneralNonCarProductReqVo reqVo) {
- return this.zhongMeiOrderApiService.rideAccidentQuery(reqVo);
- }
- }
|