| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- package com.ydtech.modules.order.controller;
- import com.ydtech.aop.request.RequestSingleParam;
- import com.ydtech.core.page.HttpResult;
- import com.ydtech.modules.ins.model.guoren.CarModelResp;
- import com.ydtech.modules.ins.model.guoren.NonAutoInsResp;
- import com.ydtech.modules.ins.model.vo.CarInfoVo;
- import com.ydtech.modules.order.entity.vo.AccidentalDrivingQueryVo;
- import com.ydtech.modules.order.entity.vo.AccidentalDrivingVo;
- import com.ydtech.modules.order.entity.vo.BaseQuoteVo;
- import com.ydtech.modules.order.entity.vo.PolicyPrintVo;
- import com.ydtech.modules.order.service.GuorenOrderApiService;
- import com.ydtech.modules.order.service.InsAreaCompanyService;
- import io.swagger.annotations.*;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.web.bind.annotation.*;
- import javax.annotation.Resource;
- import javax.servlet.http.HttpServletRequest;
- import javax.validation.Valid;
- /**
- * 国任财险 API对接
- *
- * @author: lig
- * @date: 2023-08-14
- */
- @Api(tags = "国任财险API方式对接")
- @RestController
- @RequestMapping("/api/guoRen")
- public class GuoRenOrderApiController {
- private final GuorenOrderApiService guorenOrderApiService;
- public GuoRenOrderApiController(GuorenOrderApiService guorenOrderApiService) {
- this.guorenOrderApiService = guorenOrderApiService;
- }
- @ApiOperation(value = "通过渠道编码获取基本信息", notes = "获取出单所需的基本信息")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "thirdCode", value = "渠道编码", required = true, dataType = "String"),
- })
- @GetMapping("/channelInfo/{thirdCode}")
- public HttpResult channelInfo(@PathVariable String thirdCode) {
- return guorenOrderApiService.gainChannelInfo(thirdCode);
- }
- @ApiOperation(value = "车型查询", notes = "只需要vin码、发动机号、注册日期例:20120512")
- @PostMapping("/modelQuery")
- public HttpResult<CarModelResp> modelQueryAPI(@RequestBody CarInfoVo carInfo) {
- return guorenOrderApiService.modelsQueryApi(carInfo);
- }
- @ApiResponses({
- @ApiResponse(code = 500, message = "出现异常"),
- @ApiResponse(code = 101, message = "转保单"),
- @ApiResponse(code = 200, message = "请求成功")
- })
- @ApiOperation(value = "报价")
- @PostMapping("/quote")
- public HttpResult quoteApi(@RequestBody BaseQuoteVo<AccidentalDrivingVo> quoteVo) {
- return guorenOrderApiService.quoteApi(quoteVo);
- }
- @ApiOperation(value = "影像上传")
- @PostMapping(value = "/uploadImage")
- public HttpResult uploadImage(@RequestSingleParam(value = "companyId") String companyId) {
- return guorenOrderApiService.uploadImageApi(companyId);
- }
- @ApiOperation(value = "支付")
- @PostMapping(value = "/pay")
- public HttpResult pay(@RequestSingleParam(value = "companyId") String companyId) {
- return guorenOrderApiService.pay(companyId);
- }
- @ApiOperation(value = "核保")
- @PostMapping("/audit")
- public HttpResult auditApi(@RequestSingleParam(value = "companyId") String companyId) {
- return guorenOrderApiService.auditApi(companyId);
- }
- @ApiOperation(value = "更新订单信息")
- @PostMapping("/updateOrderInfo")
- public HttpResult updateOrderInfoByIns(@RequestSingleParam(value = "companyId") String companyId) {
- return guorenOrderApiService.insOrderInfo(companyId);
- }
- @ApiOperation(value = "回调通知")
- @PostMapping(value = "/callBack")
- public HttpResult callBackApi(HttpServletRequest request) {
- return guorenOrderApiService.callBackApi(request);
- }
- @ApiOperation(value = "电子保单")
- @PostMapping("/policyPrint")
- public HttpResult getPolicyPrintApi(@RequestBody PolicyPrintVo policyPrintVo) {
- return guorenOrderApiService.getPolicyPrintApi(policyPrintVo);
- }
- /**
- * 同步非车保险
- */
- @ApiOperation(value = "同步非车保险")
- @PostMapping("/syncNonAutoIns")
- public HttpResult syncNonAutoIns() {
- //家用车驾乘意外险-山西版(02746425173001)
- String goodsCode = "02746425173001";
- NonAutoInsResp.DataDTO dataDTO = guorenOrderApiService.gainNonAutoInsList(goodsCode);
- return HttpResult.ok(dataDTO);
- }
- /**
- * 同步驾意险
- */
- @ApiOperation(value = "同步驾意险")
- @PostMapping("/syncAccidentInsure")
- public HttpResult syncAccidentInsure(@RequestBody @Valid AccidentalDrivingQueryVo accidentalDrivingVo) {
- return guorenOrderApiService.syncAccidentInsure(accidentalDrivingVo);
- }
- }
|